Sherpa 4.12.0 has just been released (January 30 2020) and is available via our Conda channel (https://conda.anaconda.org/sherpa/), pip (https://pypi.python.org/pypi/sherpa/4.12.0), Zenodo (https://zenodo.org/record/3631574 , and GitHub (https://github.com/sherpa/sherpa/tree/4.12.0).
We thank everyone who contributed to this release with feature requests, bug reports, testing, code contributions, questions, cookies, and any other positive interaction. Please join in the fun on GitHub: https://github.com/sherpa/sherpa
The documentation for this release can be found at https://sherpa.readthedocs.io/en/4.12.0/
OVERVIEW
This release of Sherpa is based on the CIAO 4.12 release and includes additional
bug fixes and improvements.
bug fixes and improvements.
This version of Sherpa has been tested with Python 3.5, 3.6, and 3.7. It does not work with Python 3.8 (please follow issue #730 for progress on this).
This release also provides support for XSPEC 12.10.1 (patch 'a' or later) in
addition to versions 12.10.0, and 12.9.1.
addition to versions 12.10.0, and 12.9.1.
Details
#388 - Address indexing DeprecationWarning/IndexError from NumPy for PHA data with filter + ignore_bad (fix #361)
#602 - Reduce integration tol
Changed integration routine tolerance from double epsilon to float epsilon
since opt routines hove tolerance of ~ 1.0e-7
#606 - stop using numpy.typeNA which is now deprecated
A numpy deprecation warning was fixed by removing the usage of typeNA, which
was not documented and will be removed in a future release of numpy. The
print_fields function has been changed to include a default mapping using
the current typeNA implementation.
was not documented and will be removed in a future release of numpy. The
print_fields function has been changed to include a default mapping using
the current typeNA implementation.
#608 - update ciao default plotter to matplotlib
The default Sherpa plotting package has been changed to matplotlib for
CIAO users as well (it had been the default for standalone users for
several years). The update will be applied to new users when the
edit/regenerate the file.
CIAO users as well (it had been the default for standalone users for
several years). The update will be applied to new users when the
sherpa
command is run. Users of previous versions would need toedit/regenerate the file.
#616 - enable run-time-option to test cache (default=True)
Capability to allow the user to turn off caching at runtime for testing
purpose.
purpose.
Remove the "The displayed errorbars have been supplied with the data or
calculated using chi2xspecvar..." warnings that appear for data,
residual/ratio, and fit plots when the user has explicitly turned off
the display of errorbars (by setting the yerrorbars plot-preference
setting to False).
calculated using chi2xspecvar..." warnings that appear for data,
residual/ratio, and fit plots when the user has explicitly turned off
the display of errorbars (by setting the yerrorbars plot-preference
setting to False).
#626 - add plot_fit_ratio and plot_bkg_fit_ratio functions
Add the plot_fit_ratio function to the sherpa.ui layer (to match
plot_fit_resid and plot_fit_delchi) and plot_bkg_fit_ratio to the
sherpa.astro.ui layer. Added tests for a number of plot types.
#640 - fix 'tuple index out of range' error in the fit.est_errors method
Sherpa's Confidence class is confused if a parameter is frozen then
thawed after a fit resulting with an exception of the form: IndexError:
tuple index out of range. The error does not show up if conf is called
from the ui level
#647 - fix numpy hist warnings
When plotting a PDF Sherpa now calls numpy.histogram with density=True |
False rather than normed=True|False. There is no change visible to the
user other than a warning that will not be issued anymore. normed=True
was broken for non uniform bins, but our code always produces uniform
bins, so we should never hit the problematic case.
False rather than normed=True|False. There is no change visible to the
user other than a warning that will not be issued anymore. normed=True
was broken for non uniform bins, but our code always produces uniform
bins, so we should never hit the problematic case.
#658 - Handle files with MJD_OBS or MJD-OBS keywords (datastack module)
The sherpa.astro.datastack module has been updated to deal with files
that use the MJD-OBS keyword instead of MJD_OBS. This is only used by
the show_stack routine, which prints out several keywords from each
file in the stack.
that use the MJD-OBS keyword instead of MJD_OBS. This is only used by
the show_stack routine, which prints out several keywords from each
file in the stack.
Remove support for Python 2.7 from Sherpa. The metadata used by pip now
requires python 3.5 or higher (but not version 4),
requires python 3.5 or higher (but not version 4),
#667 - improve matplotlib plot_fit plots (order of data and model)
Changes to Zorder of plot objects drawn by matplotlib to be more readible
#674 - Add link/unlink parameter tests
This PR adds three tests for sherpa's un/link commands.
#677 - XSPEC: build against 12.10.1m by removing support for models
Remove support for XSrelline, XSrelline_lp, and XSrelline_lp_ext models.
These were added in 12.10.1 but removed in 12.10.1m. It does not seem
worth supporting just those versions where they were available.
These were added in 12.10.1 but removed in 12.10.1m. It does not seem
worth supporting just those versions where they were available.
Remove the unused parameter in the sherpa.astro.optical.LogEmission
model. The LogEmission model only has four parameters (fwhm, pos, flux
and skew) consistent within the calc method. The hidden parameter limit
and it doc were removed.
model. The LogEmission model only has four parameters (fwhm, pos, flux
and skew) consistent within the calc method. The hidden parameter limit
and it doc were removed.
#682 - jointplot now respects the ratio argument (top plot is larger) with matplotlib backend
The matplotlib back end now makes the main (top) plot taller than the
secondary (bottom) plot when using the sherpa.ui.plot_fit_resid and
sherpa.ui.plot_fit_delchi routines (this also holds for the
sherpa.astro.ui variants).
secondary (bottom) plot when using the sherpa.ui.plot_fit_resid and
sherpa.ui.plot_fit_delchi routines (this also holds for the
sherpa.astro.ui variants).
#683 - Remove chips from the documentation
Remove mention of ChIPS from the documentation (both on read the docs
and in the sherpa.astro.ui and sherpa.ui modules), replacing with
matplotlib where appropriate.
and in the sherpa.astro.ui and sherpa.ui modules), replacing with
matplotlib where appropriate.
#684 - Add default config options
Whenever an option is read from the configuration file (~/.sherpa.rc)
provide a default option in case the configuration file is missing
(or is missing this option).
provide a default option in case the configuration file is missing
(or is missing this option).
#685 - raise ModelErr when model using Data1DInt have overlapping bins
Adds a check to regrid make sure the integrated bins do not overlap.
The PR is a fix for issue #569
The PR is a fix for issue #569
#688 - Improve documentation and testing for get_source_plot when sent lo/hi arguments
Improve the documentation for the sherpa.astro.ui.get_source_plot routine,
describing how touse the result when the lo or hi arguments are sent.
describing how touse the result when the lo or hi arguments are sent.
Sherpa now warns the user if Chips is selected as a backend but it is
not available in the installation
not available in the installation
#692 - Allow users to override plot preferences when creating a plot
Change to allow kwargs to be specified to change plot preferences at
creation time
creation time
#698 - Add warnings in documentation about masked arrays
Updates docstring to indicate that sherpa doesn't support numpy masked
arrays
arrays
#701 - a fix for /data/lenin2/Test/CIAO4.11/SherpaRegressionBeta1/45
Enables the testers to turn on (or off) caching at runtime to test #444
Update to make sherpa's calc_ftest provide same results as XSPEC's
ftest (fix to #641)
ftest (fix to #641)
#705 - modelCacher1d needs to have a couple of deep instead of shallow copy()
Update to make deep copy of cached function values (fix to #673)
#710 - Add warning about masked array to sherpa.astro.ui.load_arrays
Updates docstring to contain warning consistent with #698
#712 Minor typo in docs
Corrects a typo "is is" in the documentation.
#716 Fix for plot_cdf: plot() got an unexpected keyword argument 'clearwindpw'
Recent changes broke plot_cdf() due to a typo 'clearwindpw'. This update
corrects the typo.
corrects the typo.
#721 Docs: update installation notes for conda environment
Add a warning about the need to set PYTHON_LDFLAGS to ' ' on macOS when
building within an anaconda environment. This is a documentation-only
change.
building within an anaconda environment. This is a documentation-only
change.
#725 convert a list to np.array to avoid warning messages
Fixes issue #723 (a lot of warnings while running 'resample_data()' in
CIAO4.12 Sherpa)
CIAO4.12 Sherpa)
#728 a fix cause using load_multi_arfs causes caching error
Fixes issue #717 (unable to fit if script uses load_multi_arfs/rmfs)