metrics_fold_north_cu_scalar Subroutine

private subroutine metrics_fold_north_cu_scalar(arr, grid)

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(inout) :: arr(:,:)
type(hgrid_t), intent(in) :: grid

Called by

proc~~metrics_fold_north_cu_scalar~~CalledByGraph proc~metrics_fold_north_cu_scalar metrics_fold_north_cu_scalar proc~metrics_fold_north_faces metrics_fold_north_faces proc~metrics_fold_north_faces->proc~metrics_fold_north_cu_scalar proc~metrics_fold_periodic_ghosts metrics_fold_periodic_ghosts proc~metrics_fold_periodic_ghosts->proc~metrics_fold_north_faces proc~engine_setup engine_setup proc~engine_setup->proc~metrics_fold_periodic_ghosts proc~configure_ocean_metrics configure_ocean_metrics proc~engine_setup->proc~configure_ocean_metrics proc~metrics_fill_from_supergrid metrics_fill_from_supergrid proc~metrics_fill_from_supergrid->proc~metrics_fold_periodic_ghosts proc~metrics_fill_tripolar_whole metrics_fill_tripolar_whole proc~metrics_fill_tripolar_whole->proc~metrics_fold_periodic_ghosts proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup proc~configure_ocean_metrics->proc~metrics_fill_from_supergrid proc~metrics_fill_tripolar metrics_fill_tripolar proc~configure_ocean_metrics->proc~metrics_fill_tripolar proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_setup proc~driver_validate driver_validate proc~driver_validate->proc~engine_setup proc~metrics_fill_tripolar->proc~metrics_fill_tripolar_whole proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean proc~rdb_ocean_create_finalize rdb_ocean_create_finalize proc~rdb_ocean_create_finalize->proc~complete_ocean_create proc~rdb_ocean_create_from_string rdb_ocean_create_from_string proc~rdb_ocean_create_from_string->proc~complete_ocean_create

Variables

Type Visibility Attributes Name Initial
integer, private :: fsum
integer, private :: i
integer, private :: j
integer, private :: j_lo
integer, private :: jsum
integer, private :: ng
integer, private :: ni
integer, private :: nj

Source Code

   subroutine metrics_fold_north_cu_scalar(arr, grid)
      real(wp), intent(inout) :: arr(:, :)
      type(hgrid_t), intent(in) :: grid
      integer :: ng, ni, nj, fsum, jsum, j_lo, i, j
      ng = grid%nghost
      ni = grid%nx_phys
      nj = grid%ny_phys
      fsum = 2*ng + ni + 2
      jsum = 2*ng + 2*nj + 1
      j_lo = ng + nj + 1
      do j = j_lo, size(arr, 2)
         do i = 1, size(arr, 1)
            arr(i, j) = arr(fsum - i, jsum - j)
         end do
      end do
   end subroutine metrics_fold_north_cu_scalar