ISIS 2 Documentation

Isis 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.

Set an environment variable to a directory, e.g.:
    % setenv MYDIR /work1/user/data
    TAE> labels FROM=$MYDIR/test.cub

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 0.0.

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 system.

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 each OS.

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 operate correctly.

Documentation | Tutorials | Technical Documents | Isis Support Center (URL: | Home

Last updated: Oct 24 2003