VariableSpec Derived Type

type, public :: VariableSpec


Inherits

type~~variablespec~~InheritsGraph type~variablespec VariableSpec ESMF_Geom ESMF_Geom type~variablespec->ESMF_Geom geom 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 ESMF_TypeKind_Flag ESMF_TypeKind_Flag type~variablespec->ESMF_TypeKind_Flag typekind EsmfRegridderParam EsmfRegridderParam type~variablespec->EsmfRegridderParam regrid_param StringVector StringVector type~variablespec->StringVector service_items, attributes, dependencies type~horizontaldimsspec HorizontalDimsSpec type~variablespec->type~horizontaldimsspec horizontal_dims_spec type~ungriddeddims UngriddedDims type~variablespec->type~ungriddeddims ungridded_dims type~verticaldimspec VerticalDimSpec type~variablespec->type~verticaldimspec vertical_dim_spec type~ungriddeddimvector UngriddedDimVector type~ungriddeddims->type~ungriddeddimvector dim_specs type~vector_wrapper~12 vector_wrapper type~ungriddeddimvector->type~vector_wrapper~12 elements type~ungriddeddim UngriddedDim type~vector_wrapper~12->type~ungriddeddim item

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
character(len=:), public, allocatable :: units
integer, public, allocatable :: bracket_size
real, public, allocatable :: default_value
type(ESMF_Geom), public, allocatable :: geom
type(ESMF_StateIntent_Flag), public :: state_intent
type(ESMF_StateItem_Flag), public :: itemtype = MAPL_STATEITEM_FIELD
type(ESMF_TypeKind_Flag), public :: typekind = ESMF_TYPEKIND_R4
type(EsmfRegridderParam), public :: regrid_param
type(HorizontalDimsSpec), public :: horizontal_dims_spec = HORIZONTAL_DIMS_GEOM
type(StringVector), public :: attributes
type(StringVector), public :: dependencies
type(StringVector), public, allocatable :: service_items
type(UngriddedDims), public :: ungridded_dims
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) 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

    Return Value type(VariableSpec)


Type-Bound Procedures

procedure, public :: initialize

  • private subroutine initialize(this, config)

    Arguments

    Type IntentOptional Attributes Name
    class(VariableSpec), intent(out) :: this
    type(ESMF_HConfig), intent(in) :: config

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
      ! Mandatory values:
      type(ESMF_StateIntent_Flag) :: state_intent
      character(:), allocatable :: short_name
      type(ESMF_TypeKind_Flag) :: typekind = ESMF_TYPEKIND_R4
      type(EsmfRegridderParam) :: regrid_param

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

      ! Geometry
      type(ESMF_Geom), allocatable :: geom
      type(VerticalDimSpec) :: vertical_dim_spec = VERTICAL_DIM_UNKNOWN ! none, center, edge
      type(HorizontalDimsSpec) :: horizontal_dims_spec = HORIZONTAL_DIMS_GEOM ! none, geom
      type(UngriddedDims) :: ungridded_dims
      type(StringVector) :: dependencies
   contains
      procedure :: make_virtualPt
      procedure :: make_dependencies
      procedure :: initialize
      procedure, private :: set_regrid_param_
   end type VariableSpec