Installing the Coyote and Catalyst Libraries

QUESTION: Can you give me some help installing and getting the Coyote Library and the Catalyst Library running on my machine? I've downloaded them and installed them, but I am still getting errors when I try to run a Coyote or Catalyst application program. What am I doing wrong?

ANSWER: I'll give it a try. Nothing can be quite as frustrating as running into IDL path problems. The answers given here are slightly different, depending upon the kind of machine you are running IDL on. I will give some general tips for both Windows and UNIX machines. I believe (although I am not a Macintosh user) that the Macintosh set-up will be similar to the UNIX set-up below.

Note that I try extremely hard to keep the Coyote Library free of outside influence. That is to say, even though I personally use many routines from both the IDL Astronomy Library and the Johns Hopkins Applied Physics Lab Library, I do not use these routines in Coyote Library programs. Thus, there are no library dependencies in the Coyote Library, except from the normal IDL user library.

The Catalyst Library, on the other hand, is extremely dependent on the Coyote Library, and cannot operate without it. So, you must have the Coyote Library installed if you wish to use the Catalyst Library, but you could just use the Coyote Library routines without installing the Catalyst Library at all. In practice, this means that the Coyote Library should appear first on your IDL path before the Catalyst Library. (Had I been thinking, I would have named the Catalyst Library with a letter that followed C in the alphabet.)

Steps for Installing on Windows

  1. Download the Coyote Library and the Catalyst Library zip files. You can put the zip files wherever you like on your hard drive. (Note that, if you prefer, you can download the Coyote and Catalyst Libraries from an open-source Google Code Subversion repository into a directory on your machine using either a Subversion client or Subversion commands directly.)
  2. Extract the zipped files to local directories. On my C: drive on my Windows machine, I have a top-level directory named idl. It is here that I would create the two directories coyote and catalyst to receive the programs from the zip file. I am going to use the following two directories in my examples below.

        C:\idl\coyote    C:\idl\catalyst 

    You should substitute into the commands the actual locations where you installed the files.

    Installation Alternatives

    It would be perfectly fine if you wanted to install the Coyote files in a coyote directory, then install the Catalyst files in a catalyst directory that was a sub-directory of the coyote directory. You could even install this coyote directory into the lib directory in the main IDL distribution (probably something like C:\Program Files\ITT\IDL70\lib), if you had permission to do so. Or, you can name the directories something else. It is not important what you name them, but how they are found on your IDL path.)

  3. Given that you have extracted the two zip files into the directories above, how do you get them on your IDL path? There are many possibilities. Let me tell you one I would not recommend.

    I do not recommend that you add these two directories as projects to your IDL 7.xx Workbench and let IDL manage the paths for you. (Adding them as projects is a great idea, just do not EVER let IDL manage the paths for you.) If you add them to your Workbench as projects be sure go to the Project -> Properties -> IDL Project Properties tab and turn off the button that says “Update IDL path when project is opened or closed.”

    If you make them projects in your IDL Workbench then add the two directories to the IDL path by going to the Window -> Preferences -> IDL -> Paths tab. Click the Insert... button and search for the coyote directory. Do the same thing for the catalyst directory. Next, select the coyote directory and use the Move Up button to move the coyote directory in front of (toward the top of the window) the catalyst directory. You should now be good to go. If you still find occasional name conflicts, contact me and I'll see what I can do about it. Some name conflicts are probably inevitable. Play around with the order of your files in this path list until you are happy.

    Adding the Coyote and Catalyst libraries to your IDL Path.
    Adding the Coyote and Catalyst libraries to your IDL Path.
     
  4. If you are not using the IDL Workbench to run IDL, you might be able to do something similar to the IDL Workbench instructions if you are using an IDLDE. There the IDL path preferences are probably in File -> Preferences -> Path. The Insert... button is still there, but you need to use the arrow buttons to the right of the path list to move and order the directories on your IDL path.

  5. If all else fails, you can either include the following IDL command in your IDL start-up file, or you can simply type the command at the IDL command line before you run any Coyote or Catalyst programs:

       IDL> !PATH = Expand_Path('+C:\idl\coyote;+C:\idl\catalyst')  + ';' + !PATH
    

    Note the plus sign (+) at the front of the coyote and catalyst directory names. This tells IDL to search all of the sub-directories of these directories and add them to the path, too. Note also that directories are separated by a semi-colon.

Steps for Installing on UNIX

  1. Download the Coyote Library and the Catalyst Library zip files. You can put the zip files wherever you like on your hard drive.
  2. Extract the zipped files to local directories. On my local hard drive on my UNIX machine, I have a top-level directory named ~/david/idl. It is here that I would create the two directories coyote and catalyst to receive the programs from the zip file. I am going to use the following two directories in my examples below.

        /home/fanning/idl/coyote    /home/fanning/idl/catalyst
    

    You should substitute into the commands the actual locations where you installed the files.

    Installation Alternatives

    It would be perfectly fine if you wanted to install the Coyote files in a coyote directory, then install the Catalyst files in a catalyst directory that was a sub-directory of the coyote directory. You could even install this coyote directory into the lib directory in the main IDL distribution (probably something like /usr/local/ITT/idl70/lib), if you had permission to do so. Or, you can name the directories something else. It is not important what you name them, but how they are found on your IDL path.)

  3. Given that you have extracted the two zip files into the directories above, how do you get them on your IDL path? There are many possibilities. Let me tell you one I would not recommend.

    I do not recommend that you add these two directories as projects to your IDL 7.xx Workbench and let IDL manage the paths for you. (Adding them as projects is a great idea, just do not EVER let IDL manage the paths for you.) If you add them to your Workbench as projects be sure go to the Project -> Properties -> IDL Project Properties tab and turn off the button that says “Update IDL path when project is opened or closed.”

    If you make them projects in your IDL Workbench then add the two directories to the IDL path by going to the Window -> Preferences -> IDL -> Paths tab. Click the Insert... button and search for the coyote directory. Do the same thing for the catalyst directory. Next, select the coyote directory and use the Move Up button to move the coyote directory in front of (toward the top of the window) the catalyst directory. You should now be good to go. If you still find occasionaly name conflicts, contact me and I'll see what I can do about it. Some name conflicts are probably inevitable. Play around with the order of your files in this path list until you are happy.

  4. If you are not using the IDL Workbench to run IDL, it is more likely that you are defining your IDL path be defining environment variables in a .cshrc, .bashrc, or .profile file. For example, in a .bashrc file, you could add the coyote and catalyst directories to your current IDL path ($IDLPATH) by adding a command like this:

       export IDLPATH=+/home/fanning/idl/coyote:+/home/fanning/idl/catalyst:$IDLPATH
    

    Not the plus sign (+) in front of the directory names. This is an indication that IDL should expand this path to include all of the directories inside these directories and add these to the IDL path, too.

    I typically define my IDL path in an IDL start-up file. The start-up file is also defined by an environment variable ($IDL_STARTUP). For example, in my .profile file I have this line:

        export IDL_STARTUP=/home/fanning/idl/idlstartup.pro 

    Then, in my IDL start-up file, which is simply a text file that gets executed upon starting up IDL, as if I were typing the commands at the IDL command line, I have the following lines of code which define my IDL path:

        !PATH =  Expand_Path('+~/idl/coyote') + ':' + $
                Expand_Path('+~/idl/catalyst') + ':' + $
                Expand_Path('+~/idl/david') + ':' + $
                Expand_Path('~/idl/idl_util') + ':' + $
                Expand_Path('~/idl/idl_grids') + ':' + $             !PATH 

    Note the plus sign (+) at the front of the coyote and catalyst directory names. This tells IDL to search all of the sub-directories of these directories and add them to the path, too. Note also that directories are separated by colons.

  5. If all else fails, you can simply type the following IDL command at the IDL command line before you run any Coyote or Catalyst programs:

        IDL> !PATH = Expand_Path('+~/idl/coyote:+~/idl/catalyst') + ':' + !PATH
    

    Note the plus sign (+) at the front of the coyote and catalyst directory names. This tells IDL to search all of the sub-directories of these directories and add them to the path, too.

Resolving Naming Conflicts

Not all naming conflict problems are easily resolved. If you think you are still having problems after following this advice, here is how to determine what the problem is. First of all, determine which file actually got compiled. For example, if you are running into a problem with a program like PSCONFIG, it is likely that you may have another program with this name on your path, and you are compiling this first, rather than the one you want in the coyote directory. To see which one you compiled, type this:

    IDL> Help, /SOURCE 

Now search the output list for “PSCONFIG” and you will find where IDL located the file.

Another way to do this, assuming you know the name of the file you are looking for, is to use the File_Which command in IDL:

   IDL> Print, File_Which('psconfig.pro') 

Typically, file naming conflicts are resolved by either moving directories around on the IDL path, or by deleting old files from other directories that are no longer needed.

Version of IDL used to prepare this article: IDL 7.0.3.

Google
 
Web Coyote's Guide to IDL Programming