handle_has_area Function

private function handle_has_area(h) result(has_area)

True when the handle’s metrics carry a full ghosted areaT (every grid the engine builds does); anything else falls back to grid%dx*grid%dy.

Arguments

Type IntentOptional Attributes Name
type(ocean_handle_t), intent(in), pointer :: h

Return Value logical


Called by

proc~~handle_has_area~~CalledByGraph proc~handle_has_area handle_has_area proc~rdb_ocean_get_kinetic_energy rdb_ocean_get_kinetic_energy proc~rdb_ocean_get_kinetic_energy->proc~handle_has_area proc~rdb_ocean_get_total_mass rdb_ocean_get_total_mass proc~rdb_ocean_get_total_mass->proc~handle_has_area

Source Code

   function handle_has_area(h) result(has_area)
      !! True when the handle's metrics carry a full ghosted `areaT` (every
      !! grid the engine builds does); anything else falls back to
      !! `grid%dx*grid%dy`.
      type(ocean_handle_t), pointer, intent(in) :: h
      logical :: has_area
      has_area = .false.
      if (.not. allocated(h%state%metrics%areaT)) return
      has_area = size(h%state%metrics%areaT, 1) == size(h%state%multilayer%h_layer, 1) &
                 .and. size(h%state%metrics%areaT, 2) == size(h%state%multilayer%h_layer, 2)
   end function handle_has_area