Personal tools
You are here: Home / COSMOS / Installing and running COSMOS

Installing and running COSMOS

Back to Table of Contents

Installing and running COSMOS

Using pre-compiled binaries

Compiling your own binaries


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
If you wish to use the IRAF routines display8 and combine8, you must execute the following lines at the cl prompt, or put them in your login.cl file:
  • task display8 = "/usr/local/magellan/Cosmos2/bin/display8.cl"
Remember to execute "source /usr/local/magellan/Cosmos2/magellan-setup" in any new windows that you open or put it in your shell startup script.



Santa Barbara Street

The COSMOS software is installed on our software server, and should be usable from any local machine running CentOS 6.

Before running any programs, you must do the following:

  • Execute, and copy into your shell startup file (e.g. cshdef or .cshrc) the following command so that you can use COSMOS in each terminal window you open:
    source /data/software/Cosmos/Cosmos2-21/cosmos2-setup
    
    NOTE: Sourcing the cosmos2-setup file will now automatically set up your Perl environment also.

  • Execute the following command to copy the parameter files to your reduction directory, e.g.:
    cd /home/joe/reductions/April_run/
    cp $COSMOS_HOME/Cospar/* .
    
    NOTE: By default, COSMOS_PAR_DIR is set to ".", which means it expects the parameter files in your current directory (recommended). If you copy the entire Cospar directory over or copy the parameter files to a different directory, you will need to set the COSMOS_PAR_DIR environment variable to the full path of the directory that contains those parameter files you want to edit and use, e.g.:
    cd /home/joe/reductions/April_run/
    cp -r $COSMOS_HOME/Cospar /home/joe/reductions/
    setenv COSMOS_PAR_DIR /home/joe/reductions/Cospar
    
  • 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 = "/data/software/Cosmos/Cosmos2-21/bin/display8.cl" 
    

The documentation is available locally at code.obs.carnegiescience.edu/cosmos


Compiling your own binaries

To download the latest source, click here.

COSMOS is known to work with the following:

ArchitectureOperating System
x86 Redhat 8, 9; Fedora Core 1, 4, 5; Mac OS X 10.4, 10.5
x86_64 Fedora Core 8, Fedora 13, CentOS 6; Mac OS X 10.6, 10.7, 10.8, 10.9
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 newer 64-bit operating systems, such as Fedora 13, Mac OS X 10.6, and Mac OS X 10.7, you have to be wary when building the PGPLOT Fortran libraries, in order to get the viewspectra program to work. In particular, the GIF, PPM, and WD driver files need to be edited.

Dependencies

Besides the usual stuff, you will need:


IMPORTANT NOTES (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) or later, make sure you have both the 64-bit gcc and gfortran compilers for your system 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: NOTE: It's ideal to install the Perl modules in a local directory so as to not interfere or replace any system libraries.

If you wish to use ldss3-pattern you will need the following library:


Installation

  1. Retrieve the COSMOS tarfile.
  2. On your system, create a directory into which the COSMOS system will be installed, e.g.
    mkdir /home/joe_user/COSMOS
    
  3. move the tarfile to this directory
  4. cd into that directory
  5. extract the tarfile: tar -xzvf CosmosYYYY.tar.gz
  6. define the environment variable COSMOS_HOME to be the extracted directory, e.g.
    setenv COSMOS_HOME "/home/joe_user/COSMOS/CosmosYYYY"
    
  7. execute cd source
  8. 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:
    1. libcpgplot
    2. libcfitsio
    3. libpgplot
    4. libX11
    If they are not, you must do one of the following:
    • 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) or later, make sure you have both the 64-bit gcc and gfortran compilers for your system 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:

  1. 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:
    1. libfftw
    2. librfftw
    If they are not, you must do one of the following:
    • 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,
Now you are ready to execute the make command for ldss3-pattern
make -f Makefile-ldss3.system [FITSLIB=fits-dir FFTWLIB=fftw-dir 
    FITSINC=fits.h-dir FFTWINC=fftw.h-dir]

Some final tidying:
  1. To set up your COSMOS environment, edit your cosmos2-setup file so that it points to your extracted directory:
     setenv COSMOS_HOME "/home/joe-user/COSMOS/Cosmos2-21" 
  2. 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 edit your cosmos2-setup file so that the COSMOS_PAR_DIR environment variable points to that directory, e.g. if you copy it to /home/joe-user/reductions/Cospar, then you need to set the following:
       setenv COSMOS_PAR_DIR "/home/joe-user/reductions/Cospar" 
    Either way, it's best to copy the parameter files to a different location so that the default parameter files are preserved in $COSMOS_HOME/Cospar.
  3. In order to use the built-in Perl programs, you need to edit your cosmos2-setup file to set the PERLLIB environmental variable to the location of your Perl modules (<module_name>.pm), e.g.:
    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) booted in 32-bit mode, 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
    
  4. 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, e.g.:
    task display8 = "/home/joe_user/COSMOS/Cosmos2-21/bin/display8.cl"
    
  5. Then you can explicitly source your cosmos2-setup file, e.g.:
    source /home/joe-user/COSMOS/Cosmos2-21/cosmos2-setup
    You can also put the above command in your shell startup file (e.g. ~/.cshrc) so that COSMOS can be used right away in every new terminal you open.


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
  1. Make sure that you have the latest version
  2. Make sure that you have carefully read all of the documentation
  3. If things still don't work, you can contact cosmos[at]obs.carnegiescience.edu for assistance.


Next: COSMOS Cookbook

Back to Table of Contents