Skip to the navigation links
Last modified: 14 September 2023


Downloading CIAO 4.14 and CALDB 4.10.7

The download page provides the basic steps needed to install CIAO 4.14 and CALDB 4.10.7 into a new conda environment. For additional details, including how to upgrade an existing environment, users should read the Installing CIAO with conda thread.

Also be sure to review the list of known issues and conflicts with other packages on the conda installation bug page as well as the conda FAQs.

conda is the preferred method to install CIAO. Users looking to use the ciao-install script can skip to the bottom of this page.

  1. Please be aware of the following issues before installing CIAO 4.14 (see the watchout page for more information):

  2. Verify conda version. Users should be using conda version 4.7.6 or newer.

    $ conda --version
    conda 4.8.3

    If conda is not installed,

    $ conda --version
    conda: Command not found.

    users can install miniconda from the Anaconda website.

    Installation on Apple Silicon Systems

    Users of Apple Silicon-based systems (M1, M1 Pro/Max/Ultra, and M2) should use the x86-64 MacOS distribution of Conda. The mid-May 2022 release of Anaconda introduced a native Apple Silicon ARM64 distribution which is incompatible with the current Conda CIAO distribution. Attempts to install via conda create will fail to complete.

  3. Install CIAO into a new conda environment.

    CIAO 4.14 requires conda-forge channel

    Updating to the latest version of XSpec requires CIAO to use a newer version of libgfortran, which is not available in the default channel.

    Therefore users will need to include the conda-forge channel when they install CIAO 4.14. Because of this, users are encouraged to create a new conda environment for CIAO 4.14 rather than trying to upgrade an existing environment.

    $ conda create -n ciao-4.14 \
      -c \
      -c conda-forge \
      ciao sherpa ds9 ciao-contrib caldb_main marx

    CIAO-4.14 is available with Python 3.9, 3.8, or 3.7. The default will be determined based on the other packages available on conda-forge channel at the time of installation. To request a specific version, add python=3.7, python=3.8, or python=3.9 to the conda create line.

    Users may also wish to includes packages such as jupyter, astropy, and scipy into their new CIAO conda environment. The caldb_main package is the base CalDB, while the additional background files are contained in the acis_bkg_evt and hrc_bkg_evt packages. The caldb package is the entire CalDB which can be used in lieu of the three previously mentioned CalDB packages.

    Problems with matplotlib v3.2

    There are known issues with multi-threaded processing on the Mac with matplotlib version 3.2. conda may select this version if it is already in your conda cache. If so, then you should force conda to install a newer version:

    $ conda create -n ciao-4.14 \
      -c \
      -c conda-forge \
      ciao sherpa ds9 ciao-contrib caldb_main marx "matplotlib>=3.3.0"

    The quotation marks needed to escape the ">" sign. This will also change the default python version to 3.9.

    Problem with downloading XSPEC models or CALDB

    Users experiencing problems downloading the CALDB files and/or the XSPEC model files can follow the Alternative download instructions.

  4. Activate the CIAO environment

    tcsh% conda activate ciao-4.14
    bash$ source activate ciao-4.14

    By default, the terminal prompt will change to show the currently active conda environment. Users can also run the ciaover command to verify that they are setup correctly.

    # packages in environment at /export/miniconda/envs/ciao-4.14:
    # Name                    Version                   Build  Channel
    ciao                      4.14.0           py38h59af02c_0
    ciao-contrib              4.14.4                     py_0
    ds9                       8.3                           1
    sherpa                    4.14.0           py38h3fd9d12_0
    System information:
    Linux 3.10.0-1062.12.1.el7.x86_64 #1 SMP Tue Feb 4 23:02:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

    Users may want to create an alias so that they only need to type ciao to activate their environment.

    MARX setup
    If you installed marx and are going to be using the simulate_psf script then you should
    $ conda env config vars set MARX_ROOT=$CONDA_PREFIX
    This command only needs to be run once. Or if you are going to be using marx directly then you can find the parameter files in the
  5. Run the CIAO smoke tests:
    $ cd $ASCDS_INSTALL/test
    $ make

    If there are any errors reported during the smoke tests, users can check the smoke test bugs page for possible solutions.

  6. Finished! CIAO is now installed and you can being your data reduction and analysis work.

conda is preferred installation method, ciao-install alternative

The CXC now suggests that users install CIAO using the conda package management system. This method allows users to more easily add 3rd party Python packages into their environment.

Alternatively, users can install CIAO using the ciao-install script. Follow this link for instructions:

Would you like to receive Chandra and CIAO announcements?

Send an email message to: