Skip to the navigation links
Last modified: 28 October 2009


CIAO 3.0.2 Release Notes



  • Tap-ringing correction now applied by default (do_amp_sf_cor=yes)
  • New tap-ringing correction algorithm; requires updated calibration data in CALDB 2.25
  • Now clears settings of status bits before recomputing them


  • Fixed bug where mkrmf generated a one-bin shift if user-specified energy lower bound was beyond the FEF energy lower limit


  • Changed default fixed cell size for ACIS CC mode (fixedcell_cc_mode) to 15

Proposal Tools

  • For information on updates and new functionality in the proposal planning tools, please see the Proposer web pages.


New Functionality

  • Robustness and reliability of Sherpa 2-D image fitting have been greatly improved.
  • Support for dummy instruments and data sets has been added. Check details in ahelp instrument.
  • Users can now set contours levels in contour plots generated by cplot via a new variable in the Sherpa state object, sherpa.con_levs; see ahelp sherpa for details. This change applies to cplot only; it has no effect on confidence plots generated with region-projection and region-uncertainty.
  • Variable - sherpa.deleteframes - has been added to the state object. It allows for deleting or creating ds9 frames with IMAGE command. See ahelp sherpa for details.
  • Support for multi-dimensional data on non-uniform grid has been added.

Changes to Models

  • Radial profile analysis have been improved. The two instrument models fpsf1d and tpsf1d, have now additional parameter, radial, which needs to be set to 1 for the radial profile analysis.
  • The order of parameters in beta2d model has been changed. The alpha parameter is now last.
  • The parameter convTyp has been renamed to fft in the following models: fpsf1d, fpsf2d, tpsf1d, tpsf2d, and rsp2d. If fft = 1, use Fast Fourier Transforms in convolution; if fft = 0, don't (i.e. use the sliding cell method).
  • The default integration setting has been changed from ON to OFF for all 2D models except const2d, delta2d, polynom2d. For typical 2D analyses in image coordinates, the difference between ON and OFF is that ON integrates the model over the pixel, thus takes into account some model curvature within that pixel, while OFF assumes the value at the center of the pixel and can lead to faster analyses.

Changes to Sherpa/S-Lang Module

  • Several functions have been added to the Sherpa/S-Lang module:
    • get_analysis - returns a string showing the current analysis setting for the specified dataset.
    • set_analysis - sets the analysis for the specified dataset.
    • get_coord - returns a string showing the current coordinate setting for the specified dataset.
    • set_coord - sets the coordinate for the specified dataset.
  • The Sherpa/S-Lang module now links to the CHIPS library, instead of importing the chips module.

Commands Removed

  • CAST command has been disabled. Sherpa now uses double precision variables internally. Numeric output may have changed slightly from the one in the previous releases.
  • PLOTX command has been disabled. Plots are done using the ANALYSIS setting.

Bug Fixes

  • A number of fixes have been made that greatly improve the robustness and reliability of image fitting in Sherpa.
  • image fit and image model do not have any offsets.
  • Coordinate system for both source and background 2-D data is now updated with coord command.
  • Guessing the initial parameters for box2d model is now correct when "COORD PHYSICAL" has been set.
  • const2d model (c0 parameter > 0) is now correct for "COORD WCS"
  • Parameter guessing takes the exposure map into account for 2D data.
  • The WRITE MODEL command correctly applies the filter for 2D images.
  • load_bimage is retaining WCS information.
  • The fpsf1d instrument model has been fixed.
  • The treatment of read quality flags in grouped PHA data is correct.
  • Models are now correctly evaluated with filtered data that contain filter gaps.
  • Filtering out a single bin (e.g. with "ignore bin 1") is allowed.
  • RESET FILTER now resets both source and background filters.
  • Problems with applying energy filters to 1D data has been fixed.
  • Setting an instrument model does not change the analysis setting.
  • Reading MDL files has been corrected.
  • Sherpa will display an error message if data directory does not exist.
  • Sherpa models are not limited to the float domain.
  • WRITE command is now working properly for datasets of > 2 dimensionality.
  • Strange parser behavior due to a failed S-Lang assignment is fixed.
  • The function get_axes should work properly with 1-D binned dataspace.
  • The function get_eflux has been fixed.
  • Corrected the set_stackexpr function to return 1 (indicating success) only for valid source expressions.
  • A number of functions (e.g. sherpa_eval, load_dataset, set_par) could cause a "Stack Underflow" error in the S-Lang interpreter. This has now been fixed.
  • Functions get_dcounts_sum and get_dcounts_sum work now correctly with background subtracted data.
  • run_fit function is now allowed with sigma-rejection optimization method.

User Infrastructure


  • Web-browser support has been extended; see
      ahelp -b ADESC -t "CHOOSING A WEB BROWSER"
    for details
  • Files in $ASCDS_INSTALL/contrib/doc/xml are now included in ahelp index


  • Fixed bug where 'line' clipped incorrectly in log scale
  • Fixed problem with crashing when printing to long filenames
  • Fixed XPA error that occurred when exiting from batch mode under Mac OSX


  • No longer resets text field entries to the first character of a string when the focus leaves the text entry widget (allows end of long file names to stay in view)
  • Now displays current working directory info in the status message frame
  • Warning message no longer appears when an "Increment/Decrement Scale" dialog is invoked (affected Redhat 6.2, Redhat 8, and Mac OSX platforms)
  • Warning messages no longer appear when a parameter file is opened with peg.par's showhidden parameter set to no, and the user subsequently checks "Show Hidden Parameters" in the "Peg Preferences" dialog (affected Solaris 8 and Alpha platforms)


  • Histogram functionality now works on Alpha platform
  • Using the "Expand Column" dialog no longer generates a spurious cell-edit request (affected Redhat 6.2, Redhat 8, and Mac OSX platforms)
  • 'Prism Preferences' window now has a vertical scroll bar

Analysis Menu

  • Fixed problem with long custom analysis menus running off the desktop display

CIAO Setup Scripts

  • The CIAO setup scripts (ciao.*sh) now provide enhanced support for contributed and custom software installed in $ASCDS_INSTALL/contrib. If they exist, the subdirectories bin, bin/interpreted, param, and lib of $ASCDS_INSTALL/contrib will be treated identically to their counterparts in $ASCDS_INSTALL. This means that command-line scripts, S-Lang scripts, script parameter files, and libraries installed in the appropriate place in $ASCDS_INSTALL/contrib will be automatically "found" by CIAO. The CIAO contributed scripts package (CIAO_scripts.tar) has been reorganized to make use of this new functionality, allowing for near-seamless integration of the contributed scripts with CIAO. See the scripts page for more information.


  • Resuming a CIAO analysis session via "ciaostart <savefile>" or "filtwin <savefile>" now works under Redhat 6.2, Redhat 8, and Mac OSX


  • Now defaults to fixed-width font for improved output formatting
  • Command-line options now handled correctly under Redhat 6.2 and RedHat 8


Data Model

  • No longer corrupts files (e.g. XMM spectra) that contain region blocks that are "attached" to the data inside another block when opening them for writing
  • Removed extraneous text in WCS info when listing column information
  • Now warns when user tries to bin more than 32767 counts in to one pixel, which causes pixel value to "wrap" into negative values
  • Fixed problems that appeared with multiple block pointers to same block open for writing
  • Fixed bug that appeared when binning and region filtering at the same time with different binning factor in x and y: Region got scaled by the bin scale of x only
  • dmlist/dmcopy can now handle images of data type dmBYTE
  • Added warning message about trying create an image larger than 75MB; image will still be created unless user aborts
  • Fixed bug that prevented using "exclude" with bit filters
  • dmlist now prints warning and truncates large arrays in 'data' mode
  • Restored ability (lost in CIAO 3.0) to filter with GTI files that do not contain a data subspace (e.g. those created by FTOOLS)
  • Restored behavior (lost in CIAO 3.0) of making the default GTI subspace for a GTI block be the block itself
  • Fixed floating point rounding error that could cause incorrect sizes for filtered images
  • Fixed problem where bad binning syntax sometimes failed to produce an error condition
  • Fixed problem where using the "bounds" syntax to create a region which is the bounding box of another region caused the new region to be bounded by a 0 - 32768 box; region is now bounded by the limits (TLMIN/TLMAX) of the vector to which the region is applied
  • dmGetScalars can now handle any number of rows
  • For the case of binning a file with a filter that results in 0 rows, the DM now returns an image of all 0s. Previously, dmImageDataGetSubarray() was returning the pixel array back to the user without setting any values, which can appear to be a random array of values if the array is not initialized.
  • Fixed bug where #row filtering would not work in conjunction with dmGetScalars() or another function that requests a specific number of rows when the rows passing the #row filter were sparse (separated by > ~1500 rows)
  • Now possible to set the value of a vector component using the dmSetScalar functions. In CIAO 3.0 and 3.0.1, the DM would behave as if dmSetVector() was called, setting the first component of the vector to the argument of dmSetScalar and setting any following components to whatever resided in memory after the first value.


  • Fixed bug where mkrmf generated a one-bin shift if user-specified energy lower bound was beyond the FEF energy lower limit


  • Previously, VARMM separated groups in PHA files by the grouping flag (1, -1, etc...) as well as the quality flag. If the quality flag was not zero then the channel was set as a new group. Now, grouping is independent of the quality, and the group's quality is set to the highest quality flag value in the group. (This makes Sherpa's treatment of quality flags more consistent with XSPEC's.)
  • VARMM no longer clears the stack when doing a readXXX. This caused problems when attempting to push values on the stack and evaluating the readXXX afterwards.
  • The readImage function was reading in pixels flagged as type BYTE as signed characters. They are now read in as unsigned characters.

S-Lang Modules

Bug fixes

  • Fixed module-importation problems on Mac OSX. It is now possible to import pixlib, paramio, or caldb before chips or sherpa without generating a S-Lang intrinsic error.

XSPEC module

  • ISIS XSPEC module is now built with OTS binary packages. Users do not need to compile it for themselves.

Last modified: 28 October 2009