Funtools environment variables
Describes the environment variables which can be used to tailor the overall Funtools environment.
The following environment variables are supported by Funtools:
\s-1FITS_EXTNAME\s0 The \s-1FITS_EXTNAME\s0 environment variable specifies the default \s-1FITS\s0 extension name when FunOpen() is called on a file lacking a primary image. Thus,
setenv FITS_EXTNAME "NEWEV"
will allow you to call FunOpen() on files without specifying \s-1NEWEV\s0 in the Funtools bracket specification. If no \s-1FITS_EXTNAME\s0 variable is defined and the extension name also is not passed in the bracket specification, then the default will be to look for standard X\-ray event table extension names \*(L"\s-1EVENTS\s0\*(R" or \*(L"\s-1STDEVT\s0\*(R" (we are, after all, and X\-ray astronomy group at heart!).
\s-1FITS_EXTNUM\s0 The \s-1FITS_EXTNUM\s0 environment variable specifies the default \s-1FITS\s0 extension number when FunOpen() is called on a file lacking a primary image. Thus, setenv FITS_EXTNUM 7 will allow you to call FunOpen() on files to open the seventh extension without specifying the number in the Funtools bracket specification.
\s-1FITS_BINCOLS\s0 and \s-1EVENTS_BINCOLS\s0 These environment variable specifies the default binning key for \s-1FITS\s0 binary tables and raw event files, respectively. They can be over-ridden using the bincols=[naxis1,naxis2] keyword in a Funtools bracket specification. The value of each environment variable is a pair of comma-delimited columns, enclosed in parentheses, to use for binning. For example, if you want to bin on detx and dety by default, then use: setenv FITS_BINCOLS "(detx,dety)" in preference to adding a bincols specification to each filename: foo.fits[bincols=(detx,dety)]
\s-1FITS_BITPIX\s0 and \s-1EVENTS_BITPIX\s0 These environment variable specifies the default bitpix value for binning \s-1FITS\s0 binary tables and raw event files, respectively. They can be over-ridden using the bitpix=[value] keyword in a Funtools bracket specification. The value of each environment variable is one of the standard \s-1FITS\s0 bitpix values (8,16,32,\-32,\-64). For example, if you want binning routines to create a floating array, then use: setenv FITS_BITPIX -32 in preference to adding a bitpix specification to each filename: foo.fits[bitpix=-32]
\s-1ARRAY\s0 The \s-1ARRAY\s0 environment variable specifies the default definition of an array file for Funtools. It is used if there is no array specification passed in the \s-1ARRAY\s0() directive in a Non-FITS Array specification. The value of the environment variable is a valid array specification such as: setenv ARRAY "s100.150" foo.arr[ARRAY()] This can be defined in preference to adding the specification to each filename: foo.arr[ARRAY(s100.150)]
\s-1EVENTS\s0 The \s-1EVENTS\s0 environment variable specifies the default definition of an raw event file for Funtools. It is used if there is no \s-1EVENTS\s0 specification passed in the \s-1EVENTS\s0() directive in a Non-FITS \s-1EVENTS\s0 specification. The value of the environment variable is a valid \s-1EVENTS\s0 specification such as: setenv EVENTS "x:J:1024,y:J:1024,pi:I,pha:I,time:D,dx:E:1024,dx:E:1024" foo.ev[EVENTS()] This can be defined in preference to adding the specification to each filename: foo.ev[EVENTS(x:J:1024,y:J:1024,pi:I,pha:I,time:D,dx:E:1024,dx:E:1024)]
The following filter-related environment variables are supported by Funtools:
\s-1FILTER_PTYPE\s0 The \s-1FILTER_PTYPE\s0 environment variable specifies how to build a filter. There are three possible methods:
process or p The filter is compiled and linked against the funtools library (which must therefore be accessible in the original install directory) to produce a slave program. This program is fed events or image data and returns filter results.
dynamic or d (gcc only) The filter is compiled and linked against the funtools library (which must therefore be accessible in the original install directory) to produce a dynamic shared object, which is loaded into the funtools program and executed as a subroutine. (Extensive testing has shown that, contrary to expectations, this method is no faster than using a slave process.)
contained or c The filter and all supporting region code is compiled and linked without reference to the funtools library to produce a slave program (which is fed events or image data and returns filter results). This method is slower than the other two, because of the time it takes to compile the region filtering code. It is used by stand-alone programs such as ds9, which do not have access to the funtools library.
By default, dynamic is generally used for gcc compilers and process for other compilers. However the filter building algorithm will check for required external files and will use contained is these are missing.
\s-1FUN_MAXROW\s0 The \s-1FUN_MAXROW\s0 environment variable is used by core row-processing Funtools programs (funtable, fundisp, funcnts, funhist, funmerge, and funcalc) to set the maximum number of rows read at once (i.e. it sets the third argument to the FunTableRowGet() call). The default is 8192. Note that this variable is a convention only: it will not be a part of a non-core Funtools program unless code is explicitly added, since each call to FunTableRowGet() specifies its own maximum number of rows to read. \s-1NB:\s0 if you make this value very large, you probably will need to increase \s-1FUN_MAXBUFSIZE\s0 (see below) as well.
\s-1FUN_MAXBUFSIZE\s0 The \s-1FUN_MAXBUFSIZE\s0 environment variable is used to limit the max buffer size that will be allocated to hold table row data. This buffer size is calculated to be the row size of the table multiplied by the maximum number of rows read at once (see above). Since the row size is unlimited (and we have examples of it being larger than 5 Mb), it is possible that the total buffer size will exceed the machine capabilities. We therefore set a default value of 5Mb for the max buffer size, and adjust maxrow so that the total size calculated is less than this max buffer size. (If the row size is greater than this max buffer size, then maxrow is set to 1.) This environment variable will change the max buffer size allowed.
\s-1FILTER_CC\s0 The \s-1FILTER_CC\s0 environment variable specifies the compiler to use for compiling a filter specification. You also can use the \s-1CC\s0 environment variable. If neither has been set, then gcc will be used if available. Otherwise cc is used if available.
\s-1FILTER_EXTRA\s0 The \s-1FILTER_EXTRA\s0 environment variable specifies extra options to add to a filter compile command line. In principle, you can add libraries, include files, and compiler switches. This variable should be used with care.
\s-1FILTER_TMPDIR\s0 The \s-1FILTER_TMPDIR\s0 environment variable specifies the temporary directory for filter compilation intermediate files. You also can use the \s-1TMPDIR\s0 and \s-1TMP\s0 variables. By default, /tmp is used as the temporary directory.
\s-1FILTER_KEEP\s0 The \s-1FILTER_KEEP\s0 environment variable specifies whether the intermediate filter files (i.e. C source file and compile log file) should be saved after a filter is built. The default is \*(L"false\*(R", so that these intermediate files are deleted. This variable is useful for debugging, but care should be taken to reset its value to false when debugging is complete.
See funtools(7) for a list of Funtools help pages