Type-bound-facing shim behind every set_wind_stress_* setter:
strips the polymorphic box (same reason as enter_data) and
delegates to ocean_surface_stress_refresh_mag. Keeping this
call inside each setter — rather than requiring a separate
explicit call — is what keeps stress_mag correct for every
existing caller, including unit tests that build
ocean_surface_stress_t directly and never reach
configure_ocean_forcing.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(ocean_surface_stress_t), | intent(inout) | :: | this |
subroutine ocean_surfstress_refresh_stress_mag(this) !! Type-bound-facing shim behind every `set_wind_stress_*` setter: !! strips the polymorphic box (same reason as `enter_data`) and !! delegates to `ocean_surface_stress_refresh_mag`. Keeping this !! call inside each setter — rather than requiring a separate !! explicit call — is what keeps `stress_mag` correct for every !! existing caller, including unit tests that build !! `ocean_surface_stress_t` directly and never reach !! `configure_ocean_forcing`. class(ocean_surface_stress_t), intent(inout) :: this select type (this) type is (ocean_surface_stress_t) call ocean_surface_stress_refresh_mag(this) end select end subroutine ocean_surfstress_refresh_stress_mag