VarspecDescription Derived Type

type, public, extends(MAPL_VarSpecType) :: VarspecDescription


Inherits

type~~varspecdescription~~InheritsGraph type~varspecdescription VarspecDescription type~mapl_varspectype MAPL_VarSpecType type~varspecdescription->type~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 VerticalStaggerLoc type~dimsspec->type~verticalstaggerloc vert_stagger_loc

Inherited by

type~~varspecdescription~~InheritedByGraph type~varspecdescription VarspecDescription type~varspecdescriptionvector VarspecDescriptionVector type~varspecdescriptionvector->type~varspecdescription elements type~varspecdescriptionvectoriterator VarspecDescriptionVectorIterator type~varspecdescriptionvectoriterator->type~varspecdescription elements type~varspecdescriptionvectorriterator VarspecDescriptionVectorRIterator type~varspecdescriptionvectorriterator->type~varspecdescription elements

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

Constructor

public interface VarspecDescription

  • private function new_VarspecDescriptionFromConfig(cf, nwords, rc) result(VarspecDescr)

    Arguments

    Type IntentOptional Attributes Name
    type(ESMF_Config), intent(inout) :: cf
    integer, intent(in) :: nwords
    integer, intent(out), optional :: rc

    Return Value type(VarspecDescription)


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

procedure, public :: addNewSpec

  • private subroutine addNewSpec(this, gc, specType, rc)

    Arguments

    Type IntentOptional Attributes Name
    class(VarspecDescription), intent(in) :: this
    type(ESMF_GridComp), intent(inout) :: gc
    character(len=*), intent(in) :: specType
    integer, intent(out), optional :: rc

Source Code

   type, extends(MAPL_VarSpecType) :: VarspecDescription
   contains
      procedure :: addNewSpec
   end type VarspecDescription