********************************************************************************
RELEASE NOTES FOR HEASOFT 6.34
August 22, 2024
********************************************************************************
The HEASoft 6.34 release is driven by new and updated mission-specific
data analysis software (XRISM, IXPE, NICER, NuSTAR, Swift/UVOT, 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.
********************************************************************************
CFITSIO
********************************************************************************
Version 4.5.0:
- Conversion of CFITSIO configuration to better conform with
automake and libtool.
- Bug fix for case of bit column output in string format on clang
compilers with high optimization
- Added compiler macro support to improve builds on loongarch64 and
on Gnu/Hurd kernels
- Fixed bug in fitsverify utility
********************************************************************************
HEASP
********************************************************************************
- rmf:
Fix for an occasional crash in rmf::rebinChannels and some code
simplification.
Added a check that F_CHAN + N_CHAN do not exceed the number of
channels.
Added a test during the rmf::read method for the MATRIX and EBOUNDS
extensions having the same first channel.
Fixed error in rmf::rebinEnergies if the grouping vector has zero
values indicating the energy should be ignored. This only makes
sense if energy bins are ignored at the beginning or end.
Made the MATRIX extension read slightly cleverer if there is no
TLMIN keyword for the F_CHAN column. In this case assume the first
channel is 1 unless the minimum in the F_CHAN column is 0.
Fixed case of empty FCHAN in the first energy bins.
- grouping:
Added to grouping a method to test whether the grouping flags are
not identically 1 and the quality flags are not identically 0.
- SPutils: Improved SPreadStrings so that it works correctly even if
the line does not end with a newline.
- pha:
Fixed test for negative exposure time in pha::check method - it
should not return an error if the exposure is zero.
Fixed writing grouping keyword when the grouping vector is
identically 1. It was writing the keyword value as 1 but
the standard requires this to be 0.
- SPio: Added a handy routine to return all the column names in an extension.
********************************************************************************
ATTITUDE
********************************************************************************
- pointxform: Allow user control of output formatting via new
parameter 'outspec', and write output coordinates to new
parameters 'topix[12]' and 'toworld[12]'
- prefilter: Made 'rigname' optional since it is not used
********************************************************************************
FUTILS
********************************************************************************
- fmerge: Fixed for crash uncovered using -fsanitize=address
- fpartab: Replaced with a wrapper to 'ftedit' (HEATools)
- fplot: Set a status for 'illegal extension' and 'too many y axes
requested' errors to return control to the main program and avoid
an unnecessary crash
********************************************************************************
FV
********************************************************************************
- Removed Hera connection, as it has ceased operations
********************************************************************************
HEAGEN
********************************************************************************
- barycen: Improved par file defaults (e.g. 'useweights' default
is now 'YES')
- barycorr: Validate input RA & DEC format (must be decimal)
- raytrace : dustmodeleffarea: (NEW) For X-ray point sources with
dust halos, makes an effective area correction (or modifier) file,
with the option of inputting raytracing event files made by the
tool dustyarfmod.
- raytrace : dustyarfmod: (NEW) For X-ray point sources with dust
halos, makes an effective area correction (or modifier) file, with
the option of running raytracing simulations for the calculations.
- raytrace : xrtraytrace: Enhancements were made to xrtraytrace in
two principal areas. One of these pertains to the treatment of a
more complex "mirror" CalDB file format to model structure in the
innermost foils of the telescopes, that is new compared to Hitomi.
The second area involves several changes that support a more
complex treatment of "external objects". These latter enhancements
will allow more accurate modeling of the XMA thermal shields.
Specifically, more complex geometries are supported for constructing
the external objects, and a new CalDB file is supported that can
model spatial non-uniformity in a thin-film layer, in the form of
a thickness map image. (However, such a thickness map CalDB file
for XRISM does not yet exist, and is currently just an option,
which may or may not be utilized in the future.) There are two new
input parameters to xrtraytrace, one that specifies the name of
the optional external object thickness map image CalDB file, and
another that allows some of the individual components of external
objects to be toggled on and off. For example, after some future
updates to the XRISM XMA thermal shield data in the mirror CalDB
files, it will be possible to switch the film and mesh layers off,
leaving only the frame, which is useful for emulating ground-based
experiments.
********************************************************************************
HEASPTOOLS
********************************************************************************
- ftchkpha: Fixed for erroneously flagging a missing keyword in a
type II PHA file if it appeared as a column.
- ftchkrmf: Updated lists of mandatory and optional keywords based
on the standards document. Better initialization of string vectors.
Make sure to write any warning messages generated by rmf::read.
- ftrbnrmf: Fixed typo which prevented ecompmode=ebinfile from working.
Added option to simultaneously rebin the arf with the rmf when energy
binning.
********************************************************************************
HEASIM
********************************************************************************
- heasim: Include XRISM in heasim.mdb; improved par file defaults
- skyback: Improved par file defaults
********************************************************************************
HEATOOLS
********************************************************************************
- ftverify: Fixed bug for columns with long names+units
- fcopy (wrapper to ftcopy): Improved handling of single quotes in
e.g. GTI filters
- fdiff (wrapper to ftdiff): Fixed exit code to match the original fdiff
********************************************************************************
TIME
********************************************************************************
- gtiinvert: Improved par file defaults and logging messages
- gticolconv: Improved par file defaults
********************************************************************************
XSELECT
********************************************************************************
- Added support for XRISM
********************************************************************************
XSPEC
********************************************************************************
Xspec version 12.14.1:
New models
- Added new crossarf model for simultaneous fitting of
spectra from multiple regions which mix together due to the PSF.
- Added versions of Gaussian lines with width parameter velocity
in km/s instead of energy.
New models vagauss, zvagauss, vgabs, zvgabs, vgauss, zvgauss.
- Added new SED model for black hole binaries from Kubota et al. (SSsed).
Changes to models
- Added 3 new spectral tables (for Hydrogen at magnetic
fields logB=11.7, 11.85, 11.95) to the nsmaxg model.
- Changed gaussian, lorentzian, and voigt line profiles so they
are normalized from 0 to infinity instead of -infinity to
infinity. This is not significant for standard spectral fitting
however when using xspec to fit time series power spectra it will
make a difference.
- Changed the cemekl default switch parameter to 2. Fixed all the
switch parameters so only the default value is given since xspec
ignores the others.
- Changed the default redshift for the (b)(v)cph models to 0.1 since 0.0
does not work.
- Added members and methods to move more of the heavy lifting
in mixing models out of the individual models and into the
MixUtility class. Any individual model now just needs to set
the specNumsMixSets, mixingFactors, and mixingEnergies
structures then the doMix method does the actual mixing.
- Passed the source number into mixing models - before was assuming
that any mixing models were only in the first source (which is most
likely).
- When using adaptive integration in the agauss model and the models
which use the MZCompRefl class store the number of function
evaluations from the last integration.
Documentation changes
- Added reference links and clarified which models are changed by xsect.
- Fixed error in the equations for cstat with background in
Statistics Appendix of Xspec manual.
Bug fixes
The following patches for 12.14 have been included:
- 12.14.0a. The plot polangle command causes a seg fault if no model is defined.
- 12.14.0b. Fixes necessary for compilation on Macs using Xcode/clang v15.3.
- 12.14.0c. The fakeit command does not handle data systematic errors
correctly when using a spectrum as the source (ie. not 'fakeit
none'). The systematic error should not be used as part of the
probability distribution when simulating data.
- 12.14.0d. The changes in the previous bug fix did not include writing
out the SYS_ERR column after fakeit if appropriate.
- 12.14.0e. This fixes a bug introduced in v12.14.0 that was preventing
the setplot id plotting option from displaying APEC line IDs.
- 12.14.0f. This fixes a memory error that can cause a crash in the new
bsedov model.
- 12.14.0g. The fourth parameter in the bwcycl model had been renamed
from 'delta' to 'del' after Xspec v12.13. That was causing
parsing problems in PyXspec when trying to access the
parameter by name, so this patch changes its name back to
'delta'.
- 12.14.0h. The newpar command does not properly parse the case where a
model name begins with a '0'.
- 12.14.0i. This fixes a potential crash occurring with the the bvvnei model.
- 12.14.0j. When a parameter is linked from one model to a parameter
belonging to a different model assigned to a higher source number,
the save command's output file does not reproduce the link.
- 12.14.0k. Bug fix in 2D interpolation for the xscat model. This fix
conforms to v1.0.2 of the xscat code distributed on GitHub.
In addition the following bugs have been fixed:
- Fixed bugs in the Fortran wrappers for the Numerics rebinning
routines. Also changed variable names for hopefully greater clarity.
- Fixed potential error in the polrot model if the spectra are
not read in the expected order.
- Header information is now written out during the fit when using
the migrad or simplex methods.
- Fixed a case in the newpar command where a change to a parameter
needs to force a recalculation in a separate model that happens to
be linked to it.
- Fix to fitting for the case where non-norm parameters are linked
to norm parameters.
For patches beyond 12.14.1, please visit the Xspec issues page.
PyXspec Release Notes for version 2.1.4
- Improved calculation efficiency when creating new models with
non-default values for the parameters.
********************************************************************************
XSTAR
********************************************************************************
Version 2.59d:
- New constants module, new input parameter 'abundtbl', diagnostics
for 'nlte' models, data type 102
- Updated to print all parameters correctly in output files
- Updated xstar2xspec to handle abundance table parameter
- Changed defintions of alpha and gamma for pprint(10) and format
of pprint(10) tables
********************************************************************************
HITOMI
********************************************************************************
- Refactored code paired with the XRISM suite
********************************************************************************
IXPE
********************************************************************************
IXPE Python tools v1.9
- ixpecalcarf:
a) Updated the API so that the "attfile" parameter is now "attfiles"
and can handle multiple files through both the Python interface
and the command line interface. The user can now define the
following input types:
* A single attitude file pathname on the command line as string.
* A list of attitude file pathnames on the command line as a
string of comma-separated file names (no spaces between names).
* An "@file" on the command line which contains the symbol "@"
followed by the pathname of a file that contains a list of
attitude files, separated by newlines.
* A Python list of strings, each of which is an attitude file pathname.
b) Updated the module to better handle a mix of off-axis angles that
are outside the maximum angle of the CALDB files (and thus outside
the dynamic range of the calibrations). The module now:
* Warns the user what fraction of the attitude data points are
outside the maximum angle.
* Removes those attitude data points from the analysis.
* Creates the 10-bin histogram of angles based on the range of
angles within the maximum off-axis angle.
* Uses this histogram to weight the ARF calculations.
c) Fixes a bug in which the values for the CBD10001 and STOKESWT
header keywords in the output ARF file were swapped.
d) Fixes a bug in which the pre-check on CALDB files failed if the
input was a link to a remove CALDB instead of a file in the
current file system. This module can now be used with a remote
CALDB.
- ixpeeventviewer: Fixes two different problems that prevented display
of events that were caused by updates to the matplotlib Python
package and the Gtk graphics display library. These changes have
been tested to work with previous versions of both as well.
- ixpeflagbgd: This is a new module that flags background events
that are identified by one or more of the criteria outlined in
A. Di Marco et al., AJ 165 143 (2023). The input files are
event1 files that have been processed by the instrument pipeline
(ixpegaincorrtemp, ixpechrgcorr, and ixpegaincorrpkmap). The
output will have background events flagged but not removed.
- ixpechrgcorr (actually in v6.33 debug update, but not documented):
Updated import paths to allow the module to run.
********************************************************************************
NICER
********************************************************************************
NICERDAS v13:
This is primarily a bug fix and usability fix update. No major new
functionality is provided in this release.
- nicerl2:
* checks for writability of output directory (cldir)
* checks for gzipped version of ufa file as a fallback
* does not require per-MPU "uf" files to be present if tasks=SCREEN
* if using tasks=SCREEN, doesn't overwrite .mkf file with .mkf.gz file
* better aggregation of filtcolumns entries so that it is possible to
use -colname to remove desired columns
- nicerl3-spect and nicerl3-lc:
* bkgconfigs now passed to SCORPEON backgroun estimators
* nicerl3-lc passes lcthresh parameter to niextlc
* nicerl3-lc default value of noticerange now correctly reflects
channel range of NICER
- nivignette:
* new "profile=disk" surface brightness profile
* bug fix to prevent error when reading surface brightness profile
FITS file
* better error checking when radial profile is provided
- all background estimation tools (SCORPEON, Space Weather, 3C50):
* write metadata keywords to document the background model and
configuration used
* NIBKGTYP is the background model type (SW,3C50,SCORPEON)
* SWVERSN is Space Weather version
* BGYR3C50 is 3C50's "gain year" used
* SCORPVER is SCORPEON's bkgver
* SCORPVAR is SCORPEON's bkgvariant
* SCORPCOM is SCORPEON's bkgcomponents
* corresponding code in nicerl3-{lc,spect} to transfer metadata to
product files
- niscorpspect and niscorpspectmod:
* range of saa_norm is now 0-6000, which is a better representative of
the true range; this only affects people trying to obtain data taken
during SAA
- nicerarf:
* support for nivignette's "disk" surface brightness profile (also
nicerl3-spect)
- niobsmerge:
* make sure that OBS_ID is written as a string and not an integer
********************************************************************************
NUSTAR
********************************************************************************
NuSTARDAS v2.1.4:
This update provides preparatory software in case of a future failure
of one of the NuSTAR metrology lasers used to reconstruct the mast
motions. There is no current danger of either laser failing. This
code update will only be used if the NuSTAR SOC begins delivery of
synthetic mast files as described in Earnshaw et al. (2022)
(https://doi.org/10.1117/1.JATIS.8.1.014009). Otherwise, users
should notice no difference in the behavior of NuSTARDAS.
- nupipeline:
Added a new hidden input parameter 'check_metsim_files' (default
value set to 'yes', no need to set it in the command line)
if 'check_metsim_files=yes': checks for the presence of the mast
and psdcorr _sim0/1.fits files in the input 'event_cl' directory
(these files will only be delivered in the case of a metrology
laser failure)
if 'sim0/1' files are found: automatically sets internally
runmetrology=no and uses the predictive mast and psdcorr _sim0/1.fits files
if 'sim0/1' files are not found: if runmetrology=yes generates
internally the mast and psdcorr files; if runmetrology=no uses
the "nominal" mast and psdcorr files
if 'check_metsim_files=no' (needed to be added to the command line):
the data processing scheme is unchanged. In particular, if the mast
and psdcorr _sim0/1.fits files are present in the input 'event_cl'
directory, they are ignored
if 'runmetrology=no': copies in the output directory the mast and
psdcorr files (parameters 'inmastaspectfile' and 'inpsdfilecor')
- nuproducts: automatically checks for the presence of the
mast _sim0/1.fits file in the input directory and, if present,
uses it internally. If the _sim0/1.fits mast aspect file is not
found, uses the nominal mast.fits file.
From the user's point of view, the usage of the two modules is
unchanged. In the case of a failure of one of the two metrology
lasers, both 'nupipeline' and 'nuproducts' will automatically use
the sim0/1 files from the archive 'event_cl' directory which will
be delivered in the event of a metrology laser failure, with no
need to change the command line or update the code and/or the CALDB.
********************************************************************************
SUZAKU
********************************************************************************
- aepipeline: Correction to Suzaku pipeline expression filters
********************************************************************************
SWIFT
********************************************************************************
- Astro::Convert: allow user to control applyxform output precision
UVOT:
- uvotapercorr, uvotcentroid, uvotdetect: Updated mode of output
parameters from 'ask' to hidden+learn.
- uvotdetect: (v3.10) Fixes transferring keycards and background processing
- uvotevtlc: (v1.6) Bug fix for merging infile GTIs
- uvotimage: (v1.3) Avoid redundant TELDEF lookup when processing
aspect following
********************************************************************************
XRISM
********************************************************************************
Changes to XRISM tools since the last internal team release ("Build 8"):
- rslflagpix: Fixed bug whereby events in the same pixel could be
counted as crosstalk
- rslnxbgen: Added parameters selectfile and leapsecfile to rslnxbgen.par
- rslpipeline, xtdpipeline: Made revisions to image, spectrum, and
light curve products
- rslseccor: Changed maximum output PHA value to be TLMAX rather than
hard-coded 32767
- xaxmaarfgen: Fixed PSF percentages inside detector and region as
reported in log
********************************************************************************
XTE
********************************************************************************
- pcarsp: Updated call to rddescr to add gainroot=NONE to prevent
spurious errors related to 'shftfil'
- rddescr: Assigned a default value of 'NONE' for the 'gainroot'
parameter to avoid errors related to 'shftfil'
********************************************************************************
MISC.
********************************************************************************
- Update lynx to v2.9.1 (used by fhelp): Fixes a configuration problem
that appeared on e.g. Fedora 40 with GCC 14
- Restored readline 8.0 cut and paste behavior, i.e. to allow cutting
and pasting a series of commands with line breaks into Xspec
- Enhanced initial usability checks for Perl and Python
- Revised handling of compiler overrides for C/Perl interface libraries
to help with build errors
- Added gfortran-14 and gfortran-mp-14 to Fortran compiler search list
on Macs
- Fixed '--enable-mac_intel_build' option
- Updated WCSLIB to v8.3