Last modified: 22 August 2023

How do I upgrade CIAO?


If you have a CIAO installation, the check_ciao_version script can be used to see if it is out of date or not. This works however CIAO has been installed (conda or ciao-install). If you want to upgrade an old CIAO installation then it depends on:

  1. Is this a major upgrade (such as CIAO 4.14 to CIAO 4.15.2) or a bugfix release?

  2. Was CIAO installed with conda or ciao-install?

Major upgrades

For a major upgrade a new version of CIAO needs to be installed. It can be installed alongside the old version (e.g. a different environment, for conda users, or different directories - such as /soft/ciao-4.11/ and /soft/ciao-4.15/ - if using ciao-install), but must not be installed into the same directory as an older version of CIAO.

[WARNING]
CALDB and CIAO 4.11/4.12

For most CIAO upgrades the CALDB version is not important - that is, you can use a newer CALDB with an older version of CIAO. However, this is not always the case and both the CIAO release notes and CALDB release notes should be read carefully before upgrading.

This is important for CIAO 4.11 and CIAO 4.12, since:

  • CIAO 4.12 must use CALDB 4.9.0 or later,

  • while CIAO 4.11 must use CALDB 4.8.5 or earlier.

If this is not followed then you could get incorrect values when analysing Chandra data.

Minor upgrades

A minor upgrade - where there has been a bug fix or an improvement to CIAO made before the December release - is made by using either ciao-install or conda (the choice depends on how CIAO was installed). Once you have started the CIAO environment, use the ciaover command to determine what packages you have installed/

Upgrade with conda

The command is (edited to reflect your choice of installed packages):

unix% conda update --dry-run --no-update-deps -c https://cxc.cfa.harvard.edu/conda/ciao -c conda-forge ciao sherpa ciao-contrib

The use of --dry-run will report what would be changed but will not actually make the change. This lets you check that the proposed update is sensible. The --no-update-deps flag tells conda not to update any dependencies; this will reduce the changes and makes sure that some of the core packages CIAO relies on are not updated. After reviewing the updates, repeat but without the --dry-run option:

unix% conda update --no-update-deps -c https://cxc.cfa.harvard.edu/conda/ciao -c conda-forge ciao sherpa ciao-contrib

Upgrade with ciao-install

To upgrate a CIAO installation created with ciao-install requires downloading the ciao-install script, or using the version you kept when installing CIAO, and running it (after CIAO has been started). The installation directory should be set to that of CIAO - namely the value of the $ASCDS_INSTALL environment variable - and the script will update any out-dated packages.

[TIP]
Updating customised installations

If you installed a "customised" version of CIAO then you should ensure you use the same options to download the ciao-install script, otherwise the upgrade will also download the remaining components of a standard CIAO installation.