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 ::
realmaximum value for the stratification parameter [nondim]% kappa_ddiff_s ::
realleading coefficient in formula for salt-fingering regime for salinity diffusion [Z2 T-1 ~> m2 s-1]% ddiff_exp1 ::
realinterior exponent in salt-fingering regime formula [nondim]% ddiff_exp2 ::
realexterior exponent in salt-fingering regime formula [nondim]% mol_diff ::
realmolecular diffusivity [Z2 T-1 ~> m2 s-1]% kappa_ddiff_param1 ::
realexterior coefficient in diffusive convection regime [nondim]% kappa_ddiff_param2 ::
realmiddle coefficient in diffusive convection regime [nondim]% kappa_ddiff_param3 ::
realinterior coefficient in diffusive convection regime [nondim]% min_thickness ::
realMinimum 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 ::
logicalIf true, turn on debugging.
Function/Subroutine Documentation
- function mom_cvmix_ddiff/cvmix_ddiff_init(Time, G, GV, US, param_file, diag, CS)
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 ::
param_file[in] Run-time parameter file handlediag ::
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 ::
h[in] Layer thickness [H ~> m or kg m-2].tv ::
tv[in] Thermodynamics structure.us :: [in] A dimensional unit scaling type
j ::
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)
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 ::
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