namespace mom_lateral_mixing_coeffs

Overview

Variable mixing coefficients. More…

namespace mom_lateral_mixing_coeffs {

// global functions

subroutine, public calc_resoln_function(h h, tv tv, G G, GV GV, US US, CS CS);
subroutine, public calc_slope_functions(h h, tv tv, dt dt, G G, GV GV, US US, CS CS);

subroutine, public calc_qg_leith_viscosity(
    CS CS,
    G G,
    GV GV,
    US US,
    h h,
    k k,
    div_xx_dx div_xx_dx,
    div_xx_dy div_xx_dy,
    vort_xy_dx vort_xy_dx,
    vort_xy_dy vort_xy_dy
    );

subroutine, public varmix_init(
    Time Time,
    G G,
    GV GV,
    US US,
    param_file param_file,
    diag diag,
    CS CS
    );

} // namespace mom_lateral_mixing_coeffs

Detailed Documentation

Variable mixing coefficients.

This module provides a container for various factors used in prescribing diffusivities, that are a function of the state (in particular the stratification and isoneutral slopes).

The resolution function

The resolution function is expressed in terms of the ratio of grid-spacing to deformation radius. The square of the resolution parameter is

\[R^2 = \frac{L_d^2}{\Delta^2} = \frac{ c_g^2 }{ f^2 \Delta^2 + c_g \beta \Delta^2 }\]

where the grid spacing is calculated as

\[\Delta^2 = \Delta x^2 + \Delta y^2 .\]
\[r(\Delta,L_d) = \frac{1}{1+(\alpha R)^p}\]

The resolution function can be applied independently to thickness diffusion (module mom_thickness_diffuse), tracer diffusion (mom_tracer_hordiff) lateral viscosity (mom_hor_visc).

Robert Hallberg, 2013: Using a resolution function to regulate parameterizations of oceanic mesoscale eddy effects. Ocean Modelling, 71, pp 92-103. http://dx.doi.org/10.1016/j.ocemod.2013.08.007

Visbeck diffusivity

This module also calculates factors used in setting the thickness diffusivity similar to a Visbeck et al., 1997, scheme. The factors are combined in mom_thickness_diffuse::thickness_diffuse() but calculated in this module.

\[\kappa_h = \alpha_s L_s^2 S N\]

where \(S\) is the magnitude of the isoneutral slope and \(N\) is the Brunt-Vaisala frequency.

Visbeck, Marshall, Haine and Spall, 1997: Specification of Eddy Transfer Coefficients in Coarse-Resolution Ocean Circulation Models. J. Phys. Oceanogr. http://dx.doi.org/10.1175/1520-0485(1997)027%3C0381:SOETCI%3E2.0.CO;2

Vertical structure function for KhTh

The thickness diffusivity can be prescribed a vertical distribution with the shape of the equivalent barotropic velocity mode. The structure function is stored in the control structure for thie module (varmix_cs) but is calculated using subroutines in mom_wave_speed.

Global Functions

subroutine, public calc_resoln_function(h h, tv tv, G G, GV GV, US US, CS CS)

Calculates and stores the non-dimensional resolution functions.

Parameters:

g

Ocean grid structure

h

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

tv

Thermodynamic variables

gv

Vertical grid structure

us

A dimensional unit scaling type

cs

Variable mixing coefficients

subroutine, public calc_slope_functions(
    h h,
    tv tv,
    dt dt,
    G G,
    GV GV,
    US US,
    CS CS
    )

Calculates and stores functions of isopycnal slopes, e.g. Sx, Sy, S*N, mostly used in the Visbeck et al. style scaling of diffusivity.

Parameters:

g

Ocean grid structure

gv

Vertical grid structure

us

A dimensional unit scaling type

h

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

tv

Thermodynamic variables

dt

Time increment [s]

cs

Variable mixing coefficients

subroutine, public calc_qg_leith_viscosity(
    CS CS,
    G G,
    GV GV,
    US US,
    h h,
    k k,
    div_xx_dx div_xx_dx,
    div_xx_dy div_xx_dy,
    vort_xy_dx vort_xy_dx,
    vort_xy_dy vort_xy_dy
    )

Calculates the Leith Laplacian and bi-harmonic viscosity coefficients.

Parameters:

cs

Variable mixing coefficients

g

Ocean grid structure

gv

The ocean’s vertical grid structure.

us

A dimensional unit scaling type

h

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

k

Layer for which to calculate vorticity magnitude

div_xx_dx

x-derivative of horizontal divergence (d/dx(du/dx + dv/dy)) [L-1 T-1 ~> m-1 s-1]

div_xx_dy

y-derivative of horizontal divergence (d/dy(du/dx + dv/dy)) [L-1 T-1 ~> m-1 s-1]

vort_xy_dx

x-derivative of vertical vorticity (d/dx(dv/dx - du/dy)) [L-1 T-1 ~> m-1 s-1]

vort_xy_dy

y-derivative of vertical vorticity (d/dy(dv/dx - du/dy)) [L-1 T-1 ~> m-1 s-1]

subroutine, public varmix_init(
    Time Time,
    G G,
    GV GV,
    US US,
    param_file param_file,
    diag diag,
    CS CS
    )

Initializes the variables mixing coefficients container.

Parameters:

time

Current model time

g

Ocean grid structure

gv

The ocean’s vertical grid structure

us

A dimensional unit scaling type

param_file

Parameter file handles

diag

Diagnostics control structure

cs

Variable mixing coefficients