Outer shim: forward the four seam arrays + four scalars to the device kernel. No registry indirection here, but keep the shim+_impl split for the explicit-shape device-kernel discipline.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(ocean_sea_ice_t), | intent(inout) | :: | ice | |||
| real(kind=wp), | intent(in) | :: | air_temp | |||
| real(kind=wp), | intent(in) | :: | restore_lambda | |||
| real(kind=wp), | intent(in) | :: | sw_down | |||
| real(kind=wp), | intent(in) | :: | snowfall |
pure subroutine ice_atm_forcing_restoring(ice, air_temp, restore_lambda, sw_down, snowfall) !! Outer shim: forward the four seam arrays + four scalars to the !! device kernel. No registry indirection here, but keep the shim+_impl !! split for the explicit-shape device-kernel discipline. type(ocean_sea_ice_t), intent(inout) :: ice real(wp), intent(in) :: air_temp, restore_lambda, sw_down, snowfall call ice_atm_forcing_restoring_impl(ice%atm_sf0, ice%atm_dsfdt, ice%atm_sw_dn, & ice%atm_fprec, air_temp, restore_lambda, & sw_down, snowfall, ice%nx_total, ice%ny_total) end subroutine ice_atm_forcing_restoring