Effective dt for the thermo / tracer kernels. When
dt_therm_ratio = 1 returns dt exactly; otherwise returns
ratio · dt, since the kernels only fire every Nth step and
must advance by that aggregate interval.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ocean_dyn_t), | intent(in) | :: | this | |||
| real(kind=wp), | intent(in) | :: | dt |
pure function ocean_dyn_therm_dt(this, dt) result(dt_th) !! Effective `dt` for the thermo / tracer kernels. When !! `dt_therm_ratio = 1` returns `dt` exactly; otherwise returns !! `ratio · dt`, since the kernels only fire every Nth step and !! must advance by that aggregate interval. class(ocean_dyn_t), intent(in) :: this real(wp), intent(in) :: dt real(wp) :: dt_th if (this%dt_therm_ratio <= 1) then dt_th = dt else dt_th = real(this%dt_therm_ratio, wp)*dt end if end function ocean_dyn_therm_dt