Change log

Below we list the changes and new features in the stable version of SPEX.

Stable release (3.08.00)

Changes in SPEX 3.08.00:

  • New ascdump option time.
  • New Shakura-Sunyaev model for accretion disks.
  • Added obscurer option to the tpho model.
  • Added spei model for relativistic broadening of lines following Speith et al.
  • Added ‘vcom’ model to get a simple Compton shoulder model
  • Add QDP output option to pyspex for input to the HEASIM simulator.
  • Added new extension to the etau model.
  • Added new rbin option to create and store optimally binned spectra and response matrices
  • User model comptt example for Xspec updated.
  • Removed pyspex compatibility with Python 2.
  • Many small bugfixes.

Changes in SPEXACT 3.08.00:

  • Quick calculation for cie and cluster model.
  • Update to two-photon emission data.
  • Updated atomic cross-sections. Edge energies were updated with NIST values and photo-ionisation cross sections with OPEN-ADAS values.
  • Added R-matrix collision data from Mao et al. for H- and He-like ions.
  • Included photo-excitation auto-ionisation resonances in the photo-ionisation rate.
  • Fe XXIV DR lines changed from FAC to Safronova et al. 1996.

Stable bugfix release (3.07.03)

This is a release which fixes a couple of urgent issues in SPEX version 3.07.02:

  • Fixed bug that did not allow to change plot captions.

  • Fixed issue with the knak model.

  • Fixed issue with masking bad channels in trafo.

  • Fixed issues in the pyspex interface regarding plotting.

Stable bugfix release (3.07.02)

This is a release which fixes a couple of urgent issues in SPEX version 3.07.01:

  • Fixed an issue where plot area produced a wrong Y axis scale when cm units were used.

  • Fixed an issue with dividing response matrix in trafo.

  • Fixed an issue where the labels in the table resulting from an error command were printed incorrectly.

  • Plot adum now outputs full range of double precision numbers.

  • Fixed issue with quotes not appearing in log save output.

  • Fixed issue with line broadening not working in the cluster model.

Stable bugfix release (3.07.01)

This is a release which fixes a couple of urgent issues in SPEX version 3.07.00:

  • Fixed a bug in the SPEX obin command.

  • On some Apple M1 machines SPEX crashed with an Intel MKL error. This has been resolved.

Stable release (3.07)

This is a SPEX version with a number of new models, updates to atomic data and many more new features and bugfixes. Released August 1st, 2022.


In SPEXACT 3.07.00 (August 1st, 2022):


  • Added and modified PYSPEX commands to match new SPEX commands and added DEM modeling.

  • Output data is now offered as Astropy Quantities and QTables (see Astropy units and tables).

  • Added option to plot in wavelength (Angstrom), see Plot commands.

Stable bugfix release (3.06.01)

In SPEX 3.06.01 (December 2020):

  • Added par_show function to pyspex for use with Jupyter Notebook.

  • Added functionality to ascdump, both in SPEX and in pyspex. The ascdump command in SPEX has now the `set range` and `set flux` options to limit the output to a certain energy range or to lines with a minimum flux or optical depth.

  • Added a command to remove one (or a couple of) lines from emission spectra. With the ions mute line command, a line can be selected for removal from the spectrum. This is especially helpful when a line shows effects that SPEX does not model, but can be fitted with a customized Gaussian/line profile.

In SPEXACT 3.06.01:

  • The collisional excitation cross sections for H I at low and intermediate temperatures were too low. After carefull comparison, we have chosen to replace the 1s-nl and 2s-nl transitions (n.le.5) with the ones as given in the Chianti database. That is based on the Anderson et al. 2002 erratum with a sensible extrapolation to higher energies.


    The update above affects both emitted H I spectra, and the total cooling rate at the lower temperatures (few eV) in the pion model. That cooling rate may differ at some temperatures by a factor of 3-4. Therefore results obtained with the most recent SPEX version will differ from those of version 3.05 and earlier.

  • Fixed a problem with Li-like Fe-L data (remove high multipole transitions arisen from a bug in FAC).

  • Fixed a bug in the NEIJ model which produced wrong ion concentrations from SPEX version 3.05.

  • Added pyroxene and DNA to amol model.

  • Updates to ions: C I, N II, O II, Ne IV, Cr IV, Cr V, Mn V, Mn VI.

Stable release (3.06)

In SPEX 3.06.00 (July 2020):

In SPEXACT 3.06.00 (July 2020):

  • Model calculations now in double precision.
  • Added new dust extinction models.
  • Added adiabatic cooling to the pion model.
  • Added new cooling by Stofanova et al. (submitted).
  • Added cooling by di-electronic recombination.
  • The definition of microturbulent velocity in emission models has been changed to Vrms.
  • The `ebv` model now contains a switch to put the Milky way bump on and off.
  • Atomic data:
    • Fe-L data from Gu et al. (2019).
    • O II, Mg VI, S X, Ar XII, Ca XIV, Ti XVI, Cr XVIII
    • Absorption lines of Ne II, Ne III, Mg I and Si I have been updated using Juett et al. (2006) for Ne. The Mg I and Si I have been updated using calculations with FAC and COWAN respectively.


Stable release (3.05)

In SPEX 3.05.00 (December 2018):

  • Bug in sector copy fixed.
  • Fixed additional page problem in postscript output of plot.
  • Introduced W-statistics (not recommended for use).
  • Xabsinput can now handle SEDs with more than 1024 bins.
  • New version of trafo that adds the Ext_rate column to a .spo file. This column is necessary to properly simulate a spectrum when there is a background spectrum present. The Ext_rate column shows the ratio of the backscales of the source and background spectrum.
  • Simulate command syntax changed.
  • When calculating errors of multiple parameters with one error command, parameters of the best fit found across all parameters are written to, if a better minimum was found.
  • Spectra dumped with plot adum now contain a ‘NO’ to separate the spectra.
  • The sector command can now dump a model to a text file that can be read in by the SPEX file model. This could be helpful when one wants to model the background without evaluating the model each time.
  •  Added correlation information in the output of the par show command.
  • Added the instrument normalisation to the output of par write.
  • Replaced a few proprietary math routines with open source alternatives. 
  • Applied GPL license to SPEX and prepared source code for publication.
  • Added first version of SPEX tests to the source code directory. 
  • Fixed bug in the check of the number of free instrument normalisations in the model. 

In SPEXACT 3.05.00 (December 2018):

  • Bug and stability fixes for the pion model.
  • Bugfix in the temperature grid of the cooling-flow model. Mass deposition rates are now consistent with other cooling-flow models.
  • Stability issue with the free-bound calculation resolved.
  • Fixed small issue in the charge exchange model for Fe XXIII.

As can be seen from the changes, version 3.05.00 contains mainly changes on the SPEX side. The SPEXACT atomic database and models were hardly changed since 3.04.00. If you are considering to run your analysis with 3.04.00 again with version 3.05.00, then there are very little reasons to do so. No significant differences are expected between results from 3.04.00 and 3.05.00.   

Stable release (3.04)

Version 3.04.00 (December 2017)

  • The ionisation balance is now by default Urdampilleta et al. (2017). The actual data did not change, but the paper was published in 2017. The command ‘ibal u16’ still works, but gives a warning message that the actual command is ‘ibal u17’ from now on.
  • Fixed bug in stepcontour program related to logarithmic grids.

Changes in SPEXACT 3.04.00 

  • Fixed bugs in the CIE, NEIJ, CX and PION models.
  • Included radiative recombination cooling following Mao et al. (2017).
  • Updates of PION model.
  • Updated Auger rates for Be-like to C-like Fe.
  • Ni XXI of the O-like added and some Fe ions extended.
  • Now we multiply the emission measure by n_e/n_H in the pion model. This will result in typically 20 % more emission from the pion model.
  • Added the tmod option to the pion model (see the Pion section in the SPEX manual), allowing to set the temperature and not solve for energy balance (useful for hot stars, the WHIM etc.).
  • Allowed to use multiple solutions in the pion model (fmod and soln parameters).
  • Allowed for external heating source in the pion model (exth parameter).
  • Extended the pion model with all elements from Z=1 to Z=30.
  • Fe XX levels modified to Nist5.
  • Bug fix: Now we use the proper argument 2 (y) in the call to the integrated Voigt function sivf. The Lorentzian component is now 2x narrower than before, which does affect the CIE emission spectra. It does not affect “old” xabs, hot calculations etc.
  • Extended data for Fe XXI, Fe XXII, and Fe XXIII.


Release (3.03)

Version 3.03.00 (November 2016)

  • Fixed bug related to opening many fits files.
  • Fixed bug in data merge regarding the deallocation of the derivative array.
  • Fixed bug in the calculation of the average exposure time in data show.

SPEXACT version 3.03.00 (November 2016)

  • Fixed bug in generation of atomic data files.
  • Added Auger rates for O V, Ne VII, Fe XIII.
  • Ionization limits added for Mg IX, Si XI, S XIII, Ar XV.
  • Atomic data extended including autoionisation for Be-like ions.
  • Added correction for auto-ionization for excitation and inner-shell ionisation to doubly excited levels.
  • Update and bugfix for CX model (H-H collision).
  • Updated ionisation balance for U16.

Release (3.02)

Version 3.02.00 (August 2016)

  • SPEXACT naming and versioning introduced to keep track of the changes in the atomic database and the associated routines to calculate models.
  • Fixed bug in the stepcontour function regarding formatting of output QDP files. 
  • Fixed crash in obin command for high-resolution Hitomi data.
  • Fixed bug in xabsinput regaring new egrid command syntax.
  • Added two parameters to the CIE model to allow for a single, second non-thermal electron component to be taken into account (essentially the first step that otherwise will be done through the “file” options for non-thermal electron). This new option has the advantage that the relative temperature and normalisation of the high-E electrons are fittable parameters.

SPEXACT version 3.02.00 (August 2016)

  • Major update to Pion model, which now includes emission.
  • Updated collisional ionisation rates (Urdampilleta et al. 2016)
  • CX cross sections updated to the latest calculations from Phil Stancil (kronos v2.6).
  • Be-like sequence re-introduced.
  • Li II, Be II, Be III, B III, B IV, Ne VIII, Fe XIX, Fe XXIV modified and/or extended.
  • Reinstalled tri-electronic transitions, but now with the proper lower level occupation. 

Release (3.01)

Version 3.01.00 (April 2016)

  • To optimize for calculation speed, in the new line list, one can select ions
    that should be calculated the old way (ions old) or the new way (ions new).
    The syntax is the same as the ‘ions ignore’ and ‘ions use’ commands.

  • Added sorting option to the command ‘asc ter … line’ to sort lines based on emissivity.

  • In version 3.00.00 (using the new line database, ‘var calc new’), we had also included dielectronic satellite lines of He-like ions of the type 1s2 => 2s 2p2, which actually are trielectronic recombination lines. The 2s 2p2 levels decay rapidly through radiation of a photon (2p to 1s transition) to the 1s 2s 2p level, which decays further by a similar transition to the 1s2 2s ground state of Li-like iron. Therefore, our model predicts relatively strong satellite lines from these transitions, stronger than present in corresponding EBIT spectra. We have resolved this issue by for this moment omitting transitions from these triply excited states from the calculations. Note they were/are absent in SPEX version 2.0 or all APEC versions.

  • The new CIE model did not reproduce the x/y line ratio in He-like iron very well. The x and y lines are the two intercombination lines in this ion. We traced this problem down to some confusion caused by different notations for line levels. The NIST database, the Cowan code, Chianti use different notations for the same transition: some use 1s2s(3S)2p 2P1/2, others 1s2s(1S)2p 2P1/2 for the same transition (same if you compare the values of the corresponding energy levels). Some others couple the 2s and 2p electrons first, leading to P states, and then attach the 1s electron to it, leading to again different notations. This confusion led to an interchange of collisonal and radiative rates between some levels, thereby affecting the x/y line intensities. This has now been fixed.

  • The innershell levels and related auger and radiative transitions for Fe XIX to Fe XXIII are added using the data from Palmeri et al. (2003).

Version 3.00.00 (January 2016)

  • The first version of the new atomic database prepared by Ton Raassen is included in this release. It contains hundreds of thousands of energy levels from hydrogen to zinc. The new database is not yet enabled by default (see command ‘var calc new’). Using the new line database requires more memory and CPU time then before, which may not be needed in every case. Enable the new line list if you need more accuracy, for example when you fit high-resolution spectra.
  • We have optimized the calculation of the radiative recombination, di-electronic recombination, two-photon, and proton excitation processes to be able to calculate a spectrum from the new atomic data within a reasonable time. The results from full calculations were approximated by functions that can be calculated much faster, which allows the fitting of complicated spectra with models containing a large range of physical parameters of the plasma.
  • The photo-ionization model ‘pion’ has been substantially improved. It is now possible to model several absorption layers with including their radiative transfer. Also the emission part is implemented. However, use with care since this model is still experimental.
  • We included natural & Voigt broadening to SPEX emission models.
  • We introduce a new charge exchange model (cx) developed by Gu et al. (2016).
  • We added the ‘ebv’ component in SPEX to model interstellar extinction.
  • There are now interfaces to include your own model in SPEX . Use ‘com user’ for additive models and ‘com musr’ for multiplicative models. Examples of how to use this model component are shown in the revised SPEX Cookbook. It also allows you to call Xspec models from SPEX.
  • We added a line emission/absorption model with a Voigt profile (com line) to model individual lines.
  • Contour plots of chi^2 values from the steppar command can now be plotted using the stepcontour task. The steppar command can now export the results to an ASCII file that stepcontour can convert into a quick contour plot (or QDP file).
  • The SPEX syntax has been slightly changed. From now on, all ranges can be written with a ‘:’ in between to improve the consistency of the syntax. For example, changing the X axis of a plot can now be written as: ‘plot rx 0.1:10’. Affected commands are ‘plot’, ‘egrid’, ‘elim’, ‘dem chireg’, ‘step axis’, and ‘par … range’. If possible, the old syntax was also kept alive. Check the manual for details.
  • C-statistics, the Bryans et al. (2009) ionization balance and the proto-solar abundances by Lodders et al. (2009) are now the default in SPEX. The abundance table and the ionisation balance can now be queried using the commands ‘abun show’ and ‘ibal show’, respectively.

Discontinued (2.06)

Version 2.06.01 (January 2015)

  • Update of neij model
  • Update of hyd model
  • Update of rgsfluxcomine and rgs_fmat for new SAS format
  • Fixed wavelengths of Fe XXV triplet lines
  • Added sound speed to list of plasma properties

Discontinued (2.05)

Version 2.05.04 (January 2014)

  • Added pion model

Version 2.05.02 

  • Fixed 64-bit bug in PGPLOT driver
  • Various bug fixes in fitting routine, slab, xabs and neij
  • Improved output of C-statistics

Version 2.05.01

  • Updated neij model with full inclusion of Bryans rates

Version 2.05.00

  • Added simple table absorption model

Discontinued (2.04)

Version 2.04.00 (current stable version, August 2012)

  • Added basic help commands to the command line
  • Added XSTAR support to xabsinput

Discontinued (2.03)

Version 2.03.03 (current stable version, August 2012)

  • Fixed several small bugs

Version 2.03.02 (February 2012)

  • Added the rgsvprof program
  • Added rec_time program
  • Updated a few math routines
  • Fixed several small bugs with respect to 2.03.00

Version 2.03.00

  • Added model hyd
  • Improved amol model
  • Added uvtospex program
  • Bugfix Bryans 2009 ionisation balance
  • Added velocity x-axis option to plot command

Discontinued (2.02)

Version 2.02.04 (January 2011)

  • Fixed bug Bryans 2009 ionisation balance
  • Fix errors in rgsfluxcombine and xabsinput
  • Small bug in merging two instruments fixed

Version 2.02.03

  • Bugfix segmentation fault when merging datasets (data merge)
  • Bugfix segmentation fault when calculating absorption edges with certain narrow band egrids

Version 2.02.02 (March 2010)

  • Optimised subroutine freebound (parallel processing)
  • Update to trafo to handle responses with wrong HDU order
  • Default abundances are now Lodders (2009)
  • Improved data nitrogen K-shell absorption lines

Version 2.02.01

  • Optimised response matrix convolution (parallel processing)
  • Updated trafo version added (1.02)
  • Optimised subroutine sigfot (parallel processing)

Version 2.02.00

  • Added asymmetric Gaussian Emission Measure profile to cie component
  • Solved segmentation fault in trafo when reading RGS responses
  • Instrument normalisation in case of multiple regions solved
  • Removed bug in He II H6 line and S XIV 24.2 Ang line
  • Removed bug in Fe XV 481.46 Ang line
  • Changed cie / Gauss DEM binning for speed

Version 2.01.05 (June 2009)

  • Removed bug in He II H6 line and S XIV 24.2 Ang line

Version 2.01.04 (April 2009)

  • Solved segmentation fault in trafo when reading RGS responses
  • Instrument normalisation in case of multiple regions solved

Version 2.01.03 (March 2009)

  • Version 2.01.03 is marked stable

Version 2.01.02 (December 2008)

  • Updates to the absorption database (O I, O II, N I, C I, Fe-M)
  • Added Comptonisation model Titarchuk (comt)
  • Include comments starting with # in output files
  • Include parameter acronym in output result error search

Version 2.01.01

  • Added support for the GNU-readline user interface, including command/parameter completion and syntax verification. cf. the README file.
  • Improved syntax checks, fixed bind-helpfunction failure message. #i, #r … now complete to #integer, #real
  • Comment lines are now once more stored in a ‘log save’ file.
  • Updates to the line list of absorption lines. See manual.
  • Removed bug in trafo for ifort compilers (caused segmentation fault)
  • Check added that response matrices are non-negative
  • Removed bug in optbin for spectra with multiple regions (caused segmentation fault)
  • Added dabs model (dust absorption)
  • Added the 1s-np (n=3,4,5) lines for Ne I in absorption
  • Accounted for background in Cstat