namespace mom_mixed_layer_restrat

Overview

Parameterization of mixed layer restratification by unresolved mixed-layer eddies. More…

namespace mom_mixed_layer_restrat {

// global variables

character(len=40) mdl = "MOM_mixed_layer_restrat";

// global functions

subroutine, public mixedlayer_restrat(
    h h,
    uhtr uhtr,
    vhtr vhtr,
    tv tv,
    forces forces,
    dt dt,
    MLD MLD,
    VarMix VarMix,
    G G,
    GV GV,
    US US,
    CS CS
    );

logical function, public mixedlayer_restrat_init(
    Time Time,
    G G,
    GV GV,
    US US,
    param_file param_file,
    diag diag,
    CS CS,
    restart_CS restart_CS
    );

subroutine, public mixedlayer_restrat_register_restarts(HI HI, param_file param_file, CS CS, restart_CS restart_CS);

} // namespace mom_mixed_layer_restrat

Detailed Documentation

Parameterization of mixed layer restratification by unresolved mixed-layer eddies.

Mixed-layer eddy parameterization module

The subroutines in this file implement a parameterization of unresolved viscous mixed layer restratification of the mixed layer as described in Fox-Kemper et al., 2008, and whose impacts are described in Fox-Kemper et al., 2011. This is derived in part from the older parameterization that is described in Hallberg (Aha Hulikoa, 2003), which this new parameterization surpasses, which in turn is based on the sub-inertial mixed layer theory of Young (JPO, 1994). There is no net horizontal volume transport due to this parameterization, and no direct effect below the mixed layer.

This parameterization sets the restratification timescale to agree with high-resolution studies of mixed layer restratification.

The run-time parameter FOX_KEMPER_ML_RESTRAT_COEF is a non-dimensional number of order a few tens, proportional to the ratio of the deformation radius or the grid scale (whichever is smaller to the dominant horizontal length-scale of the sub-meso-scale mixed layer instabilities.

“Sub-meso” in a nutshell

The parameterization is colloquially referred to as “sub-meso”.

The original Fox-Kemper et al., (2008b) paper proposed a quasi-Stokes advection described by the stream function (eq. 5 of Fox-Kemper et al., 2011):

\[{\bf \Psi}_o = C_e \frac{ H^2 \nabla \bar{b} \times \hat{\bf z} }{ |f| } \mu(z)\]

where the vertical profile function is

\[\mu(z) = \max \left\{ 0, \left[ 1 - \left(\frac{2z}{H}+1\right)^2 \right] \left[ 1 + \frac{5}{21} \left(\frac{2z}{H}+1\right)^2 \right] \right\}\]

and \(H\) is the mixed-layer depth, \(f\) is the local Coriolis parameter, \(C_e \sim 0.06-0.08\) and \(\nabla \bar{b}\) is a depth mean buoyancy gradient averaged over the mixed layer.

For use in coarse-resolution models, an upscaling of the buoyancy gradients and adaption for the equator leads to the following parameterization (eq. 6 of Fox-Kemper et al., 2011):

\[{\bf \Psi} = C_e \Gamma_\Delta \frac{\Delta s}{l_f} \frac{ H^2 \nabla \bar{b} \times \hat{\bf z} } { \sqrt{ f^2 + \tau^{-2}} } \mu(z)\]

where \(\Delta s\) is the minimum of grid-scale and deformation radius, \(l_f\) is the width of the mixed-layer fronts, and \(\Gamma_\Delta=1\). \(\tau\) is a time-scale for mixing momentum across the mixed layer. \(l_f\) is thought to be of order hundreds of meters.

The upscaling factor \(\frac{\Delta s}{l_f}\) can be a global constant, model parameter FOX_KEMPER_ML_RESTRAT, so that in practice the parameterization is:

\[{\bf \Psi} = C_e \Gamma_\Delta \frac{ H^2 \nabla \bar{b} \times \hat{\bf z} }{ \sqrt{ f^2 + \tau^{-2}} } \mu(z)\]

with non-unity \(\Gamma_\Delta\).

\(C_e\) is hard-coded as 0.0625. \(\tau\) is calculated from the surface friction velocity \(u^*\).

Time-filtering of mixed-layer depth

Using the instantaneous mixed-layer depth is inconsistent with the finite life-time of mixed-layer instabilities. We provide a one-sided running-mean filter of mixed-layer depth, \(H\), of the form:

\[\bar{H} \leftarrow \max \left( H, \frac{ \Delta t H + \tau_h \bar{H} }{ \Delta t + \tau_h } \right)\]

which allows the effective mixed-layer depth seen by the parameterization, \(\bar{H}\), to instantaneously deepen but to decay with time-scale \(\tau_h\). \(\bar{H}\) is substituted for \(H\) in the above equations.

Defining the mixed-layer-depth

If the parameter MLE_USE_PBL_MLD=True then the mixed-layer depth is defined/diagnosed by the boundary-layer parameterization (e.g. ePBL, KPP, etc.).

If the parameter MLE_USE_PBL_MLD=False then the mixed-layer depth is diagnosed in this module as the depth of a given density difference, \(\Delta \rho\), with the surface where the density difference is the parameter MLE_DENSITY_DIFF.

References

Fox-Kemper, B., Ferrari, R. and Hallberg, R., 2008: Parameterization of Mixed Layer Eddies. Part I: Theory and Diagnosis J. Phys. Oceangraphy, 38 (6), p1145-1165. https://doi.org/10.1175/2007JPO3792.1

Fox-Kemper, B. and Ferrari, R. 2008: Parameterization of Mixed Layer Eddies. Part II: Prognosis and Impact J. Phys. Oceangraphy, 38 (6), p1166-1179. https://doi.org/10.1175/2007JPO3788.1

  1. Fox-Kemper, G. Danabasoglu, R. Ferrari, S.M. Griffies, R.W. Hallberg, M.M. Holland, M.E. Maltrud, S. Peacock, and B.L. Samuels, 2011: Parameterization of mixed layer eddies. III: Implementation and impact in global ocean climate simulations. Ocean Modell., 39(1), p61-78. https://doi.org/10.1016/j.ocemod.2010.09.002

Symbol

Module parameter

Global Variables

character(len=40) mdl = "MOM_mixed_layer_restrat"

This module’s name.

Global Functions

subroutine, public mixedlayer_restrat(
    h h,
    uhtr uhtr,
    vhtr vhtr,
    tv tv,
    forces forces,
    dt dt,
    MLD MLD,
    VarMix VarMix,
    G G,
    GV GV,
    US US,
    CS CS
    )

Driver for the mixed-layer restratification parameterization. The code branches between two different implementations depending on whether the bulk-mixed layer or a general coordinate are in use.

Parameters:

g

Ocean grid structure

gv

Ocean vertical grid structure

us

A dimensional unit scaling type

h

Layer thickness [H ~> m or kg m-2]

uhtr

Accumulated zonal mass flux [H L2 ~> m3 or kg]

vhtr

Accumulated meridional mass flux [H L2 ~> m3 or kg]

tv

Thermodynamic variables structure

forces

A structure with the driving mechanical forces

dt

Time increment [s]

mld

Mixed layer depth provided by the PBL scheme [H ~> m or kg m-2]

varmix

Container for derived fields

cs

Module control structure

logical function, public mixedlayer_restrat_init(
    Time Time,
    G G,
    GV GV,
    US US,
    param_file param_file,
    diag diag,
    CS CS,
    restart_CS restart_CS
    )

Initialize the mixed layer restratification module.

Parameters:

time

Current model time

g

Ocean grid structure

gv

Ocean vertical grid structure

us

A dimensional unit scaling type

param_file

Parameter file to parse

diag

Regulate diagnostics

cs

Module control structure

restart_cs

A pointer to the restart control structure

subroutine, public mixedlayer_restrat_register_restarts(
    HI HI,
    param_file param_file,
    CS CS,
    restart_CS restart_CS
    )

Allocate and register fields in the mixed layer restratification structure for restarts.

Parameters:

hi

Horizontal index structure

param_file

Parameter file to parse

cs

Module control structure

restart_cs

A pointer to the restart control structure