Due to the lapse in federal government funding, NASA is not updating this website. We sincerely regret this inconvenience.
******************************************************************************** RELEASE NOTES FOR HEASOFT 6.36 September 26, 2025 ******************************************************************************** The HEASoft 6.36 release is driven by new and updated mission-specific data analysis software (XRISM, IXPE, MAXI, BurstCube, et al.), but as usual includes other enhancements and fixes. Configuration-related changes throughout the package mean that users who already have HEASoft installed will need to completely replace their software installation; there is no clean way to simply overlay this new release or to update an existing installation. Please note that in favor of distributing pre-built HEASoft installations via the conda package manager, we plan to discontinue distributing our traditional pre-compiled binary downloads after the 6.36 release. ******************************************************************************** CFITSIO ******************************************************************************** Version 4.6.3: - For greater C23 compatibility, updated cfortran.h file and removed old-style function declarations. - Cleanup of multiple compiler warnings. - Updated 'speed' utility to use higher precision total time. - Fixes for FreeBSD and OpenBSD build issues. - Added RPM support file cfitsio.spec, and packaging helper file ax_cfitsio.m4. - Added files portfile.cmake and vcpkg.json. - Fixed possible memory leaks in certain error exit conditions. - Fix to minor truncation error in ffgthd. ******************************************************************************** HEASP ******************************************************************************** pha: Added += and -= operator overloads to add/subtract a number or vector of numbers to/from the spectrum. Added add and subtract methods to add and substract pha with control over whether operation is in counts or rate and how the exposure, background scaling, and area scaling are handled. Added multiply and divide methods to multiply and divide pha with control over whether operation is in counts or rate and how the exposur eis handled. rmf: Corrected the use of the I and J format when writing an output file. They were used the wrong way round leading to problems when there were more than 32768 channels. SPio: Added SPwriteHistoryKeywords and SPwriteCommentKeywords to write history and comment keywords to the specified filename and extension. ******************************************************************************** ATTITUDE ******************************************************************************** - prefilter: Updated GEOMAG library for IGRF version 14 (2020- data affected); Fixed XTE-style orbit interpolation: previously it could leave strange extra samples if tabulated orbit samples were > 120 sec but < 240 sec apart ******************************************************************************** CALTOOLS ******************************************************************************** - caldbinfo: Fixed nicaldbver INDEF issue ******************************************************************************** HEAGEN ******************************************************************************** - barycen: Updated to use JPL DE440 ephemeris when the reference frame is ICRS. Fixed bug that blocked application of ICRS frame. XRISM added to list of valid missions - barycorr: Added support for NICER FPM_SEL and filter files with extraneous time samples - burstt90t50: Improved detection of file+ext; added statistics for higher chatter; burst T90 T50 interval method adjustments, adds two parameters ('usenegative' and 'uselast') to increase flexibility in how to select the points from the light curve that are included in the calculation - hpextract: (NEW) HEALPixel event combiner tool - xrtraytrace: Additional updates to fix and enable remote CalDB usage with xrtraytrace and xaarfgen ("timeout" interval extended for reading large CalDB files). ******************************************************************************** HEASARC ******************************************************************************** - extractor: When writing output files Changed the checking of keyword matches when deleting duplicates so that a match is defined by having the same keyword even if values differ. A warning message will be written if there are multiple instances of the same keyword with different values. Trapped a potential seg fault if there are no valid GTIs. ******************************************************************************** HEASPTOOLS ******************************************************************************** - ftaddspec: (NEW) Tool intended to replace addspec and addascaspec; adds spectrum files and, optionally, associated files - ftmathpha: (NEW) Tool intended to replace mathpha; performs mathematical operations on spectrum files - ftmarfrmf: If warnings are generated when reading the rmf, these are written out and the tool now conditions instead of failing. ******************************************************************************** XSELECT ******************************************************************************** - Replaced spaces by underscores in the session name. If the current directory path includes spaces, generate a warning. ******************************************************************************** XSPEC ******************************************************************************** Xspec version 12.15.1 New models - fekblor, bfekblor, zbfekblor: four Lorentzian high-resolution model for the Fe Kbeta line. - rsapec, rsvapec, rsvvapec: apec models with line broadening and resonance scattering out of the beam. - rsgauss: a gaussian model with a resonance scattering optical depth parameter - mainly for testing purposes. - rsrnei, rsvrnei, rsvvrnei: versions of the rnei model with resonance scattering out of the beam. Modifications to models - In the NEI models, the eigenvector file which is used to calculate ion fractions can be changed using xset APECEIGENFILE. (Note that NEIAPECROOT and NEIVERS now do the same thing and the former is preferred). - Updated xilconv to use version of 5 of the xillver file and added option to set the version number. - Added option to set model data directory in the Xspec.init file with e.g. MDATADIR: /my/directory/path - Use the Xspec.init information to set APECROOT, SPEXROOT, and NEIAPECROOT. - Simplified the general code to calculate line shapes to avoid some occasional problems - now no longer uses the input crtLevel or the xset LINECRITLEVEL value. Other - Added tclout xset name option to get the values of any model strings set by xset. - Clarified questions asked by fakeit command. - Replaced the use of cfortran.h with modern f90 to link C and Fortran. This may require changes in local models written in Fortran to add "use xsfortran" and/or "use xsfortfuncwrappers". - Added Planck's constant and the classical electron radius (in cgs) to Numerics.h - required to calculate resonant scattering. Modified BinarySearch.cxx so that the input y array does not have to be in ascending order (although the routine will run faster if it is). - New "latest" option for the Xspec.init settings for ATOMDB_VERSION, SPEX_VERSION, NEI_VERSION. Setting these to "latest" ensures Xspec will select the most recent atomdb files. Fixes - All fixes that were included with patch releases 12.5.0a-f - An array access error in the "ismdust" model. - NaNs appearing for a corner-case of background subtraction. PyXspec - New method Xset.getModelString() to return the value of a particular key string stored in XSPEC's internal model string database. ******************************************************************************** XSTAR ******************************************************************************** - Changes to fix bug that affected multi-pass runs ******************************************************************************** BURSTCUBE ******************************************************************************** New tasks for BurstCube (v1.0): - bcfindloc: Calculate the BURSTCUBE likelihood source position from multiple detectors simulated rate and create a localization map - bcoccult: Calculate a full-sky map to show the sky occulted by the earth within a time interval - bcprod: Create light curves and spectra for a given burst from time dependent spectral array data and GTI - bcrebevt: Rebin event data by time and channels to output a time dependent spectral array file or prepare time-dependent spectral array file for subsequent analysis and plot the results - bctimebst: Calculate a light curve and determine a burst time interval based upon Bayesian block analysis - bcversion: Report version string for BURSTCUBE package ******************************************************************************** IXPE ******************************************************************************** Changes to the IXPE Python Tools: - ixpeaspcorr: Implemented bounded fitting with scipy.optimize_curve_fit() for finding the centroid of an image peak using a Gaussian model. This largely eliminates bad fits. Changed the time binning to be more deterministic and avoid a bug in which several valid data points were being dropped from the final position analysis. Increased the reporting of interim aspect correction fits, and removed a bug which masked differences in solutions between the two optical heads of the star tracker. - ixpecalcarf: "weight" parameter changed to default to "1" or NEFF weighting, which matches the help file documentation. - ixpeexpmap: Changed definition of "GrayBadFlag" values so they do not overlap any of the "BadFlag" values. These have not yet been used in any IXPE produced data, so there should be no noticeable effect. - ixpemkxspec: It was found that the outputs this tool produces are compatible with xspec, but not with pyxspec. Additional output files were added that are specifically formatted to work with pyxspec. The documentation was updated to describe the both outputs and naming conventions. - ixpepolarization: Removed an annoyance bug in which the default values for the polarization output file would be "-.fits". The new default is "ixpepolarization_out.fits". The documentation was updated to describe the outputs more clearly. - ixpeproduct (NEW): This is the initial release of this tool for preparing event data for analysis with xspec (or pyxspec). It produces spectrum files, light curve files, polarization files, ixpemkxspec output files, and optionally produces pointing map files from an IXPE observation data set. ******************************************************************************** MAXI ******************************************************************************** New tasks: - mxauxlist: Make an FITS list files for ISS attitude, solar panel angles, and GSC housekeeping files - mxevtfilter: Separate event files by voltages, source and background regions, and generate a master event file. Also make image files - mxevtgti: Generate GTI from event files by looking for long gaps in the events - mxlcraw: Combine scan condition information with total raw counts in the source and background regions for each energy band, and compute (or record values from other tools) a variety of correction factors - mxlcurve: Apply all correction factors necessary and generate scan level and time binned light curves. Also compute matching hard ratios versus time - mxpha: Generate spectra for source and background from the event files - mxpipeline: Generate the high level products (images, light curves, spectra, and response) for both instruments - mxpsfcorr: Compute the point spread function correction factor based on the simulated PSF events - mxregion: Make ds9-compatible region files to define source and/or background sky regions, excluding potentially confusing sources if present - mxscancond: Generate scan condition flags for each GTI interval and camera, tracking whether the source and background are observed, blocked by spacecraft or solar panels, and compute peak visibility times - mxsim_bgd: Compute modeled background from both cosmic and non- X-ray sources (including the Soyuz capsule when docked at the ISS) - mxsim_psf: Simulate observed events based on the point spread function for each individual camera scan - mxtilelist: Make an ASCII list of all the HEALPixels within a radius of a sky location Changes to existing tasks: - mxsrmfgen, mxgrmfgen, mxgtiwmap, mxscancur: Added CALDB setup checks The following tasks have been retired: - mxextract, mxgscandat, mxlscan, mxproduct, mxsscandat ******************************************************************************** NICER ******************************************************************************** - nicerl2: Removed stray "1" file and stray "$EVTSUFFIX" appearing in output file - nitargdet: Fixed bug in retrieval of CALDB files, which only triggered in specialty processing ******************************************************************************** SWIFT ******************************************************************************** XRTDAS v3.7.1: - xrtscreen: Updated the xselect command for the extraction of cleaned event files ******************************************************************************** XRISM ******************************************************************************** - rsladrgti, rslctsfluct: Updated to properly handle null (NaN) values in the TIME columns of Resolve housekeeping files. - rslbratios: The task now makes a new set of images that excludes Ls events, allows input of a custom rise-time selection expression, and makes lightcurves that now only have time bins that lie completely inside GTI. Other minor modifications update some of the file naming and screen messaging. - rslmkrmf: Several parameter default values updated. - rslmkrsp: A new tool that makes a combined Resolve RMF and ARF file taking into account pixel-to-pixel spatial variation in branching ratios for bright sources. Compared to the regular method for making spectral responses, the new tool weights the pixel-dependent telescope effective area functions more accurately when the branching ratios vary across the array. - xaarfgen, xaexpmap: Updated to use new CalDB keywords that relate to the offset between the optical axis and the raytracing coordinate system. There are other minor changes to some of the parameter options and defaults. - xapipeline, rslpipeline, xtdpipeline: Updated to remove Xtend and Resolve RMF generation. Some preview products are renamed in rslpipeline and xtdpipeline, and a full-band Resolve light curve is no longer generated in rslpipeline. A minor update is made to xtdpipeline to identify values of dataclass for which product generation is skipped. - xmatraceback: A significant update to this task adds a new output file that contains various calculated fraction contributions from within Resolve pixels and from regions outside each pixel. The task was also modified to handle new CalDB keywords that relate to the offset between the optical axis and the raytracing coordinate system. There are other minor changes to some of the parameter options and defaults. - xtdpixclip: The behavior of this task when no region file is specified has changed. There are other minor changes to some of the parameter options and defaults. ******************************************************************************** MISC. ******************************************************************************** - fv and xdf (XTE): These GUI scripts are now generated (from fv.in and xdf.in) during the configure process