Environment Variables for the I/O API

Standard I/O API environment variables

The following are standard environment variables supported or used by the I/O API. These should be set using setenv, for example, if you are using csh). The following environment variable is used by grid-description and grid manipulation utility routines such as DSCGRID() and DSCOORD().

The following environment variable controls whether routines GETDBLE(), GETMENU(), GETNUM(), GETREAL(), GETSTR(), GETYN(), PROMPTFFILE(), and PROMPTMFILE(), prompt the user for the value requested, or not. Setting PROMPTFLAG to "N" can be used, in conjunction with the selection of "smart" defaults within programs, to make it easier to write scripts for running various programs.

Note that for environment variables with multi-word values (i.e., values containing blanks), you will need to quote the value in order for setenv to handle it correctly—for examaple:

    setenv  EXECUTION_ID  'This run will pling the Inghams'
    setenv  MYLIST        '1, 2, 3, 4, 5, 6, 7'
    

OpenMP Parallel Control

Generally, all OpenMP parallel programs use environment variable OMP_NUM_THREADS to control how many parallel threads/processors are used for program execution. In particular, this applies to "m3tools" programs M3AGMASK, M3AGMAX, M3COMBO, M3TPROC and VERTINTEGRAL for I/O API version 3.1 later than Nov. 21, 2013, and programs built with I/O API routines BILIN(), BMATVEC(), DMATVEC, CBARNES1(), and CBARNESN() using I/O API versions later than Sept. 12, 2014.

I/O API Environment-Variable Routines

For single-valued environment variables of various types. ENVDBLE() , ENVINT() , ENVREAL() , ENVSTR(), and ENVYN() can be used from programs to find values of types DOUBLE PRECISION, INTEGER, REAL, CHARACTER string, or LOGICAL; ENVGET() is a generic routine for single-value environment variables of any of these types. For environment variables whose values are comma-delimited lists INTLIST(), REALLIST(),, and STRLIST() are type-specific for lists of types INTEGER, REAL, or CHARACTER string; ENVLIST() is the generic. All of thes routines log the value retrieved, convert it to the indicated type, and return it to the caller.

Routine NAMEVAL(), which performs a similar function for CHARACTER STRINGs, but does not log the transaction, is used internally by the I/O API; this should not be used by modeling codes, for log-integrity reasons.

Routine SETENVVAR() can be used to set environment variables for the currently-executing program.


Previous Section: Logical Names

Next Section: Grids and Coordinate Systems

Up: Conventions

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