meke_stage_sn Subroutine

private pure subroutine meke_stage_sn(nx, ny, sn_u_in, sn_v_in, sn_u_ws, sn_v_ws)

Copy the SN faces onto the device workspaces. Thermo-cadence; explicit-shape; on-device (VarMix slot is device-resident).

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nx
integer, intent(in) :: ny
real(kind=wp), intent(in) :: sn_u_in(nx+1,ny)
real(kind=wp), intent(in) :: sn_v_in(nx,ny+1)
real(kind=wp), intent(out) :: sn_u_ws(nx+1,ny)
real(kind=wp), intent(out) :: sn_v_ws(nx,ny+1)

Called by

proc~~meke_stage_sn~~CalledByGraph proc~meke_stage_sn meke_stage_sn proc~meke_step meke_step proc~meke_step->proc~meke_stage_sn proc~run_meke_step run_meke_step proc~run_meke_step->proc~meke_step proc~ocean_dyn_step_split ocean_dyn_step_split proc~ocean_dyn_step_split->proc~run_meke_step proc~engine_step engine_step proc~engine_step->proc~ocean_dyn_step_split proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_step proc~rdb_ocean_step rdb_ocean_step proc~rdb_ocean_step->proc~engine_step

Variables

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

Source Code

   pure subroutine meke_stage_sn(nx, ny, sn_u_in, sn_v_in, sn_u_ws, sn_v_ws)
      !! Copy the SN faces onto the device workspaces.  Thermo-cadence;
      !! explicit-shape; on-device (VarMix slot is device-resident).
      integer, intent(in) :: nx, ny
      real(wp), intent(in) :: sn_u_in(nx + 1, ny)
      real(wp), intent(in) :: sn_v_in(nx, ny + 1)
      real(wp), intent(out) :: sn_u_ws(nx + 1, ny)
      real(wp), intent(out) :: sn_v_ws(nx, ny + 1)
      integer :: i, j
      do concurrent(j=1:ny, i=1:nx + 1)
         sn_u_ws(i, j) = sn_u_in(i, j)
      end do
      do concurrent(j=1:ny + 1, i=1:nx)
         sn_v_ws(i, j) = sn_v_in(i, j)
      end do
   end subroutine meke_stage_sn