Returns .true. if the thermodynamic / tracer kernels should
fire on this outer step. dt_therm_ratio <= 1 (default) →
always true (every step is a thermo step, bit-identical to
prior behaviour). ratio >= 2 → fires every Nth step,
aligned to outer_step_count = 0 for the IC snapshot.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ocean_dyn_t), | intent(in) | :: | this |
pure function ocean_dyn_is_thermo_step(this) result(yes) !! Returns `.true.` if the thermodynamic / tracer kernels should !! fire on this outer step. `dt_therm_ratio <= 1` (default) → !! always true (every step is a thermo step, bit-identical to !! prior behaviour). `ratio >= 2` → fires every Nth step, !! aligned to `outer_step_count = 0` for the IC snapshot. class(ocean_dyn_t), intent(in) :: this logical :: yes if (this%dt_therm_ratio <= 1) then yes = .true. else yes = (mod(this%outer_step_count, this%dt_therm_ratio) == 0) end if end function ocean_dyn_is_thermo_step