mom_cvmix_ddiff module reference¶
Interface to CVMix double diffusion scheme.
Data Types¶
Control structure including parameters for CVMix double diffusion. |
Functions/Subroutines¶
Initialized the CVMix double diffusion module. |
|
Subroutine for computing vertical diffusion coefficients for the double diffusion mixing parameterization. |
|
Reads the parameter “USE_CVMIX_DDIFF” and returns state. |
|
Clear pointers and deallocate memory. |
Detailed Description¶
Interface to CVMix double diffusion scheme.
Type Documentation¶
-
type
mom_cvmix_ddiff/
cvmix_ddiff_cs
¶ Control structure including parameters for CVMix double diffusion.
- Type fields:
%
strat_param_max
[real] :: maximum value for the stratification parameter [nondim]%
kappa_ddiff_s
[real] :: leading coefficient in formula for salt-fingering regime for salinity diffusion [Z2 T-1 ~> m2 s-1]%
ddiff_exp1
[real] :: interior exponent in salt-fingering regime formula [nondim]%
ddiff_exp2
[real] :: exterior exponent in salt-fingering regime formula [nondim]%
mol_diff
[real] :: molecular diffusivity [Z2 T-1 ~> m2 s-1]%
kappa_ddiff_param1
[real] :: exterior coefficient in diffusive convection regime [nondim]%
kappa_ddiff_param2
[real] :: middle coefficient in diffusive convection regime [nondim]%
kappa_ddiff_param3
[real] :: interior coefficient in diffusive convection regime [nondim]%
min_thickness
[real] :: Minimum thickness allowed [H ~> m or kg-2].%
diff_conv_type
[character (len=4)] :: type of diffusive convection to use. Options are Marmorino & Caldwell 1976 (“MC76”; default) and Kelley 1988, 1990 (“K90”)%
debug
[logical] :: If true, turn on debugging.
Function/Subroutine Documentation¶
-
function
mom_cvmix_ddiff/
cvmix_ddiff_init
(Time, G, GV, US, param_file, diag, CS) [logical]¶ Initialized the CVMix double diffusion module.
- Parameters:
time :: [in] The current time.
g :: [in] Grid structure.
gv :: [in] Vertical grid structure.
us :: [in] A dimensional unit scaling type
param_file :: [in] Run-time parameter file handle
diag :: [inout] Diagnostics control structure.
cs :: This module’s control structure.
- Call to:
-
subroutine
mom_cvmix_ddiff/
compute_ddiff_coeffs
(h, tv, G, GV, US, j, Kd_T, Kd_S, CS, R_rho)¶ Subroutine for computing vertical diffusion coefficients for the double diffusion mixing parameterization.
- Parameters:
g :: [in] Grid structure.
gv :: [in] Vertical grid structure.
h :: [in] Layer thickness [H ~> m or kg m-2].
tv :: [in] Thermodynamics structure.
us :: [in] A dimensional unit scaling type
j :: [in] Meridional grid index to work on.
kd_t :: [inout] Interface double diffusion diapycnal diffusivity for temperature [H Z T-1 ~> m2 s-1 or kg m-1 s-1]
kd_s :: [inout] Interface double diffusion diapycnal diffusivity for salinity [H Z T-1 ~> m2 s-1 or kg m-1 s-1]
cs :: The control structure returned by a previous call to CVMix_ddiff_init.
r_rho :: [inout] The density ratios at interfaces [nondim].
- Called from:
-
function
mom_cvmix_ddiff/
cvmix_ddiff_is_used
(param_file) [logical]¶ Reads the parameter “USE_CVMIX_DDIFF” and returns state. This function allows other modules to know whether this parameterization will be used without needing to duplicate the log entry.
- Parameters:
param_file :: [in] A structure to parse for run-time parameters
- Call to:
mdl
- Called from:
-
subroutine
mom_cvmix_ddiff/
cvmix_ddiff_end
(CS)¶ Clear pointers and deallocate memory.
- Parameters:
cs :: Control structure for this module that will be deallocated in this subroutine