Last modified: 27 Nov 2023

URL: https://cxc.cfa.harvard.edu/ciao/threads/ciao_startup/

Starting CIAO

CIAO 4.16 Science Threads


Overview

Synopsis:

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.15 and CIAO 4.16 installed. We also discuss how to start FTOOLS and CIAO so that they can be used together in the same terminal.

Last Update: 27 Nov 2023 - Updated for CIAO 4.16.


Contents


Setup for CIAO 4.16

To use the CIAO software, you must first source a setup script. Creating an alias allows users to run a single, simple command with minimal typing. There are a few things to note about setting up the alias:

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

  • If CIAO 4.16 was installed using conda, these examples assume the environment was called "ciao-4.16" (without quotes).

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

The syntax for the alias command depends on the shell (tcsh/csh, bash/zsh/ksh); see this FAQ for help in determining which shell you are using. The actual command to alias will depend on whether CIAO was installed using conda install or with the ciao-install script.

Bourne shell and variants: bash, dash, zsh, and ksh

If CIAO was installed using conda create, then the alias command will be either

alias ciao="conda activate ciao-4.16"
  -or-
alias ciao="source activate ciao-4.16"

Which one depends on how conda is setup on your system.

If CIAO was installed using the ciao-install script then the alias command is

alias ciao="source /soft/ciao-4.16/bin/ciao.sh"

Users should add these alias commands to their startup scripts: bash use $HOME/.bashrc, dash use $HOME/.profile, zsh use $HOME/.zshrc, and ksh use $HOME/.kshrc.

C shell and variants: tcsh

If CIAO was installed using conda create, then the alias command will be

alias ciao "conda activate ciao-4.16"

If CIAO was installed using the ciao-install script then the alias command is

alias ciao "source /soft/ciao-4.16/bin/ciao.csh"

Users should add these alias commands to their startup scripts: csh use $HOME/.cshrc, tcsh use $HOME/.tcshrc (or $HOME/.cshrc if already present).

Users can create the startup 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.). The startup files are sourced when you open a new terminal; if you want to start using the alias in a terminal window that is already open then you have to manually source it.

$ source FILENAME

Then you can just type "ciao" to start the software. CIAO installed with conda will look like this:

$ ciao
(ciao-4.16) $

or, CIAO installed with ciao-install will look like this:

$ ciao 
CIAO 4.16.0 Tuesday, December 05, 2023
  bindir      : /soft/ciao-4.16/bin
  CALDB       : 4.11.0

It is only necessary to do this once per terminal/window. The ciaover command can be used to get additional version information (from either installation method)

(ciao-4.16) $ ciaover -v
The current environment is configured for:
  CIAO        : CIAO 4.16.0 Tuesday, December 05, 2023
  Contrib     : Package release 0  Tuesday, November 28, 2023
  bindir      : /soft/ciao-4.16/bin
  Python path : /soft/ciao-4.16/bin
  CALDB       : 4.11.0

System information:
Linux is.awesome.edu 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Thu May 18 10:27:05 EDT 2023 x86_64 x86_64 x86_64 GNU/Linux

Repeating setup CIAO 4.16 setup command

In general, we do not recommend that users source the same CIAO setup command in the same terminal more than once. This may leave the shell environment in an unexpected state.

If CIAO was installed using ciao-install, 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.16 Tuesday, December 05, 2023
  bindir      : /soft/ciao-4.16/bin
  CALDB       : 4.11.0
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.15 Monday, November 21, 2022
  bindir      : /soft/ciao-4.15/bin
  CALDB       : 4.11.0
To:
CIAO 4.16 Tuesday, December 05, 2023
  bindir      : /soft/ciao-4.16/bin
  CALDB       : 4.11.0

If CIAO was installed using conda and you repeat the activate command, it will replace the current CIAO environment with the same environment.

% conda activate ciao-4.16
(ciao-4.16) % conda activate ciao-4.16
(ciao-4.16) % 

Switching between CIAO 4.15 and CIAO 4.16

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.15 and CIAO 4.16 in separate terminal windows. For example, assuming CIAO 4.15 is installed in /soft/ciao-4.15 and CIAO 4.16 in /soft/ciao-4.16:

unix% alias oldciao 'source /soft/ciao-4.15/bin/ciao.csh'
unix% oldciao
CIAO configuration is complete...
CIAO 4.15 Monday, November 21, 2022
  bindir      : /soft/ciao-4.15/bin
  CALDB       : 4.11.0

unix% echo $PFILES
/home/username/cxcds_param4;/soft/ciao4.15/contrib/param:/soft/ciao4.15/param

unix% paccess dmgti
/home/username/cxcds_param/param/dmgti.par

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

unix% ciao
unix% echo $PFILES
/home/username/cxcds_param4;/soft/ciao-4.16/contrib/param:/soft/ciao-4.16/param

unix% paccess dmgti
/home/username/cxcds_param4/dmgti.par

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.


CIAO and FTOOLS

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.16:

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
/home/username/cxcds_param4:/home/username/pfiles;/soft/ciao-4.16/contrib/param:
/soft/ciao-4.16/param:/soft/lheasoft/headas/x86_64-pc-linux/syspfiles 

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.


History

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.
27 Nov 2023 Updated for CIAO 4.16.