Installing and running COSMOS
Installing and running COSMOS
Using pre-compiled binaries
At the telescope
COSMOS is located in /usr/local/magellan/Cosmos2.
Before running any programs, you must execute the following commands:
- source /usr/local/magellan/Cosmos2/magellan-setup
- cp -r $COSMOS_HOME/Cospar $HOME
- task display8 = "/usr/local/magellan/Cosmos2/bin/display8.cl"
Santa Barbara Street
The COSMOS software is installed on chiaki, and should be usable from any machine running Linux.
Before running any programs, you must do the following:
- Execute, and copy into your shell startup file (e.g. cshdef or .cshrc) the following commands so that they will be defined in each window you open:
setenv COSMOS_HOME /data1/chiaki/edwardv/Cosmos/Cosmos2-16 source $COSMOS_HOME/cosmos2-setup setenv COSMOS_PAR_DIR /home/joe-user/whatever/Cospar
If you are running a 64-bit machine you will want to use the following COSMOS_HOME directory instead:setenv COSMOS_HOME /data1/chiaki/edwardv/Cosmos/Cosmos2-16_64
- Execute the following command to copy the Cospar directory to where you want it, containing the program parameter files:
cp -r $COSMOS_HOME/Cospar /home/joe-user/whatever
- If you have trouble with the Perl libraries you can also use chiaki for that as well:
setenv PERLLIB /data1/chiaki/gwalth/Cosmos/perl/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi
If you are running a 64-bit machine you will want to use the following PERLLIB setup instead:setenv PERLLIB /data1/chiaki/gwalth/Cosmos/perl_64/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi
- If you wish to use the IRAF routine display8, you must execute the following lines at the cl prompt, or put them in your login.cl file:
task display8 = "/data1/chiaki/edwardv/Cosmos/Cosmos2-15/bin/display8.cl"
The documentation is available locally at www.obs.carnegiescience.edu/Code/cosmos
Compiling your own binaries
Here you can find the latest release at www.obs.carnegiescience.edu/Code/cosmos/source.
COSMOS is known to work with the following:
Architecture | Operating System |
---|---|
x86 | Redhat 8, 9; Fedora Core 1, 4, 5; Mac OS X 10.4, 10.5 |
x86_64 | Fedora Core 8, Fedora 13; Mac OS X 10.6 |
PowerPC (G4, G5) | Mac OS X 10.3, 10.4 |
COSMOS should work on most other Linux systems, and may work on any UNIX variant.
COSMOS at this time does support FFTW3. There is a significant slow down in the way the code is runs with FFTW3. It is recommended to use the most recent version of FFTW2.
Please Note: On Linux machines running Fedora 13 and newer, the setcosdir and defineobs routines work fine, but there are currently problems with running viewspectra. We are currently working on this issue.
Dependencies
Besides the usual stuff, you will need:
IMPORTANT (for Mac users): It's recommended that you use separate installations of the above dependencies, instead of using ones that are part of a package such as scisoft to prevent any compatibility issues. If you're running Mac OS X 10.6.x (Snow Leopard), make sure you have both the 64-bit gcc and gfortran compilers installed (download here) and that the location of their executables are at the front of your $PATH environment variable BEFORE installing these dependencies. |
If you wish to use the GUI programs setcosdir, defineobs, and viewspectra, you will also need the following Perl modules:
- Astro-FITS-CFITSIO (viewspectra)
- ExtUtils-F77 (viewspectra)
- PDL (viewspectra)
- Perl/Tk (setcosdir, defineobs, viewspectra)
- PGPLOT (viewspectra)
Installation
- Retrieve the COSMOS tarfile.
- On your system, create a directory into which the COSMOS system will be installed, e.g.
mkdir /home/joe_user/COSMOS
- move the tarfile to this directory
- cd into that directory
- extract the tarfile:
tar -xzvf CosmosYYYY.tar.gz
- define the environment variable COSMOS_HOME to be the extracted directory, e.g.
setenv COSMOS_HOME "/home/joe_user/COSMOS/CosmosYYYY"
- execute
cd source
- You are now ready to build the executable files, but first make sure that the library files (and possibly their associated include files) that are needed are in the expected locations, which are specified in the Makefile. The libraries in question are:
- libcpgplot
- libcfitsio
- libpgplot
- libX11
- copy the files into
$COSMOS_HOME/lib
- create symbolic links to the files in
$COSMOS_HOME/lib
, (and$COSMOS_HOME/include
) - edit the Makefile definitions of PGLIB, FITSLIB, and XLIB, (and PGINC, FITSINC, XINC)
- specify the locations on the make command line, as seen below,
IMPORTANT (for Mac users): If you're running Mac OS X 10.6.x (Snow Leopard), make sure you have both the 64-bit gcc and gfortran compilers installed (download here) and that the location of their executables are at the front of your $PATH environment variable BEFORE running the following 'make' command. If you didn't install the 64-bit compilers by this point, see previous "IMPORTANT" note. |
Now, you are ready to execute the make command
make -f Makefile.system [PGLIB=pgplot-dir XLIB=Xll-dir FITSLIB=fits-dir PGINC=pgplot.h-dir XINC=X11.h-dir FITSINC=fits.h-dir]where system is either "Mac" or "linux", and the options in brackets are only needed if the above mentioned library and header files are not in their expected locations. With a little luck, you will get no error messages, and at the end you will have a completely installed system. If you encounter any errors, they are most likely due to a failure to find all the library and header files, in which case you should check their locations. If you're still having trouble, please refer to the FAQ page.
To compile ldss3-pattern:
- Make sure that the library files and their associated include files are in the expected locations, which are specified in the Makefile. The libraries in question are:
- libfftw
- librfftw
- copy the files into
$COSMOS_HOME/lib
- create symbolic links to the files in
$COSMOS_HOME/lib
, (and$COSMOS_HOME/include
) - edit the Makefile definitions of FITSLIB, and FFTWLIB, (and FITSINC, FFTWINC)
- specify the locations on the make command line, as seen below,
make -f Makefile-ldss3.system [FITSLIB=fits-dir FFTWLIB=fftw-dir FITSINC=fits.h-dir FFTWINC=fftw.h-dir]Some final tidying:
- To set up your COSMOS environment, execute the following commands*:
setenv COSMOS_HOME "/home/joe-user/my-cosmos2-directory" source $COSMOS_HOME/cosmos2-setup setenv COSMOS_PAR_DIR "/home/joe-user/my-Cospar-directory"
where my-cosmos2-directory and my-Cospar-directory are the locations you have chosen for the cosmos2 software and the Cospar parameter files.
- By default, COSMOS_PAR_DIR is set to ".", which means that it looks for the parameter files in your current directory. So it's best that you do either of the following:
- Copy the parameter files from
$COSMOS_HOME/Cospar
to the directory where you'll be reducing your data, or - Copy the entire
$COSMOS_HOME/Cospar
directory to another location AND set the COSMOS_PAR_DIR environment variable to that directory.
Either way, it's best to copy the parameter files to a different location so that the default parameter files are preserved in - Copy the parameter files from
- In order to use the built-in Perl programs, you need to set the PERLLIB environmental variable to the location of your Perl modules (
<module_name>.pm
) by executing the following*:setenv PERLLIB "/home/joe_user/my-perl-modules-directory"
If you are using COSMOS on a Mac, you may have Fink installed. If so, you may find a PERL5LIB environmental variable set, in which case you want to append PERLLIB to it by executing the following*:setenv PERL5LIB "${PERLLIB}:${PERL5LIB}"
If you are using COSMOS on Mac OS X 10.6 (Snow Leopard), then you will also need to change the value of the environmental variable VERSIONER_PERL_PREFER_32_BIT by executing the following*:setenv VERSIONER_PERL_PREFER_32_BIT no
- If you wish to use the IRAF routine display8, you must execute the following lines at the cl prompt, or put them in your login.cl file. Note that you must specify the full path to the cosmos directory, since IRAF forgets your environment variables, such as COSMOS_HOME
task display8 = "/home/joe_user/my-cosmos-directory/bin/display8.cl"
$COSMOS_HOME/Cospar
.
*You can copy each of these commands into your shell startup file (e.g. cshdef, .cshrc) so that they will be defined in each window you open. You can also place each of these in your shell startup file first and then source that file on the command line. For example:
source ~/.cshrc
The HTML documentation will be available on your own computer at $COSMOS_HOME/docs/COSMOS.html
.
Need some help?
If you have trouble with installing or running COSMOS, please- Make sure that you have the latest version
- Make sure that you have carefully read all of the documentation
- If things still don't work, you can contact cosmos[at]obs.carnegiescience.edu for assistance.