New features
- Parallelization
- Added parallel processing to leven when usechainrule is
no. Added xset usechainrule option to switch between fast and slow
second derivatives so this can be done without changing Xspec.init
and restarting xspec.
- In the various models which use the apec code added option of
multithreading over the temperatures for the calculation of lines
in the spectrum. Multithreading here is turned on and off using xset
APECMULTITHREAD. The default is off. For the basic apec model
multithreading does not provide a speed advantage. However, if
line broadening is selected (eg using bapec) then multithreading will
speed up the calculation. Also, for models which combine multiple
temperatures such as cooling flow or NEI models multithreading can
provide a significant speed increase.
- Spectropolarimetry plotting
- Changed the polangle plot so that the angles all lie between the
mean angle
90 degrees. This avoids plots where values jump
between the top and bottom of the plot as the angle wraps around.
- The polangle and polfrac plots now take account of any plot
grouping set. If any spectrum in a data group is in the same plot
group as a spectrum in another data group then all the spectra in
the second data group are added to the plot group for the purposes
of these plots only.
- If any of the polfrac values or errors are calculated as NaNs
then these are replaced by the PLT NO value and will not be
plotted.
- Mdefine
- Fixed mdefine to handle the case when the user is mdefining
a convolution model which consists only of an xspec convolution
model.
- Added support for table models using atable, mtable, or
etable in mdefine expressions.
- Added 2nd to 5th order Legendre polynomials to mdefine
built-in functions.
- Updated Models:
- bwcyc: Tightened the boundaries of parameters; now treats NaN as positive infinity
- cevmkl, cemekl: Increased lower limits of Tmax parameter
- gabs: Fixed units for Strength parameter
- tbnew: Reduced stderr logging of non-error announcements
- Miscellaneous:
- The syst command to set model systematic errors can now apply
systematics to individual models (default or named) instead of to
all models.
- The precision of parameter values from tclout(r) has been
increased to 10 figures.
- The error command diagnostic output is now controlled by the
chatter level.
Bug fixes
The following patches for 12.13.0 have been included:
- 12.13.0a. When the X axis is in energies or wavelengths, plot
delchi and plot fitstat (or plot chisq) are not being scaled
properly. When the X axis is in wavelengths and perhz is on, plot
counts is unable to construct its Y axis label.
- 12.13.0b. If a model defined using mdefine calls another xspec
model which requires a separate model calculation for each
spectrum, that information is lost.
- 12.13.0c. plot delchi and plot fitstat/chisq are not being
properly scaled when spectra have multiple models assigned to
them. This also restores the insertion of systematic model error
into plot delchi and plot fitstat/chisq, and adds it to other
plots that were previously ignoring it.
- 12.13.0d. Fix to mdefine so that it can now include built-in
Xspec convolution models as part of its expressions for additive
and multiplicative mdefine components.
- 12.13.0e. Added chain proposal uniform deltas [factor] and
chain proposal uniform limits options. For backwards
compatibility, chain proposal uniform defaults to chain proposal
uniform limits.
- 12.13.0f. The zkerrbb model undercalculates the flux (and
luminosity) by a factor of (1+z)
.
- 12.13.0g. The Voigt line model can have a small sub-bin
offset and incorrect shape.
In addition the following bugs have been fixed:
- When the 'energies' command is in use for table models, a crash
may occur if all data sets are cleared.
- The 'tabint' function (for external programs using Xspec's
table interpolation code) is not properly handling the case
when default LOELIMIT and HIELIMIT are in use.