Double diffusion (&ocean_ddiff_nml, CVMix_ddiff-style): salt
fingering (Large et al. 1994) + diffusive convection
(Marmorino-Caldwell 1976 / Kelley 1990). Folded INTO the
heat/salt split (not a kv/kt contributor) to give an asymmetric
ks-vs-kt divergence. Defaults are the CVMix defaults; enable =
.false. keeps the path bit-identical. Knob table:
docs/generated_nml_knobs.md.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | public | :: | ddiff_exp1 | = | 1.0_wp |
Inner (bracket) fingering exponent (CVMix |
|
| real(kind=wp), | public | :: | ddiff_exp2 | = | 3.0_wp |
Outer fingering exponent (CVMix |
|
| logical, | public | :: | enable | = | .false. |
Master switch (MOM6 |
|
| real(kind=wp), | public | :: | kappa_ddiff_s | = | 1.0e-4_wp |
Leading salt-fingering salinity diffusivity K_f (CVMix
|
|
| real(kind=wp), | public | :: | mol_diff | = | 1.5e-6_wp |
Molecular diffusivity scaling the convection branch (CVMix
|
|
| real(kind=wp), | public | :: | param1 | = | 0.909_wp |
MC76 convection exterior coeff (CVMix |
|
| real(kind=wp), | public | :: | param2 | = | 4.6_wp |
MC76 convection middle coeff (CVMix |
|
| real(kind=wp), | public | :: | param3 | = | -0.54_wp |
MC76 convection interior coeff (CVMix |
|
| real(kind=wp), | public | :: | strat_param_max | = | 2.55_wp |
R_rho salt-fingering cutoff (CVMix |
|
| logical, | public | :: | use_k90 | = | .false. |
Convection form: |
type :: ocean_ddiff_config_t !! Double diffusion (`&ocean_ddiff_nml`, CVMix_ddiff-style): salt !! fingering (Large et al. 1994) + diffusive convection !! (Marmorino-Caldwell 1976 / Kelley 1990). Folded INTO the !! heat/salt split (not a kv/kt contributor) to give an asymmetric !! ks-vs-kt divergence. Defaults are the CVMix defaults; `enable = !! .false.` keeps the path bit-identical. Knob table: !! `docs/generated_nml_knobs.md`. logical :: enable = .false. !! Master switch (MOM6 `USE_CVMIX_DDIFF`). Requires !! `thermo%enable_thermodynamics` (validated at configure). real(wp) :: strat_param_max = 2.55_wp !! R_rho salt-fingering cutoff (CVMix `STRAT_PARAM_MAX`), nondim. real(wp) :: kappa_ddiff_s = 1.0e-4_wp !! Leading salt-fingering salinity diffusivity K_f (CVMix !! `KAPPA_DDIFF_S`), m^2/s. K_T = 0.7*K_S. real(wp) :: ddiff_exp1 = 1.0_wp !! Inner (bracket) fingering exponent (CVMix `DDIFF_EXP1`). real(wp) :: ddiff_exp2 = 3.0_wp !! Outer fingering exponent (CVMix `DDIFF_EXP2`); exp1=1,exp2=3 !! is the Large et al. cubic. real(wp) :: param1 = 0.909_wp !! MC76 convection exterior coeff (CVMix `KAPPA_DDIFF_PARAM1`). real(wp) :: param2 = 4.6_wp !! MC76 convection middle coeff (CVMix `KAPPA_DDIFF_PARAM2`). real(wp) :: param3 = -0.54_wp !! MC76 convection interior coeff (CVMix `KAPPA_DDIFF_PARAM3`). real(wp) :: mol_diff = 1.5e-6_wp !! Molecular diffusivity scaling the convection branch (CVMix !! `MOL_DIFF`), m^2/s -- the molecular value, not a background eddy. logical :: use_k90 = .false. !! Convection form: `.false.` = Marmorino-Caldwell 1976 (default), !! `.true.` = Kelley 1990. end type ocean_ddiff_config_t