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
where the grid spacing is calculated as
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.
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 |