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 m-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