ocean_surfstress_refresh_stress_mag Subroutine

private 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.

Arguments

Type IntentOptional Attributes Name
class(ocean_surface_stress_t), intent(inout) :: this

Calls

proc~~ocean_surfstress_refresh_stress_mag~~CallsGraph proc~ocean_surfstress_refresh_stress_mag ocean_surfstress_refresh_stress_mag proc~ocean_surface_stress_refresh_mag ocean_surface_stress_refresh_mag proc~ocean_surfstress_refresh_stress_mag->proc~ocean_surface_stress_refresh_mag proc~ocean_surfstress_derived_impl ocean_surfstress_derived_impl proc~ocean_surface_stress_refresh_mag->proc~ocean_surfstress_derived_impl local local proc~ocean_surfstress_derived_impl->local

Called by

proc~~ocean_surfstress_refresh_stress_mag~~CalledByGraph proc~ocean_surfstress_refresh_stress_mag ocean_surfstress_refresh_stress_mag proc~ocean_surfstress_set_2gyre ocean_surface_stress_t%ocean_surfstress_set_2gyre proc~ocean_surfstress_set_2gyre->proc~ocean_surfstress_refresh_stress_mag proc~ocean_surfstress_set_const ocean_surface_stress_t%ocean_surfstress_set_const proc~ocean_surfstress_set_const->proc~ocean_surfstress_refresh_stress_mag proc~ocean_surfstress_set_neverworld2 ocean_surface_stress_t%ocean_surfstress_set_neverworld2 proc~ocean_surfstress_set_neverworld2->proc~ocean_surfstress_refresh_stress_mag proc~configure_ocean_forcing configure_ocean_forcing proc~configure_ocean_forcing->proc~ocean_surfstress_set_2gyre proc~configure_ocean_forcing->proc~ocean_surfstress_set_const proc~configure_ocean_forcing->proc~ocean_surfstress_set_neverworld2 proc~engine_setup engine_setup proc~engine_setup->proc~configure_ocean_forcing proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_setup proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~rdb_ocean_create_finalize rdb_ocean_create_finalize proc~rdb_ocean_create_finalize->proc~complete_ocean_create proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~complete_ocean_create

Source Code

   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