Install the CHARIS Data reduction pipeline


Python 2.7 Cython with a C compiler and OpenMP. C compilers as gcc-5, gcc-mp-5, gcc-mp-6 are acceptable.

Your computer should have at least ~2 GB of RAM to extract data cubes, and at least 2 GB/core (and at least 4 GB total) to build the calibration files. The calibration files can take a long time to generate if you do not have multiple processors.


numpy, scipy, astropy


The easy way to install is to use the in this directory with

python install

I strongly recommend that you first install the anaconda Python 2.7 from here if you are not already using anaconda: If you are running this on a Mac, you need gcc from Xcode, and you probably need a homebrew installation of gcc-5 to enable OpenMP linking. Follow the instructions here: You may need to specify the C compiler when running the setup script using something like

CC=gcc-5 python install


CC=gcc-mp-5 python install

Type gcc [tab][tab] in a terminal to see your available gcc compilers. If you use tcsh instead of bash, your export command will be different, but something like this should work:

set CC = gcc-5
python install

You can check that the installation was successful by typing:

Must call buildcal with at least three arguments:
  1: The path to the narrow-band flatfield image
  2: The wavelength, in nm, of the narrow-band image
  3: The band/filter: 'J', 'H', 'K', or 'lowres'
Example: buildcal CRSA00000000.fits 1550 lowres
Optional additional arguments: filenames of darks
  taken with the same observing setup.
Example: buildcal CRSA00000000.fits 1550 lowres darks/CRSA*.fits

Windows 10 install

These instructions were provided by Zach Long and use the bash functionality within Windows 10. This procedure

  1. Download Anaconda 2.7 Linux installer from their website

  2. Download and extract CHARIS code

  3. Navigate to the appropriate folder (the folder is in mnt/c/ somewhere, c refers to the windows C: drive or whatever the main drive is)

  4. Install using “bash”

  5. Install pip using “sudo apt-get install python-pip”

  6. Do a “sudo pip install cython”

  7. If you get an error with gcc exiting with code 1 use this command “sudo apt-get install python-dev”

  8. Do another “sudo pip install cython”

  9. Do a “conda install numpy” (might have to close and reopen bash for this)

  10. Do a “conda install astropy”

  11. Do a “pip install -U scipy” (I’m not sure why it needs the upgraded version but it does)

  12. Navigate to the charis code folder again in /mnt/c/

  13. Run “sudo python install”

  14. Run “export KMP_AFFINITY=disabled” (this is because there is a known bug in scipy for windows bash. You’ll know if it’s happening if you get the following errors when you try to run buildcal

    OMP: Error #100: Fatal system error detected.
    OMP: System error #22: Invalid argument
    Aborted (core dumped)

    As far as I can tell you have to do it after you open a new bash terminal)

  15. Done, it should work at this point, it worked for me at least. If something doesn’t work it’s usually something to do with scipy so you many need to run a sudo “pip install –upgrade pip”

  16. Occasionally I have had to do a “alias sudo=’sudo env PATH=$PATH’” if Cython decides not work because it’s using the wrong python, I’m assuming the one that came preinstalled


Most of the installation issues on Macs that have been encountered so far come from slight differences in the versions and the installations of python and gcc. We recommend following the steps above thoroughly. Here are sharing some of the issues and potential solutions.

Install gcc through Macports

Macports is a good alternative to download and install the correct version of gcc. First, make sure that the latest package definitions are updated with “selfupdate”, and then download and install the latest version of gcc5.

sudo port selfupdate
sudo port install gcc5

This should have installed the latest version of gcc5. You can check what versions of gcc are available by typing gcc [tab][tab]. For example on a 2017 MacBook Pro with xcode installed, these are the programs that are installed:

gcc              gcc-mp-6         gcc-ranlib-mp-6
gcc-ar-mp-6      gcc-nm-mp-6      gccmakedep

One would then run

CC=gcc-mp-6 python install

Install the CHARIS DRP with AstroConda (or if you regular conda installation uses Python 3.xx)

In order to not disturb your installation of Python 3.xx (with which the pipeline is not yet compatible), we can create a separate, isolated Python environment with conda. You can find some instructions on how to do this for example at Below are the key elements:

conda create -n py27 python=2.7 anaconda

And once the installation is complete, you can activate your environment

source activate py27

To jump back out of the environment to your regular environment without having to close your terminal, you can type:

source deactivate py27