AspectCollection Derived Type

type, public :: AspectCollection


Inherits

type~~aspectcollection~~InheritsGraph type~aspectcollection AspectCollection 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 StringVector StringVector 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 ESMF_Geom ESMF_Geom type~geomaspect->ESMF_Geom geom EsmfRegridderParam EsmfRegridderParam type~geomaspect->EsmfRegridderParam regridder_param type~horizontaldimsspec HorizontalDimsSpec type~geomaspect->type~horizontaldimsspec horizontal_dims_spec 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->ESMF_Geom geom type~verticalgridaspect->ESMF_TypeKind_Flag typekind type~verticalgridaspect->type~stateitemaspect type~verticaldimspec VerticalDimSpec type~verticalgridaspect->type~verticaldimspec vertical_dim_spec 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 type~vector_wrapper~12 vector_wrapper type~ungriddeddimvector->type~vector_wrapper~12 elements

Inherited by

type~~aspectcollection~~InheritedByGraph type~aspectcollection AspectCollection type~stateitemspec StateItemSpec type~stateitemspec->type~aspectcollection aspects type~variablespec VariableSpec type~variablespec->type~aspectcollection aspects type~actualptstateitemspecpair ActualPtStateItemSpecPair type~actualptstateitemspecpair->type~stateitemspec second type~bracketspec BracketSpec type~bracketspec->type~stateitemspec type~fieldspec~2 FieldSpec type~bracketspec->type~fieldspec~2 reference_spec, field_specs type~fieldspec~2->type~stateitemspec type~invalidspec InvalidSpec type~invalidspec->type~stateitemspec type~mockitemspec MockItemSpec type~mockitemspec->type~stateitemspec type~servicespec ServiceSpec type~servicespec->type~stateitemspec type~servicespec->type~variablespec variable_spec type~stateitemspecptr StateItemSpecPtr type~servicespec->type~stateitemspecptr dependency_specs type~stateitemextension StateItemExtension type~stateitemextension->type~stateitemspec spec type~stateitemspecpair StateItemSpecPair type~stateitemspecpair->type~stateitemspec second type~stateitemspecptr->type~stateitemspec ptr type~statespec StateSpec type~statespec->type~stateitemspec type~vector_wrapper~22 vector_wrapper type~vector_wrapper~22->type~stateitemspec item type~vector_wrapper~25 vector_wrapper type~vector_wrapper~25->type~variablespec item type~virtualptstateitemspecpair VirtualPtStateItemSpecPair type~virtualptstateitemspecpair->type~stateitemspec second type~wildcardspec WildcardSpec type~wildcardspec->type~stateitemspec reference_spec type~wildcardspec->type~stateitemspec type~actualptspecptrpair ActualPtSpecPtrPair type~actualptspecptrpair->type~stateitemspecptr second type~map_s_node~12 map_s_Node type~map_s_node~12->type~actualptstateitemspecpair value type~map_s_node~13 map_s_Node type~map_s_node~13->type~stateitemspecpair value type~map_s_node~15 map_s_Node type~map_s_node~15->type~virtualptstateitemspecpair value type~stateitemextensionptr StateItemExtensionPtr type~stateitemextensionptr->type~stateitemextension ptr type~stateitemvector StateItemVector type~stateitemvector->type~vector_wrapper~22 elements type~stateitemvectoriterator StateItemVectorIterator type~stateitemvectoriterator->type~vector_wrapper~22 elements type~variablespecvector VariableSpecVector type~variablespecvector->type~vector_wrapper~25 elements type~variablespecvectoriterator VariableSpecVectorIterator type~variablespecvectoriterator->type~vector_wrapper~25 elements type~vector_wrapper~21 vector_wrapper type~vector_wrapper~21->type~stateitemspecptr item type~vector_wrapper~24 vector_wrapper type~vector_wrapper~24->type~stateitemextension item type~virtualptstateitemptrpair VirtualPtStateItemPtrPair type~virtualptstateitemptrpair->type~stateitemspecptr second

Constructor

public interface AspectCollection

  • private function new_AspectCollection(unusable, geom_aspect) result(collection)

    Arguments

    Type IntentOptional Attributes Name
    class(KeywordEnforcer), intent(in), optional :: unusable
    type(GeomAspect), intent(in), optional :: geom_aspect

    Return Value type(AspectCollection)


Type-Bound Procedures

procedure, public :: get_aspect

  • private function get_aspect(this, name, rc) result(aspect)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), target :: this
    character(len=*), intent(in) :: name
    integer, intent(out), optional :: rc

    Return Value class(StateItemAspect), pointer

procedure, public :: get_attributes_aspect

  • private function get_attributes_aspect(this) result(attributes_aspect)

    Arguments

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

    Return Value type(AttributesAspect), pointer

procedure, public :: get_frequency_aspect

  • private function get_frequency_aspect(this) result(frequency_aspect)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), intent(inout), target :: this

    Return Value type(FrequencyAspect), pointer

procedure, public :: get_geom_aspect

  • private function get_geom_aspect(this) result(geom_aspect)

    Arguments

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

    Return Value type(GeomAspect), pointer

procedure, public :: get_typekind_aspect

  • private function get_typekind_aspect(this) result(typekind_aspect)

    Arguments

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

    Return Value type(TypekindAspect), pointer

procedure, public :: get_ungridded_dims_aspect

  • private function get_ungridded_dims_aspect(this) result(ungridded_dims_aspect)

    Arguments

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

    Return Value type(UngriddedDimsAspect), pointer

procedure, public :: get_units_aspect

  • private function get_units_aspect(this) result(units_aspect)

    Arguments

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

    Return Value type(UnitsAspect), pointer

procedure, public :: get_vertical_grid_aspect

  • private function get_vertical_grid_aspect(this) result(vertical_grid_aspect)

    Arguments

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

    Return Value type(VerticalGridAspect), pointer

procedure, public :: has_aspect

  • private function has_aspect(this, name)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), target :: this
    character(len=*), intent(in) :: name

    Return Value logical

procedure, public :: set_aspect

  • private subroutine set_aspect(this, aspect, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), target :: this
    class(StateItemAspect), intent(in), target :: aspect
    integer, intent(out), optional :: rc

procedure, public :: set_attributes_aspect

  • private subroutine set_attributes_aspect(this, attributes_aspect)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), intent(inout) :: this
    type(AttributesAspect), intent(in) :: attributes_aspect

procedure, public :: set_frequency_aspect

  • private subroutine set_frequency_aspect(this, frequency_aspect)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), intent(inout) :: this
    type(FrequencyAspect), intent(in) :: frequency_aspect

procedure, public :: set_geom_aspect

  • private subroutine set_geom_aspect(this, geom_aspect)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), intent(inout) :: this
    type(GeomAspect), intent(in) :: geom_aspect

procedure, public :: set_typekind_aspect

  • private subroutine set_typekind_aspect(this, typekind_aspect)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), intent(inout) :: this
    type(TypekindAspect), intent(in) :: typekind_aspect

procedure, public :: set_ungridded_dims_aspect

  • private subroutine set_ungridded_dims_aspect(this, ungridded_dims_aspect)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), intent(inout) :: this
    type(UngriddedDimsAspect), intent(in) :: ungridded_dims_aspect

procedure, public :: set_units_aspect

  • private subroutine set_units_aspect(this, units_aspect)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), intent(inout) :: this
    type(UnitsAspect), intent(in) :: units_aspect

procedure, public :: set_vertical_grid_aspect

  • private subroutine set_vertical_grid_aspect(this, vertical_grid_aspect)

    Arguments

    Type IntentOptional Attributes Name
    class(AspectCollection), intent(inout) :: this
    type(VerticalGridAspect), intent(in) :: vertical_grid_aspect

Source Code

   type AspectCollection
      private
      type(GeomAspect), allocatable :: geom_aspect
      type(VerticalGridAspect), allocatable :: vertical_grid_aspect
      type(UnitsAspect), allocatable :: units_aspect
      type(TypekindAspect), allocatable :: typekind_aspect
      type(UngriddedDimsAspect), allocatable :: ungridded_dims_aspect
      type(AttributesAspect), allocatable :: attributes_aspect
      type(FrequencyAspect), allocatable :: frequency_aspect
   contains
      procedure :: get_aspect ! polymorphic
      procedure :: has_aspect ! polymorphic
      procedure :: set_aspect ! polymorphic

      procedure :: get_geom_aspect
      procedure :: set_geom_aspect

      procedure :: get_vertical_grid_aspect
      procedure :: set_vertical_grid_aspect

      procedure :: get_units_aspect
      procedure :: set_units_aspect

      procedure :: get_typekind_aspect
      procedure :: set_typekind_aspect

      procedure :: get_ungridded_dims_aspect
      procedure :: set_ungridded_dims_aspect
 
      procedure :: get_attributes_aspect
      procedure :: set_attributes_aspect
      
      procedure :: get_frequency_aspect
      procedure :: set_frequency_aspect
   end type AspectCollection