Skip to the navigation links
Last modified: 15 December 2025

URL: https://cxc.cfa.harvard.edu/ciao/releasenotes/ciao_4.18_release.html

CIAO 4.18 Release Notes


CIAO 4.18 is distributed for the following platforms:

Installation instructions are available below. There are three ways to install CIAO (all come with Python 3.12):

There is no support for 32 bit operating systems, older Linux (CentOS 7 era), older macOS platforms (macOSX Monterey and earlier), or Windows (CIAO can be installed using WSL but it is untested and there is very limited support). More details can be found on the Platform Support page.



Notable changes and improvements in CIAO 4.18

CIAO 4.18 includes initial support for FITS tables with K-type (8 byte integer) values, several important bug fixes, and updates to support newer compilers. There have been enhancements to Sherpa and updates to Off The Shelf (OTS) packages like SAOImage DS9.

  • CIAO is available with Python 3.12. It can be installed manually using a conda package manager with the https://cxc.cfa.harvard.edu/conda/ciao and conda-forge channels or automated by using the ciao-install script. [New] macOS users can now install CIAO into the /Applications folder using the new macOS DMG disk image file.

  • Several tools have been updated including important bug fixes and enhancements such as:

    • Expanded FITS Support: many CIAO tools now support the FITS K-type, 8 byte integer, aka "long long", data type. This is needed to correctly read and filter modern FITS files that contain large or high-precision integer values. In CIAO 4.18 this includes most tools that manipulate tabular data and includes tools such as dmcopy, dmlist, dmstat, dmsort, dmextract, and many more. This also includes filtering and binning tables and images.
    • A bug has been fixed in acis_process_events which corrects the temperature dependent CTI correction for a small number of events, mostly in CC mode.
    • The glvary tool has an important bug fix that was triggered when the tool would internally filter out events, for example if the GTI for different chips are significantly different.
  • Notable Sherpa changes include: adding support for optimizers from SciPy and optimagic; the addition of the cstatnegativepenalty statistic; support for plotting multiple datasets with a single command; and an easy way to convert the results from the MCMC-based algorithm for Bayesian Low-Count X-ray Spectral data to be used with the Arviz package for exploratory analysis of Bayesian models.

    As a reminder, Sherpa is also available as a stand alone system, accessible from the Sherpa GitHub repository or from the standalone Sherpa page.

  • Core CIAO libraries have been updated to
    • The CXC Datamodel now supports filtering and binning of images and tables with FITS K-type, 8 byte integer values. The Python access to the DataModel (crates) has not been updated to support these values.
    • The error library no longer includes the internal "dsERRORCODE" error code name as part of the warning/error message.
    • The region library now generates the correct union vs. intersection (and/or) logic for FITS region files where the COMPONENT values are out of order.
  • There have been several script updates released with CIAO 4.18 including

    • [New]The new acis_split_evt_by_fptemp script helps to automate the steps outlined in the Extracting Spectra and Responses for ACIS Observations that Undergo Large Focal-plane Temperature Swings thread.
    • dax has several new Interactive Region analysis tasks. When each of these tasks is enabled for the selected regions, different analysis tasks will be run as the region is moved/edited. This includes: getting sum of pixel values (ie total counts), plotting light curves and spectra, and elastic ellipse which will reposition, reorient, and resize the region to match the 2nd order image moments of the data in the region.
    • [New]sherpa_contrib.stats.kaastra17 module uses the approximation from Kaastra 2017 to identify whether the best-fit model found with the CStat statistic is a good description of the data.
  • CIAO includes version 8.7b2 of SAOImage ds9.

    [TIP]
    Tip

    Users are again reminded that they need to change the Edit mode setting in order to select or create regions in ds9. Please see the watchout page for more information on this.

    SAOImageDS9 v8.7b2 highlights include:

    • Autosave: ds9 will now periodically perform a backup that can be restored automatically if the application were to quit unexpectedly. User can disable and change the back cadence in the preferences.
    • Improved error checking and performance of the SAMP hub, in particular on multi-user systems.
    • Include documentation of DS9's cloud computing capabilities: how to setup remote analysis tasks.

    Users of a Linux OS which uses a new version of libxml2 (2.14.0 or later) are likely to need to update the DS9 provided in CIAO 4.18 to version 8.7b3 or later.


How CALDB 4.12.3 Affects Your Analysis

CALDB 4.12.3 Release Notes (16 December 2025)

ACIS Imaging and Grating Data

HRC Data


Installation and Setup

Users should be aware of these installation items before installing CIAO 4.18. Additional problems which are seen less frequently are listed on the Installation & Smoke Tests bug page .

Supported Platforms

Install using the ciao-install Installation Script

CIAO 4.18 is only available as a set of conda packages, but the ciao-install script has been re-written to allow users to unfamiliar with conda to automate the installation process using a single, simple command:

$ bash ciao-install

Users can download the ciao-install script from the ciao-install download page. The script has options to include additional segments such as the ACIS and HRC blank sky background CALDB files, the CIAO source code, download for different operating systems, link to existing CALDB installations, and more.

MARX is included as one of the default packages in CIAO 4.18. To skip installing marx add the

--remove marx

option to the command line.

Installing with the conda package manager

CIAO can be installed using the conda package and environment management system .

The conda release is available from the custom CXC channel and requires using the conda-forge channel.

$ conda create -n ciao-4.18 \
-c https://cxc.cfa.harvard.edu/conda/ciao \
-c conda-forge \
ciao sherpa ds9 marx ciao-contrib caldb_main
[NOTE]
The pyciao package has been merged into the ciao package

Unlike earlier versions, users must not specify pyciao or they will download an old, incompatible version of python modules.

Because of this, users are strongly encouraged to install CIAO 4.18 into a new, separate environment from all previous versions of CIAO.

See the conda installation instructions for more information, including known problems and incompatibilities. The CXC has had several reports of problems mixing packages from the default and conda-forge channels. If unsure, then use the --override-channels flag to ignore the default channel.

macOS: install using the .dmg disk image file

[New]macOS users only: If you have permission and want to install CIAO into the /Applications folder, then you can use the CIAO .dmg disk image file to install CIAO including: tools and Python modules, contributed scripts, Sherpa, DS9, MARX, and the main CALDB files; the ACIS and HRC background files are not included.

Users can follow the instructions on the .dmg disk image file download page. This involves downloading the .dmg files, opening the folder and dragging the CIAO 4.18 folder onto the Applications folder, and then running the xattr command in the terminal window.

Smoke Tests

The CIAO smoke tests are a small set of tests to verify that the installation of CIAO was successful. They should be run however CIAO was installed.

To run the CIAO smoke tests:

$ ciao
$ cd $ASCDS_INSTALL
$ bash test/smoke/bin/run_smoke_tests.sh

Source builds

The source code for CIAO is provided via the ciao-install script:

$ bash ciao-install --add ciao-src --add sherpa-src

and then it can be built using the ciao_build.sh script

$ ciao
$ cd $ASCDS_INSTALL
$ bash ./ciao_build.sh --prefix `pwd`

(assuming users have setup the ciao alias as suggested).

Remove old parameter files

With every new CIAO release, some parameter files are changed: new parameters may be added and occasionally old ones removed or renamed. Deleting or renaming the local parameter directory ensures that the correct parameter files will be accessed the first time a tool is run:

unix% rm ~/cxcds_param4/*

Tools

acis_find_afterglow

acis_process_events

aconvolve

addresp

celldetect

dmcontour

dmcopy

dmdiff

dmextract

dmfilth

dmgroup

dmhistory

dmjoin

dmlist

dmmakereg

dmmerge

dmpaste

dmsort

dmstat

dmtabfilt

dmtype2split

get_src_region

glvary

hrc_process_events

mkgrmf

rmfimg

roi

skyfov

srcextent

sso_freeze

tg_findzo

vtpdetect

wavdetect

wcs_match

wcs_update


Parameter Files

This section provides a summary of the changes to parameter files in this release. Refer to the Tools and Analysis Scripts sections of these release notes for complete details.

We recommend deleting all the old parameter files or renaming the parameter-file directory before running any new version of CIAO to avoid conflicts. More information is available in the FAQ.

dax

roi

skyfov

wcs_match


Sherpa

Sherpa is developed as an open project, and is available on GitHub. Comments, fixes, and additions from the community are welcome. There are additional releases for this version throughout the year, and can be installed either directly from GitHub or using the conda package manager, as described on the standalone Sherpa documentation page.

The full list Sherpa updates is given in the 4.18.0 and 4.17.1 release notes for the two standalone releases that are incorporated into CIAO 4.18. The release highlights include:

[TIP]
Tip

Users who use sherpa in Jupyter notebooks should also check out the notebook_plotter: An Interactive Tool for Model Plotting and Fitting in Sherpa


Analysis Scripts

There have been several updates to the contributed scripts package since the previous CIAO release. These changes are specific to the CIAO 4.18 contributed scripts release.

acis_split_evt_by_fptemp

dax

sherpa_contrib.stats.kaastra17


Libraries

CXC Datamodel

Error Library

Region Library


Graphical User Interfaces

Obsvis


Environment

Off-the-Shelf (OTS) Package Versions

Compiler versions


Documentation

Many pages have been updated to reflect the changes in this release. Several analysis threads are still under review.