pymoc.modules.Psi_Thermwind

class pymoc.modules.Psi_Thermwind(f=0.00012, z=None, sol_init=None, b1=None, b2=0.0)

Thermal Wind Closure

Instances of this class represent the overturning circulation between two columns, given buoyancy profiles in those columns.

The model assumes a thermal-wind based equation for the overturning circulation as in Nikurashin and Vallis (2012):

\[d_{zz}\left(\Psi\right) = f^{-1} (b_2 - b_1)\]

This equation is solved subject to the boundary conditions:

\[\Psi(0) = \Psi(-H) = 0\]

(these BCs are different than NV2012)

An upwind isopycnal mapping is used to compute the isopycnal overturning transport.

Parameters
  • f (float) – Coriolis parameter. Units s-1

  • z (ndarray) – Vertical depth levels of overturning grid. Units: m

  • sol_init (ndarray; optional) – Initial guess at the solution to the thermal wind overturning streamfunction. Units: […]

  • b1 (float, function, or ndarray; optional) – Vertical buoyancy profile from the southern basin. Units: m/s2

  • b2 (float, function, or ndarray; optional) – Vertical buoyancy profile from the northern basin, representing the deepwater formation region. Units: m/s2

__init__(f=0.00012, z=None, sol_init=None, b1=None, b2=0.0)
Parameters
  • f (float) – Coriolis parameter. Units s-1

  • z (ndarray) – Vertical depth levels of overturning grid. Units: m

  • sol_init (ndarray; optional) – Initial guess at the solution to the thermal wind overturning streamfunction. Units: […]

  • b1 (float, function, or ndarray; optional) – Vertical buoyancy profile from the southern basin. Units: m/s2

  • b2 (float, function, or ndarray; optional) – Vertical buoyancy profile from the northern basin, representing the deepwater formation region. Units: m/s2

Methods

Psib([nb])

Remap the overturning streamfunction from physical depth space, into isopycnal space

Psibz([nb])

Remap the overturning streamfunction onto the native isopycnal-depth space of the columns in the northern region and southern basin.

__init__([f, z, sol_init, b1, b2])

param f

Coriolis parameter. Units s-1

bc(ya, yb)

Calculate the residuals of boundary conditions for the thermal wind closure boundary value problem.

ode(z, y)

Generate the ordinary differential equation for the thermal wind overturning streamfunction, to be solved as a boundary value problem:

solve()

Solve for the thermal wind overturning streamfunction as a boundary value problem based on the system of equations defined in pymoc.modules.Psi_Thermwind.ode().

update([b1, b2])

Update the vertical buoyancy profiles from the southern basin and northern region.