Thermodynamics master switches + scalar surface fluxes.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| logical, | public | :: | enable_thermodynamics | = | .true. |
When |
|
| logical, | public | :: | epbl_sw_ctke | = | .true. |
(PR-21) Charge the EPBL TKE ledger for penetrating shortwave
(the in-layer PE-cost |
|
| character(len=32), | public | :: | kpp_sw_method | = | "mxl_sw" |
(PR-21) KPP boundary-layer shortwave method (MOM6
|
|
| real(kind=wp), | public | :: | q_heat | = | 0.0_wp |
Scalar net surface heat flux (W/m^2, positive down). |
|
| real(kind=wp), | public | :: | q_salt | = | 0.0_wp |
Scalar net surface salt flux (kg salt/m^2/s, positive = surface salinifies). |
|
| real(kind=wp), | public | :: | sw_band_ratio | = | 0.58_wp |
Band-1 weight |
|
| real(kind=wp), | public | :: | sw_pen_frac | = | 0.0_wp |
Penetrating fraction of |
|
| character(len=32), | public | :: | sw_source | = | "net_heat" |
(PR-21) Irradiance source for shortwave penetration + the
boundary-layer SW coupling. |
|
| real(kind=wp), | public | :: | sw_zeta1 | = | 0.35_wp |
Band-1 (red/near-IR) e-folding depth (m). |
|
| real(kind=wp), | public | :: | sw_zeta2 | = | 23.0_wp |
Band-2 (blue/green) e-folding depth (m). |
type :: ocean_thermo_config_t !! Thermodynamics master switches + scalar surface fluxes. logical :: enable_thermodynamics = .true. !! When `.true.` (default), the dyn step runs EOS + tracer !! advection + vertical mixing. `.false.` = adiabatic. real(wp) :: q_heat = 0.0_wp !! Scalar net surface heat flux (W/m^2, positive down). real(wp) :: q_salt = 0.0_wp !! Scalar net surface salt flux (kg salt/m^2/s, positive = !! surface salinifies). real(wp) :: sw_pen_frac = 0.0_wp !! Penetrating fraction of `q_heat` as a two-band exponential !! (Paulson & Simpson 1977). 0 = off. real(wp) :: sw_band_ratio = 0.58_wp !! Band-1 weight `R` of the two-band shortwave decay (Jerlov type I). real(wp) :: sw_zeta1 = 0.35_wp !! Band-1 (red/near-IR) e-folding depth (m). real(wp) :: sw_zeta2 = 23.0_wp !! Band-2 (blue/green) e-folding depth (m). character(len=32) :: sw_source = "net_heat" !! (PR-21) Irradiance source for shortwave penetration + the !! boundary-layer SW coupling. `"net_heat"` (default, !! bit-identical): `I0 = sw_pen_frac*q_heat`. `"q_sw"`: !! `I0 = sw_pen_frac*q_sw` (the dedicated >= 0 shortwave !! component) — kills the night-time negative-`I0` hazard; !! REQUIRES `&ocean_forcing_nml enable_components=.true.` !! (validate_config aborts otherwise). character(len=32) :: kpp_sw_method = "mxl_sw" !! (PR-21) KPP boundary-layer shortwave method (MOM6 !! `KPP_SHORTWAVE_METHOD`): `all_sw` | `mxl_sw` (default) | !! `lv1_sw`. Only the SW absorbed inside the boundary layer !! stabilises `B_0`. Inert at `sw_pen_frac = 0` ⇒ bit-identical. logical :: epbl_sw_ctke = .true. !! (PR-21) Charge the EPBL TKE ledger for penetrating shortwave !! (the in-layer PE-cost `Phi(tau)` shape). Inert at !! `sw_pen_frac = 0` ⇒ bit-identical. end type ocean_thermo_config_t