MAPL_VarSpecType Derived Type

type, public :: MAPL_VarSpecType


Inherits

type~~mapl_varspectype~~InheritsGraph type~mapl_varspectype MAPL_VarSpecType ESMF_Field ESMF_Field type~mapl_varspectype->ESMF_Field FIELD ESMF_FieldBundle ESMF_FieldBundle type~mapl_varspectype->ESMF_FieldBundle BUNDLE ESMF_Grid ESMF_Grid type~mapl_varspectype->ESMF_Grid GRID ESMF_State ESMF_State type~mapl_varspectype->ESMF_State STATE type~fieldspec FieldSpec type~mapl_varspectype->type~fieldspec field_spec ESMF_TypeKind_Flag ESMF_TypeKind_Flag type~fieldspec->ESMF_TypeKind_Flag typekind type~abstractstateitemspec AbstractStateItemSpec type~fieldspec->type~abstractstateitemspec type~couplingspec CouplingSpec type~fieldspec->type~couplingspec coupling_spec type~dimsspec DimsSpec type~fieldspec->type~dimsspec dims_spec type~horizontalstaggerloc HorizontalStaggerLoc type~dimsspec->type~horizontalstaggerloc horz_stagger_loc type~ungriddeddimspec UngriddedDimSpec type~dimsspec->type~ungriddeddimspec ungridded_dim_specs type~verticalstaggerloc~2 VerticalStaggerLoc type~dimsspec->type~verticalstaggerloc~2 vert_stagger_loc

Inherited by

type~~mapl_varspectype~~InheritedByGraph type~mapl_varspectype MAPL_VarSpecType type~mapl_varspec MAPL_VarSpec type~mapl_varspec->type~mapl_varspectype SpecPtr type~varspecdescription VarspecDescription type~varspecdescription->type~mapl_varspectype type~mapl_varspecptr MAPL_VarSpecPtr type~mapl_varspecptr->type~mapl_varspec Spec type~statespecification StateSpecification type~statespecification->type~mapl_varspec old_var_specs type~varspecvector VarSpecVector type~statespecification->type~varspecvector var_specs type~varspecdescriptionvector VarspecDescriptionVector type~varspecdescriptionvector->type~varspecdescription elements type~varspecdescriptionvectoriterator VarspecDescriptionVectorIterator type~varspecdescriptionvectoriterator->type~varspecdescription elements type~varspecdescriptionvectorriterator VarspecDescriptionVectorRIterator type~varspecdescriptionvectorriterator->type~varspecdescription elements type~vector_wrapper~19 vector_wrapper type~vector_wrapper~19->type~mapl_varspec item type~componentspecification ComponentSpecification type~componentspecification->type~statespecification import, export, internal, forcing type~varspecvector->type~vector_wrapper~19 elements type~varspecvectoriterator VarSpecVectorIterator type~varspecvectoriterator->type~vector_wrapper~19 elements type~baseframeworkcomponent BaseFrameworkComponent type~baseframeworkcomponent->type~componentspecification component_spec type~vectorriterator~15 VectorRIterator type~vectorriterator~15->type~varspecvectoriterator iterator

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: depends_on(:)
character(len=ESMF_MAXSTR), public, pointer :: ATTR_INAMES(:) => null()
character(len=ESMF_MAXSTR), public, pointer :: ATTR_RNAMES(:) => null()
character(len=ESMF_MAXSTR), public :: FRIENDLYTO
character(len=ESMF_MAXSTR), public :: LONG_NAME
character(len=ESMF_MAXSTR), public :: SHORT_NAME
character(len=ESMF_MAXSTR), public :: UNGRIDDED_NAME
character(len=ESMF_MAXSTR), public :: UNGRIDDED_UNIT
character(len=ESMF_MAXSTR), public :: UNITS
character(len=ESMF_MAXSTR), public :: VECTOR_PAIR
character(len=positive_length), public :: positive
integer, public :: ACCMLT_INTERVAL
integer, public, pointer :: ATTR_IVALUES(:) => null()
integer, public :: COUPLE_INTERVAL
integer, public :: DIMS
integer, public :: FIELD_TYPE
integer, public :: HALOWIDTH
integer, public :: LABEL
integer, public :: LOCATION
integer, public :: NUM_SUBTILES
integer, public :: OFFSET
integer, public :: PRECISION
integer, public :: RESTART
integer, public :: ROTATION
integer, public :: STAGGERING
integer, public :: STAT
integer, public, pointer :: UNGRIDDED_DIMS(:) => null()
integer, public :: VECTOR_ORDER
logical, public :: alwaysAllocate
logical, public :: defaultProvided
logical, public :: depends_on_children
logical, public :: doNotAllocate
real, public, pointer :: ATTR_RVALUES(:) => null()
real, public :: DEFAULT
real, public, pointer :: UNGRIDDED_COORDS(:)
type(ESMF_Field), public, pointer :: FIELD => null()
type(ESMF_Grid), public :: GRID
type(ESMF_State), public, pointer :: STATE => null()
type(ESMF_FieldBundle), public, pointer :: BUNDLE => null()
type(FieldSpec), public :: field_spec

Type-Bound Procedures

generic, public :: MAPL_VarSpecSet => MAPL_VarSpecSetNew

  • private subroutine MAPL_VarSpecSetNew(spec, short_name, long_name, units, dims, vlocation, field, bundle, state, stat, accmlt_interval, couple_interval, offset, label, friendlyto, field_type, staggering, rotation, grid, donotallocate, alwaysallocate, positive, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MAPL_VarSpecType), intent(inout) :: spec
    character(len=*), intent(in), optional :: short_name
    character(len=*), intent(in), optional :: long_name
    character(len=*), intent(in), optional :: units
    integer, intent(in), optional :: dims
    integer, intent(in), optional :: vlocation
    type(ESMF_Field), intent(in), optional :: field
    type(ESMF_fieldbundle), intent(in), optional :: bundle
    type(ESMF_State), intent(in), optional :: state
    integer, intent(in), optional :: stat
    integer, intent(in), optional :: accmlt_interval
    integer, intent(in), optional :: couple_interval
    integer, intent(in), optional :: offset
    integer, intent(in), optional :: label
    character(len=*), intent(in), optional :: friendlyto
    integer, intent(in), optional :: field_type
    integer, intent(in), optional :: staggering
    integer, intent(in), optional :: rotation
    type(ESMF_Grid), intent(in), optional :: grid
    logical, intent(in), optional :: donotallocate
    logical, intent(in), optional :: alwaysallocate
    character(len=positive_length), intent(in), optional :: positive
    integer, intent(out), optional :: rc

procedure, public :: MAPL_VarSpecSetNew

  • private subroutine MAPL_VarSpecSetNew(spec, short_name, long_name, units, dims, vlocation, field, bundle, state, stat, accmlt_interval, couple_interval, offset, label, friendlyto, field_type, staggering, rotation, grid, donotallocate, alwaysallocate, positive, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(MAPL_VarSpecType), intent(inout) :: spec
    character(len=*), intent(in), optional :: short_name
    character(len=*), intent(in), optional :: long_name
    character(len=*), intent(in), optional :: units
    integer, intent(in), optional :: dims
    integer, intent(in), optional :: vlocation
    type(ESMF_Field), intent(in), optional :: field
    type(ESMF_fieldbundle), intent(in), optional :: bundle
    type(ESMF_State), intent(in), optional :: state
    integer, intent(in), optional :: stat
    integer, intent(in), optional :: accmlt_interval
    integer, intent(in), optional :: couple_interval
    integer, intent(in), optional :: offset
    integer, intent(in), optional :: label
    character(len=*), intent(in), optional :: friendlyto
    integer, intent(in), optional :: field_type
    integer, intent(in), optional :: staggering
    integer, intent(in), optional :: rotation
    type(ESMF_Grid), intent(in), optional :: grid
    logical, intent(in), optional :: donotallocate
    logical, intent(in), optional :: alwaysallocate
    character(len=positive_length), intent(in), optional :: positive
    integer, intent(out), optional :: rc

Source Code

   type :: MAPL_VarSpecType
      ! new
      type(FieldSpec) :: field_spec

      ! legacy
      character(len=ESMF_MAXSTR)               :: SHORT_NAME
      character(len=ESMF_MAXSTR)               :: LONG_NAME
      character(len=ESMF_MAXSTR)               :: UNITS
      character(len=ESMF_MAXSTR)               :: FRIENDLYTO
      character(len=ESMF_MAXSTR)               :: VECTOR_PAIR
      character(len=ESMF_MAXSTR), pointer      :: ATTR_INAMES(:) => null()
      character(len=ESMF_MAXSTR), pointer      :: ATTR_RNAMES(:) => null()
      integer,                    pointer      :: ATTR_IVALUES(:) => null()
      real,                       pointer      :: ATTR_RVALUES(:) => null()
      integer,                    pointer      :: UNGRIDDED_DIMS(:) => null()
      character(len=ESMF_MAXSTR)               :: UNGRIDDED_UNIT
      character(len=ESMF_MAXSTR)               :: UNGRIDDED_NAME
      character(len=positive_length)           :: positive
      real,                       pointer      :: UNGRIDDED_COORDS(:)
      integer                                  :: DIMS
      integer                                  :: LOCATION
      integer                                  :: NUM_SUBTILES
      integer                                  :: STAT
      integer                                  :: ACCMLT_INTERVAL
      integer                                  :: COUPLE_INTERVAL
      integer                                  :: OFFSET
      integer                                  :: LABEL
      integer                                  :: HALOWIDTH
      integer                                  :: PRECISION
      integer                                  :: FIELD_TYPE
      integer                                  :: VECTOR_ORDER
      integer                                  :: STAGGERING
      integer                                  :: ROTATION
      integer                                  :: RESTART
      logical                                  :: defaultProvided
      logical                                  :: doNotAllocate
      logical                                  :: alwaysAllocate ! meant for export specs
      logical                                  :: depends_on_children
      character(len=:), allocatable            :: depends_on(:)
      real                                     :: DEFAULT
      type(ESMF_Field), pointer                :: FIELD => null()
      type(ESMF_FieldBundle), pointer          :: BUNDLE => null()
      type(ESMF_State), pointer                :: STATE => null()
      type(ESMF_Grid)                          :: GRID
   contains
      procedure :: MAPL_VarSpecSetNew
      generic :: MAPL_VarSpecSet => MAPL_VarSpecSetNew
   end type MAPL_VarSpecType