CIAO 4.11 Release Notes
CIAO 4.11 is distributed for the following platforms:
- Linux 64 bit (CentOS 6.9 / Red Hat Enterprise 6)
- Linux 64 bit (Ubuntu 14.04)
- Apple macOS 10.14 (Mojave), using the High Sierra build
- Apple macOS 10.13 (High Sierra)
- Apple macOS 10.12 (Sierra)
- Apple OS X 10.11 (El Capitan)
CIAO 4.11 is the first release to only support Python 3 (it includes Python version 3.5.4), and also to include matplotlib version 2.2.3, the Jupyter notebook system, and support Python package installation into CIAO with pip3.
There is no support for 32 bit operating systems, or old Linux (CentOS 5 era) or macOS platforms (OS-X Yosemite and earlier). More details can be found on the Platform Support page.
- Notable changes and improvements in CIAO 4.11
- How CALDB 4.8.5 Affects Your Analysis
- How CALDB 4.8.4.1 Affects Your Analysis
- How CALDB 4.8.4 Affects Your Analysis
- How CALDB 4.8.3 Affects Your Analysis
- How CALDB 4.8.2 Affects Your Analysis
- Installation
- Tools
- Parameter Files
- IPython, Sherpa, and ChIPS
- ChIPS
- Sherpa
- Graphical User Interfaces
- Analysis Scripts
- Python Modules
- Libraries
- Environment
- Documentation
Notable changes and improvements in CIAO 4.11
-
This is primarily a maintenance release: bug fixes, supporting new compilers and OTS upgrades.
-
Only Python 3.5 is provided, since support for Python 2.7 in the scientific software ecosystem is diminishing.
-
CIAO now includes some commonly-used Python packages, namely matplotlib version 2.2.3, using the TkAgg backend, and jupyter notebook support.
A quick guide to converting from ChIPS to Matplotlib is provided.
Users can also use pip3 to install additional packages into their CIAO distribution, assuming they have write permission to the installation.
unix% pip3 list --format=columns
will display the list of Python packages installed with CIAO.
To support encrypted https:// access in Python - which is required by pip3 - it may be necessary for users to install version 1.0 of the Secure Socket Library (libssl.so.1.0). A simple check is to run (after starting CIAO):
unix% python -m ssl
The installation of OpenSSL is only needed if this command errors out.
Pure Python packages such as astropy and scipy are supported. Python packages which require compiling against C/C++ libraries may not build correctly.
-
CIAO includes version 8.0 of SAOImage ds9. Users are reminded that they now need to change the Edit mode setting in order to select or create regions in recent versions of ds9. Please see the watchout page for more information on this.
SAOImageDS9 v8.0 highlights include:
New backward compatible reimplementation of the interface controlling the command line, XPA, and SAMP. Implemented using formal parsers the API will provide error detection feedback: should an error be detected while processing a command, DS9 will now indicate to the user exactly where the error occurred and suggest options.
WCS support has been reimplemented to fully support FITS WCS Papers I, II, and III. In addition to supporting the official WCS standards (including generic non-equatorial celestial systems), a number of non-standard WCS definitions are also supported.
-
Sherpa includes both the changes made in the October 2018 standalone 4.10.1 release and a number of updates since. The XSPEC models have been updated to version 12.10.0e.
The default option is for Sherpa to use ChIPS for plotting, but the plot_pkg setting in the Sherpa resource file can be changed to select Matplotlib.
As a reminder, Sherpa is also available as a stand alone system, accessible from the Sherpa GitHub repository or from the standalone Sherpa page.
-
Several tools have been updated including
-
The celldetect tool now requires users supply an input PSF map: an image whose pixel values represent the size of the PSF at each location. For Chandra datasets, user may use the mkpsfmap tool or the updated functionality in fluximage, flux_obs, or merge_obs to create a PSF map.
-
dmextract now compute the mean radius, RMID, column automatically when creating radial profiles.
-
dmhedit and others have been updated to produce errors when asked to modify various read-only files such as compressed files or insufficient permissions.
-
- A new Python history module has been added to allow crates to propagate HISTORY records from the input to the output. It also allows scripts to create CXC standard history records compatable with the dmhistory tool.
-
There have been several script updates since the CIAO 4.10 release including:
-
Update to chandra_repro to include additional columns in the evt2 file for HRC datasets.
-
Update to fluximage to create a PSF map for the observation (this is optional), and to the flux_obs and merge_obs scripts to merge these PSF maps (if created). These PSF maps are needed to run wavdetect and celldetect.
-
The fullgarf script can now be used to process MARX-simulated data, by setting the new ardlibqual parameter.
-
Update to find_chandra_obsid to support the new secure CXC servers.
-
The convert_xspec_user_model script has been removed. Please contact the CXC Helpdesk if you find this script useful and would like to see it resurrected.
-
How CALDB 4.8.5 Affects Your Analysis
CALDB 4.8.5 Release Notes (release 07 November 2019)
ACIS Imaging and Grating Data
-
ACIS QE Contamination Model vN0013
The ACIS QE contamination model has been upgraded to N0013:
acisD1999-08-13contamN0013.fits
Recent calibration work has shown that observations of previously-observed cosmic sources, such clusters of galaxies and supernova remnants, have resulted in unexpected increased temperatures and reduced flux levels that have been traced to a deviation of the ACIS contaminant model from calibration measurements, specifically to improve its performance since about 2018 for center-array optical depths and for center-to-edge spatial modeling since about 2015. More specifically, the new model specifies a linear layer depth with time since 2016, as well as a linear center-to-edge dependence with time since around 2010-2011.
The affects of the prior contamination model's deviation most readily affected extended sources observed since mid-2018 on ACIS-I, but any ACIS observation made since 2018 should use the new CalDB to generate contamination-dependent data products.
More information about the N0013 contamination models, and prior versions, can be found in the ACIS QE contamination model Why document. A detailed presentation of the derivation of the new model—and the resulting changes in the estimated time-dependent effective area of ACIS-I and ACIS-S—is in the technical details section of the CALDB 4.8.5 Release Notes.
These CIAO response tools automatically apply the contamination file when creating ACIS response files:
As well as the scripts which use them:
- specextract (calls mkwarf and mkarf)
- fullgarf (calls mkgarf)
- fluximage (calls mkinstmap)
- merge_obs/flux_obs (calls mkinstmap)
How CALDB 4.8.4.1 Affects Your Analysis
CALDB 4.8.4.1 Release Notes (release 12 September 2019)
ACIS Imaging and Grating Data
-
Corrections for the Time-dependent ACIS Gain (T_GAIN) Files for Epochs 75+76 and 77+78
A previously undetected error in the calibration products for the T_GAIN files for the combined epochs 75+76 and 77+78, which covers the period of August 2018-July 2019, has be corrected. Only ACIS chips 0, 1, 2, 3 and 6 have been affected. This error produced alternating columns of zero correction values for the CalDB T_GAIN files in their DELTPHA2 and DELTPHA1 vector columns.
Your data have been affected by these errors if the following three conditions are all met in your Level 2 events list(s):
- You have ACIS data with any of the chips ACIS-I0, I1, I2, I3, or S2 (i.e. ACIS-0, 1, 2, 3, or 6 in evt2 keyword DETNAM).
- Your data have evt2 keyword DATE-OBS later than 2018-05-02T12:00:00.
-
Your data have evt2 keyword TGAINFIL set to exactly any
of these eight filenames:
- acisD2018-05-02t_gainN0005.fits
- acisD2018-05-02t_gainN0006.fits
- acisD2018-11-01t_gainN0002.fits
- acisD2018-11-01t_gain_biN0002.fits
- acisD2018-11-01t_gainN0005.fits
- acisD2018-11-01t_gainN0006.fits
- acisD2019-05-02t_gain_biN0002.fits
- acisD2019-05-02t_gainN0002.fits
Otherwise, your data are NOT affected by the error.
The error was detected by 05 September 2019, and corrected in processing on 2019-09-06T17:31:43 (UTC). Any data sets processed in SDP after that date are unaffected by the error. All affected ObsIDs will be reprocessed for the archive using the correctioned T_GAIN files released in CalDB 4.8.4.1.
How CALDB 4.8.4 Affects Your Analysis
CALDB 4.8.4 Release Notes (release 03 September 2019)
ACIS Imaging and Grating Data
-
Time-dependent ACIS Gain (T_GAIN) Files for -120 C Data
The new, combined time-dependent ACIS Gain (T_GAIN) file for May-July 2019 (Epoch 78) and February-April 2019 (Epoch 77) are introduced. The combined Epochs 75+76 file has also been updated since CALDB 4.8.3. Therefore, the new T_GAIN affects observations taken since 2018 August 01. Other observations are unaffected by these new calibration files.
Users working with ACIS data taken since 2018 August 01 may wish to run chandra_repro and reprocess the data to improve the T_GAIN calibration. The DATE-OBS header keyword records the observation start date.
See the time-dependent ACIS T_GAIN why page for more information.
The gain corrections are at the nominal and expected levels of less than 1% of the energy value and users interested in CCD spectroscopy may benefit in applying the new gain adjustment. Grating spectroscopy benefits as well, in the form of improved order sorting. It is unnecessary to apply this adjustment for only doing timing or imaging analysis, although doing so will not have a negative effect.
Note that only spectra with several hundreds of counts and/or prominent features (in emission or absorption) will show changes from the T-gain refinement that exceed the uncertainties from the gain calibration.
HRC Data
-
HRC-S Time-Dependent QEU Files
The HRC-S time-varying quantum efficiency uniformity files have been replaced with a new set, calculated based on unfiltered calibration observations. This latest set (N0012) shows minimal change over the prior set of QEU files, but incorporates results from the latest HZ43 calibration observations. In general, this latest set accounts for an additional 2.55% of QE loss over the 0.060-0.652 keV range for the zeroth-order and ~2.35% loss for dispersed orders; above that range is essentially unchanged. The set of QEU files are unevenly distributed in effective dates and affects every HRC-S observation since the start of the mission.
These CIAO tools and scripts automatically apply the HRC-S QE and QEU files when creating response files:
-
HRC Non-Grating RMF Files
No change has been made to the response matrix curves themselves, but the N0002 revision maps the energy scale to a finer photon energy array grid. This change is primarily intended to support HRC calibration efforts.
The HRC-I grid uses an LETG-like constant wavelength separation grid of 0.0125 Å at low energies and a constant energy separation grid of 0.01 keV at high energies. The HRC-S grid used to have a locally variable gridding loosely following constant wavelength separation grid, and is now fixed to a constant wavelength separation grid of 0.0125 Å throughout.
The RMF can be used to calibrate hardness ratios or quantile color-color diagrams (QCCD) to distinguish between gross differences in the spectra. We do not advocate using this RMF in spectral fits; the spectral response is not sufficiently constraining to achieve a good fit with reasonable errors. If unavoidable, work in channel space [set_analysis("channel") in Sherpa], not energy space.
How CALDB 4.8.3 Affects Your Analysis
CALDB 4.8.3 Release Notes (release 23 May 2019)
ACIS Imaging and Grating Data
-
Time-dependent ACIS Gain (T_GAIN) Files for -120 C Data
The new, combined time-dependent ACIS Gain (T_GAIN) file for August-October 2018 (Epoch 75) and November 2018-January 2019 (Epoch 76) are introduced. The combined Epochs 73+74 file has also been updated since CALDB 4.8.0. Therefore, the new T_GAIN affects observations taken since 2018 May 02. Other observations are unaffected by these new calibration files.
Users working with ACIS data taken since 2018 May 02 may wish to run chandra_repro and reprocess the data to improve the T_GAIN calibration. The DATE-OBS header keyword records the observation start date.
See the time-dependent ACIS T_GAIN why page for more information.
The gain corrections are at the nominal and expected levels of less than 1% of the energy value and users interested in CCD spectroscopy may benefit in applying the new gain adjustment. Grating spectroscopy benefits as well, in the form of improved order sorting. It is unnecessary to apply this adjustment for only doing timing or imaging analysis, although doing so will not have a negative effect.
Note that only spectra with several hundreds of counts and/or prominent features (in emission or absorption) will show changes from the T-gain refinement that exceed the uncertainties from the gain calibration.
HRC-S Data
-
HRC-S GAPLOOKUP (degap) Upgrades
The HRC-S calibration team has found a small error in the determination of the plate edge positions, traced to certain offsets that had been hardcoded in hrc_process_events, resulting in LETGS energy scale inaccuracies. Corrected offset values have been determined, varying with HRC plate, and stored in the HRC-S gap lookup tables, usable by the hrc_process_events released with CIAO 4.11, allowing a better calibration of the LETGS energy scales.
A collection of degapping memos, reports, and presentations; and a general overview on HRC degapping can be found on the HRC Degap why page.
It is recommended that all archival HRC-S/LETG data be reprocessed with the new GAPLOOKUP tables.
-
HRC-S Time-Dependent QEU Files
The HRC-S time-varying quantum efficiency uniformity files have been replaced with a new set, calculated based on unfiltered calibration observations. This latest set (N0011) shows minimal change over the prior set of QEU files, but incorporates results from the latest HZ43 calibration observations. In general, this latest set accounts for an additional 2.5% of QE loss over the 0.060-0.652 keV range; above that range is essentially unchanged. The set of QEU files are unevenly distributed in effective dates and affects every HRC-S observation since the start of the mission.
These CIAO tools and scripts automatically apply the HRC-S QE and QEU files when creating response files:
How CALDB 4.8.2 Affects Your Analysis
CALDB 4.8.2 Release Notes (release 13 December 2018)
HRC Imaging and Grating Data
-
HRC-I Gain Maps
The latest time-dependent HRC-I Gain Map (GMAP) and the corresponding PI background spectrum—to be applied to observations after 2018 September 17, have been released.
Note that HRC-I gain maps are only useful to observers doing hardness ratio or PI spectral analysis studies with HRC-I.
As the HRC gain continues to slowly decline, the gain maps are updated annually. The change in gain correction is less than 1% on-axis and roughly 5-10% off-axis. Towards the edge of the microchannel plate, the change is up to 15%. Technical details on the creation of the gain maps are described in the calibration memo "SUMAMPS-based Gain Maps for HRC-I" and the in the HRC-I Gain Map Why Document.
The corresponding background spectrum applicable to the same HRC-I GMAP time period have been generated.
Users working with HRC-I data may wish run chandra_repro to reprocess the data and improve the gain calibration.
-
HRC-S Time-Dependent QEU Files
The HRC-S time-varying quantum efficiency uniformity files have been replaced with a new set, calculated based on unfiltered calibration observations. This latest set (N0010) accounts for an additional ~2.5% of quantum efficiency loss over the 0.060-0.652 keV range; above that range, the change is minimal over the prior set of QEU files. The set of QEU files are unevenly distributed in effective dates and affects every HRC-S observation since the start of the mission.
These CIAO tools and scripts automatically apply the HRC-S QE and QEU files when creating response files:
Installation
Users should be aware of these installation items before installing CIAO 4.11. Additional problems which are seen less frequently are listed on the Installation & Smoke Tests bug page.
Supported Platforms
-
CIAO 4.11 is supported on:
- Linux 64 bit (CentOS 6.9 / Red Hat Enterprise 6)
- Linux 64 bit (Ubuntu 14.04)
- Apple macOS 10.14 (Mojave), using the High Sierra build
- Apple macOS 10.13 (High Sierra)
- Apple macOS 10.12 (Sierra)
- Apple OS X 10.11 (El Capitan)
Updates to the ciao-install Installation Script
-
ciao-install now uses curl by default to download the CIAO packages, falling over to wget if curl is unavailable.
-
Users now see a progress bar showing the completion for each of the files that are downloaded (when using curl).
-
Corrected an issue in the configure script which caused problems when updating or installing CIAO in a terminal where CIAO was already setup.
-
The smoke tests have been updated to avoid conflicts due to the different versions of IPython used by CIAO (e.g. CIAO 4.10 provided IPython 4.2.0 whereas CIAO 4.11 contains IPython 6.5.0).
-
Some smoke tests will now be skipped if there is no X window installation (or the DISPLAY environment variable is not set), reported as SKIP, rather than running and failing.
IPython Settings
-
Users will be prompted to update their IPython profiles the first time they run sherpa and chips. Note that the IPython version provided by CIAO 4.11 is now 6.5.0 (it was 4.2.0 in CIAO 4.10).
-
The IPython profiles for chips and sherpa have been updated to take advantage of the capabilities of the latest IPython versions. Users will notice a change to the standard start-up message, a different command prompt, enhanced command completion, and most users will see color-coded output.
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_process_events
-
Corrects problem prohibiting reapplying gain corrections to blank sky background files (lack of a TIME column).
aconvolve
-
Tool now copies the image units from the input to the output.
acrosscorr
-
Tool now copies the image units from the input to the output.
-
Tool now copies the WCS from the input to the output.
addresp
-
Corrects the ONTIME and related keywords in the output .arf files when the input .arf files do not contain GTI extensions. This affects the grating ARFs.
arestore
-
Tool now copies the image units from the input to the output.
-
Tool now copies the WCS from the input to the output.
celldetect
-
The psftable, eband, and eenergy parameters have been removed. Users must now supply the psffile, a PSF map, eg the output from the mkpsfmap or use a fixed cell size. This change brings celldetect in line with wavdetect and allows it to operate on merged Chandra datasets as well as non-Chandra datasets.
In the case where the dataset is large enough that it triggers the recursive binning algorithm (dimension larger than maxlogicalwindow size), users must supply a separate PSF map for each bin. This is similar to what is required when using exposure maps. The psffile parameter accepts standard stack syntax.
Due to the asymmetry in the PSF, the way the recursive blocking is done has been re-implemented. This may reduce the number of duplicate, DOUBLE, detections.
-
The PSFRATIO column is now computed using the values from the input psffile PSF map. Before it was computed using the psftab calibration at 1.0keV for a 0.393 ECF ellipse. When using a fixedcell, the PSFRATIO will now be NaN.
-
A new algorithm has been added to try to catch sources whose signal-to-noise ratio is artificially diminished due to the coarse binning used by celldetect (ie a source split between two detect cells). When the snr_diminution parameter is set less than 1.0, cell blocks (ie sources) with SNR above snr_diminution * thresh will be evaluated on a finer grid to check whether there is a source above thresh value is detected.
The default is snr_diminution=1.0, which disables this additional check.
csmooth
-
Tool now copies the image units from the input to the output.
-
Tool now copies the WCS from the input to the output.
dmappend
-
Improved error checking when attempting to modify read-only files. This includes file-system level write permissions, attempting to modify compressed files, attempting to modify non-standard files (eg pipes like STDIN and URLs using http:// or ftp://).
dmdiff
-
Extended checking of WCS to include additional parameters such as rotation angle.
dmextract
-
Now includes the RMID column (mean radius) when extracting radial profiles, ie with opt=generic.
dmhedit
-
Improved error checking when attempting to modify read-only files. This includes file-system level write permissions, attempting to modify compressed files, attempting to modify non-standard files (eg pipes like STDIN and URLs using http:// or ftp://).
dmhistory
-
Improved error checking when attempting to modify read-only files. This includes file-system level write permissions, attempting to modify compressed files, attempting to modify non-standard files (eg pipes like STDIN and URLs using http:// or ftp://).
dmmakereg
-
The kernel=ascii output now uses SAOImageDS9 v4.1 format. The format changes from
# Region file format: DS9 version 3.0 global color=blue font="helvetica 10 normal" select=1 edit=1 move=1 delete=1 include=1 fixed=0 physical;Circle(4096,4096,10) #
to
# Region file format: DS9 version 4.1 global color=blue dashlist=8 3 width=1 font="helvetica 10 normal roman" select=1 highlite=1 dash=0 fixed=0 edit=1 move=1 delete=1 include=1 source=1 physical Circle(4096,4096,10) #
-
Improved error checking for invalid region syntax
dmreadpar
-
Improved error checking when attempting to modify read-only files. This includes file-system level write permissions, attempting to modify compressed files, attempting to modify non-standard files (eg pipes like STDIN and URLs using http:// or ftp://).
dmtype2split
-
The output block will now be "SPECTRUM" if not otherwise specified. This allows the files to be used with tools and scripts with are expecting standards compliance.
-
Improved error checking with unsupported column data-types.
hrc_build_badpix
-
Corrects the location of the chip edge boundary after degap correction.
hrc_process_events
-
The standard HRC event definition, stdlev1 , has been modified to include the SAMP (sum of amplifiers) value.
-
Corrects the location of the chip edge boundary after degap correction.
reproject_events
-
Now copies the RA_PNT, DEC_PNT, ROLL_PNT, DY_AVG, DZ_AVG, and DTH_AVG from the matchfile to the output file when processing blank sky files. This allows tools such as dmcoords to compute correct coordinates.
srcextent
-
The srcextent tool has been updated to include changes made during development of version 2 of the Chandra Source Catalog.
The default for the srcsize parameter has been changed to -1, which means that the Chandra PSF size is calculated based on the off-axis angle of the source, which is given by the new theta parameter.
The sigmafactor and psfblur parameters are also new. These control the scaling of the input source-region ellipse size - to scale to a 90% enclosed encircled-counts fraction (ECF) - and any additional blurring to account for residual astrometric blurring in the PSF. If users have already applied a blurring to the PSF when it was created they should set psfblur=0.
tg_resolve_events
-
The standard HRC event definition, stdlev1_HRC , has been modified to include the SAMP (sum of amplifiers) value.
tg_create_mask
-
The default extraction width for LETG has been increased to width_factor_letg=300. This allows the grating coordinates to be computed for more events when doing custom extractions.
tg_resolve_events
-
Allows clobber to work when file exists with .gz extension.
tgdetect
-
Updates to support changes in the celldetect interface. With psffile=CALDB tgdetect will run mkpsfmap at the specified eband and eenergy values; and use that PSF map as input to celldetect.
Parameter Files
A summary of parameter files changes is provided in this section. 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.
celldetect
-
The following parameters have been removed: psftable, eband, and eenergy. Users must now supply the PSF size information via a separate PSF map input file.
-
The psffile parameter is new. It is used to supply the filename for the input PSF map file (or stack of files).
-
The snr_diminution parameter is new. This new algorithm reduces the thresh value temporarily and lets celldetect search marginal detect cells on a finer grid for a detection above thresh.
-
The following parameter defaults have changed: maxlogicalwindow=8192
hrc_process_events
-
The standard HRC event defintion strings have been modified to include the SAMP column. This includes the following parameters: stdlev1, badlev1, hsilev1, simlev1, fltlev1
srcextent
-
The srcsize parameter has a new default equal to -1. This instructs the tool to use the new theta value to lookup the Chandra PSF size for the initial guess at the source size.
-
The new sigmafactor parameter is used to scale the estimated source size. The intent is to scale the ellipse to a 90 percent ECF.
-
The psfblur factor is added to the fitted size of the ACIS PSF. Users should set this value to 0, if they have already included blurring when they created their PSFs.
tgdetect
-
Based on the changes to celldetect the following parameter have been removed or changed: psftable, psffile, xoffset, yoffset, snr_diminution
-
When psffile=CALDB, tgdetect will run mkpsfmap. tgdetect passes these parameters through to mkpsfmap: spectrum, units, geompar, eband (energy), and eenergy (ecf).
tg_create_mask
-
The default width_factor_letg=300 which allows most of the events on the HRC-S detector to be assigned grating coordinates.
tg_resolve_events
-
The default HRC event definition, stdlev1_HRC, has been extended to include the SAMP column.
IPython, Sherpa, and ChIPS
The prompt for Sherpa and ChIPS has changed from sherpa-n> and chips-n> to sherpa In [n]: and chips In [n]:, and there is now an "output" prompt (which is much closer to the default IPython settings). The prompts are now also colored (green for input and red for output). The on-line documentation has not been updated to this new scheme (where the prompt is normally sherpa> or >>>).
The start-up banner for both applications now includes the Python and IPython version numbers.
The following section shows an example of both changes for Sherpa:
unix% sherpa ----------------------------------------------------- Welcome to Sherpa: CXC's Modeling and Fitting Package ----------------------------------------------------- CIAO 4.11 Sherpa version 1 Wednesday, December 5, 2018 Python 3.5.4 (default, Oct 15 2018, 13:47:46) Type 'copyright', 'credits' or 'license' for more information IPython 6.5.0 -- An enhanced Interactive Python. Type '?' for help. IPython profile: sherpa sherpa In [1]: get_method_name() Out[1]: 'levmar' sherpa In [2]: quit
CIAO 4.11 is the first version to include support for Jupyter notebooks. These allow people to interact with Python sessions using a web-based interface, and to share these notebooks between colleagues. It is also possible to add support for running "bash" notebooks, so that command-line CIAO applications can also easily be run in the notebook environment.
Once CIAO has been started up, the notebook server can be run with the command:
unix% jupyter notebook
and then it may open up a browser window for you automatically (depending on the operating system and configuration). If not, the screen output from the above command will include the URL to use, in a section which looks like
Copy/paste this URL into your browser when you connect for the first time, to login with a token: http://localhost:8888/?token=...a rather long hexadecimal number ...
The result of going to this URL will look something like the following (the exact output depends on what files exist in the directory from which the command was run):
Starting the Jupyter notebook server
Please contact the CXC Helpdesk if you have problems with the notebook support in CIAO, or need help in using it.
ChIPS
The CXC has decided to freeze support for ChIPS and move to using Matplotlib, alongside DS9, as the primary plotting and visualization systems in CIAO.
In the CIAO 4.11 release, ChIPS is still provided, and is the default plotting system for Sherpa (although Sherpa can be configured to use Matplotlib instead), as well as being used by prism and the ds9 analysis extensions (dax) systems. ChIPS will however be removed in a future release of CIAO.
Version 2.2.3 of Matplotlib is provided with CIAO, using the TkAgg back end for interactive visualizations. A conversion guide is provided for users who would like to transition from ChIPS to Matplotlib. Please contact the CXC Helpdesk if you have further questions or encounter problems.
Sherpa
Sherpa is developed as a community project, and is available on GitHub. Comments, fixes, and additions from the community are welcomed. 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 page.
Switching to Matplotlib
-
The default behavior is for Sherpa to use ChIPS for its plotting in CIAO 4.11, but it can be changed to use Matplotlib instead, as described in ahelp sherparc and below.
The file ~/.sherpa.rc (i.e. in a user's home directory) is used by Sherpa to determine a number of settings, including which plotting package to use. If you do not already have this file then run the sherpa command, which will create a copy for you. If you have used Sherpa before (e.g. with CIAO 4.10 and earlier) then we suggest you move the existing file to a copy and re-run sherpa, in case the default settings have changed. Once you have this file, edit it with a text editor so that the plot_pkg line is set to pylab rather than chips:
unix% grep plot_pkg ~/.sherpa.rc plot_pkg : pylab
After this, any new Sherpa session (whether started via the sherpa shell or imported directly into a Python script with the import sherpa.astro.ui statement) will now use Matplotlib for plotting.
Please note:
-
Users should use both %matplotlib and import matplotlib.pyplot as plt in Sherpa to ensure that Matplotlib is running in interactive mode, and that the library is accessible if changes need to be made to the plots.
-
Sherpa contains a number of functions that change the plot preferences (i.e. how new plots will be displayed), such as set_xlog. However, users may be used to using ChIPS commands - such as limits and log_scale - to change existing plots. Please see the Matplotlib for ChIPS users guide to find out the appropriate functions to use.
-
Once the ~/.sherpa.rc file has been changed, it will be used even if Sherpa from CIAO 4.10 (or earlier) is run, which will cause the following warning message to be displayed when Sherpa is started:
WARNING: failed to import sherpa.plot.pylab_backend; plotting routines will not be available
-
XSpec
-
The XSPEC models have been updated to version 12.10.0e (#465).
The following additive models have been added: xsbrnei, xsbvrnei, xsbvvrnei, xsgrbcomp, xsjet, xsssa, and xszcutoffpl.
The minimum value of the Gamma parameter of the xsoptxagnf model has been increased from 0.5 to 1.05, to match the values used by XSPEC 12.10.0.
Internal changes to the following models may result in small numerical differences compared to XSPEC 12.9.1e used in CIAO 4.10: xsc6mekl, xsc6pmekl, xsc6pvmkl, xsc6vmekl, xsnsmax, xsnsmaxg, xsnsx, xsacisabs, xsswind1, and xszxipcf.
Bug fixes
-
The updates in this version of Sherpa are listed below.
- #481 Change the implementation of the LevMar optimiser
-
The implementation of the Levnberg-Marquardt optimiser has changed from Fortran to C++. This should not make any significant chanegs to fit results, although some small numerical differences may be present.
The main user-visible result of this change is that the covariance matrix calculated by the LevMar optimiser is now returned from the fit which means:
- when using the levmar optimiser, an estimate of the parameter error will be displayed along with the fit parameter (in a manner analogous to XSPEC);
- the FitResults instance returned by get_fit_results now contains a covar field, which will be a N by N NumPy array when levmar is used.
This information should not be relied on for estimating parameter errors, as the conf and covar routines are much-more robust.
- #484 Support calculating errors on equivalent widths
-
The eqwidth function can now be used to calculate error estimates for the equivalent width value, by setting the error argument to True.
Note that the ahelp file for eqwidth has not been updated to reflect this change. Please use the Python help system for more information, for example:
sherpa> help(eqwidth)
- #469 Model evaluation can be on a different grid to the data
-
Sherpa users can now define arbitrary grids, called evaluation spaces, on which to evaluate individual model components, both in 1D and 2D. This can be useful in a number of cases, for instance when it is desirable to evaluate models on a finer grid than the one defined by the data, or in convolution models where information outside of the data range can be used to reduce boundary effects or to inform the evaluation inside the data space. Also, when plotting individual 1D model components with plot_source_component, if a specific evaluation space was attached to the model then the plot will be of the model evaluated over that evaluation space, not the data space. Other plotting commands should be unaffected by this change.
- #482 Add create_arf and create_rmf functions
-
Two new functions for creating ARF and RMF objects have been added: create_arf and create_rmf. These are primarily intended for simulations or modelling future missions, but can be used in normal analysis. There are no ahelp files for these functions, so please use the Python help system: e.g.
sherpa> help(create_rmf)
- #487 New checks that PSF and data grids match
-
Sherpa will now display a warning if the pixel sizes do not match between images and PSF data (for two-dimensional data).
- #486 Avoid a ZeroDivisionError from the calc_stat_info function
-
The calc_stat_info function no-longer raises a ZeroDivisionError if called when the number of degrees of freedom in the fit was zero and the statistic supported a "goodness of fit" measure (such as the chi-square and CStat based statistics).
- #407, #422, #466, #470, #475, #508 Improve error handling
-
These changes improve the behavior of Sherpa in the case of an error. They do not have any impact on normal use, other than the removal of several DeprecationWarning messages.
- #471 Avoid clobber deprecation warnings with the AstroPy I/O backend.
-
The following is only relevant if the AstroPy backend is used for input/output. That is, if io_pkg is set to pyfits in the users ~/.sherpa.rc file, which is not the default setting in CIAO.
The AstroPy code for file output now uses the overwrite argument rather than clobber, which stops the display of DeprecationWarnings.
Graphical User Interfaces
obsvis
-
Updates to be compatible with SAOImageDS9 v8.0.
peg
-
Corrects location of in-application help file.
taskmonitor
-
Corrects location of in-application help file.
Analysis Scripts
chandra_repro
-
The script has been updated for HRC to keep all the standard columns defined in the hrc_process_events stdlev1 event-definition parameter. This now also includes the SAMP column.
dax
- Clarified error messages to indicate that users must have regions selected to perform spectral or spatial fits. Additional internal changes to use python scripts to perform sherpa fits rather than using sherpa IPython wrapper.
fluximage
-
Can now create a PSF map (an image showing the PSF size at each pixel) using the psfecf parameter (the image is not created by default).
flux_obs
-
Can now create a PSF map (an image showing the PSF size at each pixel) using the psfecf parameter (the image is not created by default).
fullgarf
-
The script has a new parameter, ardlibqual , that allows users to pass ardlib qualifiers to the calls to mkgarf. This is useful for handling spectra simulated with MARX.
merge_obs
-
Can now create a per-observation PSF map (an image showing the PSF size at each pixel) using the psfecf parameter (the image is not created by default). A combined PSF map is created based on the psfmerge parameter setting.
splitroi
-
Updated to use point(0,0) when it finds a blank source or background region. This restores the behavior of the script to what is was before changes that were made in CIAO 4.10.
ciao_contrib.runtool
-
Updated for parameter changes in this release.
sherpa_contrib.xspec.xsconvolve
-
Updated the experimental support for XSPEC convolution models to add support for the following XSPEC models: lumin, load_xscpflux, load_xsrfxconv, load_xsrgsxsrc, load_xsvashift, load_xsvmshift, and load_xsxilconv.
convert_xspec_user_model
-
The script has been removed as it has not been updated to support XSPEC 12.10.0e (which is provided with CIAO 4.11). Please contact the CXC Helpdesk if you find this script useful and would like to see it added back to the contributed package.
chips_contrib.pyplot
-
As CIAO 4.11 provides Matplotlib, the experimental API for providing a Matplotlib-like API for ChIPS users has been removed.
Python Modules
crates
-
crates will now copy the COMMENTS and HISTORY records from the input crate to the output by default. Users can disable this using the write method's new history=True|False option.
The following method have been added to pycrates to access, delete, and add to the HISTORY and COMMENT records: add_record, get_all_records, get_comment_records, get_history_records, add_comment, delete_comments, add_history, delete_history, print_history.
>>> import pycrates >>> help(pycrates.add_history)
-
Corrects problems using get_subspace_data with an IMAGECrate.
history
-
A new module to create ASC-FITS compliant HISTORY records. These HISTORY records can be written by crates and then used with tools such as dmhistory to access the processing history of a file.
>>> import history >>> help(history)
cxcdm
-
Correct problem when trying to exceed number of rows in table.
-
Improve error checking when attempting to access invalid pixel ranges.
-
Improved error checking for attempting to access subspace for text and bool columns.
region
-
Correct exception when trying to write ASCII regions using the newline option.
-
Plugged various memory leaks.
Libraries
cxcparam
-
Fix string buffer problem when the parameter value for a f (file) type was longer than 2048 characters. The value is now truncated with a warning.
dslib
-
Internal cleanup when requesting unsupported output kernel formats.
dm
-
The DM internal buffer has been increased from 50Mb to 500Mb. Users may see some speed improvements when working with I/O heavy tasks on large files, but the main noticeable difference is that the CIAO 4.10 (and earlier) warning
# DMCOPY (CIAO 4.10): WARNING: Creating large image: 134 MB. Current max set at 50 MB. Increase maximum using [opt mem=n] or increase blocking to reduce size.
will be displayed a lot less (unless users regularly make 500Mb or larger images).
transforms
-
A memory leak from copying WCS transform data has been fixed.
Environment
Off-the-Shelf (OTS) Package Versions
-
The following OTS packages are included with CIAO 4.11. For more information on how the OTS packages are built for use with CIAO, refer to the INSTALL_SOURCE file distributed with the software.
Executables
- ds9 8.0
Python
- Python 3.5.4
Frameworks on OSX have been disabled to avoid a problem with users picking up the wrong version of NumPy. - NumPy 1.12.1
- ipython 6.5.0
- six 1.10.0
- pip 9.0.1
Using pip3
If the following command errors out:
unix% python -m ssl
then users will have to download and install version 1.0 of the Secure Socket Library, libssl, in order to use pip3 to install packages.
The CXC is unable to provide this library due to possible export restrictions. This library must be installed in a system directory, ie /usr/lib, or into the ciao-4.11/ots/lib directory.
- setuptools 28.8.0
- cython 0.25.2
- matplotlib 2.2.3
- jupyter 1.0.0
- pytest 3.3.1
Libraries
- cfitsio v3.450
- readline 6.3
- wcssubs 3.9.5
- XSPEC v12.10.0e (models only)
- fftw 3.3.6
- gsl 2.3
- xerces 3.1.4
- VTK 5.10.1
- CCfits 2.5
- fontconfig 2.8.0
- freetype 2.4.4
- vte 0.25.1
- xpa 2.1.15
- jpeg 9b
- tcl 8.6.7
- tk 8.6.7
Compiler versions
-
The following versions of the gcc compiler were used to compile the binary CIAO releases:
System Build System Version Linux64 CentOS 6 gcc 4.8.5 LinuxU Ubuntu 14.04 gcc 4.8.4 osxy Yosemite llvm 7.0.3 osxSierra Sierra llvm 8.1.0 osxHS High Sierra llvm 9.1.0