There is a newer version of this record available.

Software Open Access

sherpa/sherpa: Sherpa 4.14.0

Doug Burke; Omar Laurino; wmclaugh; dtnguyen2; Hans Moritz Günther; Marie-Terrell; Aneta Siemiginowska; Jamie Budynkiewicz; Tom Aldcroft; Christoph Deil; Brigitta Sipőcz; Johannes Buchner; Iva Laginja; Katrin Leinweber; nplee; Todd


Citation Style Language JSON Export

{
  "publisher": "Zenodo", 
  "DOI": "10.5281/zenodo.5554957", 
  "title": "sherpa/sherpa: Sherpa 4.14.0", 
  "issued": {
    "date-parts": [
      [
        2021, 
        10, 
        7
      ]
    ]
  }, 
  "abstract": "Sherpa 4.14.0\n<p>This release of Sherpa includes various documentation updates,  bug fixes, enhancements, and infrastructure changes.</p>\n<ul>\n<li>enhancements:<ul>\n<li>filtering and grouping area for binned (1D) spectral data has been improved \nwith changes to the default behavior and many bug fixes resulting in changes \nto the statistics, degrees-of-freedom and energy flux in comparison to the \nprevious version for the same data with the same filter.</li>\n<li>updates to allow users to change the hard limits of XSPEC model parameters</li>\n<li>the sample_flux routine now returns correct information for the clip column</li>\n</ul>\n</li>\n<li>documentation changes:<ul>\n<li>improved PHA simulation documentation </li>\n<li>improved Filtering and grouping of PHA data documentation</li>\n<li>added sherpa.image module documentation</li>\n<li>added section on running tests to developer docs</li>\n</ul>\n</li>\n<li>Infrastructure Changes:<ul>\n<li>updates to support Apple ARM</li>\n<li>update to support Xspec version 12.12 </li>\n<li>update fftw from version 3.3.8 to 3.3.9</li>\n<li>clean up of compiler and sphinx warnings</li>\n<li>changes to support gcc 9.3.0 in conda defaults</li>\n<li>updates to support python 3.9 including readline 8.1 upgrade, numpy minimum 1.19 (numpy 1.18 minimum for python 3.7/8)</li>\n<li>test infrastructure clean up and updates</li>\n</ul>\n</li>\n<li>bug fixes:<ul>\n<li>updates to fix several 'unable to parse region string: None' errors</li>\n<li>fix issue where save_all() of a loaded image with no region filter would fail on reload</li>\n<li>fixed issue with plot_model() being called before notice or ignore could lead to filters not getting applied</li>\n<li>fix to error out instead of crash when grouping data using an unsupported method </li>\n</ul>\n</li>\n</ul>\nDetails\n1031 - Update fwhm calculation\n<pre><code>Update the estimation of FWHM for 1D profiles, and hence the guess method for \nGauss1D and related routines. The 2D models use the same routine so see these \nchanges.\n</code></pre>\n1073 - Allow fake_pha to be called with an identifier of None\n<pre><code>The fake_pha command now treats id=None as the default id. This addresses #1064.\n</code></pre>\n1106 - The sample_flux routine now returns the correct information for the clip column\n<pre><code>The sample_flux routine now returns correct information for the clip column\n(that is, it matches the clipping done by this routine). There may be changes to \nthe reported error ranges because of this change.\n</code></pre>\n1107 - Add some grating related keywords for _repr<em>html</em> for ARF, RMF, PHA\n<pre><code>Add keywords to the default output in the _repr_html_ for some X-ray classes.\n</code></pre>\n1113 - XSPEC: support etable table models\n<pre><code>Allow XSPEC ETABLE table model files to be read by load_xstable_model by \nsetting the etable parameter.\n</code></pre>\n1118 - Improve test cases for source plots with PHA data\n<pre><code>Add additional test cases for source plots with PHA data to check out \nrarely-used combinations.\n</code></pre>\n1127 - PHA filtering changes\n<pre><code>Improve some corner cases for filtering PHA data, including fixing #921 (channel\nbounds are integers, not half-integers).\n</code></pre>\n1131 - Test: fix a test failure when XSPEC installed but no fits backend\n<pre><code>Avoid running a test we know to fail for an uncommon combination of options.\n</code></pre>\n1134 - This is a doc-string only update for load_multi_XXX\n<pre><code>The previous example implied that a spectrum may contain both positive and \nnegative orders in the same spectrum. That can happen only after coadding - \nand in that case one would co-add the arfs as well.\n</code></pre>\n1135 - Added docstring and removed unused no-op class\n<pre><code>Remove sherpa.astro.models.MultiResponseSumModel which did nothing and seems \nto be unused (except in a test that explicitly skip this class).\n</code></pre>\n1136 - Replace error message \"too few columns\" with a more generic word\n<pre><code>Change the wording of an error message. Potentially breaking if someone tests \nfor the wording of the error message in their code, but certainly more correct.\n</code></pre>\n1137 - Correct docstring for fake_pha\n<pre><code>The old docstring claims that the background is just scaled and not simulated, \nbut there is definitely a call to poisson_noise for the background in the code.\n</code></pre>\n1138 - Address NumPy 1.20 bool/int/float deprecation warnings\n<pre><code>NumPy 1.20 notes that numpy.bool, numpy.int, and numpy.float will be removed \nand users should just use bool, int, and float instead, so these symbols have \nbeen changed. This is a follow on to #1092\n</code></pre>\n1140 - Fix some remaining master/main renames\n<pre><code>clean up references to master with main\n</code></pre>\n1143 - add basic test and documentation for Integrate1D\n<pre><code>Add basic testing of the integrate1d model class and improve its documentation.\n</code></pre>\n1144 - A minor cleanup of estmethods\n<pre><code>A minor cleanup of the sherpa.estmethods code.\n</code></pre>\n1147 - Tests: support use of data directory being local, not absolute\n<pre><code>Allow a test to pass when given a relative path for the test data directory.\n</code></pre>\n1154 - Update docs on RTD builds\n<pre><code>Update docs on how the docs are build in CI\n</code></pre>\n1155 - Remove Meta class for fits hdu headers\n<pre><code>Remove Meta class for header information that is used only rudimentary and \nacts almost, but not quite, like a dict\n</code></pre>\n1163 - XMM/RGS triggers a notice/ignore bug because channels are in reverse-energy order in RMF\n<pre><code>Recent work on the ignore / notice logic in #1127 implicitly assumes that the \nenergy grid in PHA/ARF/RMF files is in increasing order, which does not hold \ntrue for XMM/RGS data\n</code></pre>\n1164 - Fix plots with wavelength general:visualization type:bug\n<pre><code>For some data files, plots with a reversed grid (i.e. plots in wavelength) were \ndrawn with disjoint lines since #906.\n</code></pre>\n1165 - Add a section on running the tests to the developer docs\n<pre><code>Add a section on running the tests to the developer docs\n</code></pre>\n1168 - Logging tweaks\n<pre><code>Include the sherpa.utils.logging module in the documentation and update a test \nto use the caplog feature of pytest (the code had been written to work with \npython 2.7 version of unittest).\n</code></pre>\n1170 - Update Python and particularly number versions in documentation\n<pre><code>Updates to doc pages that list dangerously old numpy versions\n</code></pre>\n1171- Improve the grouping/filtering tests\n<pre><code>Add a number of tests for corner cases of filtering and grouping of PHA data.\n</code></pre>\n1172 - Improve data pha docs\n<pre><code>Improve the documentation of the filtering and grouping of PHA data.\n</code></pre>\n1173 - Improve DataPha documentation\n<pre><code>Minor improvements to the documentation of the DataPHA class.\n</code></pre>\n1175 - Store UI contour plots in a dictionary, not directly\n<pre><code>Change the internal storage handling of contour objects\n</code></pre>\n1177 - minor rework of image handling for ui layer\n<pre><code>Change the internal storage handling of image objects and improved testing\n</code></pre>\n1178 - Define physical constant hc in fewer places\n<pre><code>hc (as in \"Planck constant * speed of light\") is a physical constant that does \nnot depend on the DataPHA and thus it should not be defined as a class attribute.\n</code></pre>\n1180 - Minor improvements to model/parameter documentation\n<pre><code>Minor fixes and improvements to the documentation (both docstrings and RTD) \nfor the model- and parameter-related code.\n</code></pre>\n1182 - Simulations with multiple responses\n<pre><code>Enable simulations with multiple ARF/RMF present (e.g. LETG/HRC).\n</code></pre>\n1183 - Check parameter link behavior\n<pre><code>Minor tweaks to the parameter tests.\n</code></pre>\n1184 - Better pha model component plotting (fix #1020)\n<pre><code>The use of plot_model_component and get_model_component will now automatically \nadd the response for PHA data sets, if there is one. Model expressions which \ncontain a response will not be changed. Fixes #1020.\n</code></pre>\n1187 - Conda GCC 9.3.0 update issue\n<pre><code>update to support environment changes due to conda defaults updates for \ngcc 9.3.0\n</code></pre>\n1192 - Remove Python 3.6 and add Python 3.9\n<pre><code>updates to switch python support to python 3.7-3.9\n</code></pre>\n1194 - datastack: Improve show_stack and add _repr<em>html</em> for stack\n<pre><code>Improve datastack display (via show_stack and in the notebook) for datastacks.\n</code></pre>\n1198 - XSPEC test cleanup\n<pre><code>Very minor improvement to the XSPEC test suite.\n</code></pre>\n1199 - Move the regrid code out into a separate method\n<pre><code>Very minor code reorganization for the regrid code.\n</code></pre>\n1203 - Update GitLab Conda recipe to numpy 1.19\n<pre><code>updates gitlab conda recipe to python 1.19+ and adds run time pin\n</code></pre>\n1204 - region lib updates for CIAO 4.14\n<pre><code>updates to fold in changes to CIAO region lib for CIAO 4.14. Specifically, \nfixes for SM-89: bug in pie shape (extent/inside logic), SL-243: region - \ndeprecate obsoleted Warning.\n</code></pre>\n1205 - Remove the SherpaTestCase class\n<pre><code>Remove the SherpaTestCase class from sherpa.utils.testing and switch the tests \nthat used it to use pytest functionality where appropriate.\n</code></pre>\n1208 - Fix get_xerr for Data1DInt when all data is filtered\n<pre><code>The get_xerr method of Data1DInt would fail if all bins had been ignored and \nit now returns the empty list.\n</code></pre>\n1215 - Restrict the values used in PHA notice/filter calls\n<pre><code>Ensure that the low and high limits for notice and ignore calls for DataPHA \nobjects are sensible (hi &gt;= lo and that for energy or wavelength filters they \nare &gt;= 0). When filtering DataPHA objects in channel units the lo and hi \narguments must be integers otherwise an error is raised.\n</code></pre>\n1216 - filter improvements for DataPHA and Data1DInt\n<pre><code>Energy and wavelength filters (with notice and ignore) for PHA data are now \ntreated as lo &lt;= x &lt; hi in all cases, and channel filters are lo &lt;= x &lt;= hi \n(where the channel values must be integers). For Data1DInt cases the notice \nand ignore filters are treated as lo &lt;= x &lt; hi. This changes address a number \nof corner cases.\nThis can result in slightly different fit results because the data used in the \nfit can be changed and hence changing the number of degrees of freedom (by one \nor two depending on whether the first and last bins have been removed).\n</code></pre>\n1218 - Update fftw from version 3.3.8 to 3.3.9\n<pre><code>This change updates the version of the fftw module in sherpa's external \ndependencies (extern) directory to utilize version 3.3.9 (www.fftw.org) instead \nof the previous version 3.3.8\n</code></pre>\n1219 - Fix filter expressions\n<pre><code>Filter expressions for Data1DInt and DataPHA cases now report the start and end \nvalue of each set of grouped data rather than use the end points. For PHA data \nsets users now see the same ranges displayed whether the data is grouped or not. \nThe actual filter remains the same even if the filter expressions has changed \nslightly.\n</code></pre>\n1223 - XSPEC 12.12.0 support\n<pre><code>Support the new additive and multiplicative models in XSPEC 12.12.0 - XSgrbjet, \nXSwdem, XSvwdem, XSvvwdem are additive and XSzxipab is multiplicative - and \nnote the additional abundance tables that are available when running with XSPEC \n12.12.0 (lpgp and lpgs).\n</code></pre>\n1227 - Support AstroPy 4.3 for tests\n<pre><code>The AstroPy FITS reader is less tolerant of invalid FITS files in AstroPy 4.3 \nwhich trips one of our tests. The test has been updated with a FITS file that \ndoesn't trigger the error case. There is no functional change in this commit.\n</code></pre>\n1228 - Fix three parameter names for XSPEC models\n<pre><code>Fix three XSPEC models which had some internal confusion over parameter names: \nXSzkerrbb should have uses fcol but had instead used hd, and XSzashift and \nXSzmshift used Redshift instead of Velocity. The old names have been kept as \naliases.\n</code></pre>\n1230 - Update submodule to pick up submodule README\n<pre><code>Updates submodule to pick up the submodule README\n</code></pre>\n1231 - Remove <strong>init</strong>.py from tests directory\n<pre><code>Clean up of a test directory. There is no functional change in this commit.\n</code></pre>\n1236 - Remove compiler warnings\n<pre><code>Avoid compiler warnings from clang, fixing #1232 and several other warnings.\n</code></pre>\n1241 - to get sherpa to run Apple M1 (arm)\n<pre><code>Initial support of sherpa for ARM build \n</code></pre>\n1244 - Fix \"unable to parse region string: None\" errors (issue #1214)\n<pre><code>In certain circumstances (such as plot_pvalue with an explicit 2D PSF \nconvolution operator read from a file) the code would fail with the error \nunable to parse region string: None (issue #1214). This PR fixes this problem \nand several minor related issues.\n</code></pre>\n1246 - Image region filters are now specified correctly (Fix #1245)\n<pre><code>Update the image filter code so that the region description matches what the \nfilter actually is: rather than use &amp; to combine regions we now use | as it \nis a logical or rather than logical and. This is mainly going to affect users \nwho: have used the output of get_filter() as input to calc_data_sum2d, have \nvery-complex spatial filters, or are restoring Sherpa sessions created by save \nor save_all.\n</code></pre>\n1247 - Allow save_all to work well with images with no filters (Fix #437)\n<pre><code>Fix a problem with the output of the save_all command if an image had been \nloaded but no region filter applied (fix #437): the output file would contain \na notice2d_id call with a filter of \"\" which would fail if you tried to load \nthe file back in. It now no-longer creates this line.\n</code></pre>\n1248 - Docs: note that set_stat can be sent a stats object\n<pre><code>Update the documentation for set_stat to note you can send in a stats object\n</code></pre>\n1250 - Stop odd interaction between plot_model and PHA filters (Fix #1024)\n<pre><code>plot_model(), if done before calling notice or ignore, could lead to strange \nfilters (e.g. filter not getting applied). This has been fixed. Fixes #1024\n</code></pre>\n1253 - More numpy 1.20 warning fixes\n<pre><code>Avoid warnings from NumPy 1.20 about using the deprecated np.int symbol.\n</code></pre>\n1254 - FIX: #1235 change XSPEC chatter to 10 from 0\n<pre><code>Change the default X-Spec chatter level from 0 to 10. This may result in screen \noutput the first time an XSPEC model is evaluated (e.g. from a plot_model or \nfit call). There have been a number of cases where APEC models appeared to be \ncreating no output because of missing data files (due to old ~/.xspec/Xspec.init \nsettings) which would have been more obvious with this change. To get back to \nthe previous behavior users can call set_xschatter(0).\n</code></pre>\n1259 - XSPEC parameter changes - you can change the hard limits of most XSPEC parameters\n<pre><code>XSPEC model parameters now use the same limits for soft and hard (the hard \nlimit from the model.dat file). This is handled by the XSBaseParameter class \nwhich is used for XSPEC table models. The XSParameter class, which extends this \nand is used by most other parameters, allows the user to change the hard limits \nof the model. This follows XSPEC, and allows using some models which are \ndocumented as supporting a value outside the normal parameter range (normally \nby setting the value to a negative value). Note that this is potentially \ndangerous (it could crash the program) so should be used carefully. It is \nstrongly suggested that any parameter set to a value outside of the original \nlimits is also frozen.\n</code></pre>\n1260 - Add a module to parse XSPEC model.dat and helper scripts #1260\n<pre><code>Add support for parsing XSPEC model.dat files (useful for updating the XSPEC \nmodule or if you want to use XSPEC local models).\n</code></pre>\n1261 - update to match recent XSPEC model.dat settings\n<pre><code>Update the XSPEC models to match the latest model.dat file (from HEASOFT 6.29 / \nXSPEC 12.12.0). This primarily changes the hard limits of the models, but there \nare some changes to the default parameter values as well, as well as some unit \nchanges, including adding and removing units.\n</code></pre>\n1264 - Fix crash from grouping data using an unsupported method\n<pre><code>It was possible to cause Sherpa to crash by passing an invalid function as the \ngroupfunc argument to apply_filter and apply_group. The code now errors out \ninstead. There are improvements to the documentation (docstring and RTD) for \nPHA filtering and grouping.\n</code></pre>\n1268 - Doc: switch default sphinx role\n<pre><code>Multiply the number of working references on readthedocs, while at the same \ntime reduce verbosity in the docstrings.\n</code></pre>\n1270 - Cleanup setup\n<pre><code>Update the Python supported status in the package metadata (drop 3.5, add 3.8) \nand bump the minimum version to 3.6.\n</code></pre>\n1273 - crates backend strip preceding/trailing whitespace when determining ascii file colnames (Fix #1262)\n<pre><code>This change modifies the crates backend ascii file handling to resolve issue \n#1262 where a test added in PR #1253 causes the tests to fail. This change may \npotential result in behavior changes for crates use on ascii data files (see \ncaveat section for details).\n</code></pre>\n1276 - Fix Inconsistent behavior in save_arrays when optional parameter ascii = True/False (Fixes issue #1251)\n<pre><code>Updates the data I/O so that write_arrays behaves consistently whether writing \nascii or fits files via the pyfits backend.\n</code></pre>\n1279 - rm the platform cause no longer need it\n<pre><code>rm the platform module since it is not needed for ARM support\n</code></pre>\n1281 - RTD: include parse_xspec_model_description\n<pre><code>Fix a link on the Read The Docs pages from PR #1260\n</code></pre>\n1282 - Add Zenodo details for 4.13.1\n<pre><code>Include the Zenodo details for the 4.13.1 release into the hard-coded list of \nreleases.\n</code></pre>\n1285 - Added an option to reflect minim about the boundary\n<pre><code>This PR adds the option on how the optimization minim will behave if the free \nparameter is beyond the limit. The default parameter reflect is True (will \nreflect by an equal amount about the limit). If reflect is set to False then \nmodel function will return DBL_MAX (~1e308) and therefore it will not be \nincluded in the simplex.\n</code></pre>\n1287 - Remove C++ warning when compiling the pileup code\n<pre><code>Use unique_ptr rather than auto_ptr in the pileup code to avoid C++ warnings. \nFix #505\n</code></pre>\n1288 - Improve the PHA simulation documentation\n<pre><code>Fix up some links in the RTD documentation for simulating PHA data.\n</code></pre>\n1290 - Fix the string output of CDFPlot\n<pre><code>Corrected the order of the points, x, and y values when displaying a CDFPlot \nobject, improve support for a list argument, and made minor additions to the \ndocumentation in the sherpa.plot module.\n</code></pre>\n1291 - Comment: add link to the OSTI.GOV URL for the optimizing document\n<pre><code>Add a reference to the OSTI.GOV technical report in the comments in the C++ \ncode used for testing the optimization functions.\n</code></pre>\n1292 - Update tests that were changed by #1246\n<pre><code>Fix tests that started to fail once #1246 was merged.\n</code></pre>\n1293 -RTD: add a \"how to optimize a function\" example\n<pre><code>Add a section to the ReadTheDocs site explaining how to \"optimize a function\" \nas this is something we can do but only really with the low-level code.\n</code></pre>\n1294 - RTD: Fix some sphinx warnings (sherpa.models.regrid)\n<pre><code>Fix a minor warning when generating the Read The Docs pages.\n</code></pre>\n1295 - Update XSkerrconv model for #1275\n<pre><code>Rename the first two parameters of the XSPEC XSkerrconv convolution model from \nIndex/Index1 to Index1/Index2. Fixes #1275\n</code></pre>\n1296 - Document the neldermead reflect flag from #1285\n<pre><code>Add documentation for the reflect keyword added in #1285 for the neldermead \noptimizer\n</code></pre>\n1303 - Updated Introductory Section of the MCMC page\n<pre><code>Added additional details regarding sherpa's MCMC inplementation to the \ndocumentation \n</code></pre>\n1308 - Docs: fix get_filter examples\n<pre><code>Fix the examples in the get_filter documentation.\n</code></pre>\n1310 -Update the python check for python setup.py installs to 3.7\n<pre><code>Updates the minimum supported version of python supported in setup.py to use \npython 3.7\n</code></pre>\nCaveats\n<ul>\n<li>Crates behavior change - PR #1273 fixes an issue with the crates backend where \n  supplying a column filter \"opt colnames=none\" for an ascii file would utilize \n  default column names 'col1..coln' instead of the column names specified in the \n  file.  Code which relied on the old behavior may now produce an IO error such \n  as \"IOErr: Required column 'col1' not found in [ &lt;list of valid column names&gt;]\"</li>\n</ul>", 
  "author": [
    {
      "family": "Doug Burke"
    }, 
    {
      "family": "Omar Laurino"
    }, 
    {
      "family": "wmclaugh"
    }, 
    {
      "family": "dtnguyen2"
    }, 
    {
      "family": "Hans Moritz G\u00fcnther"
    }, 
    {
      "family": "Marie-Terrell"
    }, 
    {
      "family": "Aneta Siemiginowska"
    }, 
    {
      "family": "Jamie Budynkiewicz"
    }, 
    {
      "family": "Tom Aldcroft"
    }, 
    {
      "family": "Christoph Deil"
    }, 
    {
      "family": "Brigitta Sip\u0151cz"
    }, 
    {
      "family": "Johannes Buchner"
    }, 
    {
      "family": "Iva Laginja"
    }, 
    {
      "family": "Katrin Leinweber"
    }, 
    {
      "family": "nplee"
    }, 
    {
      "family": "Todd"
    }
  ], 
  "version": "4.14.0", 
  "type": "article", 
  "id": "5554957"
}
2,737
127
views
downloads
All versions This version
Views 2,737152
Downloads 1274
Data volume 1.6 GB61.9 MB
Unique views 2,156134
Unique downloads 914

Share

Cite as