ESMF_CFIOVarInfo Derived Type

type, public :: ESMF_CFIOVarInfo

Define a new data type “CFIO_VarInfo” – contains variable information


Inherits

type~~esmf_cfiovarinfo~~InheritsGraph type~esmf_cfiovarinfo ESMF_CFIOVarInfo type~cnode cNode type~esmf_cfiovarinfo->type~cnode cList type~esmf_cfiogrid ESMF_CFIOGrid type~esmf_cfiovarinfo->type~esmf_cfiogrid grid type~inode iNode type~esmf_cfiovarinfo->type~inode iList type~rnode rNode type~esmf_cfiovarinfo->type~rnode rList type~cnode->type~cnode next type~inode->type~inode next type~rnode->type~rnode next

Inherited by

type~~esmf_cfiovarinfo~~InheritedByGraph type~esmf_cfiovarinfo ESMF_CFIOVarInfo type~esmf_cfio ESMF_CFIO type~esmf_cfio->type~esmf_cfiovarinfo varObjs type~cfiocollection CFIOCollection type~cfiocollection->type~esmf_cfio formatter type~esmf_cfioptrvector ESMF_CFIOPtrVector type~cfiocollection->type~esmf_cfioptrvector formatters type~mapl_cfio MAPL_CFIO type~mapl_cfio->type~esmf_cfio CFIO type~v_wrapper~10 v_Wrapper type~v_wrapper~10->type~esmf_cfio item type~cfiocollectionvector CFIOCollectionVector type~cfiocollectionvector->type~cfiocollection elements type~cfiocollectionvectoriterator CFIOCollectionVectorIterator type~cfiocollectionvectoriterator->type~cfiocollection elements type~cfiocollectionvectorriterator CFIOCollectionVectorRIterator type~cfiocollectionvectorriterator->type~cfiocollection elements type~esmf_cfioptrvector->type~v_wrapper~10 elements type~esmf_cfioptrvectoriterator ESMF_CFIOPtrVectorIterator type~esmf_cfioptrvectoriterator->type~v_wrapper~10 elements type~esmf_cfioptrvectorriterator ESMF_CFIOPtrVectorRIterator type~esmf_cfioptrvectorriterator->type~v_wrapper~10 elements type~historycollection~2 HistoryCollection type~historycollection~2->type~mapl_cfio MCFIO type~historycollectionvectoriterator~2 HistoryCollectionVectorIterator type~historycollectionvectoriterator~2->type~historycollection~2 elements type~historycollectionvectorriterator~2 HistoryCollectionVectorRIterator type~historycollectionvectorriterator~2->type~historycollection~2 elements type~historycollectionvector~2 HistoryCollectionVector type~historycollectionvector~2->type~historycollection~2 elements

Components

Type Visibility Attributes Name Initial
character(len=1), public :: aveMethod

‘c’ for center averaging for time
[-0.5timeInc+time, 0.5timeInc+time]
Default: ‘c’
‘d’ for downstream averaging
[time, time+timeInc]
‘u’ for upstream averaging
[time-timeInc, time]

character(len=MLEN), public, pointer :: attCharNames(:) => NULL()

char attribute name

character(len=MLEN), public, pointer :: attIntNames(:) => NULL()

int attribute name

character(len=MLEN), public, pointer :: attRealNames(:) => NULL()

Real attribute name

character(len=MLEN), public :: standardName

optional, standard name following CF convention

character(len=MLEN), public :: vTitle

variable long name, e.g., “Geopotential Height”

character(len=MLEN), public, pointer :: varAttChars(:) => NULL()
character(len=MVARLEN), public :: cellMthd

Cell methmod

character(len=MVARLEN), public :: ordering

(time, lev, lat, lon) (default) can be any combination of xyzt

character(len=MVARLEN), public :: vName

variable short name

character(len=MVARLEN), public :: vUnits

variable units, e.g., “meter/second”

integer, public, pointer :: ChunkSize(:) => NULL()

ChunkSize for each variable

integer, public, pointer :: attCharCnts(:) => NULL()

length of char attributes

integer, public, pointer :: attIntCnts(:) => NULL()

length of int attributes

integer, public, pointer :: attRealCnts(:) => NULL()

length of real attributes

integer, public :: nVarAttChar

number of variable char attributes

integer, public :: nVarAttInt

number of variable int attributes

integer, public :: nVarAttReal

number of variable real attributes

integer, public, pointer :: varAttInts(:,:) => NULL()

User defined integer attributes

logical, public :: isGridSet

True only if grid was passed in

logical, public :: timAve

True for time averaging file

logical, public :: twoDimVar

True for 2D; false for 3D

real, public :: addOffSet

optional

real, public :: amiss

Missing value such as 1.0E15

real, public :: packingRange(2)
real, public :: scaleFactor

optional

real, public :: validRange(2)

Variable valid range

real, public, pointer :: varAttReals(:,:) => NULL()

User defined real attributes

type(ESMF_CFIOGrid), public :: grid

grid used for this var

type(cNode), public, pointer :: cList => NULL()
type(iNode), public, pointer :: iList => NULL()
type(rNode), public, pointer :: rList => NULL()

Source Code

      type ESMF_CFIOVarInfo
!         private
         character(len=MVARLEN) :: vName       !! variable short name
         type(ESMF_CFIOGrid) :: grid           !! grid used for this var
         character(len=MLEN) :: vTitle         !! variable long name, e.g.,
                                               !! "Geopotential Height"
         character(len=MVARLEN):: vUnits       !! variable units, e.g.,
                                               !! "meter/second"
         real :: validRange(2)                 !! Variable valid range
         real :: packingRange(2)
         real :: amiss                         !! Missing value such as 1.0E15
         real :: addOffSet                     !! optional
         real :: scaleFactor                   !! optional
         character(len=MLEN) :: standardName   !! optional, standard name
                                               !! following CF convention
         logical :: twoDimVar     !! True for 2D; false for 3D
         logical :: timAve        !! True for time averaging file
         logical :: isGridSet     !! True only if grid was passed in
         character :: aveMethod   !! 'c' for center averaging for time    
                                  !! [-0.5*timeInc+time, 0.5*timeInc+time]    
                                  !! Default: 'c'    
                                  !! 'd' for downstream averaging    
                                  !! [time, time+timeInc]    
                                  !! 'u' for upstream averaging    
                                  !! [time-timeInc, time]    
         character(len=MVARLEN) :: cellMthd   !! Cell methmod
         integer :: nVarAttInt    !! number of variable int attributes
         integer :: nVarAttReal   !! number of variable real attributes
         integer :: nVarAttChar   !! number of variable char attributes
         integer, pointer :: attCharCnts(:) => NULL()        !! length of char attributes
         integer, pointer :: attRealCnts(:) => NULL()        !! length of real attributes
         integer, pointer :: attIntCnts(:) => NULL()         !! length of int attributes
         character(len=MLEN), pointer :: attCharNames(:) => NULL() !! char attribute name
         character(len=MLEN), pointer :: attRealNames(:) => NULL() !! Real attribute name
         character(len=MLEN), pointer :: attIntNames(:) => NULL()  !! int attribute name
         character(len=MLEN), pointer :: varAttChars(:) => NULL()  ! char attributes
         real, pointer :: varAttReals(:,:) => NULL()    !! User defined real attributes
         integer, pointer :: varAttInts(:,:) => NULL()  !! User defined integer attributes
         character(len=MVARLEN) :: ordering !! (time, lev, lat, lon) (default)
                                            !! can be any combination of xyzt
         type(iNode), pointer :: iList=>NULL()
         type(rNode), pointer :: rList=>NULL()
         type(cNode), pointer :: cList=>NULL()
         integer, pointer  :: ChunkSize(:) => NULL()   !! ChunkSize for each variable

      end type ESMF_CFIOVarInfo