pymoc.modules.SO_ML

class pymoc.modules.SO_ML(y=None, Ks=0.0, h=50.0, L=4000000.0, surflux=0.0, rest_mask=0.0, b_rest=0.0, v_pist=1.736111111111111e-05, bs=0.0, Psi_s=None)

Southern Ocean Mixed Layer Model

Instances of this class represent 1D representations of the meridional buoyancy structure in the Southern Ocean mixed layer, based on the solution to an advective-diffusive equation. Surface fluxes can be specified via a prescribed fixed flux at the surface and/or a restoring buoyancy. Boundary conditions at the northern and southern boundaries of the Southern Ocean are determined internally based on the overturning streamfunction and buoyancy profile in the basin.

Parameters
  • y (ndarray) – Uniform meridional mixed layer grid. Units: m

  • Ks (float) – Horizontal diffusivity in the mixed layer. Units:

  • h (float) – Mixed layer depth. Units: m

  • L (float) – Zonal length of the mixed layer. Units: m

  • surflux (float, ndarray, or function; optional) – Prescribed surface buoyancy flux. Units: m2/s3

  • rest_mask (float, ndarray, or function; optional) – Surface restoring mask, prescribed as 1 where restoring is desired, and 0 elsewhere.

  • b_rest (float, ndarray, or function; optional) – Prescribed surface buoyancy profile towards which mixed layer buoyancy is restored. Units:

  • v_pist (float; optional) – Prescribed piston velocity for buoyancy restoration. Units: m/s

  • bs (float, ndarray, or function; optional) – Initial meridional surface buoyancy profile in the mixed layer. Units:

  • Psi_s (ndarray; optional) – Initial overturning transport in the mixed layer. Units: Sv

__init__(y=None, Ks=0.0, h=50.0, L=4000000.0, surflux=0.0, rest_mask=0.0, b_rest=0.0, v_pist=1.736111111111111e-05, bs=0.0, Psi_s=None)
Parameters
  • y (ndarray) – Uniform meridional mixed layer grid. Units: m

  • Ks (float) – Horizontal diffusivity in the mixed layer. Units:

  • h (float) – Mixed layer depth. Units: m

  • L (float) – Zonal length of the mixed layer. Units: m

  • surflux (float, ndarray, or function; optional) – Prescribed surface buoyancy flux. Units: m2/s3

  • rest_mask (float, ndarray, or function; optional) – Surface restoring mask, prescribed as 1 where restoring is desired, and 0 elsewhere.

  • b_rest (float, ndarray, or function; optional) – Prescribed surface buoyancy profile towards which mixed layer buoyancy is restored. Units:

  • v_pist (float; optional) – Prescribed piston velocity for buoyancy restoration. Units: m/s

  • bs (float, ndarray, or function; optional) – Initial meridional surface buoyancy profile in the mixed layer. Units:

  • Psi_s (ndarray; optional) – Initial overturning transport in the mixed layer. Units: Sv

Methods

__init__([y, Ks, h, L, surflux, rest_mask, …])

param y

Uniform meridional mixed layer grid. Units: m

advdiff(b_basin, Psi_b, dt)

Compute and apply advective-diffusive transport to the Souther Ocean Mixed Layer model, based on conditions in the adjoining basin.

calc_advective_tendency(dy)

Compute the advective transport tendency in the Southern Ocean mixed layer:

calc_diffusion_matrix(s)

Compute the forward time centered space (FTCS) coeffient matrix for the implicit diffusion scheme, based on the stability criterion:

calc_implicit_diffusion(dy, dt)

Compute the diffusive transport in Southern Ocean mixed layer:

set_boundary_conditions(b_basin, Psi_b)

Set the surface boundary conditions at the southern boundary of the Southern Ocean mixed layer.

timestep([b_basin, Psi_b, dt])

Integrate the mixed layer buoyancy profile for one timestep.