LOGICAL FUNCTION DESC3( FNAME )
CHARACTER*(*), INTENT(IN ) :: FNAME ! file name for query
desc3c() is a C wrapper calling the Fortran DESC3()
int desc3c( const char * fname,
IOAPI_Bdesc3 * bdesc ,
IOAPI_Cdesc3 * cdesc ) ;
DESC3() puts the description of the file with logical name FNAME into file description commons found in include file FDESC3.EXT ; desc3c() returns the file description in the structs at arguments "bdesc" and "cdesc" (defined in fdesc3.h ). Returns .TRUE. or 1, respectively, on success, and .FALSE. or 0 on failure.If FNAME is invalid, writes an error message indicating the nature of the problem to the log and returns a .FALSE. (or 0).
USE M3UTILIOorINCLUDE 'IODECL3.EXT'andINCLUDE 'FDESC3.EXT'for Fortran, or#include "iodecl3.h"and#include "fdesc3.h"for C.FNAME must have length at most 16.
FNAME must already have been opened by OPEN3() or open3c() (and the I/O API must have been initialized with INIT3() or init3c() ).
The following*ATT*()routines deal with reading and writing attributes (possibly in addition to the standard ones) to or from netCDF-based I/O API files:
See sample programs M3CPLE, PRESZ, and VERTINTEGRAL for additional usage examples.
...
USE M3UTILIO
...
...
IF ( DESC3( 'MYFILE' ) ) THEN
!! Commons BDESC, CDESC from INCLUDE-file FDESC3.EXT
!! contain description of the file with logical name MYFILE.
...
END IF
...
...
#include "iodecl3.h"
...
if ( desc3c( "MYFILE", bdesc, cdesc ) )
{
/* Structs *bdesc and *cdesc contain description
of the file with logical name MYFILE. */
...
}
...
To: Models-3/EDSS I/O API: The Help Pages