This document highlights important changes and additions to Sherpa functionality in the CIAO 4.11 Sherpa release.
Sherpa version for CIAO 4.11 was released on December 13, 2018. Sherpa in CIAO runs under Python 3.5. The major updates in this release include:
Update to version 12.10.0e of the XSPEC model library, which adds support for the following additive models: xsbrnei, xsbvrnei, xsbvvrnei, xsgrbcomp, xsjet, xsssa, and xszcutoffpl. The default value of the Gamma parameter of the xsoptxagnf model has been updated from 0.5 to 1.05 to match the change in XSPEC.
The implementation of the Levenberg-Marquardt optimiser has been changed from FORTRAN to C++. This should have no significant difference to users except that the optimiser now returns an estimate of the covariance matrix, which is shown on screen (after the parameter value) and in the covar field in the object returned by get_fit_results.
An example of the new fit output, taken from the introductory Sherpa thread is shown below, where the new error estimates are shown in bold:
sherpa> fit() Dataset = 1 Method = levmar Statistic = chi2 Initial fit statistic = 2815.14 Final fit statistic = 151.827 at function evaluation 6 Data points = 11 Degrees of freedom = 9 Probability [Q-value] = 3.68798e-28 Reduced statistic = 16.8697 Change in statistic = 2663.31 model1.c0 1.58227 +/- 0.0248858 model1.c1 0.198455 +/- 0.00392255
The CXC recommends that the conf function is used to estimate the errors, with the values reported above used as a guide.
The eqwidth function can now calculate an error estimate for the equivalent width; new routines - create_arf and create_rmf - have been added to simplify creation of ARFs and RMFs in simulations; and there is no experimental support for evaluting models on a different grid than the data, which can be used to evaluate higher-resolution models - which is then down-sampled to the data - or to include signal outside the data range, for use by convolution-style models.
CIAO 4.11 contains Matplotlib version 2.2.3 as well as ChIPS, and Sherpa can use either for plotting. The default behavior for Sherpa is to use ChIPS, but this can be set to Matplotlib by editing the ~/.sherpa.rc file so that the plot_pkg line is:
unix% grep plot_pkg ~/.sherpa.rc plot_pkg : pylab
The existing Sherpa documention still focuses on using ChIPS, but will be updated to reference Matplotlib. The Matplotlib for ChIPS users conversion guide may be useful.
The CIAO release of Sherpa is based on the GitHub-developed version of Sherpa. Please consider contributing to Sherpa development, whether by adding code, fixing bugs, or changing documentation. The documentation for this "stand alone" version of Sherpa may be useful, but is not aimed at CIAO users.
- Bug Fixes
The model ahelp files - such as gauss1d and xsapec - have been updated to match the information provided in the Python docstrings. However, the Python docstrings are still the preferred way to access help on the Sherpa functions, since the remaining ahelp files have not been kept up to date with changes in Sherpa.
A recent development for "standalone Sherpa" is the creation of the Sherpa documentation website. This provides on-line access to the Python docstrings, as well as general documentation on how to use Sherpa. It is aimed at users who want to use the more object-orientated interface provided by Sherpa rather than the functions from the sherpa.astro.ui module documented on this site, as well as not being tailored to CIAO users, but it may be useful for the more advanced Sherpa users.