fill_ghost_east_res Subroutine

private pure subroutine fill_ghost_east_res(hTr, h_layer, tres_e, nx_total, ny_total, nz, i_e, j0, j1, nghost, it, n_tr)

Reservoir-based ghost fill, east edge.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: hTr(nx_total,ny_total,nz)
real(kind=wp), intent(in) :: h_layer(nx_total,ny_total,nz)
real(kind=wp), intent(in) :: tres_e(ny_total,nz,n_tr)
integer, intent(in) :: nx_total
integer, intent(in) :: ny_total
integer, intent(in) :: nz
integer, intent(in) :: i_e
integer, intent(in) :: j0
integer, intent(in) :: j1
integer, intent(in) :: nghost
integer, intent(in) :: it
integer, intent(in) :: n_tr

Calls

proc~~fill_ghost_east_res~~CallsGraph proc~fill_ghost_east_res fill_ghost_east_res local local proc~fill_ghost_east_res->local

Called by

proc~~fill_ghost_east_res~~CalledByGraph proc~fill_ghost_east_res fill_ghost_east_res proc~ocean_obc_fill_ghosts ocean_obc_fill_ghosts proc~ocean_obc_fill_ghosts->proc~fill_ghost_east_res proc~run_continuity_chain run_continuity_chain proc~run_continuity_chain->proc~ocean_obc_fill_ghosts proc~run_stage_split run_stage_split proc~run_stage_split->proc~run_continuity_chain proc~ocean_dyn_step_split ocean_dyn_step_split proc~ocean_dyn_step_split->proc~run_stage_split proc~engine_step engine_step proc~engine_step->proc~ocean_dyn_step_split

Variables

Type Visibility Attributes Name Initial
integer, private :: g
real(kind=wp), private :: hTr_bc
integer, private :: j
integer, private :: k

Source Code

   pure subroutine fill_ghost_east_res(hTr, h_layer, tres_e, &
                                       nx_total, ny_total, nz, &
                                       i_e, j0, j1, nghost, it, n_tr)
      !! Reservoir-based ghost fill, east edge.
      integer, intent(in) :: nx_total, ny_total, nz, nghost, it, n_tr
      real(wp), intent(inout) :: hTr(nx_total, ny_total, nz)
      real(wp), intent(in)    :: h_layer(nx_total, ny_total, nz)
      real(wp), intent(in)    :: tres_e(ny_total, nz, n_tr)
      integer, intent(in) :: i_e, j0, j1
      integer :: j, k, g
      real(wp) :: hTr_bc
      do concurrent(k=1:nz, j=j0:j1, g=1:nghost) local(hTr_bc)
         hTr_bc = tres_e(j, k, it)*h_layer(nx_total - g + 1, j, k)
         hTr(nx_total - g + 1, j, k) = hTr_bc
      end do
   end subroutine fill_ghost_east_res