drain_wrap_face_x Subroutine

private subroutine drain_wrap_face_x(fld, nx, ny, nz, nx_phys, ny_phys, nghost, per_x, per_y, fold_n)

Periodic wrap (+ north fold) of an x-face drain field (nx+1,ny,nz).

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: fld(nx+1,ny,nz)
integer, intent(in) :: nx
integer, intent(in) :: ny
integer, intent(in) :: nz
integer, intent(in) :: nx_phys
integer, intent(in) :: ny_phys
integer, intent(in) :: nghost
logical, intent(in) :: per_x
logical, intent(in) :: per_y
logical, intent(in) :: fold_n

Calls

proc~~drain_wrap_face_x~~CallsGraph proc~drain_wrap_face_x drain_wrap_face_x interface~fold_north_u_face fold_north_u_face proc~drain_wrap_face_x->interface~fold_north_u_face proc~ocean_periodic_wrap_face_x_3d ocean_periodic_wrap_face_x_3d proc~drain_wrap_face_x->proc~ocean_periodic_wrap_face_x_3d proc~fold_north_u_face_2d fold_north_u_face_2d interface~fold_north_u_face->proc~fold_north_u_face_2d proc~fold_north_u_face_3d fold_north_u_face_3d interface~fold_north_u_face->proc~fold_north_u_face_3d

Called by

proc~~drain_wrap_face_x~~CalledByGraph proc~drain_wrap_face_x drain_wrap_face_x proc~continuity_tracer_drain continuity_tracer_drain proc~continuity_tracer_drain->proc~drain_wrap_face_x proc~ocean_dyn_flush_tracer_window ocean_dyn_flush_tracer_window proc~ocean_dyn_flush_tracer_window->proc~continuity_tracer_drain proc~ocean_dyn_step ocean_dyn_step proc~ocean_dyn_step->proc~continuity_tracer_drain proc~ocean_dyn_step_split ocean_dyn_step_split proc~ocean_dyn_step_split->proc~continuity_tracer_drain proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~ocean_dyn_flush_tracer_window proc~engine_step engine_step proc~driver_run_ocean->proc~engine_step proc~engine_step->proc~ocean_dyn_step proc~engine_step->proc~ocean_dyn_step_split proc~rdb_ocean_set_tracer rdb_ocean_set_tracer proc~rdb_ocean_set_tracer->proc~ocean_dyn_flush_tracer_window proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~rdb_ocean_step rdb_ocean_step proc~rdb_ocean_step->proc~engine_step

Source Code

   subroutine drain_wrap_face_x(fld, nx, ny, nz, nx_phys, ny_phys, nghost, &
                                per_x, per_y, fold_n)
      !! Periodic wrap (+ north fold) of an x-face drain field (nx+1,ny,nz).
      integer, intent(in) :: nx, ny, nz, nx_phys, ny_phys, nghost
      real(wp), intent(inout) :: fld(nx + 1, ny, nz)
      logical, intent(in) :: per_x, per_y, fold_n
      if (per_x .or. per_y) then
         call ocean_periodic_wrap_face_x_3d(fld, nx + 1, ny, nz, &
                                            nx_phys, ny_phys, nghost, per_x, per_y)
      end if
      if (fold_n) call fold_north_u_face(fld, nx + 1, ny, nz, nx_phys, ny_phys, nghost)
   end subroutine drain_wrap_face_x