Fortran-90 MODULE MODWRFIO

Summary

New for I/O API-3.2!!

Routines and INTERFACEs for reading WRF netCDF files.

Presently, only single-file operation is supported: for multiple files, you must CLOSEWRF() any currently-open WRF file before opening and reading or writing another.

See also MODULE MODNCFIO and MODULE MODMPASFIO.

New Routines:

OPENWRF()

Opens the WRF-netCDF format file with logical name FNAME for read or read/write.
    LOGICAL FUNCTION OPENWRF( FNAME, GNAME, FSTATUS )
        CHARACTER(LEN=*), INTENT(IN   ) :: FNAME        !!  logical file name
        CHARACTER(LEN=*), INTENT(IN   ) :: GNAME        !!  GRIDDESC name for output grid
        INTEGER         , INTENT(IN   ) :: FSTATUS      !!  FSREAD3, FSRDWR3
    

CRTWRF()

Opens/creates a new WRF-netCDF format file with logical name FNAME for read/write.
Not yet implemented! (place-holder only; returns .FALSE..)
    LOGICAL FUNCTION CRTWRF( FNAME, GNAME, FSTATUS )
        CHARACTER(LEN=*), INTENT(IN   ) :: FNAME        !!  logical file name
        CHARACTER(LEN=*), INTENT(IN   ) :: GNAME        !!  GRIDDESC name for output grid
        INTEGER         , INTENT(IN   ) :: FSTATUS      !!  FSUNKN3, FSCREA3, FSNEW3
    

READWRF()

Reads the indicated time step for the indicated variable from the current WRF-netCDF format file. The variable may be 1-D, 2-D, or 3-D, and of one of the types { M3INT, M3REAL, M3DBLE }. Returns .FALSE. if the variable or the time step is not available, if the type or dimensionality is not supported, or if there is a read-failure.
    LOGICAL FUNCTION READWRF( VNAME, JDATE, JTIME, NCOLS, [NROWS, [NLAYS,]] BUF )
        CHARACTER(LEN=*), INTENT(IN   ) :: VNAME
        INTEGER         , INTENT(IN   ) :: JDATE, JTIME
        INTEGER         , INTENT(IN   ) :: NCOLS[, NROWS[, NLAYS,]]
        <type>          , INTENT(  OUT) :: BUF( NCOLS, [NROWS, [NLAYS,]] )
    

WRITEWRF()

Writes the indicated time step for the indicated variable to the current WRF-netCDF format file. The variable may be 1-D, 2-D, or 3-D, and of one of the types { M3INT, M3REAL, M3DBLE }. Returns .FALSE. if the variable is not available, if the type or dimensionality is not supported, or if there is a write-failure.
    LOGICAL FUNCTION WRITEWRF( VNAME, JDATE, JTIME, NCOLS, [NROWS, [NLAYS,]] BUF )
        CHARACTER(LEN=*), INTENT(IN   ) :: VNAME
        INTEGER         , INTENT(IN   ) :: JDATE, JTIME
        INTEGER         , INTENT(IN   ) :: NCOLS[, NROWS[, NLAYS,]]
        <type>          , INTENT(  OUT) :: BUF( NCOLS[, NROWS[, NLAYS,]] )
    

CLOSEWRF()

Closes the WRF-netCDF format file with logical name FNAME.
    LOGICAL FUNCTION CLOSEWRF( FNAME )
        CHARACTER(LEN=*), INTENT(IN   ) :: FNAME        !!  logical file name
    


To: Models-3/EDSS I/O API: The Help Pages

Send comments to

Carlie J. Coats, Jr.
carlie@jyarborough.com