XSPEC is a command-driven, interactive, X-ray spectral-fitting program, designed to be completely detector-independent so that it can be used for any spectrometer. XSPEC has been used to analyze data from HEAO-1 A2, Einstein Observatory, EXOSAT, Ginga, ROSAT, BBXRT, ASCA, CGRO, IUE, RXTE, Chandra, XMM-Newton, Integral/SPI, Swift and Suzaku. There now over 1000 papers listed on ADS which cite the Arnaud 1996 XSPEC reference.
This manual describes XSPEC v12.5, which is available on Linux (gcc 3.2.2 and later), MacOSX/Darwin (gcc 3.3 and later) , Solaris (2.6-9; WS6.0 and later). New users are advised to read Chapter 2, which introduces spectral fitting and the XSPEC approach, Chapter 3, which gives an overview of the program commands, and Chapter 4, which contains walkthroughs of XSPEC sessions. They should then experiment with XSPEC and, if necessary, look up individual commands in Chapter 5, or descriptions of the spectral models in use, in Chapter 6.
The User Interface for XSPEC, which employs a tcl scripting shell and the XSPEC parser are described in Appendix A. Users possessing X-ray spectra with small numbers of counts per bin are referred to Appendix B, which describes the C-statistic option. Users interested in adding their own models can read how to do so in Appendix C. Appendix D describes the PLT plotting package which XSPEC currently uses for graphical output. Some of the tools (FTOOLS, fortran programs, scripts) that can operate on XSPEC files are listed in Appendix E. The XSPEC model library can be linked into other programs following the instructions in Appendix F. Appendix G describes how to use your own proposal distribution for Markov Chain Monte Carlo. Finally, Appendix H includes some notes on the changes between XSPEC v11 and v12.
The main improvements in version 12.6.0 are to XSPEC's plotting capabilities:
· Multi-panel plotting is now supported for all combinations except contour plots. For example, "plot data model resid ratio" will produce a 4-panel plot on a single page. Up to 6 panels can be plotted in this manner.
· There are many choices for axis units. These can be selected using the "setplot energy" and "setplot wave" commands. For example, "setplot energy GeV" uses GeV on the x- and y-axes. "setplot wave" also has a new "perhz" option for displaying the Y-axis in 1/Hz units.
· The "setplot" command has a new "redshift <z>" option for shifting displayed energies to the source frame.
Other new features:
· New models: ireflect is a convolution model based on the pexriv code. sirf is a multiblackbody self-irradiated funnel
· The normalizations on all power-law models (ie. powerlaw, bknpow, bkn2pow, cutoffpl)can be changed to a flux over an energy range by setting POW_EMIN and POW_EMAX keywords in "xset". The powerlaw model then becomes equivalent to the pegpwlw model.
· The Compton reflection models (b/p)exr(a/i)v and (i)reflect have been restructured to use adaptive Gauss-Kronrod quadrature for the Greens' function integrals. The precision to which the integrals are calculated can be set allowing a trade-off between speed and precision.
· The wrapper functions additiveTable and multiplicativeTable give external C++ models access to XSPEC's table model interpolation routines (equivalent to the xsatbl and xsmtbl functions for Fortran models).
· The display of link expressions has been simplified to show only the parameter numbers and not the extraneous component information. Also "show model" will now only display the model components and not the individual parameters. The parameters can be seen with "show par".
Additional enhancements previously released as patches to 12.5.1:
· Added the solar abundance data set of Asplund, Grevesse, and Sauval (2006) to the list of available tables accessed with the "abund" command.
· New "tclout nchan" option for returning the number of channels in a spectrum. The "save" command now stores relative rather than absolute paths to allow easier porting to other machines.
· The recorn model component has been converted from a mixing to a multiplicative type. This allows a model to define multiple recorn components.
· A warning message is now issued if a user attempts to load a response for a source n when there are still slots to fill for source n-1. This is intended to catch cases where a user mistakenly reverses the source and spectrum number input to the "response" command.
All bug fixes to v12.5.1 released as patches a - o are included in v12.6.0. In addition the following problems have been corrected:
· It was possible for the addition of a systematic model error to actually decrease the overall variance, when it was applied to a zero-variance bin that was artificially increased by XSPEC for chi-square fitting.
· Bug in "plot ratio" when using "setplot wave" with Hz units. Y-axis model values < 10^-20 were not displayed in plot.
· The comptt model no longer stops and prompts the user when it fails during its incomplete gamma calculation.
· The powerlaw model has been modified to avoid a numerical instability that could occur if the index were within 10^-12 to 10^-15 of 1.0.
XSPEC is distributed and maintained under the aegis of the GSFC High Energy Astrophysics Science Archival Research Center (HEASARC). It can be downloaded as part of HEAsoft
http://heasarc.gsfc.nasa.gov/docs/software/lheasoft/download.html
XSPEC is available either as binaries or source. We recommend downloading the source and compiling locally to avoid potential system library conflicts and allow installation of any patches we release. If you have any problems compiling or running XSPEC please e-mail us at
The XSPEC Web page comprises links to the anonymous ftp site, a Web version of the manual, and several useful documents, including a list of known bugs. The Web address is
with the list of issues and available patches at
http://heasarc.gsfc.nasa.gov/docs/xanadu/xspec/bugs.html
and additional models which can be added at
http://heasarc.gsfc.nasa.gov/docs/xanadu/xspec/newmodels.html
Further useful information can be found on the XSPEC Wiki at
https://astrophysics.gsfc.nasa.gov/XSPECwiki/XSPECPage
and the xspector blog at
The first version of XSPEC was written in 1983 at the Institute of Astronomy, Cambridge, under VAX/VMS by Rick Shafer. It was written to perform spectral analysis of data from the ESA EXOSAT X-ray observatory, which was launched that year. XSPEC is a descendant of a series of spectral-fitting programs written at NASA/Goddard Space Flight Center for the OSO-8, HEAO-1 and EO missions. The initial design was the fruit of many discussions between Rick Shafer and Andy Szymkowiak. Rick Shafer subsequently joined the EXOSAT group, where he enhanced the VAX/VMS version in collaboration with Frank Haberl. Meanwhile, Keith Arnaud ported XSPEC to a Sun/UNIX operating system. The two implementations of XSPEC diverged for several years until a determined and coordinated effort was made to recover a single version. The results of that effort was XSPECv6, described in the first edition of this manual. Subsequent editions have covered later versions of the program. In recent years XSPEC has become the de facto standard for X-ray spectroscopic analysis for the ROSAT mission and the de jure standard for the BBXRT, ASCA, and RXTE missions. It is now in extensive use for all current X-ray and gamma-ray missions. An extensive re-engineering effort was started in the fall of 1998 to improve long-term maintainability, allow significant new features to be added, and support the analysis of spectra from coded-mask instruments.
This project would not have been possible without ignoring the advice of far more people than can be mentioned here. We would like to thank all our colleagues for their suggestions, bug reports, and (especially) source code. The GSFC X-ray astronomy group are particularly thanked for their patience exhibited while functioning as the beta test site for new releases. The initial development of XSPEC was funded by a Royal Society grant to Prof. Andy Fabian and subsequent development was partially funded by the European Space Agency's EXOSAT project and is now funded by the HEASARC at NASA/GSFC.
Dorman, B., Arnaud, K. A., and Gordon, C. A. XSPEC12: Object-Oriented X-Ray Data Analysis, AAS HEAD meeting No. 35, #22.10