Quiz Answer Key
- 1) External packages can be run/compiled only when installed
in the main system by the IRAF site manager, i.e. user cannot declare
or build private packages.
False. Private external packes may be declared
in the user's login.cl or loginuser.cl file
and will be loaded when first logging into the CL as part of the
user package. To build an external package privately,
declare the path to the package root directory as a unix environment
variable and include the trailing '/' character, e.g.
% setenv mypkg /home/me/iraf/mypkg/
- 2) All IRAF facilities will continue to run without any special
action taken after a major OS upgrade (e.g. Solaris 2.5 to 2.6).
False. A major OS upgrade usually rebuilds system
directories such as /dev and /include, where IRAF installs the fifo
pipes for SAOimage or the vital /usr/include/iraf.h link. In most
cases IRAF will continue to run because the local bin directory
containing the 'cl' command is restored from a backup, but services
like IRAF networking or image display may fail. The solution is
simply to rerun the install script after the OS upgrade. Note also
that Solaris 2.6 requires IRAF V2.11.1 since the iraf shared image for
2.6 wasn't available until that patch.
- 3) IRAF plots can be converted to PS/EPS disk files.
True. The psump device creates a
Postscript file in /tmp called psdumpXXX.ps containing
the PS normally sent to the printer, device eps creates
a file sgiXXX.eps in the current directory containing an
EPS file.
- 4) IMFORT tasks can read/write FITS files.
False. The FITS kernel is only implemeted for SPP
programs, IMFORT tasks needing FITS access can use the
FITSIO library. Public access to the IMIO (and other) interfaces
will be supported as part of the OpenIRAF initiative.
- 5) XImtool requires private fifo pipes when multiple users will be
using it on the same machine.
False. SAOimage is the only server requiring fifo
pipes. XImtool/SAOtng will attempt to use a unique unix socket by
default before falling back to the /dev fifos.
- 6) The SOFTOOLS package doesn't need to be loaded before compiling an
IRAF package or IMFORT program under the CL.
True. XC/MKPKG are declared as foreign tasks in
the user's login.cl file and as such are always available, whether
logged into the CL or not.
- 7) Upgrading to an IRAF patch version (e.g. V2.11.1) requires only
that the patch file from our archive be applied to an existing
installation.
False. The patch files only update the source
tree (parameter files, program source, etc), the full patch requires
that a full set of core system and NOAO package binaries also be
installed to pick up changes in the runtime system. External packages
should also be relinked at this time to propogate system changes to
those packages as well.
- 8) GCC is a supported compiler for platforms other than PC-IRAF.
False. Trick question since GCC is only
supported for PC-IRAF, however it can be made to work on systems
such as SunOS/Solaris.
- 9) At most four processes may be in the CL process cache at any
time.
False. The maximum is 10, the minimum is 2. The
actual size is controlled by the cl.szprcache parameter with
limits silently enforced.
- 10) The correct flag to enable debugging when using XC or FC for
IMFORT programs is "-g".
False. The flag implemented by the XC
IRAF compiler is really -x, "-g" is passed through on most
systems and will usually work, but isn't portable and may have side
effects.
- 11) Which two files control the display frame buffer
configuration options (i.e. when you set stdimage to imt800 which
two files define this frame buffer for both the client and
server)?
dev$graphcap and /usr/local/lib/imtoolrc.
The graphcap file defines the frame buffer configurations for the
client display code, the imtoolrc file defines them for the server.
For information on creating custom frame buffers see the
FAQ on the topic
- 12) dev$tapecap parameters are described in the program
comments of which file?
$iraf/unix/os/zfiomt.c. This is the magnetic tape
driver for the system.
- 13) The escaped CL command "!!ls" (two exclamation
marks are intentional) is run in what kind of shell?
A Bourne shell. Normal CL escape commands and
foreign tasks are run in the type of shell defined by your host
SHELL variable, normally a csh. With two exclamation points
the command is run using /bin/sh, the Bourne shell. (See os$zoscmd.c)
- 14) Which file needs to be edited to enable graphics hardcopy
output?
dev$graphcap.
For information on creating new device entries
see the FAQ on the topic
- 15) The list of available documentation is available
from which file in our ftp archive?
- 16) Which CL environment variable controls the size
of the graphics buffer?
cmbuflen. The size of the graphics buffer can
be increased by uncommenting and editing the value set in your
login.cl file. For large GKIMOSAIC plots, detailed contours, etc
the buffer may need to increased to avoid truncating the plot.
- 17) Which CL environment variable controls the size
of maximum allowable image headers?
min_lenuserarea. The default value of 64000 is
large enough to hold about 800 user keywords, like the graphics
buffer it's size may be increased by editing the login.cl file.
- 18) Which CL environment variable controls the axis
plot colors (labels, ticmarks, etc) in an XGterm?
glbcolor.
For information on setting or changing the colors
see the FAQ on the topic
- 19) Site-wide user defaults for stdplot, stdimage, buffer
sizes, etc are set in which file?
hlib$zzsetenv.def. This file cna be used to
set the global defaults for all configurable IRAF parameters, values
will be overridden by those set in a login.cl or loginuser.cl file.
- 20) If not defined in the user's environment, on startup IRAF
tasks get the location of the iraf root directory and other
key variables like 'tmp$' from which file?
/usr/include/iraf.h. This file is edited with
the iraf root path when the install script is run and provides system
pathnames when initializing IRAF tasks. It is also a key file for
IRAF networking which is one reason the install script must be run
on each client node.
- 21) If your answer to (9) above is true, what is the minimum
number of processes in the cache? If false, what is
the maximum? Credit will be given for correct answers even if (9)
was incorrect.
2 or 10. The actual size of the cache is
controlled by the CL szprcache parameter, the limits are
enforced silently in the code.
- 22) What is the default inet socket port for XImtool connections?
5137. XImtool will listen simultaneously for
connections on unix sockets (which IRAF uses by default), fifo pipes
and inet sockets. The ability to display to an inet socket means you
display to an ximtool running anywhere on the internet. For example,
before logging into the CL do
setenv IMTDEV inet:5137:foo.bar.edu
will cause the display to appear on an XImtool running at node
foo.bar.edu.
- 23) What is ICE? (acronym value)
IRAF Control Environment. ICE is the system
used to do data aquisition within IRAF at Kitt Peak and other
observatories. For further information on ICE feel free to write us.
- 24) What is CDL? (acronym value)
Client Display Library. The CDL is a programming
interface to allow host C or Fortran programs to display images and
graphics overlays to display servers such as Ximtool and
SAOimage/SAOtng. For more information see the recent announcement for
the package.
- 25) What is the maximum number of nodes that can be
specified in a V2.11 dev$hosts file?
320. Seems an odd number, this is defined by
the sys$ki/ki.h MAX_NODES parameter. This is a hardwired
value, to increase it the system needs to be relinked.
- 26) Which file defines the top-level packages seen in the CL login
menu?
hlib$clpackage.cl. This file defines the
default package loaded when the CL starts up, i.e. the tasks you
see on the menu when you first log in. It includes any packages
declared in the hlib$extern.pkg file.
- 27) What is the only assembly code source file required for each
iraf port?
unix$as/zsvjmp.s. This routine is needed by
IRAF error recovery in order to exit a task and return control to
the IRAF task main procedure where cleanup can be done.
the
- 28) What is the maximum number of parameters a task may have?
100. Most tasks don't come close to this
limit, however there are one or two hidden psets that push this. The
value is set in the G_MAXPARAM parameter in cl$eparam.h.
- 29) Which XC flag is used to link programs so the IRAF shared
library (on platforms where used) is ignored?
'-z'. This flag should be used when linking
programs for debugging since it will allow you to trace into
shared library procedures in the VOS.
- 30) In which directory do the SGI translator sources live?
unix$gdev/sgidev. The SGI translators convert
the SGI metacode from the graphics system into device-dependent
printer languages such as Postscript, HP LaserJet, etc.
IRAF
NOAO
Last updated: 09Jul1998