ice_snowfall_ocean_share Subroutine

public pure subroutine ice_snowfall_ocean_share(grid, ice, dt_therm)

Outer shim (outer-shim + flat-impl pattern): forward the ice slot’s arrays to the device kernel. Called only when ice%has_snowfall (driver gate, rdb_driver.F90) – default snowfall=0 never reaches this module.

Arguments

Type IntentOptional Attributes Name
type(hgrid_t), intent(in) :: grid
type(ocean_sea_ice_t), intent(inout) :: ice
real(kind=wp), intent(in) :: dt_therm

Effective thermo timestep (s) – ocean_dyn_t%therm_dt(dt).


Calls

proc~~ice_snowfall_ocean_share~~CallsGraph proc~ice_snowfall_ocean_share ice_snowfall_ocean_share proc~ice_snowfall_ocean_share_impl ice_snowfall_ocean_share_impl proc~ice_snowfall_ocean_share->proc~ice_snowfall_ocean_share_impl local local proc~ice_snowfall_ocean_share_impl->local proc~ice_enthalpy_liquid ice_enthalpy_liquid proc~ice_snowfall_ocean_share_impl->proc~ice_enthalpy_liquid

Called by

proc~~ice_snowfall_ocean_share~~CalledByGraph proc~ice_snowfall_ocean_share ice_snowfall_ocean_share proc~engine_step_ice engine_step_ice proc~engine_step_ice->proc~ice_snowfall_ocean_share proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_step_ice proc~rdb_ocean_step rdb_ocean_step proc~rdb_ocean_step->proc~engine_step_ice proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean

Source Code

   pure subroutine ice_snowfall_ocean_share(grid, ice, dt_therm)
      !! Outer shim (outer-shim + flat-impl pattern): forward the ice
      !! slot's arrays to the device kernel. Called only when
      !! `ice%has_snowfall` (driver gate, `rdb_driver.F90`) -- default
      !! `snowfall=0` never reaches this module.
      type(hgrid_t), intent(in) :: grid
      type(ocean_sea_ice_t), intent(inout) :: ice
      real(wp), intent(in) :: dt_therm
         !! Effective thermo timestep (s) -- `ocean_dyn_t%therm_dt(dt)`.

      call ice_snowfall_ocean_share_impl(ice%snow_part_ocn, ice%atm_fprec, &
                                         ice%sst_seam, ice%ssurf_seam, &
                                         ice%fprec_ocn_diag, ice%heat_flux_diag, &
                                         ice%salt_flux_diag, dt_therm, grid%nghost, &
                                         ice%nx_total, ice%ny_total)
   end subroutine ice_snowfall_ocean_share