ISIS 2 Documentation
ISIS Appendix E - Environment Variables
The following is a summary of environment variables that are available
for controlling the operation of the ISIS programs. Note that these environment
variables MUST be set before starting TAE.
- Contains the date of the installed ISIS release in the format YYYY-MM-DD.
NOTE: Setting this environment variable has no effect. It is only used
for reporting the date of the ISIS release.
- Defines the name of the ISIS session log file. If not set, the
default name "print.prt" is used. Session logging can be turned off
by setting the log file name to the Unix null device:
% setenv ISIS_LOG_FILE /dev/null
- Set to TRUE to allow overwriting (replacing) existing cube files, table files
and Instrument Spectral Library files. If set to any other value or not set,
an attempt to replace an existing file results in an error.
- Set to OFF (not case-sensitive) to suppress all output to terminal except
a record of the start and completion of each program. If set to any other
value or not set, all normal output to the terminal is enabled.
- Set to OFF (not case-sensitive) to suppress all output to session log file
except a record of the start and completion of each program. If set to any
other value or not set, all normal output to the session log file is enabled.
- Set to a list of TAE parameter names that will be reported even if
ISIS_TERM_REPORT and/or ISIS_LOG_REPORT are set to OFF. Parameter names
may be separated by spaces, tabs, commas, semicolons or colons. The entire
list must be enclosed by double quotes. For example:
% setenv ISIS_PARM_REPORT "FROM, TO"
- Set to the path and file name to be written when a program invoked from
the Unix shell prompt passes values back. If not set, the file "isis_param.out"
in the current working directory is used.
- DIRECTORY ABBREVIATION IN TAE
- Set an environment variable to a directory, e.g.:
% setenv MYDIR /work1/user/data
TAE> labels FROM=$MYDIR/test.cub
- FILENAME ABBREVIATION IN TAE
- Set an environment variable to a filename, e.g.:
% setenv MYFILE /work2/user/data/biglongcubefilename.cub
TAE> labels FROM=$MYFILE
% setenv MYCUBE biglongfilename.cub
TAE> labels FROM=/work3/user/$MYCUBE
- Defines the percentage increments used for reporting program progress.
If not set, a default of 10 percent is used.
- Defines the time increments (in seconds) at which program time remaining
is reported. Valid values are 15 through 60.
- Defines a directory that is to be searched for ISIS programs prior to
the directories containing the standard ISIS programs and the developmental
version of the ISIS programs. This can be used for defining a directory to
hold project-specific programs or procedure PDFs.
- Defines the amount of memory (in bytes) used by some programs for I/O
intermediate work buffers. If not set, a default of 4 megabytes is used.
- Set to TRUE (not case-sensitive) to allow programs to process cube files,
table files and Instrument Spectral Library files that have the FILE_STATE label
keyword set to DIRTY. If set to any other value or not set, the normal ISIS
integrity checking will prevent processing a file that has FILE_STATE=DIRTY.
WARNING: setting this environment variable disables the normal ISIS integrity
checking that prevents processing of corrupted data files.
- Can be used on a "make" command to compile and link a debug version of an
ISIS application. For example:
% make -f yourprog.mak $ISISDBG yourprog
- ISIS is very agressive in trapping floating point exceptions (FPE).
Specifically, the "I_init" routine indirectly invokes floating point exception
traps we coded to cause application aborts when they occur. This is so bad
pixel values do not get created blindly. Our philosophy is that floating point
exceptions are bad. This includes division by zero, illegal operands, and
overflows. We do allow inexact and underflows however. Underflows result in
IDL sets up its own FPEs upon startup. ISIS *replaces* them when I_init is
called (I told you its agressive). The unfortuate (perhaps) consequence is
that this is prevasive in all IDL mathematical operations thereafter. This
is why you are seeing IDL operations "crash" IDL.
Recent versions of ISIS (>= 1999-06-15) have an environment variable called
"ISIS_FPU_CONTROL" that allows the user to control FPE behavior. To
essentially disable ISIS FPEs, issue "setenv ISIS_FPU_CONTROL SAME". ISIS will
then not change the FPE setting at all thus preserving what already is set or
will be set or use the default, whatever that is. It varies from system to
If you have the ISIS code, see /subs/libisis/utilib/u_std_init.c for
the nitty gritty details on the possible settings of ISIS_FPU_CONTROL for
WE MUST WARN YOU UPFRONT: the use of this environment variable is discouraged!!
This is because virtually *all* ISIS applications will honor this setting and
if you are not right on top of it, it could lead to problems when you forget
about the settings.
- This environment variable is used by Perl to append path names to the Perl
@INC array. This array defines default path names for Perl files, libraries,
or modules to search for other Perl files, libraries, or modules.
We have defined this variable within the ISIS startup script to point to
our Perl modules. Therefore, if you are also defining this environment
variable you need to make sure you do so before initiating the ISIS system
startup. Our scripts will search to see if you have defined PERL5LIB and
append to your path list. If you redefine this variable after initiating ISIS
you may overwrite our ISIS Perl path names and our Perl programs will not
Last updated: Oct 24 2003