VerticalGridAspect Derived Type

type, public, extends(StateItemAspect) :: VerticalGridAspect


Inherits

type~~verticalgridaspect~~InheritsGraph type~verticalgridaspect VerticalGridAspect ESMF_Geom ESMF_Geom type~verticalgridaspect->ESMF_Geom geom ESMF_TypeKind_Flag ESMF_TypeKind_Flag type~verticalgridaspect->ESMF_TypeKind_Flag typekind type~stateitemaspect StateItemAspect 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

Inherited by

type~~verticalgridaspect~~InheritedByGraph type~verticalgridaspect VerticalGridAspect type~aspectcollection AspectCollection type~aspectcollection->type~verticalgridaspect vertical_grid_aspect 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

Components

Type Visibility Attributes Name Initial
type(ESMF_Geom), public, allocatable :: geom
type(ESMF_TypeKind_Flag), public :: typekind
type(VerticalDimSpec), public, allocatable :: vertical_dim_spec
class(VerticalGrid), public, allocatable :: vertical_grid
type(VerticalRegridMethod), public :: regrid_method = VERTICAL_REGRID_LINEAR

Constructor

public interface VerticalGridAspect

  • private function new_VerticalGridAspect_specific(vertical_grid, regrid_method, vertical_dim_spec, geom, typekind, time_dependent) result(aspect)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGrid), intent(in), optional :: vertical_grid
    type(VerticalRegridMethod), intent(in), optional :: regrid_method
    type(VerticalDimSpec), intent(in), optional :: vertical_dim_spec
    type(ESMF_Geom), intent(in), optional :: geom
    type(ESMF_TypeKind_Flag), intent(in), optional :: typekind
    logical, intent(in), optional :: time_dependent

    Return Value type(VerticalGridAspect)


Type-Bound Procedures

procedure, public, non_overridable :: can_connect_to

  • private function can_connect_to(src, dst)

    Arguments

    Type IntentOptional Attributes Name
    class(StateItemAspect), intent(in) :: src
    class(StateItemAspect), intent(in) :: dst

    Return Value logical

procedure, public, non_overridable :: is_mirror

  • private function is_mirror(this)

    Arguments

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

    Return Value logical

procedure, public, non_overridable :: is_time_dependent

  • private function is_time_dependent(this)

    Arguments

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

    Return Value logical

procedure, public :: make_action

  • private function make_action(src, dst, rc) result(action)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGridAspect), intent(in) :: src
    class(StateItemAspect), intent(in) :: dst
    integer, intent(out), optional :: rc

    Return Value class(ExtensionAction), allocatable

procedure, public :: matches

  • private function matches(src, dst)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGridAspect), intent(in) :: src
    class(StateItemAspect), intent(in) :: dst

    Return Value logical

procedure, public, non_overridable :: needs_extension_for

  • private function needs_extension_for(src, dst)

    Arguments

    Type IntentOptional Attributes Name
    class(StateItemAspect), intent(in) :: src
    class(StateItemAspect), intent(in) :: dst

    Return Value logical

procedure, public :: set_geom

  • private subroutine set_geom(self, geom)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGridAspect), intent(inout) :: self
    type(ESMF_Geom), intent(in) :: geom

procedure, public, non_overridable :: set_mirror

  • private subroutine set_mirror(this, mirror)

    Arguments

    Type IntentOptional Attributes Name
    class(StateItemAspect), intent(inout) :: this
    logical, intent(in), optional :: mirror

procedure, public, non_overridable :: set_time_dependent

  • private subroutine set_time_dependent(this, time_dependent)

    Arguments

    Type IntentOptional Attributes Name
    class(StateItemAspect), intent(inout) :: this
    logical, intent(in), optional :: time_dependent

procedure, public :: set_typekind

  • private subroutine set_typekind(self, typekind)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGridAspect), intent(inout) :: self
    type(ESMF_TypeKind_Flag), intent(in) :: typekind

procedure, public :: set_vertical_grid

  • private subroutine set_vertical_grid(self, vertical_grid)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGridAspect), intent(inout) :: self
    class(VerticalGrid), intent(in) :: vertical_grid

generic, public :: supports_conversion => supports_conversion_general, supports_conversion_specific

  • private function supports_conversion_general(src)

    Arguments

    Type IntentOptional Attributes Name
    class(GeomAspect), intent(in) :: src

    Return Value logical

  • private function supports_conversion_specific(src, dst)

    Arguments

    Type IntentOptional Attributes Name
    class(GeomAspect), intent(in) :: src
    class(StateItemAspect), intent(in) :: dst

    Return Value logical

procedure, public :: supports_conversion_general

  • private function supports_conversion_general(src)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGridAspect), intent(in) :: src

    Return Value logical

procedure, public :: supports_conversion_specific

  • private function supports_conversion_specific(src, dst)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGridAspect), intent(in) :: src
    class(StateItemAspect), intent(in) :: dst

    Return Value logical

procedure, public :: typesafe_make_action

  • private function typesafe_make_action(src, dst, rc) result(action)

    Arguments

    Type IntentOptional Attributes Name
    class(VerticalGridAspect), intent(in) :: src
    class(VerticalGridAspect), intent(in) :: dst
    integer, intent(out), optional :: rc

    Return Value class(ExtensionAction), allocatable

Source Code

   type, extends(StateItemAspect) :: VerticalGridAspect
!#      private
      class(VerticalGrid), allocatable :: vertical_grid
      type(VerticalRegridMethod) :: regrid_method = VERTICAL_REGRID_LINEAR
!#      type(VerticalStaggerLoc), allocatable :: vertical_staggerloc
      type(VerticalDimSpec), allocatable :: vertical_dim_spec

      ! These might be updated due to intervening couplers
      type(ESMF_Geom), allocatable :: geom
      type(ESMF_Typekind_Flag) :: typekind
   contains
      procedure :: matches
      procedure :: supports_conversion_general
      procedure :: supports_conversion_specific
      procedure :: make_action
      procedure :: typesafe_make_action

      procedure :: set_vertical_grid
      procedure :: set_geom
      procedure :: set_typekind
   end type VerticalGridAspect