Skip to the navigation links
Last modified: 11 December 2023


Downloading CIAO 4.15.2 and CALDB 4.10.7

The download page provides the basic steps needed to install CIAO 4.15.2 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.

CALDB 4.11.0 is not compatible with CIAO 4.15

Due to a format change in the ACIS CTI calibration files, CALDB 4.11.0 is not compatible with CIAO 4.15. Trying to do so will result in an error when running acis_process_events or chandra_repro.

conda is the preferred method to install CIAO. Users who prefer to use the ciao-install script can skip to the bottom of this page; some users find this a simpler installation process if they do not need third-party applications such as astropy or scipy.

  1. Please be aware of the following issues before installing CIAO 4.15.2 (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 - that is the following fails

    $ conda --version
    conda: Command not found.

    then users can install miniconda from the Anaconda website.

    As of June 23, 2023, there is a known issue with the graphical installation (pkg) for miniconda on macOS. Apple users should install miniconda via the command line (bash).

  3. Install CIAO into a new conda environment.

    $ conda create -n ciao-4.15 \
      -c \
      -c conda-forge \
      ciao sherpa ds9 ciao-contrib "caldb_main<4.11" marx python=3.10

    CIAO-4.15.2 is available with Python 3.10, 3.9, or 3.8. Unless a different version is needed, users should specify python=3.10, otherwise 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, use python=3.8, python=3.9, or python=3.10 to the conda create line.

    Installation on Apple Silicon Systems

    CIAO is only available as Intel x86-64 binaries. Users of Apple Silicon-based systems (M1, M1 Pro/Max/Ultra, and M2) must use an Intel x86-64 MacOS version of python. Depending on the version/architecture of conda that is installed, some users may get an error message that looks like this:

    PackagesNotFoundError: The following packages are not available from current channels:
    - sherpa
    - ciao
    - ds9
    - marx
    Current channels:

    Note the reference to the osx-arm64. If this error occurs, then users can tell conda to install the Intel x86-64 version using the CONDA_SUBDIR environment variable

    First be sure to also install Apple's Rosetta2 software to be able to run Intel applications

    $ softwareupdate --install-rosetta

    and then

    $ env CONDA_SUBDIR=osx-64 conda create -n ciao-4.15 \
      -c -c conda-forge \
      ciao sherpa ds9 ciao-contrib caldb_main marx python=3.10
    $ conda activate ciao-4.15
    $ conda config --env --set subdir osx-64

    The first command tells conda to install the Intel x86-64 binaries. The second and third commands ensure that any updates or additional packages added to that environment will continue to use the Intel x86-64 versions.

    Users may also wish to include 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.

    Upgrade CIAO 4.15 to CIAO 4.15.2

    Users who already have a CIAO 4.15 environment can upgrade it to CIAO 4.15.2 by updating the ciao, ciao-contrib, and ds9 packages:

    $ conda install -n ciao-4.15 \
      -c \
      -c conda-forge \
      ciao=4.15.2 ds9=8.4.1 ciao-contrib=4.15.3

    or users can choose to create a separate environment for CIAO 4.15.2.

    CIAO 4.15.2 requires conda-forge channel

    Updating to the latest version of XSpec requires CIAO to use a version of libgfortran which is not available in the default channel. Users will therefore need to include the conda-forge channel when they install CIAO 4.15.2.

    It is strongly recommended to create a new conda environment for CIAO 4.15.2 rather than trying to upgrade an environment containing an older version of CIAO.

    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.15
    bash$ source activate ciao-4.15

    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.15:
    # Name                    Version                   Build  Channel
    caldb_main                4.10.7                        0
    ciao                      4.15.1          py310h50a7cbf_0
    ciao-contrib              4.15.2                     py_1
    ds9                       8.4.1                         0
    sherpa                    4.15.0                   pypi_0    pypi
    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 then you should do the following, so that scripts such as simulate_psf and the dax options in DS9 will work correctly:

    $ conda env config vars set MARX_ROOT=$CONDA_PREFIX

    This command only needs to be run once.

    If you are going to be using marx directly then you can find the parameter files in the directory

  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: