setup Subroutine

public subroutine setup(vgrid, rc)

Arguments

Type IntentOptional Attributes Name
type(ModelVerticalGrid), intent(out) :: vgrid
integer, intent(out) :: rc

Calls

proc~~setup~5~~CallsGraph proc~setup~5 setup anyexceptions anyexceptions proc~setup~5->anyexceptions assert_that assert_that proc~setup~5->assert_that create create proc~setup~5->create none~add_primary_spec StateRegistry%add_primary_spec proc~setup~5->none~add_primary_spec none~add_variant ModelVerticalGrid%add_variant proc~setup~5->none~add_variant none~get_primary_extension StateRegistry%get_primary_extension proc~setup~5->none~get_primary_extension none~get_spec~2 StateItemExtension%get_spec proc~setup~5->none~get_spec~2 none~set_active StateItemSpec%set_active proc~setup~5->none~set_active none~set_registry ModelVerticalGrid%set_registry proc~setup~5->none~set_registry proc~make_geom~4 make_geom proc~setup~5->proc~make_geom~4 proc~make_itemspec make_itemSpec proc~setup~5->proc~make_itemspec set_geometry set_geometry proc~setup~5->set_geometry sourcelocation sourcelocation proc~setup~5->sourcelocation none~add_family StateRegistry%add_family none~add_primary_spec->none~add_family none~back~56 StateItemExtensionVector%back none~add_primary_spec->none~back~56 none~push_back~49 StateItemExtensionVector%push_back none~add_primary_spec->none~push_back~49 proc~mapl_return MAPL_Return none~add_primary_spec->proc~mapl_return proc~mapl_verify MAPL_Verify none~add_primary_spec->proc~mapl_verify push_back push_back none~add_variant->push_back interface~mapl_assert MAPL_Assert none~get_primary_extension->interface~mapl_assert none~at~112 VirtualPtFamilyMap%at none~get_primary_extension->none~at~112 none~get_primary ExtensionFamily%get_primary none~get_primary_extension->none~get_primary none~has_virtual_pt StateRegistry%has_virtual_pt none~get_primary_extension->none~has_virtual_pt none~get_primary_extension->proc~mapl_return none~get_primary_extension->proc~mapl_verify proc~make_geom~4->anyexceptions proc~make_geom~4->assert_that proc~make_geom~4->sourcelocation ESMF_HConfigCreate ESMF_HConfigCreate proc~make_geom~4->ESMF_HConfigCreate get_geom get_geom proc~make_geom~4->get_geom get_geom_manager get_geom_manager proc~make_geom~4->get_geom_manager get_mapl_geom get_mapl_geom proc~make_geom~4->get_mapl_geom proc~make_itemspec->none~set_active proc~make_itemspec->interface~mapl_assert none~make_dependencies VariableSpec%make_dependencies proc~make_itemspec->none~make_dependencies none~set_dependencies StateItemSpec%set_dependencies proc~make_itemspec->none~set_dependencies none~set_raw_dependencies StateItemSpec%set_raw_dependencies proc~make_itemspec->none~set_raw_dependencies proc~make_itemspec->proc~mapl_return proc~make_itemspec->proc~mapl_verify

Called by

proc~~setup~5~~CalledByGraph proc~setup~5 setup proc~test_created_fields_have_num_levels test_created_fields_have_num_levels proc~test_created_fields_have_num_levels->proc~setup~5 proc~test_get_coordinate_field_change_units test_get_coordinate_field_change_units proc~test_get_coordinate_field_change_units->proc~setup~5 proc~test_get_coordinate_field_simple test_get_coordinate_field_simple proc~test_get_coordinate_field_simple->proc~setup~5

Source Code

   subroutine setup(vgrid, rc)
      type(ModelVerticalGrid), intent(out) :: vgrid
      integer, intent(out) :: rc

      type(ESMF_Geom) :: geom
      type(VirtualConnectionPt) :: ple_pt
      type(VariableSpec) :: var_spec
      class(StateItemSpec), allocatable :: ple_spec
      type(StateItemExtension), pointer :: extension
      class(StateItemSpec), pointer :: spec
      integer :: status

      rc = 0
      ! Inside user "set_geom" phase.
      geom = make_geom(_RC)
      vgrid = ModelVerticalGrid(num_levels=LM)
      call vgrid%add_variant(short_name='PLE')

      ! inside OuterMeta
      r = StateRegistry('dyn')
      call vgrid%set_registry(r) ! MAPL_SetVerticalGrid(...)

      ple_pt = VirtualConnectionPt(state_intent='export', short_name='PLE')
     var_spec = VariableSpec(&
           short_name='PLE', &
           state_intent=ESMF_STATEINTENT_EXPORT, &
           standard_name='air_pressure', &
           units='hPa', &
           vertical_dim_spec=VERTICAL_DIM_EDGE, &
           default_value=3.)
     allocate(ple_spec, source=make_itemSpec(var_spec, r, rc=status))
     _VERIFY(status)
     call ple_spec%set_geometry(geom=geom, vertical_grid=vgrid, _RC)

      call r%add_primary_spec(ple_pt, ple_spec)

      extension => r%get_primary_extension(ple_pt, _RC)
      spec => extension%get_spec()
      call spec%set_active()
      call spec%create(_RC)
      call spec%allocate(_RC)

   end subroutine setup