IOPARMS3
SUBROUTINE IOPARMS3( MXDLEN, NAMLEN, MXFILE, MXVARS, & MXDESC, MXLAYS, MXATTS ) INTEGER MXDLEN ! description line length INTEGER NAMLEN ! name length (logical names, etc.) INTEGER MXFILE ! max number of open files INTEGER MXVARS ! max number of variables per file INTEGER MXDESC ! max number of description lines INTEGER MXLAYS ! max # of layers per file INTEGER MXATTS ! max # ATDSC .EXT attributes per variable
void IOPARMS3( int * mxdlen, int * namlen, int * mxfile, int * mxvars, int * mxdesc, int * mxlays, int * mxatts ) ;
MXDLEN,
NAMLEN, MXFILE, MXVARS, MXDESC, MXLAYS, MXATTS
from
INCLUDE-file
PARMS3.EXT
so that
modelers may use them to ensure consistency between the dimensioning
parameters used to build the libioapi.a library being
used with those of the PARMS3.EXT
being used to build
the current model.
Note that preserving the integrity of these dimensioning parameters is crucial to the integrity of executables built using the I/O API library, and therefore the license has a provision that when these values have been modified (as some parties are wont to do), and when as a result, the party involved requests support for problems caused by the changes to these parameters, the party who modified these values agrees to pay triple-time rates for that support. In this environment, where parties may have changed these parameters unbeknownst to the modeler, checking for the integrity of such model-builds is very important.
INCLUDE 'IODECL3.EXT'
for Fortran, or
#include "iodecl3.h"
for C.
... INCLUDE 'IODECL3.EXT' INCLUDE 'PARMS3.EXT' ... INTEGER MXDLEN, NAMLEN, MXFILE, MXVARS INTEGER MXDESC, MXLAYS, MXATTS ... CALL IOPARMS3( MXDLEN, NAMLEN, MXFILE, MXVARS, & MXDESC, MXLAYS, MXATTS ) IF ( MXDLEN.NE.MXDLEN3 .OR. & NAMLEN.NE.NAMLEN3 .OR. & MXFILE.NE.MXFILE3 .OR. & MXVARS.NE.MXVARS3 .OR. & MXDESC.NE.MXDESC3 .OR. & MXLAYS.NE.MXLAYS3 .OR. & MXATTS.NE.MXATTS3 ) THEN CALL M3EXIT( PNAME,0,0, & 'Mis-matched "libioapi.a" and "PARMS3.EXT"', 2 ) END IF ...
GRDCHK3
To: Models-3/EDSS I/O API: The Help Pages