New!! Fortran-90 MODULE MATXATTS

Summary

Fortran-90 style MODULE MATXATTS uses the I/O API "extra-attributes" interface to provide input-grid and output-grid metadata for matrix-files, in terms of Models-3 I/O API map projection and grid description conventions.

Contents of MODULE MATXATTS

PARAMETER INGRD3
Token to use in matrix-attribute calls to indicate that the grid whose metadata bein accessed is an input grid for the matrix.

PARAMETER OUTGRD3
Token to use in matrix-attribute calls to indicate that the grid whose metadata bein accessed is an output grid for the matrix.

GETMTXATT()
get input or output grid description attributes for matrix-files and return as arguments.

SETMTXATT()
set or check input and output grid description attributes from arguments for matrix-files: if file is NEW, set the attributes; else check them.

CHKMTXATT()
check input or output grid description attributes for matrix-files against attributes from the argument list. Return .TRUE. if they match, .FALSE. otherwise.


GETMTXATT

    LOGICAL FUNCTION  GETMTXATT( FNAME, IMODE, GDNAM,
 &              GDTYP, P_ALP, P_BET, P_GAM, XCENT, YCENT,
 &              XORIG, YORIG, XCELL, YCELL, NCOLS, NROWS )

        CHARACTER( LEN=* ), INTENT(  IN ):: FNAME  !! logical file name
        INTEGER           , INTENT(  IN ):: IMODE  !! INGRD3 or OUTGRD3
        CHARACTER( LEN=* ), INTENT( OUT ):: GDNAM  !! grid name
        INTEGER           , INTENT( OUT ):: GDTYP  !! map projection type
        REAL*8            , INTENT( OUT ):: P_ALP  !! map projection parameters...
        REAL*8            , INTENT( OUT ):: P_BET  !!  "
        REAL*8            , INTENT( OUT ):: P_GAM  !!  "
        REAL*8            , INTENT( OUT ):: XCENT  !!  "
        REAL*8            , INTENT( OUT ):: YCENT  !!  "
        REAL*8            , INTENT( OUT ):: XORIG  !! Grid origin
        REAL*8            , INTENT( OUT ):: YORIG  !!  "
        REAL*8            , INTENT( OUT ):: XCELL  !! Grid cell-size
        REAL*8            , INTENT( OUT ):: YCELL  !!  "
        INTEGER           , INTENT( OUT ):: NCOLS  !! Grid dimension
        INTEGER           , INTENT( OUT ):: NROWS  !!  "
    
Back to Contents


SETMTXATT

    LOGICAL FUNCTION  SETMTXATT( FNAME, IMODE, GDNAM,
 &              GDTYP, P_ALP, P_BET, P_GAM, XCENT, YCENT,
 &              XORIG, YORIG, XCELL, YCELL, NCOLS, NROWS )

        CHARACTER( LEN=* ), INTENT( IN ):: FNAME  !! logical file name
        INTEGER           , INTENT( IN ):: IMODE  !! INGRD3 or OUTGRD3
        CHARACTER( LEN=* ), INTENT( IN ):: GDNAM  !! grid name
        INTEGER           , INTENT( IN ):: GDTYP  !! map projection type
        REAL*8            , INTENT( IN ):: P_ALP  !! map projection parameters...
        REAL*8            , INTENT( IN ):: P_BET  !!  "
        REAL*8            , INTENT( IN ):: P_GAM  !!  "
        REAL*8            , INTENT( IN ):: XCENT  !!  "
        REAL*8            , INTENT( IN ):: YCENT  !!  "
        REAL*8            , INTENT( IN ):: XORIG  !! Grid origin
        REAL*8            , INTENT( IN ):: YORIG  !!  "
        REAL*8            , INTENT( IN ):: XCELL  !! Grid cell-size
        REAL*8            , INTENT( IN ):: YCELL  !!  "
        INTEGER           , INTENT( IN ):: NCOLS  !! Grid dimension
        INTEGER           , INTENT( IN ):: NROWS  !!  "
    
Back to Contents


CHKMTXATT

    LOGICAL FUNCTION  CHKMTXATT( FNAME, IMODE, GDNAM,
 &              GDTYP, P_ALP, P_BET, P_GAM, XCENT, YCENT,
 &              XORIG, YORIG, XCELL, YCELL, NCOLS, NROWS )

        CHARACTER( LEN=* ), INTENT( IN ):: FNAME  !! logical file name
        INTEGER           , INTENT( IN ):: IMODE  !! INGRD3 or OUTGRD3
        CHARACTER( LEN=* ), INTENT( IN ):: GDNAM  !! grid name
        INTEGER           , INTENT( IN ):: GDTYP  !! map projection type
        REAL*8            , INTENT( IN ):: P_ALP  !! map projection parameters...
        REAL*8            , INTENT( IN ):: P_BET  !!  "
        REAL*8            , INTENT( IN ):: P_GAM  !!  "
        REAL*8            , INTENT( IN ):: XCENT  !!  "
        REAL*8            , INTENT( IN ):: YCENT  !!  "
        REAL*8            , INTENT( IN ):: XORIG  !! Grid origin
        REAL*8            , INTENT( IN ):: YORIG  !!  "
        REAL*8            , INTENT( IN ):: XCELL  !! Grid cell-size
        REAL*8            , INTENT( IN ):: YCELL  !!  "
        INTEGER           , INTENT( IN ):: NCOLS  !! Grid dimension
        INTEGER           , INTENT( IN ):: NROWS  !!  "
    
Back to Contents


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

Send comments to

Carlie J. Coats, Jr.
cjcoats@email.unc.edu