VariableSpec Derived Type

type, public :: VariableSpec


Inherits

type~~variablespec~~InheritsGraph type~variablespec VariableSpec ESMF_StateIntent_Flag ESMF_StateIntent_Flag type~variablespec->ESMF_StateIntent_Flag state_intent ESMF_StateItem_Flag ESMF_StateItem_Flag type~variablespec->ESMF_StateItem_Flag itemtype StringVector StringVector type~variablespec->StringVector service_items, attributes, dependencies type~aspectcollection AspectCollection type~variablespec->type~aspectcollection aspects type~horizontaldimsspec HorizontalDimsSpec type~variablespec->type~horizontaldimsspec horizontal_dims_spec type~verticaldimspec VerticalDimSpec type~variablespec->type~verticaldimspec vertical_dim_spec type~attributesaspect AttributesAspect type~aspectcollection->type~attributesaspect attributes_aspect type~frequencyaspect FrequencyAspect type~aspectcollection->type~frequencyaspect frequency_aspect type~geomaspect GeomAspect type~aspectcollection->type~geomaspect geom_aspect type~typekindaspect TypekindAspect type~aspectcollection->type~typekindaspect typekind_aspect type~ungriddeddimsaspect UngriddedDimsAspect type~aspectcollection->type~ungriddeddimsaspect ungridded_dims_aspect type~unitsaspect UnitsAspect type~aspectcollection->type~unitsaspect units_aspect type~verticalgridaspect VerticalGridAspect type~aspectcollection->type~verticalgridaspect vertical_grid_aspect type~attributesaspect->StringVector attribute_names type~stateitemaspect StateItemAspect type~attributesaspect->type~stateitemaspect ESMF_TimeInterval ESMF_TimeInterval type~frequencyaspect->ESMF_TimeInterval timestep_ type~frequencyaspect->type~stateitemaspect type~geomaspect->type~horizontaldimsspec horizontal_dims_spec ESMF_Geom ESMF_Geom type~geomaspect->ESMF_Geom geom EsmfRegridderParam EsmfRegridderParam type~geomaspect->EsmfRegridderParam regridder_param type~geomaspect->type~stateitemaspect ESMF_TypeKind_Flag ESMF_TypeKind_Flag type~typekindaspect->ESMF_TypeKind_Flag typekind type~typekindaspect->type~stateitemaspect type~ungriddeddimsaspect->type~stateitemaspect type~ungriddeddims UngriddedDims type~ungriddeddimsaspect->type~ungriddeddims ungridded_dims type~unitsaspect->type~stateitemaspect type~verticalgridaspect->type~verticaldimspec vertical_dim_spec type~verticalgridaspect->ESMF_Geom geom type~verticalgridaspect->ESMF_TypeKind_Flag typekind type~verticalgridaspect->type~stateitemaspect type~verticalgrid VerticalGrid type~verticalgridaspect->type~verticalgrid vertical_grid type~verticalregridmethod VerticalRegridMethod type~verticalgridaspect->type~verticalregridmethod regrid_method type~ungriddeddimvector UngriddedDimVector type~ungriddeddims->type~ungriddeddimvector dim_specs

Inherited by

type~~variablespec~~InheritedByGraph type~variablespec VariableSpec type~servicespec ServiceSpec type~servicespec->type~variablespec variable_spec type~vector_wrapper~25 vector_wrapper type~vector_wrapper~25->type~variablespec item type~variablespecvector VariableSpecVector type~variablespecvector->type~vector_wrapper~25 elements type~variablespecvectoriterator VariableSpecVectorIterator type~variablespecvectoriterator->type~vector_wrapper~25 elements type~componentspec ComponentSpec type~componentspec->type~variablespecvector var_specs type~vectorriterator~20 VectorRIterator type~vectorriterator~20->type~variablespecvectoriterator iterator type~outermetacomponent OuterMetaComponent type~outermetacomponent->type~componentspec component_spec

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: short_name
character(len=:), public, allocatable :: standard_name
character(len=:), public, allocatable :: substate
integer, public, allocatable :: bracket_size
real, public, allocatable :: default_value
type(ESMF_StateIntent_Flag), public :: state_intent
type(ESMF_StateItem_Flag), public :: itemtype = MAPL_STATEITEM_FIELD
type(AspectCollection), public :: aspects
type(HorizontalDimsSpec), public :: horizontal_dims_spec = HORIZONTAL_DIMS_GEOM
type(StringVector), public :: attributes
type(StringVector), public :: dependencies
type(StringVector), public, allocatable :: service_items
type(VerticalDimSpec), public :: vertical_dim_spec = VERTICAL_DIM_UNKNOWN

Constructor

public interface VariableSpec

  • private function new_VariableSpec(state_intent, short_name, unusable, standard_name, geom, units, substate, itemtype, typekind, vertical_dim_spec, ungridded_dims, default_value, service_items, attributes, bracket_size, dependencies, regrid_param, horizontal_dims_spec, accumulation_type) result(var_spec)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_StateIntent_Flag), intent(in) :: state_intent
    character(len=*), intent(in) :: short_name
    class(KeywordEnforcer), intent(in), optional :: unusable
    character(len=*), intent(in), optional :: standard_name
    type(ESMF_Geom), intent(in), optional :: geom
    character(len=*), intent(in), optional :: units
    character(len=*), intent(in), optional :: substate
    type(ESMF_StateItem_Flag), intent(in), optional :: itemtype
    type(ESMF_TypeKind_Flag), intent(in), optional :: typekind
    type(VerticalDimSpec), intent(in), optional :: vertical_dim_spec
    type(UngriddedDims), intent(in), optional :: ungridded_dims
    real, intent(in), optional :: default_value
    type(StringVector), optional :: service_items
    type(StringVector), intent(in), optional :: attributes
    integer, intent(in), optional :: bracket_size
    type(StringVector), intent(in), optional :: dependencies
    type(EsmfRegridderParam), intent(in), optional :: regrid_param
    type(HorizontalDimsSpec), intent(in), optional :: horizontal_dims_spec
    character(len=*), intent(in), optional :: accumulation_type

    Return Value type(VariableSpec)


Type-Bound Procedures

procedure, public :: make_dependencies

  • private function make_dependencies(this, rc) result(dependencies)

    Arguments

    Type IntentOptional Attributes Name
    class(VariableSpec), intent(in) :: this
    integer, intent(out), optional :: rc

    Return Value type(ActualPtVector)

procedure, public :: make_virtualPt

  • private function make_virtualPt(this) result(v_pt)

    Arguments

    Type IntentOptional Attributes Name
    class(VariableSpec), intent(in) :: this

    Return Value type(VirtualConnectionPt)

Source Code

   type VariableSpec
      type(AspectCollection) :: aspects
      ! Mandatory values:
      type(ESMF_StateIntent_Flag) :: state_intent
      character(:), allocatable :: short_name

      ! Metadata
      character(:), allocatable :: standard_name
      type(ESMF_StateItem_Flag) :: itemtype = MAPL_STATEITEM_FIELD
      type(StringVector), allocatable :: service_items
      character(:), allocatable :: substate
      real, allocatable :: default_value
      type(StringVector) :: attributes
      integer, allocatable :: bracket_size

      ! Geometry
      type(VerticalDimSpec) :: vertical_dim_spec = VERTICAL_DIM_UNKNOWN ! none, center, edge
      type(HorizontalDimsSpec) :: horizontal_dims_spec = HORIZONTAL_DIMS_GEOM ! none, geom
      type(StringVector) :: dependencies
   contains
      procedure :: make_virtualPt
      procedure :: make_dependencies
   end type VariableSpec