********************************************************************************
RELEASE NOTES FOR HEASOFT 6.33
February 23, 2024
********************************************************************************
The HEASoft 6.33 release is driven by new and updated mission-specific
data analysis software (IXPE and NICER), 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
********************************************************************************
- Reorganization of helper utility code; added fitsverify
- CMakeLists.txt: Changed install location of cfitsio-targets.cmake
to conform with the one listed in cfitsio-config.cmake.in (i.e.
including the extra "cfitsio" subdir of lib/cmake).
- Updated Perl wrappers (Astro-FITS-CFITSIO) to v1.18
- Can now write internal memory files of size > 2^32 directly to a
gzip-compressed output file.
- Added support for unsigned long long types to fits_update_key.
- Added ability for Windows builds to handle UTF-8 needed for reading
filenames with non-ASCII characters.
- Calculator functions that read GTIs do more correct validity
checking of GTI input files
- fits_insert_rows now works if input table starts with both no rows
and no columns
- Added 2-byte int test to speed.c utility.
- Made fix to http file handler to expand the allowed URL length.
- Fix for modify and delete keyword functions to fully conform with
v4.3.0 long string keyword read/write enhancements.
********************************************************************************
FIMAGE
********************************************************************************
- fimgmerge: Allow for outfile names with longer directory paths
********************************************************************************
FUTILS
********************************************************************************
- ffilecat: Increased length of infile and message variables to allow
for longer file paths.
********************************************************************************
HEAGEN
********************************************************************************
- burstfinder: Separated code into subroutine files; added POLYERR and
POLYXOFF for error estimate and fit x offset to FITS output; corrected
errors in handling missing FRACEXP column in input LC
********************************************************************************
HEASARC
********************************************************************************
- extractor: Fixed an error message, and reworked handling of warning
messages to fix a corner-case crash
********************************************************************************
HEASPTOOLS
********************************************************************************
- ftchkpha: Addressed confusion caused by the presence of DETECTOR extensions
which have HDUCLAS1 set to SPECTRUM.
- ftgcorpha: Ensure that the output spectrum uses a RATE column to avoid
problem of fractional counts being written as integers to a COUNT column.
- ftgrouppha: Improved diagnostic output if checking the output spectrum
generates messages.
********************************************************************************
HEATOOLS
********************************************************************************
- fkeypar (wrapper to ftkeypar): When the keyword doesn't exist, put
an empty string for 'value' to prevent par file corruption;
Changes to output string values to match old fkeypar behavior
- ftcreate: When no units are given, send a null 'tunit' (rather than
an empty string " ") to match behavior of the old Fortran 'fcreate'
task. Otherwise the created table has empty TUNIT keywords that
serve no purpose.
- ftmgtime: Print number of files at chatter>=3
********************************************************************************
TIME
********************************************************************************
- maketime: Increase path size from 512 to 2048; expr size from 2048 to 4096
********************************************************************************
XIMAGE
********************************************************************************
- Addressed crash when asking for command parameters (e.g. "circle/?")
- ra_dec_to_pixel: Fixed error with celestial/equatorial coordinate
input at prompt
********************************************************************************
XSELECT
********************************************************************************
- Fixed an uninitialized variable which could leave the program confused
about whether or not it created stokes parameter spectra.
********************************************************************************
XSPEC
********************************************************************************
Xspec version 12.14.0:
For details, please visit this page.
For patches beyond 12.14.0, please visit the Xspec issues page.
********************************************************************************
XSTAR
********************************************************************************
Version 2.59ch:
- Faster execution of the routine writespectra by not calculating
voigt profile for every line.
- Change to nrank to not miss weaker features for important cases.
- New atomic data file which has Ca XIV K shell photoionization cross
section error fixed
- Fixed PARAM to have larger nrank value to ensure that more features
are included in synthetic spectrum.
- Changes to bookkeeping of rates which allows the heating-cooling
in the photon and electron pov to agree, and fixed printing of
these rates
- New argument for ucalc, echar, which is a characteristic energy
describing the heating and cooling rates for that process.
- Changes which allow densities less than 1.
- Unbinned threshold energy in phint53
- Higher threshold for line binning in binemis to allow faster execution.
- Accurate electron POV heating and cooling.
- Fixed type 51 data (Ralf)
- Added diagnostics and printout code for NLTE workshop.
********************************************************************************
ASCA
********************************************************************************
- addascaspec: Fixed mathpha command for background files when errmeth
is specified.
********************************************************************************
IXPE
********************************************************************************
- ixpeaspcorr:
* Added "outfile" and "attfile_out" string parameters for the path
names of the output event file and output attitude file (both
previously overwrote the input).
* Added "clobber" Boolean parameter to support the new "outfile"
and "attfile_out" usage.
* Changed "n" parameter to type integer and storage hidden, with
default of 300 and min of 1.
* Changed "att_path" to "attfile_in" to indicate it is now an input-
only attitude file. This parameter is now required, rather than
optional.
* Output event file adds two new keywords: "XPIXMEAN" and "YPIXMEAN",
which are set to the values of the "x_pix_mean" and "y_pix_mean"
parameters to enable users to reproduce event files.
* Since "attfile_in" is now a required parameter, the module always
uses the attitude data to differentiate between the star tracker
optical heads and independently calculate the aspect solutions by
time. If no valid attitude solutions are found within the time
bounds of the event file, a warning is logged, and no attfile_out
is produced.
* The module now attempts to capture most errors raised in the code.
Instead of breaking at the Python line when an error is raised,
the module now logs an error string and returns a value of "1" to
the command line.
- ixpeboomdriftcorr:
* Added "outfile" and "attfile_out" string parameters for the path
names of both the output event file and the output attitude
file (both previously overwrote the input).
* Added "clobber" Boolean parameter to support the new "outfile"
and "attfile_out" usage.
* Changed "n" parameter to type integer and hidden, with default
of 300 and min of 1.
* Changed "att_path" to "attfile_in" to indicate it is now an input-
only attitude file. This parameter is optional, as is "attfile_out".
* Deleted "modify_attfile", as the addition of "attfile_out" removes
the modification the input attitude file.
* Changed default value of "params_file" to "caldb" to look up the
value in the CALDB.
* Added "teldef" parameter, which defaults to "caldb" to look up the
value in the CALDB, to allow users to provide their own telescope
definition CADB file.
* The module now attempts to capture most errors raised in the code.
Instead of breaking at the Python line when an error is raised,
the module now logs an error string and returns a value of "1" to
the command line.
- ixpecalcarf:
* Changed "attfile" parameter to be optional (required if new
"offarcmin" parameter is not used).
* Changed default value for "vignfile" and "reeffile" default values
to "caldb" to look up the value in the CALDB.
* Added "uvfile", "grfile", "axeffa", "modfact", and "qefile"
filename parameters (which all default to "caldb" to look up the
values in the CALDB) to allow users to specify the path to their
versions of these files.
* Changed "specfile" parameter to be a required parameter.
* Added "offarcmin" parameter, which is an optional floating point
parameter that defaults to -1 to disable its use. If the value
is set >= 0.0, the attitude solution in the "attfile" will be
ignored, and the output response function will be calculated for
this single off-axis angle only.
* Use of on-axis "arf" and "mrf" files from the CALDB is now
discouraged. These files should now be calculated for each
observation using this tool.
* A new mode for visualizing the effects of off-axis angle on
response has been added. By setting "offarcmin" to >= 0.0, the
attitude solution of the target will be ignored, and the output
response function will be calculated for the user-selected off-
axis angle only. This will not produce a valid solution for any
given target, rather, it is intended for the purpose of
facilitating understanding of the effects of off-axis angle.
* Attitude off-axis angles that exceed the maximum value in the
vignetting CALDB file are now masked out of the final response
function. If this occurs, the user is notified of the fraction
of the total GTI time that has been removed.
* Interpolation between the energies in the radial encircled
energy function called "reef" in the CALDB (which occurs when
"radius" > 0.0) is now accomplished in log-reef/log-energy space
and is now extrapolated below 2.4 keV and above 6 keV. These
remove order 1% artifacts in the resulting response functions
due to slope discontinuities in the reef interpolation. In
addition, the user will be warned if the radius is set outside
the 0.5 < radius < 6 arc min range, as such values are outside
the range of well-defined reef measurements.
* The user will also be warned if the attitude file start time
is > 50 ksec after the start of the event GTI, or if the attitude
file end time is > 50 ksecs before the end of the event GTI.
* This can occur if a multi-segment Level 2 event file is used with
a single-segment Level 1 attitude file.
- ixpedet2j2000:
* Changed name of "attitude" parameter to "attfile_in" to make it
consistent with the rest of the ixpe tool suite.
* Changed default values of "teldef" and "align" parameters to
"caldb" to look up the values in the CALDB.
* The module now attempts to capture most errors raised in the code.
Instead of breaking at the Python line when an error is raised,
the module now logs an error string and returns a value of "1" to
the command line.
* Changed the column types of "X" and "Y" in the "outfile" from "D"
to "E", as double-precision is not required.
- ixpeeventviewer:
* This module has been added to allow users to visualize the
individual tracks of the raw events in the Level 1 event files.
* This module is a minor interface change and functional update of
the "xpevtviewer" program developed by Luca Baldini (INAF) and
the ixpeobssim team.
- ixpegaincorrtemp:
* Fixed a bug in which small (~2 second) time gaps were being
incorrectly introduced into the temperature data every ~1000
seconds or so.
* Fixed bugs in which a few output messages were being logged
without a carriage return to indicate a line break.
- ixpeinterptemp:
* Removed the default value of the "infile" parameter. Previously
had inadvertently been set to the name of a testing file.
* Fixed a bug in which the ixpeinterptemp.py file was not
executable from the shell command line.
- Ixpemkevt2gti:
* Changed name of "attfile" to "attfile_in" to make it consistent
with the rest of the ixpe tool suite.
* Fixed a bug in which missing parameter keywords in "infile"
caused the program to crash.
********************************************************************************
MAXI
********************************************************************************
- mxextract: Fixed crash that occurs when the USER environment
variable is not set
********************************************************************************
NICER
********************************************************************************
This NICERDAS release focuses on delivering improved NICER modeling of
backgrounds and responses during the NICER optical light leak of May
2023. The response generation tool (nicerrmf) and SCORPEON background
model now can generate products that have adjusted low energy responses
due to the threshold changes between day and night.
The SCORPEON model can now estimate backgrounds for light curves of any
time binning via the niscorplc tool. The nicerl3-lc tool can use this model
to attach backgrounds to light curve products.
NICERDAS v012:
- nicerrmf now calculates variable threshold based on in-flight setting
- nicerl3-lc now can estimate SCORPEON light curve backgrounds with
niscorplc, but the default is still no background estimate
- nicerl2 / nimaketime have new parameter threshfilter which allow
users to select day-only or night-only thresholds, useful after the
optical light leak of May 2023
- nibackgen3C50 adds new gainepoch (2022) for that year's gain solution
- NICER SCORPEON model adds background version v23 (bkgver=v23) which
includes a low energy threshold parameter (nxb),
as well as parameters of the detailed nxb variant to better fit the
high energy shape of the prel component.
- niautoscreen has a new parameter lowmemscr to do per-MPU LOWMEM screening
- nimaketime disables max_lowmem by default, in favor of niautoscreen
- nicerl3-spect and niphasyserr have new parameter syserrfactor so user
can scale systematic error by desired factor
- new task niprelflarecalc can estimate precipitating electron
("PREL") flares.
- new task nigti allows uers to make GTI from text file or command line
- new task niscorplc which computes background estimates for light curves
- small changes and bug fixes:
* SCORPEON cosmic_ray calculation handles NaN values correctly
* niscorpspectmod uses correct background response file name
* nicerrmf updates DETCHANS keywords in both response extensions
* niextract-events bug fix to handle case of entire MPU off/disable
* internal library fix to expand_item_list prevents niextract-events
infinite loop
* nicerl3-lc avoids emitting extraneous file named "1"
* internal tool niscorpcalc now emits TIMEDEL/TIMEPIXR keywords
* niscorpcalc correctly computes noise peak centroid when
noise_enom != 0 (which is rare)
* nicertimecal has slight verbosity changes
* nimpucal now uses timebiascalfile=CALDB instead of NONE, but
most users will not see this since nimpucal enforced that behavior
anyway
* nicerl3-lc, nicerpi, nicerrmf, nicertimecal use internal NicerTime
libraries for consistent behavior
* nicerl3-spect adds gainepoch3c50 parameter so user can manually
set gain epoch if desired
* nimaketime bug fix to restore outexprfile functionality lost in
NICERDAS v011
********************************************************************************
SWIFT
********************************************************************************
UVOT:
- Updated PGPLOT Perl wrappers to fix a build error with newer GCC
********************************************************************************
XTE
********************************************************************************
- hxtback: fix fkeypar (ftkeypar) fragility regarding retrieval of
DATAMODE keyword
********************************************************************************
HEASoftPy
********************************************************************************
- Broke the tools into submodules (heasoftpy.nustar, heasoftpy.heatools,
etc.) to speed up module imports, such that users needing only one
package aren't burdened by an import of other packages and their
dependencies. The old 'fcn' behavior is still available, but will
generate a warning.
********************************************************************************
MISC.
********************************************************************************
- Updated third-party packages WCSLIB (v8.2.1) and GNU readline (v8.2)
- Added configure test to check whether linking with "-lpthreads" is
necessary for the Xspec functions library