metrics_dx_min Function

private pure function metrics_dx_min(metrics, grid) result(dx_min)

Representative minimum grid length over the PHYSICAL region, taken over both dxT and dyT (host-side, configure time). Bit-identical to min(grid%dx, grid%dy) on uniform Cartesian.

Arguments

Type IntentOptional Attributes Name
type(ocean_metrics_t), intent(in) :: metrics
type(hgrid_t), intent(in) :: grid

Return Value real(kind=wp)


Called by

proc~~metrics_dx_min~~CalledByGraph proc~metrics_dx_min metrics_dx_min proc~configure_ocean_lateral configure_ocean_lateral proc~configure_ocean_lateral->proc~metrics_dx_min proc~engine_setup engine_setup proc~engine_setup->proc~configure_ocean_lateral proc~complete_ocean_create complete_ocean_create proc~complete_ocean_create->proc~engine_setup 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~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 :: i0
integer, private :: i1
integer, private :: j0
integer, private :: j1
integer, private :: ng

Source Code

   pure function metrics_dx_min(metrics, grid) result(dx_min)
      !! Representative minimum grid length over the PHYSICAL region,
      !! taken over both `dxT` and `dyT` (host-side, configure time).
      !! Bit-identical to `min(grid%dx, grid%dy)` on uniform Cartesian.
      type(ocean_metrics_t), intent(in) :: metrics
      type(hgrid_t), intent(in) :: grid
      real(wp) :: dx_min
      integer :: ng, i0, i1, j0, j1
      ng = grid%nghost
      i0 = ng + 1
      i1 = ng + grid%nx_phys
      j0 = ng + 1
      j1 = ng + grid%ny_phys
      dx_min = min(minval(metrics%dxT(i0:i1, j0:j1)), &
                   minval(metrics%dyT(i0:i1, j0:j1)))
   end function metrics_dx_min