dims_geometry_ok Function

private pure function dims_geometry_ok(nd, expect_nd, d_horiz1, d_horiz2, expect1, expect2) result(ok)

Low-level geometry check used inline by register_common: .true. iff the variable has the expected rank and its two validated-length dims are each at least as long as required (decomposition-safe: a subdomain slab only needs offset+extent to fit, not to equal the file’s global length). Never aborts.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: nd
integer, intent(in) :: expect_nd
integer, intent(in) :: d_horiz1
integer, intent(in) :: d_horiz2
integer, intent(in) :: expect1
integer, intent(in) :: expect2

Return Value logical


Called by

proc~~dims_geometry_ok~~CalledByGraph proc~dims_geometry_ok dims_geometry_ok proc~register_common register_common proc~register_common->proc~dims_geometry_ok proc~ocean_data_input_register_2d ocean_data_input_register_2d proc~ocean_data_input_register_2d->proc~register_common proc~ocean_data_input_register_3d ocean_data_input_register_3d proc~ocean_data_input_register_3d->proc~register_common proc~ocean_data_input_register_segment_2d ocean_data_input_register_segment_2d proc~ocean_data_input_register_segment_2d->proc~register_common proc~ocean_data_input_register_segment_3d ocean_data_input_register_segment_3d proc~ocean_data_input_register_segment_3d->proc~register_common proc~ocean_data_input_load_static_2d ocean_data_input_load_static_2d proc~ocean_data_input_load_static_2d->proc~ocean_data_input_register_2d proc~register_tag register_tag proc~register_tag->proc~ocean_data_input_register_2d proc~ocean_data_forcing_configure ocean_data_forcing_configure proc~ocean_data_forcing_configure->proc~register_tag proc~seed_cavity_draft seed_cavity_draft proc~seed_cavity_draft->proc~ocean_data_input_load_static_2d proc~engine_setup engine_setup proc~engine_setup->proc~ocean_data_forcing_configure proc~ocean_state_seed_from_cfg ocean_state_seed_from_cfg proc~ocean_state_seed_from_cfg->proc~seed_cavity_draft

Source Code

   pure logical function dims_geometry_ok(nd, expect_nd, d_horiz1, d_horiz2, &
                                          expect1, expect2) result(ok)
      !! Low-level geometry check used inline by `register_common`:
      !! `.true.` iff the variable has the expected rank and its two
      !! validated-length dims are each at least as long as required
      !! (decomposition-safe: a subdomain slab only needs `offset+extent`
      !! to fit, not to equal the file's global length).  Never aborts.
      integer, intent(in) :: nd, expect_nd, d_horiz1, d_horiz2, expect1, expect2
      ok = (nd == expect_nd) .and. (d_horiz1 >= expect1) .and. (d_horiz2 >= expect2)
   end function dims_geometry_ok