Deepsearch Software Docs: Setting Up

Last updated: 1998-September-04

Overview: IDL et al.

Most of the deepsearch software is written in IDL. As such, a familiarity with how you get around the IDL shell is essential in order to even use the deepsearch software. A familiarity with the IDL programming language is essential if you want to do any sort of complicated image manipulation related to the deepsearch software. The RSI introductory books to IDL will be useful toward this end. It will not be covered in greater depth here, except to mention two ways of getting help within IDL:

IDL> ?

IDL> dlib,'ftransimages'

The ? gives you the online IDL manuals, and documents all standard IDL features. The dlib command reads documentation on add-on IDL routines, both the "astro" package and the deepsearch software. This requires somebody to have actually written that documentation... so frequently you will get nothing useful when you try this on deepsearch routines.

...well, OK, one more tip. Whenever you get stopped for an error inside that IDL code, your context, and stack, and so forth is still within that function. (This will only mean something to the experienced programmer.) To avoid confusion, extensive use of the IDL command retall is recommended at all times, and especially after an error. Indeed, myself I frequently type the following two commands:

IDL> retall

IDL> close,/all

Some of the deepsearch IDL software calls C code. In addition, there are a handful of stand alone C programs runnable from the Unix shell (which are also run from within the IDL software). Finally, by now there are one or two Perl programs that might be considered to be part of the deepsearch software.

The software was originally written on the astro suns, and is so chock full of implicit hardcoded assumptions that it is on these suns that it's not a trivial task to get it running anywhere other than the suns at LBL where it was originally written. It has been "mostly" ported to Linux by Rob Knop, and most things run now from the astro PCs. WARNING: Note, hwoever, that some things still do not work from the astro PCs, and some of the code will cause your IDL session to hang, or will merely produce nonsensical results.

Making your account ready to run IDL

Before you do anything else, you must be a member of the right group. Although most of the deepsearch database is world readable (meaning anybody with an account on the suns or the pcs can read it), normal use of the software, even when you don't realize it, will write to the databse. So that everybody else who needs to can still write to these files, you must have the right GID (group) on the files you create. At LBL, this GID is "deepsrch" or 4028. Contact Rob Knop if you don't know how to figure out what GID you are.

Edit the startup file where you define your environment. For most people, this will be the file "~/.cshrc". Note that the deepsearch software was written by a bunch of people using the T-shell (tcsh), and as such the whole setup procedure assumes you are using tcsh. If you really must use another shell (ksh, bash, etc.), then you are on your own getting the software to work. (It's not just a matter of modifying the commands below; the startup scripts all are written assuming the user's shell is tcsh-- but they may work from other shells. You find out.)

Place the following commands in the aforementioned startup file:

On the astro suns (panisse, cha-am, rivoli, et al.)

On the astro PCs (lilys, dara, milano, vics, et al.)

Once you've done that, you can run idl simply with the command "idl". If you want to run a non-display version of IDL, which doesn't use or require Xwindows, you can issue the command "quickidl".

Never remove the "umask 002" command from your startup. While, yes, this makes your files group readable, and you may not like this idea, it can cause no end to trouble if you don't have this umask set. When you run the software, you will without knowing it create entries in the database. Those entries must be readable and writeable by everybody else who uses the software. If your umask isn't set right, you will cause trouble for everybody else. One day, hopefully soon, Rob will adapt the software so that this umask command is no longer necessary, but in the mean time, keep it there.