Last modified: 11 Dec 2019


Starting CIAO

CIAO 4.15 Science Threads



The CIAO environment must be set up in each terminal window where you want to run the software. This thread shows how to create a startup alias, as well as how to handle the case where you have both CIAO 4.13 and CIAO 4.15.2 installed. We also discuss how to start FTOOLS and CIAO so that they can be used together in the same terminal.

Last Update: 11 Dec 2019 - Updated for CIAO 4.12. Added new section on conda.


Running CIAO 4.15.2

To use the CIAO software, you must first run a setup script. There are a few things to note about setting up the alias:

  • These examples have CIAO installed in the directory /soft/ciao-4.15/. The location of the CIAO software on your system may be different.

  • If you have more than one version of CIAO installed, you may wish to version the alias to distinguish between them.

The alias syntax depends on the shell (tcsh, csh, bash); see this FAQ for help in determining which shell you are using.

  • csh/tcsh users should add the following to their $HOME/.cshrc file.
    alias ciao "source /soft/ciao-4.15/bin/ciao.csh"
  • bash users should add the following to their $HOME/.bashrc file.
    alias ciao="source /soft/ciao-4.15/bin/"
  • ksh users should add the following to their $HOME/.login file.
    alias ciao="source /soft/ciao-4.15/bin/"

Users can create the file if one does not already exist. These are simply text files that can be edited with the users favorite text editor (emacs, vi, gedit, etc.).

Then you can just type "ciao" to start the software

It is only necessary to do this once per terminal/window.

conda installation

As of CIAO-4.12, users can install CIAO as a conda package. conda is a package management and environment management system which allows users to install multiple versions of packages and easily switch between them. conda users are encouraged to use bash shell as conda support for tcsh is limited. The CIAO conda package installs various activate scripts akin to the standard ciao setup scripts (ciao.csh and Conda users then only need to activate the environment to have access to CIAO.

$ conda activate ciao
(ciao) % ciaover -v
# packages in environment at /export/miniconda/envs/ciao-4.15:
# Name                    Version                   Build  Channel
caldb4                    0.1.0                    pypi_0    pypi
ciao                      4.15.2          py310h50a7cbf_0
ciao-contrib              4.15.1                     py_1
ds9                       8.4.1                         0
sherpa                    4.15.0                   pypi_0    pypi

System information:
Darwin 18.7.0 Darwin Kernel Version 18.7.0: Thu Jun 18 20:50:10 PDT 2020; root:xnu-4903.278.43~1/RELEASE_X86_64 x86_64
conda or classic, not both

Users can not setup for both the conda edition of CIAO and also setup for classic CIAO (ie sourcing the ciao.csh or scripts) at the same time in the same terminal window (ie shell). conda users can deactivate their environment before sourcing the CIAO setup script; classic CIAO users need to start a new terminal window.

Restarting CIAO 4.15.2

The startup script will not allow you to restart CIAO in a session, instead reporting the following:

unix% ciao
ERROR: The current environment is configured for:
CIAO 4.15 Monday, November 21, 2022
  bindir      : /soft/ciao-4.15/bin
  CALDB       : 4.10.4
Please use the '-o' option to override the previous setup.

If you wish to restart CIAO, then you should either start CIAO in a different window or use the override option ("-o"):

unix% ciao -o
CIAO configuration is complete... 
The CIAO setup for this window has changed from
CIAO 4.13 Wednesday, December  2, 2020
  bindir      : /soft/ciao-4.13/bin
  CALDB       : 4.10.4
CIAO 4.15 Monday, November 21, 2022
  bindir      : /soft/ciao-4.15/bin
  CALDB       : 4.10.4

Switching between CIAO 4.13 and CIAO 4.15.2

Users have to be careful about switching between different version of CIAO because of differences in parameter files and IPython startup scripts. The default local parameter file directory name is the same in CIAO, which makes it more tricky to run both CIAO 4.13 and CIAO 4.15.2 in separate terminal windows. For example, assuming CIAO 4.13 is installed in /soft/ciao-4.13 and CIAO 4.15.2 in /soft/ciao-4.15:

unix% alias oldciao 'source /soft/ciao-4.13/bin/ciao.csh'
unix% oldciao
CIAO configuration is complete...
CIAO 4.13 Wednesday, December  2, 2020
  bindir      : /soft/ciao-4.13/bin
  CALDB       : 4.10.4

unix% echo $PFILES

unix% paccess dmgti

and in a different window, using the suggested alias to start CIAO 4.15.2:

unix% ciao
unix% echo $PFILES

unix% paccess dmgti

You can see that the information is being read from the same parameter file locations. If there are changes to the parameter file (parameters added or deleted) then CIAO may have problems updating to the correct version.


Both CIAO and FTOOLS use parameter files to store parameter values for tools, and provide tools for manipulating these files (e.g. plist, pset, punlearn; they have the same name in both systems). The location of the parameter files is taken from the $PFILES environment variables for CIAO and FTOOLS.

We recommend that you start FTOOLS before CIAO. Here is an example of starting version 6.x of FTOOLS and CIAO 4.15.2:

unix% setenv HEADAS /soft/lheasoft/headas/x86_64-pc-linux; \
      source $HEADAS/headas-init.csh
unix% ciao

Change the HEADAS path to match your local installation. Note this syntax applies only to C Shell variants (csh, tcsh); for further details on starting FTOOLS, including other shells, refer to the Installing HEAsoft instructions.

The $PFILES variable has been set up to use both the CIAO and FTOOLS directories:

unix% echo $PFILES

Caveat: Conflicts with Other Software Packages

There are some known conflicts between CIAO and other software or system libraries and tools. Be sure to read the "Other Software Packages" bug page for a list of these issues.


04 Jan 2005 updated for CIAO 3.2: version numbers; minor change to asphist parameter file
20 Jun 2005 CIAO 3.2.2 patch: change to asphist parameter file
28 Jul 2005 added Caveat: CIAO and and IDL (Mac OS X only) section
23 Aug 2005 renamed "Caveat: CIAO and and IDL (Mac OS X only)" section to "Caveat: Conflicts with Other Software Packages".
01 Dec 2005 updated for CIAO 3.3: version numbers
01 Dec 2005 CIAO and FTOOLS section updated for FTOOLS 6.x
01 Dec 2006 updated for CIAO 3.4: CIAO version; changed asphist example to dmgti example
14 Dec 2007 updated for CIAO 4.0: local parameter file directory is cxcds_param4
17 Mar 2008 added Mac users: setting xrdb path section
10 Apr 2008 location of CIAO alias updated for bash users
18 Dec 2008 updated for CIAO 4.1: running CIAO 3.4 and 4.1 on the same system; removed the "Configuring CIAO" section and "setting xrdb path" section (both needed for .CXCdefaults file, which the GUIs no longer use); bash users should put alias in $HOME/.bashrc
12 Mar 2009 CIAO installation directory changed to /soft/ciao-4.1/ to match the Installing CIAO thread
15 Jun 2006 CIAO and XSpec section added
16 Dec 2009 updated for CIAO 4.2: removed the "CIAO and XSpec" section, as the HEADAS environment variable conflict was fixed in CIAO 4.2; see the "conflicts with other software packages" bug page.
11 Jan 2011 updated for CIAO 4.3: version numbers
03 Jan 2012 reviewed for CIAO 4.4: updated version numbers
15 Jun 2012 reviewed for CIAO 4.4.1: updated version numbers
03 Dec 2012 Review for CIAO 4.5; version updates, minor tweaks to running multiple versions section.
25 Nov 2013 Review for CIAO 4.6;
11 Dec 2014 Review for CIAO 4.7
09 Dec 2015 Review for CIAO 4.8
06 Dec 2016 Tweak for CIAO 4.9
09 Apr 2018 Reviewed for CIAO 4.10
11 Dec 2019 Updated for CIAO 4.12. Added new section on conda.