SUBROUTINE NAMEVAL( LNAME, EQNAME )
CHARACTER*(*) LNAME ! logical name to evaluate
CHARACTER*(*) EQNAME ! value of LNAME from the environment
Returns EQNAME=LNAME in case of failure.
Case-sensitive for UNIX (but insensitive for VMS, where environment variable names themselves are case-insensitive).
See also specialized routines ENVDBLE(), ENVINT(), ENVREAL(), ENVSTR(), and ENVYN(), for getting DOUBLE PRECISION, INTEGER, REAL, CHARACTER-STRING, or LOGICAL values from the environment, respectively.
...
CHARACTER*256 EQNAME
LOGICAL FLAG
...
CALL NAMEVAL( 'FOOFLAG', EQNAME ) ) THEN
IF ( EQNAME( 1:TRIMLEN( EQNAME ) ) .EQ. 'FOOFLAG' ) THEN
C ...NAMEVAL() failed, since EQNAME=LNAME.
FLAG = .FALSE.
ELSE
C ...EQNAME contains value of environment variable "FOO"
CALL UPCASE( EQNAME ) ! makes it into ALLCAPS
IF ( EQNAME( 1:2 ) .EQ. 'ON' ) THEN
C ...foo-flag should be set
FLAG = .TRUE.
ELSE
C ...foo-flag should be turned off
FLAG = .FALSE.
END IF
END IF
...
To: Models-3/EDSS I/O API: The Help Pages