RDATT3() and RDATTC()

Fortran version:

    LOGICAL FUNCTION   RDATT3( FNAME, VNAME, ANAME, ATYPE, AMAX,
 &                             ASIZE, AVAL )
    LOGICAL ENTRY      RDATTC( FNAME, VNAME, ANAME, CVAL )
    
        CHARACTER*(*), INTENT(IN   ) :: FNAME         !  logical file name
        CHARACTER*(*), INTENT(IN   ) :: VNAME         !  variable name, or ALLVARS3
        CHARACTER*(*), INTENT(IN   ) :: ANAME         !  attribute name
        INTEGER      , INTENT(IN   ) :: ATYPE         !  attribute type (M3CHAR, M3REAL, M3INT, M3INT8, M3DBLE)
        INTEGER      , INTENT(IN   ) :: AMAX          !  attribute dimensionality
        INTEGER      , INTENT(  OUT) :: ASIZE         !  attribute actual size
        REAL         , INTENT(  OUT) :: AVAL( AMAX )  !  attribute value (numeric)
        CHARACTER*(*), INTENT(  OUT) :: CVAL          !  attribute value (character-string)

C version:

rdatt3c() is a C wrapper calling the Fortran RDATT3() and RDATTC():
    integer rdatt3c( const char          * fname ,
                     const char          * vname ,
                     const char          * aname ,
                     int                   atype ,
                     int                   amax ,
                     int                 * asize ,
                     void                * aval )

Summary:

RDATT3() reads the numeric (INTEGER, REAL, or DOUBLE attribute named ANAME for the variable VNAME in the file with logical name FNAME into the array AVAL(AMAX); RDATTC() reads the CHARACTER string valued attribute into string CVAL.

Returns .TRUE. (or 1) if the operation succeeds, .FALSE. (or 0) if it fails. For failure, writes a log message indicating the nature of the failure.

For Fortran-90 declarations:

    USE M3UTILIO
    

Preconditions:

USE M3UTILIO or INCLUDE 'IODECL3.EXT' for Fortran, or #include "iodecl3.h" and #include "fdesc3.h" for C.

I/O API must already be initialized by a call to INIT3().

Names FNAME and VNAME must have length at most 16, exclusive of trailing blanks.

File FNAME must must be netCDF-based rather than "buffered" or "virtual"; it must already have been opened by OPEN3() or open3c().

Actual on-file value of the attribute must have at most AMAX array elements, or must be a string of length at most LEN(CVAL).

See Also:

Fortran Usage:

    ...
    USE M3UTILIO
    ...
    <under construction>
    ...

C Usage:

    ...
    #include "iodecl3.h"
    ...
    <under construction>
    ...


Previous: INQATT3

Next: WRATT3 and WRATTC()

Up: I/O API: Public Routines

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