ComponentSpec Derived Type

type, public :: ComponentSpec

$ private


Inherits

type~~componentspec~~InheritsGraph type~componentspec ComponentSpec ESMF_HConfig ESMF_HConfig type~componentspec->ESMF_HConfig geom_hconfig type~childspecmap ChildSpecMap type~componentspec->type~childspecmap children type~connectionvector ConnectionVector type~componentspec->type~connectionvector connections type~geometryspec GeometrySpec type~componentspec->type~geometryspec geometry_spec type~variablespecvector VariableSpecVector type~componentspec->type~variablespecvector var_specs type~map_set~7 map_Set type~childspecmap->type~map_set~7 tree type~vector_wrapper~4 vector_wrapper type~connectionvector->type~vector_wrapper~4 elements type~geomspec GeomSpec type~geometryspec->type~geomspec geom_spec type~verticalgrid VerticalGrid type~geometryspec->type~verticalgrid vertical_grid type~vector_wrapper~25 vector_wrapper type~variablespecvector->type~vector_wrapper~25 elements type~map_s_basenode~7 map_s_BaseNode type~map_set~7->type~map_s_basenode~7 root type~variablespec VariableSpec type~vector_wrapper~25->type~variablespec item type~connection Connection type~vector_wrapper~4->type~connection item 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

Inherited by

type~~componentspec~~InheritedByGraph type~componentspec ComponentSpec type~outermetacomponent OuterMetaComponent type~outermetacomponent->type~componentspec component_spec

Components

Type Visibility Attributes Name Initial
type(ESMF_HConfig), public, allocatable :: geom_hconfig
type(ChildSpecMap), public :: children
type(ConnectionVector), public :: connections
type(GeometrySpec), public :: geometry_spec
type(VariableSpecVector), public :: var_specs

Constructor

public interface ComponentSpec

  • private function new_ComponentSpec(var_specs, connections) result(spec)

    Arguments

    Type IntentOptional Attributes Name
    type(VariableSpecVector), intent(in), optional :: var_specs
    type(ConnectionVector), intent(in), optional :: connections

    Return Value type(ComponentSpec)


Type-Bound Procedures

procedure, public :: add_connection

  • private subroutine add_connection(this, conn)

    Arguments

    Type IntentOptional Attributes Name
    class(ComponentSpec), intent(inout) :: this
    class(Connection), intent(in) :: conn

procedure, public :: add_var_spec

  • private subroutine add_var_spec(this, var_spec)

    Arguments

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

procedure, public :: has_geom_hconfig

  • private function has_geom_hconfig(this)

    Arguments

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

    Return Value logical

Source Code

   type :: ComponentSpec
      !!$      private
      type(GeometrySpec) :: geometry_spec
      type(VariableSpecVector) :: var_specs
      type(ConnectionVector) :: connections
      type(ChildSpecMap) :: children
      type(ESMF_HConfig), allocatable :: geom_hconfig ! optional
   contains
      procedure :: has_geom_hconfig
      procedure :: add_var_spec
      procedure :: add_connection
   end type ComponentSpec