MAPL_CFIOCreate Interface

public interface MAPL_CFIOCreate

Module Procedures

private subroutine MAPL_CFIOCreateFromBundle(MCFIO, NAME, CLOCK, BUNDLE, OFFSET, OUTPUT_GRID, CHUNKSIZE, FREQUENCY, LEVELS, DESCR, XYOFFSET, VCOORD, VUNIT, VSCALE, source, institution, comment, contact, format, EXPID, DEFLATE, GC, Order, NumCores, Nbits, TM, Conservative, vectorList, itemOrder, RC)

The subroutine MAPL_CFIOCreateFromBundle creates a MAPL_CFIO object from a Bundle. The MAPL_CFIO objects is opaque and its properties can only be set by this method at creation. Currently, its properties cannot be queried. The object is used only as a handle in write operations. It is not needed for reading.

Its non-optional arguments associate a NAME, an ESMF BUNDLE, and a CLOCK with the object. An ESMF TimeInterval OFFSET is an optional argument that sets an offset between the time on the clock when eriting and the time stamp used for the data (defaults to no offset).

The format optional argument determines whether the write will use the linked self-describing format (SDF) library (HDF or netcdf) or write GrADS readable flat files. Currently only the SDF library option is supported.

The remaining (optional) arguments are especialized and used primarily to support MAPL_History, or to provide documentation in the form of character strings that will be placed in corresponding attributes in the SDF file.

HIstory

  • 19Apr2007 Todling
  • Added ability to write out ak/bk
  • Added experiment ID as optional argument

Arguments

Type IntentOptional Attributes Name
type(MAPL_CFIO), intent(out) :: MCFIO
character(len=*), intent(in) :: NAME
type(ESMF_Clock), intent(inout) :: CLOCK
type(ESMF_FIELDBUNDLE), intent(inout) :: BUNDLE
type(ESMF_TimeInterval), intent(inout), optional :: OFFSET
type(ESMF_Grid), optional, pointer :: OUTPUT_GRID
integer, optional, pointer :: CHUNKSIZE(:)
integer, intent(in), optional :: FREQUENCY
real, optional, pointer :: LEVELS(:)
character(len=*), intent(in), optional :: DESCR
integer, intent(in), optional :: XYOFFSET
character(len=*), intent(in), optional :: VCOORD
character(len=*), intent(in), optional :: VUNIT
real, intent(in), optional :: VSCALE
character(len=*), intent(in), optional :: source
character(len=*), intent(in), optional :: institution
character(len=*), intent(in), optional :: comment
character(len=*), intent(in), optional :: contact
character(len=*), intent(in), optional :: format
character(len=*), intent(in), optional :: EXPID
integer, intent(in), optional :: DEFLATE
type(ESMF_GridComp), intent(in), optional :: GC
integer, intent(in), optional :: Order
integer, intent(in), optional :: NumCores
integer, intent(in), optional :: Nbits
integer, intent(in), optional :: TM
integer, intent(in), optional :: Conservative
character(len=*), optional, pointer :: vectorList(:,:)
type(ESMF_ItemOrder_Flag), intent(in), optional :: itemOrder
integer, intent(out), optional :: RC

private subroutine MAPL_CFIOCreateFromState(MCFIO, NAME, CLOCK, STATE, OFFSET, OUTPUT_GRID, CHUNKSIZE, FREQUENCY, LEVELS, DESCR, BUNDLE, XYOFFSET, VCOORD, VUNIT, VSCALE, source, institution, comment, contact, format, EXPID, DEFLATE, GC, Order, NumCores, Nbits, TM, CONSERVATIVE, RC)

The subroutine MAPL_CFIOCreateFromState creates a MAPL_CFIO object from a State. States are written by “serializing” all Fields in them, whether they are directly in the State or are contained within a hierarchy of embedded Bundles and States, into a single Bundle.

The Method optionally returns a pointer to the serialized ESMF Bundle, but this is not needed for MAPL_Write operations. Otherwise arguments are the same as for CreateFromBundle.

Its non-optional arguments associate a NAME, an ESMF BUNDLE, and a CLOCK with the object. An ESMF TimeInterval OFFSET is an optional argument that sets an offset between the time on the clock when eriting and the time stamp used for the data (defaults to no offset).

The format optional argument determines whether the write will use the linked self-describing format (SDF) library (HDF or netcdf) or write GrADS readable flat files. Currently only the SDF library option is supported. The remaining (optional) arguments are especialized and used primarily to support MAPL_History, or to provide documentation in the form of character strings that will be placed in corresponding attributes in the SDF file.

History

  • 12Jun2007 Todling Added EXPID as opt argument

Arguments

Type IntentOptional Attributes Name
type(MAPL_CFIO), intent(out) :: MCFIO
character(len=*), intent(in) :: NAME
type(ESMF_Clock), intent(inout) :: CLOCK
type(ESMF_State), intent(inout) :: STATE
type(ESMF_TimeInterval), intent(inout), optional :: OFFSET
type(ESMF_Grid), optional, pointer :: OUTPUT_GRID
integer, optional, pointer :: CHUNKSIZE(:)
integer, intent(in), optional :: FREQUENCY
real, optional, pointer :: LEVELS(:)
character(len=*), intent(in), optional :: DESCR
type(ESMF_FieldBundle), optional, pointer :: BUNDLE
integer, intent(in), optional :: XYOFFSET
character(len=*), intent(in), optional :: VCOORD
character(len=*), intent(in), optional :: VUNIT
real, intent(in), optional :: VSCALE
character(len=*), intent(in), optional :: source
character(len=*), intent(in), optional :: institution
character(len=*), intent(in), optional :: comment
character(len=*), intent(in), optional :: contact
character(len=*), intent(in), optional :: format
character(len=*), intent(in), optional :: EXPID
integer, intent(in), optional :: DEFLATE
type(ESMF_GridComp), intent(in), optional :: GC
integer, intent(in), optional :: Order
integer, intent(in), optional :: NumCores
integer, intent(in), optional :: Nbits
integer, intent(in), optional :: TM
integer, intent(in), optional :: CONSERVATIVE
integer, intent(out), optional :: RC