ESMF_CFIOGrid Derived Type

type, public :: ESMF_CFIOGrid

Define a new data type “CFIO_Grid” – contains grid information


Inherited by

type~~esmf_cfiogrid~~InheritedByGraph type~esmf_cfiogrid ESMF_CFIOGrid type~esmf_cfio ESMF_CFIO type~esmf_cfio->type~esmf_cfiogrid grids type~esmf_cfiovarinfo ESMF_CFIOVarInfo type~esmf_cfio->type~esmf_cfiovarinfo varObjs type~esmf_cfiovarinfo->type~esmf_cfiogrid grid 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=MLEN), public :: coordinate

string to indicate vertical coord
(pressure, sigma, pressure_sigma)

character(len=MLEN), public :: formulaTerm

string for CF formula terms

character(len=MLEN), public :: levUnits

units of level dimension, e.g., “hPa”, “sigma_level”

character(len=MLEN), public :: standardName

string for CF standard name

character(len=MVARLEN), public :: gName

name for this grid

character(len=MVARLEN), public :: ptopUnit

unit of ptop

integer, public :: im

size of longitudinal dimension

integer, public :: jm

size of latitudinal dimension

integer, public :: km

size of vertical dimension

integer, public :: tm

size of time dimension

logical, public :: reduceGrid

support for reduced grid

logical, public :: stnGrid

support for station data

logical, public :: twoDimLat

support 2D lat/lon or not

real(kind=REAL64), public, pointer :: lat(:) => NULL()

latitude of center of gridbox in
degrees north of equator

real(kind=REAL64), public, pointer :: lev(:) => NULL()

Level (units given by levUnits) of
center of gridbox

real(kind=REAL64), public, pointer :: lon(:) => NULL()

longitude of center of gridbox in
degrees east of Greenwich (can be
-180 -> 180 or 0 -> 360)

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

parameter for hybrid sigma prs coord.

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

parameter for hybrid sigma prs coord.

real, public :: ptop

parameter for sigma/eta coordinate

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

parameter for sigma coordinate


Source Code

      type ESMF_CFIOGrid
!         private
         character(len=MVARLEN) :: gName !! name for this grid
         integer :: im              !! size of longitudinal dimension
         integer :: jm              !! size of latitudinal  dimension
         integer :: km              !! size of vertical dimension
         integer :: tm              !! size of time dimension
         real(kind=REAL64), pointer :: lon(:) => NULL()    !! longitude of center of gridbox in   
                                    !! degrees east of Greenwich (can be   
                                    !! -180 -> 180 or 0 -> 360)
         real(kind=REAL64), pointer :: lat(:) => NULL()    !! latitude of center of gridbox in   
                                    !! degrees north of equator
         real(kind=REAL64), pointer :: lev(:) => NULL()    !! Level (units given by levUnits) of   
                                    !! center of gridbox
         character(len=MLEN) :: levUnits   !! units of level dimension, e.g.,
                                           !! "hPa", "sigma_level"
         character(len=MLEN) :: coordinate !! string to indicate vertical coord   
                                           !! (pressure, sigma, pressure_sigma)
         character(len=MLEN) :: standardName !! string for CF standard name
         character(len=MLEN) :: formulaTerm  !! string for CF formula terms
         real, pointer :: ak(:) => NULL()     !! parameter for hybrid sigma prs coord.
         real, pointer :: bk(:) => NULL()     !! parameter for hybrid sigma prs coord.
         real, pointer :: sigma(:) => NULL()  !! parameter for sigma coordinate   
         real :: ptop               !! parameter for sigma/eta coordinate
         character(len=MVARLEN) :: ptopUnit !!  unit of ptop
         logical :: twoDimLat       !! support 2D lat/lon or not
         logical :: reduceGrid      !! support for reduced grid
         logical :: stnGrid         !! support for station data
      end type ESMF_CFIOGrid