&ocean_meke_nml: mesoscale eddy kinetic energy — a 2D prognostic
eddy-energy field fed back as a thickness/tracer diffusivity into
VarMix’s KhTh/KhTr. Reads gm%gm_src. Default off ⇒ no-op.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | public | :: | advection_factor | = | 0.0_wp |
Barotropic-transport advection scaling (nondim); 0 ⇒ off (v1). |
|
| real(kind=wp), | public | :: | alpha_deform | = | 0.0_wp |
Weight on the deformation length scale (nondim). |
|
| real(kind=wp), | public | :: | alpha_eady | = | 0.0_wp |
Weight on the Eady length scale (needs VarMix SN) (nondim). |
|
| real(kind=wp), | public | :: | alpha_frict | = | 0.0_wp |
Weight on the frictional-arrest length scale (nondim). |
|
| real(kind=wp), | public | :: | alpha_grid | = | 0.0_wp |
Weight on the grid length scale (nondim). |
|
| real(kind=wp), | public | :: | alpha_rhines | = | 0.0_wp |
Weight on the Rhines length scale (nondim); v1 default 0 ⇒ inert. |
|
| logical, | public | :: | backscatter | = | .false. |
Enable the MEKE → momentum harmonic backscatter (negative
viscosity) energy return (Gap 2, v1). Default off ⇒ bit-identical.
Requires a flow-aware lateral closure ( |
|
| real(kind=wp), | public | :: | backscatter_visc_coeff_ku | = | 0.0_wp |
MOM6 |
|
| real(kind=wp), | public | :: | bgsrc | = | 0.0_wp |
Background energy source (m^2/s^3). |
|
| real(kind=wp), | public | :: | cb | = | 25.0_wp |
Coefficient in the gamma_bot (bottomFac2) expression (nondim). |
|
| real(kind=wp), | public | :: | cd_scale | = | 0.0_wp |
Bottom/column eddy-velocity ratio (nondim); enters bottomFac2. |
|
| real(kind=wp), | public | :: | cdrag | = | 2.5e-3_wp |
Bottom drag coefficient for MEKE (nondim); enters drag_rate +
Lfrict. Set from |
|
| real(kind=wp), | public | :: | ct | = | 50.0_wp |
Coefficient in the gamma_bt (barotrFac2) expression (nondim). |
|
| real(kind=wp), | public | :: | damping | = | 0.0_wp |
Local depth-independent linear MEKE dissipation rate (1/s). |
|
| real(kind=wp), | public | :: | dtscale | = | 1.0_wp |
Scale factor accelerating MEKE time-stepping (nondim). |
|
| logical, | public | :: | enable | = | .false. |
Master switch. Default off. Requires |
|
| real(kind=wp), | public | :: | frcoeff | = | -1.0_wp |
Frictional mean->eddy conversion efficiency (nondim); < 0 ⇒ off (default). When >= 0 the lateral-viscosity KE dissipation rate is sourced into MEKE. |
|
| real(kind=wp), | public | :: | gmcoeff | = | -1.0_wp |
Efficiency of PE->MEKE conversion (nondim); < 0 ⇒ GM source off. |
|
| real(kind=wp), | public | :: | k4 | = | -1.0_wp |
Background biharmonic diffusion of MEKE (m^4/s); < 0 ⇒ off. |
|
| real(kind=wp), | public | :: | kh | = | -1.0_wp |
Background lateral diffusion of MEKE (m^2/s); < 0 ⇒ off. |
|
| real(kind=wp), | public | :: | khcoeff | = | 1.0_wp |
Scaling converting MEKE into Kh (nondim); <= 0 ⇒ closure off. |
|
| real(kind=wp), | public | :: | khmeke_fac | = | 0.0_wp |
Factor relating meke%kh to MEKE’s own lateral diffusivity (nondim). |
|
| real(kind=wp), | public | :: | khth_fac | = | 0.0_wp |
Factor on the geom-mean kh added into VarMix KhTh (nondim). 0 (default) ⇒ feedback inert ⇒ bit-identical seam. |
|
| real(kind=wp), | public | :: | khtr_fac | = | 0.0_wp |
Factor on the geom-mean kh added into VarMix KhTr (nondim). |
|
| real(kind=wp), | public | :: | min_gamma2 | = | 1.0e-4_wp |
Floor on gamma_b^2 / gamma_t^2 (nondim). |
|
| real(kind=wp), | public | :: | uscale | = | 0.0_wp |
Background eddy velocity scale for bottom drag (m/s). |
|
| logical, | public | :: | use_bbl_drag | = | .false. |
Add the resolved bottom-boundary-layer eddy velocity to the MEKE
bottom-drag rate: |
type :: ocean_meke_config_t !! `&ocean_meke_nml`: mesoscale eddy kinetic energy — a 2D prognostic !! eddy-energy field fed back as a thickness/tracer diffusivity into !! VarMix's KhTh/KhTr. Reads `gm%gm_src`. Default off ⇒ no-op. logical :: enable = .false. !! Master switch. Default off. Requires `&ocean_gm_nml !! enable=.true.` (configure-time error). real(wp) :: gmcoeff = -1.0_wp !! Efficiency of PE->MEKE conversion (nondim); < 0 ⇒ GM source off. real(wp) :: frcoeff = -1.0_wp !! Frictional mean->eddy conversion efficiency (nondim); < 0 ⇒ off !! (default). When >= 0 the lateral-viscosity KE dissipation rate !! is sourced into MEKE. real(wp) :: bgsrc = 0.0_wp !! Background energy source (m^2/s^3). real(wp) :: damping = 0.0_wp !! Local depth-independent linear MEKE dissipation rate (1/s). real(wp) :: kh = -1.0_wp !! Background lateral diffusion of MEKE (m^2/s); < 0 ⇒ off. real(wp) :: k4 = -1.0_wp !! Background biharmonic diffusion of MEKE (m^4/s); < 0 ⇒ off. real(wp) :: khcoeff = 1.0_wp !! Scaling converting MEKE into Kh (nondim); <= 0 ⇒ closure off. real(wp) :: cd_scale = 0.0_wp !! Bottom/column eddy-velocity ratio (nondim); enters bottomFac2. real(wp) :: cb = 25.0_wp !! Coefficient in the gamma_bot (bottomFac2) expression (nondim). real(wp) :: ct = 50.0_wp !! Coefficient in the gamma_bt (barotrFac2) expression (nondim). real(wp) :: min_gamma2 = 1.0e-4_wp !! Floor on gamma_b^2 / gamma_t^2 (nondim). real(wp) :: uscale = 0.0_wp !! Background eddy velocity scale for bottom drag (m/s). real(wp) :: dtscale = 1.0_wp !! Scale factor accelerating MEKE time-stepping (nondim). real(wp) :: khth_fac = 0.0_wp !! Factor on the geom-mean kh added into VarMix KhTh (nondim). !! 0 (default) ⇒ feedback inert ⇒ bit-identical seam. real(wp) :: khtr_fac = 0.0_wp !! Factor on the geom-mean kh added into VarMix KhTr (nondim). logical :: backscatter = .false. !! Enable the MEKE → momentum harmonic backscatter (negative !! viscosity) energy return (Gap 2, v1). Default off ⇒ bit-identical. !! Requires a flow-aware lateral closure (`lateral_closure /= none`) !! for the returned energy to reach the momentum tendency. real(wp) :: backscatter_visc_coeff_ku = 0.0_wp !! MOM6 `MEKE_VISCOSITY_COEFF_KU` — harmonic backscatter efficiency !! `Ku = coeff·sqrt(2·gamma_t²·E)·Lmix` (m²/s). Subtracted (face- !! averaged, CFL-floored) from the resolved harmonic viscosity. !! 0 (default) ⇒ inert. HARMONIC only in v1 (biharmonic `Au` + !! EBT/SQG vertical structure deferred). real(wp) :: khmeke_fac = 0.0_wp !! Factor relating meke%kh to MEKE's own lateral diffusivity (nondim). real(wp) :: advection_factor = 0.0_wp !! Barotropic-transport advection scaling (nondim); 0 ⇒ off (v1). real(wp) :: cdrag = 2.5e-3_wp !! Bottom drag coefficient for MEKE (nondim); enters drag_rate + !! Lfrict. Set from `&ocean_bdrag_nml cdrag_side` at configure if !! that is > 0, else this default. logical :: use_bbl_drag = .false. !! Add the resolved bottom-boundary-layer eddy velocity to the MEKE !! bottom-drag rate: `drag_rate = rho0·i_mass·sqrt(cdrag²·(2·bf2·E + !! |u_bed|² + uscale²))` (MOM6 `drag_rate_visc` term, here the !! bed-layer speed). Default `.false.` ⇒ the `|u_bed|²` term is 0 ⇒ !! bit-identical to the prior MEKE drag. real(wp) :: alpha_deform = 0.0_wp !! Weight on the deformation length scale (nondim). real(wp) :: alpha_rhines = 0.0_wp !! Weight on the Rhines length scale (nondim); v1 default 0 ⇒ inert. real(wp) :: alpha_eady = 0.0_wp !! Weight on the Eady length scale (needs VarMix SN) (nondim). real(wp) :: alpha_frict = 0.0_wp !! Weight on the frictional-arrest length scale (nondim). real(wp) :: alpha_grid = 0.0_wp !! Weight on the grid length scale (nondim). end type ocean_meke_config_t