ice_ocean_sw_flux_components_impl Subroutine

private pure subroutine ice_ocean_sw_flux_components_impl(q_sw, sw_thru_diag, nx, ny)

Components-on branch: full-array overwrite of the q_sw COMPONENT (including ghosts — they get 0). No _const term. Explicit-shape + decl-order. Runs on the device-resident q_sw (mapped by sf%enter_data) and sw_thru_diag (mapped by ice%enter_data).

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: q_sw(nx,ny)
real(kind=wp), intent(in) :: sw_thru_diag(nx,ny)
integer, intent(in) :: nx
integer, intent(in) :: ny

Called by

proc~~ice_ocean_sw_flux_components_impl~~CalledByGraph proc~ice_ocean_sw_flux_components_impl ice_ocean_sw_flux_components_impl proc~ice_ocean_sw_flux ice_ocean_sw_flux proc~ice_ocean_sw_flux->proc~ice_ocean_sw_flux_components_impl proc~engine_step_ice engine_step_ice proc~engine_step_ice->proc~ice_ocean_sw_flux 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

Variables

Type Visibility Attributes Name Initial
integer, private :: i
integer, private :: j

Source Code

   pure subroutine ice_ocean_sw_flux_components_impl(q_sw, sw_thru_diag, nx, ny)
      !! Components-on branch: full-array overwrite of the `q_sw` COMPONENT
      !! (including ghosts — they get `0`).  No `_const` term.
      !! Explicit-shape + decl-order.  Runs on the device-resident `q_sw`
      !! (mapped by `sf%enter_data`) and `sw_thru_diag` (mapped by
      !! `ice%enter_data`).
      integer, intent(in) :: nx, ny
      real(wp), intent(inout) :: q_sw(nx, ny)
      real(wp), intent(in) :: sw_thru_diag(nx, ny)
      integer :: i, j

      do concurrent(j=1:ny, i=1:nx)
         q_sw(i, j) = sw_thru_diag(i, j)
      end do
   end subroutine ice_ocean_sw_flux_components_impl