ESMF_CFIO Derived Type

type, public :: ESMF_CFIO

Define a new data type ESMF_CFIO – a CFIO object(file) with file name, CFIO variable objects, time, grid index and global attributes.


Inherits

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

Inherited by

type~~esmf_cfio~~InheritedByGraph type~esmf_cfio ESMF_CFIO 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~8 v_Wrapper type~v_wrapper~8->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~8 elements type~esmf_cfioptrvectoriterator ESMF_CFIOPtrVectorIterator type~esmf_cfioptrvectoriterator->type~v_wrapper~8 elements type~esmf_cfioptrvectorriterator ESMF_CFIOPtrVectorRIterator type~esmf_cfioptrvectorriterator->type~v_wrapper~8 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=16), public :: format

output/input format – GrADS or SDF(HDF) default is SDF.

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

User defined char attribute name

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

char attributes

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

int attribute name

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

Real attribute name

character(len=MLEN), public :: cfioObjName

name for this CFIO object

character(len=MLEN), public :: comment
character(len=MLEN), public :: contact

Who to contact about the data set

character(len=MLEN), public :: convention

CFIO

character(len=MLEN), public :: expid

Experiment I

character(len=MLEN), public :: fName

file name in this CFIO obj.

character(len=MLEN), public :: fNameTmplt

file name in this CFIO obj.

character(len=MLEN), public :: history
character(len=MLEN), public :: institution
character(len=MLEN), public :: references
character(len=MLEN), public :: source

Source of data, e.g. NASA/GMAO

character(len=MLEN), public :: title

A title for the data set

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

length of char attributes

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

length of int attributes

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

global integer attributes

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

length of real attributes

integer, public :: begTime

hhmmss

integer, public :: date

yyyymmdd

integer, public :: deflate

gzip compress level

integer, public :: fid

file ID for internal use

integer, public :: mGrids

total number of grids

integer, public :: mVars

total number of variables

integer, public :: nAttChar

Number of char attributes

integer, public :: nAttInt

Number of int attributes

integer, public :: nAttReal

Number of Real attributes

integer, public :: prec

Desired precision of data

integer, public :: sd_id

file ID for EOS

integer, public :: tSteps

total time steps

integer, public :: timeInc

time step increment

integer, public :: vdir

The positive vertical direction

logical, public :: isCyclic

flag for cyclic for input files

logical, public :: isGridSet

True only if grid was passed in

logical, public :: isOpen = .false.

flag to check fName is opened or not

logical, public :: useVertexCoordinates = .false.
real, public :: FormatVersion = 1.0
real, public, pointer :: attReals(:,:) => NULL()

global real attributes

type(ESMF_CFIOGrid), public, pointer :: grids(:) => null()

CFIO variable grid

type(ESMF_CFIOVarInfo), public, pointer :: varObjs(:) => null()

CFIO variable objects

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

Source Code

      type ESMF_CFIO
!         private
         character(len=MLEN) :: cfioObjName   !! name for this CFIO object
         character(len=MLEN) :: fName         !! file name in this CFIO obj.
         character(len=MLEN) :: fNameTmplt    !! file name in this CFIO obj.
         character(len=MLEN) :: expid         !! Experiment I
         integer :: mVars                     !! total number of variables
         type(ESMF_CFIOVarInfo), pointer :: varObjs(:)=>null() !! CFIO variable objects
         integer :: mGrids                    !! total number of grids
         type(ESMF_CFIOGrid), pointer :: grids(:)=>null()     !! CFIO variable grid
         integer :: vdir                      !! The positive vertical direction
         integer :: date                      !! yyyymmdd
         integer :: begTime                   !! hhmmss
         integer :: timeInc                   !! time step increment
         integer :: tSteps                    !! total time steps
         integer :: deflate                   !! gzip compress level
         character(len=MLEN) :: title    !! A title for the data set
         character(len=MLEN) :: source   !! Source of data, e.g. NASA/GMAO
         character(len=MLEN) :: contact  !! Who to contact about the data set
         character(len=MLEN) :: history  !!
         character(len=MLEN) :: convention !! CFIO
         character(len=MLEN) :: institution
         character(len=MLEN) :: references
         character(len=MLEN) :: comment

         integer :: nAttChar !! Number of char attributes
         integer :: nAttReal !! Number of Real attributes
         integer :: nAttInt  !! Number of int 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()!! User defined 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 :: attChars(:) => NULL() !! char attributes
         real, pointer :: attReals(:,:) => NULL()           !! global real attributes
         integer, pointer :: attInts(:,:) => NULL()         !! global integer attributes

         integer :: prec                         !! Desired precision of data
         integer :: fid                          !! file ID for internal use
         integer :: sd_id                        !! file ID for EOS
         logical :: isGridSet           !! True only if grid was passed in
         type(iNode), pointer :: iList => NULL()
         type(rNode), pointer :: rList => NULL()
         type(cNode), pointer :: cList => NULL()
         logical :: isOpen = .false.             !! flag to check fName is opened or not
!         integer :: nSteps
         logical :: isCyclic            !! flag for cyclic for input files
         character(len=16) :: format    !! output/input format -- GrADS or SDF(HDF)
                                        !! default is SDF.
         logical           :: useVertexCoordinates = .false.
         real              :: FormatVersion = 1.0
      end type ESMF_CFIO