Come analyze HEASARC, IRSA, and MAST data in the cloud! The Fornax Initiative is now welcoming all interested beta users.
********************************************************************************
RELEASE NOTES FOR HEASOFT 6.16
July 2, 2014
********************************************************************************
The HEASoft 6.16 release is primarily driven by updates to the NuSTAR
and Swift/XRT software, but also includes updates to other packages which
have been revised to mirror the current development versions in use at
the HEASARC.
New in this release is support for the 64-bit architecture on Mac OS X.
By default, all builds of the source code distribution on Mac OS X will
have the 64-bit architecture. Users who require the 32-bit architecture
may run the configure script with the "--enable-mac_32bit_build=yes" flag.
All pre-compiled binary distributions for Mac OS X are 64-bit.
As before, configuration-related changes thoughout the package means that
users who already have HEASoft v6.x.x 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 3.37:
- Added configure options to support reading bzip2 compressed
FITS files. This depends on having the bzlib library installed
on the local machine. Patch submitted by Dustin Lang.
- Replaced the random Gaussian and Poissonian distribution
functions with new code written by Craig Markwardt derived
from public domain C++ functions written by John D Cook.
- Patched fitsio2.h to support CFITSIO on AArch64 (64-bit ARM)
architecture (both big and little endian). Supplied by Marcin
Juszkiewicz and Sergio Pascual Ramirez, with further update by
Michel Normand.
- Fixed bug in fpackutil.c that caused fpack to exit prematurely
if the FZALGOR directive keyword was present in the HDU header.
- Version 3.36:
- Small change to the fileseek function in drvrfile.c to support
large files > 2 GB when building CFITSIO with MinGW on Windows.
- reorganized the CFITSIO code directory structure; added a 'docs'
subdirectory for all the documentation, and a 'zlib' directory
for the zlib/gzip file compression code.
- made major changes to the compression code for FITS binary table
to support all types of columns, including variable-length arrays.
This code is mainly used via the fpack and funpack programs.
- increased the number of FITS files that can be opened as one
time to 1000, as defined by NMAXFILES in fitsio2.h.
- made small configuration changes to configure.in, configure,
fitsio.h, and drvrfile.c to support large files (64-bit file
offsets} when using the mingw-w64 compiler (provided by
Benjamin Gilbert).
- made small change to fits_delete_file to more completely ignore
any non-zero input status value.
- fixed a logic error in a 'if' test when parsing a keyword name
in the ngp_keyword_is_write function in grparser.c
- when specifying the image compression parameters as part of the
compressed image file name (using the "[compress]" qualifier
after the name of the file), the quantization level value, if
specified, was not being recognized by the CFITSIO compression
routines. The image would always be compressed with the default
quantization level of 4.0, regardless of what was specified. This
affected the imcopy program, and potentially other user-generated
application programs that used this method to specify the
compression parameters. This bug did not affect fpack or
funpack. This was fixed in the imcomp_get_compressed_image_par
routine in the imcompress.c file.
- defined a new CFITS_API macro in fitsio.h which is used to export the
public symbols when building CFITSIO on Windows systems with CMake. This
works in conjunction with the new Windows CMake build procedure that
is described in the README.win32 file. This complete revamping of the
way CFITSIO is built under Windows now supports building 64-bit
versions of the library. Thanks to Daniel Kaneider (Luminance HDR
Team) for providing these new CMake build procedures.
- modified the way that the low-level file_create routine works when
running in the Hera environment to ensure that the FITS file that is
created is within the allow user data disk area.
- modified fits_get_compression_type so that it does not return an error
if the HDU is a normal FITS IMAGE extension, and is not a tile-compressed
image.
- modified the low-level ffgcl* and ffpcl* routines to ensure that they
never try ro read or write more than 2**31 bytes from disk at one time,
as might happen with very large images, to avoid integer overflow errors.
- modified Makefile.in so that doing 'make distclean' does not delete
new config.sub and config.guess files that were recently added.
- adopted a patch from Debian in zcompress.c to "define" the values of
GZBUFSIZE and BUFFINCR, instead of exporting the symbols as 'int's.
********************************************************************************
CCFITS
********************************************************************************
- Added proper handling of 'D' exponent notation when reading in
keyword values of type float or complex. This is allowed by
the FITS standard, but the C++ stringstream conversion operator
was not recognizing it. This caused value to be truncated at
the 'D' for floats, and to be ignored altogether for complex.
The change was made entirely in the parseRecord() function.
- CCFITS: In Column::setLimits, removed the dynamic allocation of
the static variable arrays. These led to small memory leaks as
they are never freed.
- Removed vestigal code file NewColumn.h.
********************************************************************************
HEASP
********************************************************************************
- Fixed error when converting flux units.
- Fixed problems when creating an RMF with zero channel groups
for at least one energy and one channel group for all the rest.
- Added an overloaded version of rmf::RandomChannel which takes
arrays of energies and number of photons (for each energy).
Added a C wrapper called RandomChannelMultiEnergies to Cheasp.h
and Cwrappers.cxx. Fixed missing random number initialization in
RandomChannels.
- Added code to all heasp destructors to clear vectors to avoid
memory leaks.
- Added a routine, SPmatchString, to SPutils.cxx to do partial
string matches to a vector of strings.
- Just for completeness added an rmf::uncompress method.
- Python module: New source code generated using swig 3.0.0 which
gets past compile errors on Mac OS X 10.9 (Mavericks).
- Fixed an error in ARFobjectToStruct which wrote the high energies
into the effective area array.
- Added ReadRMF and WriteRMF wrappers to grab or write the matrix
and ebounds data at the same time.
- Fixed bug which causes a seg fault when reading a pha file with no
statistical errors.
********************************************************************************
CALTOOLS
********************************************************************************
- genrsp: Ensured that E_MIN is always <= E_MAX in the
EBOUNDS extension. This was not the case when creating
grating spectra and could be interpreted as violating the
response matrix standard.
********************************************************************************
FIMAGE
********************************************************************************
- fimgmerge: Fixed strcpy of overlapping strings which aborts on
Macs. Raised arbitrary maximum number of input files to 999.
********************************************************************************
FUTILS
********************************************************************************
- ftverify: Squashed erroneous warning messages similar to
"CRPIX3A: index 3 is not in range 1-2 (NAXIS)".
********************************************************************************
HEAGEN
********************************************************************************
- flx2tab: The redshift parameter was being ignored. Fixed bug
when reading parameter info file.
********************************************************************************
HEASARC
********************************************************************************
- addspec: Improved diagnostic messages.
********************************************************************************
HEATOOLS
********************************************************************************
- ftdiff: Do not perform numerical comparisons of TFORM or
TDISP keyword values. Allow for longer file paths/names.
- ftverify: Squashed erroneous warning messages similar to
"CRPIX3A: index 3 is not in range 1-2 (NAXIS)".
********************************************************************************
XIMAGE
********************************************************************************
- Fixed bug in the AST library which caused a crash when loading
an image file without world coordinates.
********************************************************************************
XSPEC
********************************************************************************
HEASoft 6.16 includes Xspec v12.8.2:
http://heasarc.gsfc.nasa.gov/xanadu/xspec/issues/issues.html
New features:
- The code underlying the NEI models has been rewritten to accommodate
the new AtomDB 3.0 files, the beta version of which are included as
the default when using any of the NEI models. Older versions can be
recovered using xset NEIVERS. The CEI models (apec etc) use some of
the same code but there should be no change in their behaviour
except for a slight speed-up.
- New models:
agauss - Gaussian model with units in Angstrom and a gaussian
shape in wavelength space.
nsx - Neutron star non-magnetic atmosphere model from Wynn Ho
and collaborators.
nsmaxg - Neutron star magnetic atmosphere model.
rnei - NEI recombination model assuming an initial temperature
vrnei - rnei with variable abundances for the common elements
vvrnei - rnei with variable abundances for all elements (Z<=30).
zagauss - The agauss model with a redshift parameter.
- The goodness command has added options fit|nofit. The fit option
runs a fit on each simulation before calculating the test statistic.
- The cstat fit statistic can be modified by appending an integer eg
statistic cstat5. In this case the statistic will be evaluated as if
the group min N had been used in grppha. This is not as efficient
because the rebinning has to be done every statistic evaluation
however it is usual for testing using simulations.
- The 'model' command now checks that parameters are all within a
reasonable order of magnitude (~1e10) of each other, and issues a
warning if they are not.
- Improved the handling of new-best-fit cases when running the 'error'
command on parallel processes. The global new-best-fit is now
automatically retained. Previously the user was prompted to re-run
'error' in a single process.
- Models can now store (keyword,value) pairs using loadDbValue (C++)
or PDBVAL (Fortran). These values can be recovered using the
tclout(r) modkeyval option. This provides a way to get internal
information from the last invocation of a model.
- There is a manual XSFunctions_guide.pdf in Xspec/src/help describing
some of the C++ classes used in the XSFunctions library. This is
intended to make it easier to use these classes in other models.
Enhancements previously released as patches to 12.8.1:
- PyXspec: added Fit.testStatistic attribute for retrieving the test
statistic value from the most recent fit.
- PyXspec: added compiler macros for switching to <Python/Python.h>
include paths when building on Mac platforms.
All bug fixes to v12.8.1 released as patches are included in v12.8.2.
In addition the following problems have been corrected:
- Fix for a particular case of non-associative expression evaluation.
Models of the form C((M1*A)M2) or C(M1*A)M2, where C is a convolution
component, were being wrongly evaluated as (C(M1*A))*M2.
- For users with external programs linking to the XSPEC model library,
the FNINIT function now properly initializes the AtomDB version to
v2.0.2.
- Fix for an 'ignore' command syntax evaluation that was causing a crash
on OS X Mavericks.
********************************************************************************
XSTAR
********************************************************************************
Version 2.2.1bn21 - updates since v221bn16 (HEASOFT 6.15) include:
- v2.2.1bn21 (May 2014):
Fix to an error in implementation of Bryans collisional ionization
rates. Fix to an error in inclusion of turbulence in implementation
of iron M-shell UTA line absorption.
- v2.2.1bn20 (Mar. 2014):
Fix to a bug which caused the wrong damping value to be used in some
cases. This occured for valence shell lines, for which the damping
should be just due to the natural radiative lifetime, but for which
inner shell Auger damped lines also exist for the same ions. In this
case, the widths for the latter lines were incorrectly used instead
of the former.
- v2.2.1bn19 (Mar. 2014):
Fix to bug which led to incorrect f value use for iron UTA lines.
Fix errors to routine binemis and linopac associated with
attempt to make routines faster: now, always use constant
stepsize for internal calculation of line profile.
Change to true anders and grevesse abundances
- v2.2.1bn18 (Jan. 2014):
New atomic data for K shell absorption by neutral and once-
and twice-ionized stages of Ne and Mg from Gorczyca.
Fix errors in the routine binemis which puts out binned
emission lines. These errors led to spurious features in
models with very high spectral resolution.
Change to the value of the constant hc used in conversion
from ev to A and back, to reflect more accurate values for
constants. Old value was 12398.54, new value is 12398.41.
Also change to Rydberg constant; old value was 13.598,
new value is 13.605. Adoption of consistent value of
proton thermal speed as 1.29e+6 cm/s at 10^4K.
Adoption of routine which calculates photoionization
integrals (phint53) which uses interpolation and smoothing.
Inclusion of code for calculating aped rates for
collisional excitation (not yet fully implemented).
Inclusion of Bryans rates for collisional ionization.
Added feature which allows an array of densities to be read in.
This is described in the chapter on inputs. It requires that
the 'radexp' input variable be set to a number more negative
than -100. Then ordered pairs of (radius, density) are read
in from a file called 'density.dat'. Reading continues until
the end of the file is reached. The density and radius values
override the values derived from the ordinary input parameters.
But execution will stop if other ending criteria are satisfied,
i.e. if the model column density exceeds the input value, or
the electron fraction falls below the specified minimum. The
code will stop with an error if the density.dat file does not
exist, or if the radius values are not monotonically increasing.
Another new feature allows reading in of table spectra in units
of log10(F_e). This requires that the spectrum_units input
parameter be set to 2.
- v2.2.1bn17 (Dec. 2013):
Make calculation of photoionization related quantities modal,
using lfpi:
1: total pi only;
2: pi + rec rates only;
3: opacities and emissivities
Also make h-c calculation use total rates add special funcsyn,
func3p and heatf for calculations of spectral quantities.
Add profile calculation (linopac) inside of ucalc when lfpi=3;
take out profile calculation from stpcut. This facilitates
calculation of continuum photoexcitation (which is not yet
included).
Change i/o of step quantities; now includes populations,
total emissivities and opacities, line emissivities,... Also
change savd, unsavd. Also change name of step quantities:
xoN...M.fits where N=1,2,3,4 for various quantities and M=pass
number.
Add column, electron fraction, density as keywords in step files.
Add comments in pprint, unify code to use the same statements when
stepping thru each physical quantity: levels, lines, all data, etc.
Move search for auger width to new rotuine deleafnd
********************************************************************************
NUSTAR
********************************************************************************
- NuSTARDAS v1.4.1:
Major changes introduced in this version:
* nuproducts:
1) Modification of the internal run of the FTOOL 'grppha' to
define a PI energy range by using two new input parameters
'grppibadlow' (replacing 'grppibad') and 'grppibadhigh';
2) Addition of the new input parameter 'usrgtibarycorr' to
regulate the barycenter correction of the optional input
user GTI file ('usrgtifile').
* nupipeline:
1) Modification of the call to the 'nuproducts' module;
2) Addition of the new input parameter 'productsgtibarycorr'
to regulate the barycenter correction of the optional input
user GTI file ('productsgtifile') for spectrum and light
curve extraction.
Summary of changes:
- nuproducts (grppha):
Improvements to the user interface for nuproducts allowing the
user to automatically apply grppha corrections to the output
spectrum. Default values for the low/high bounds of "bad"
channels in the grppha call are at 3 and 79 keV, which allows
users to "ignore bad" in XSPEC to ignore data outside of the
usable science range for NuSTAR. The user accepts responsibility
for the effect of binning the data; we encourage the users to
explore the literature on binning and the impacts of various
fit parameters before using grppha.
- nuproducts (barycorr):
Improvement to the user interface for nuproducts allowing the
user to specific a usrgti file in barycentric time (e.g. for
individual pulses or bursts in a pulsar). By default, the
pipeline assumes that usrgtis are given in NuSTAR-epoch time
and are barycenter corrected.
NuSTARDAS v1.4.0:
- Major changes introduced in this version:
* nuexpomap: 1) addition of a new parameter named 'indet2instrfile'
to allow the generation of sky exposure map starting from a DET2
instrument map; 2) algorithm optimization for execution time
reduction;
* nubackscale: addition of a new parameter named 'inexpomapfile' to
provide in input a sky exposure map. This change allows to skip the
internal generation of exposure maps and reduces the task execution
time;
* nulccorr: addition of two new parameters named 'inskyinstrfile' and
'inaspecthistofile' to provide in input a sky instrument map and the
associated aspect histogram file. This change allows to skip the
internal generation of sky instrument maps and reduces the task
execution time;
* numkarf: addition of a new parameter named 'inexpomapfile' to provide
in input a sky exposure map in the case of extended sources (parameter
'extended=yes'). This change allows to skip the internal generation
of exposure maps and reduces the task execution time;
* nuproducts: 1) addition of the new input parameter 'rungrppha' to
group the source energy spectrum through an internal run of the FTOOL
'grppha'; 2) addition of an internal run of the 'nuexpomap' module
and modification of the calls to the 'nubackscale', 'nulccorr' and
'numkarf' modules;
* nucalcpi: modification of the algorithm for GRADE 0 and GRADE 9-20
events;
* nupipeline: 1) handling of compressed TLE files in input; 2) syntax
modification to support latest Perl versions.
Summary of changes:
- nuexpomap/nubackscale/nulccorr/numkarf/nuproducts:
Performance improvement to avoid multiple runs of nuexpomap. The
software now allows the user to store a single DET2 instrument map
file (through the det2instrfile output keyword call to nuexpomap)
and reuse this file for future runs, including changes to the
vignetting energy, etc. See section 4.9 of the NuSTARDAS User's
Guide for more details and syntax.
This has resulted in a dramatic speed increase for nuproducts runs,
with decreases in run times of 20 to 80%, depending on the exact
parameters.
- nucalcpi:
Slight change in the reconstruction algorithm for how events with
Grade 0 and Grades 9 through 20 are handled in the software. This
change allows for fine tuning of the GRADE_GAIN and GRADE_OFFSET
columns in the CLC CALDB file. There are associated updates to
the CLC CALDB files (see CALDB release notes) which marginally
improve the gain correction for all events.
********************************************************************************
SWIFT
********************************************************************************
BAT:
- bateconvert, batmasktaglc: Bug fix for closing file more
than once (e.g. under OS X 10.9 x86_64).
UVOT:
- uvotattcorr: Apply delta quaternions for entire duration of
exposure instead of at a single epoch.
- uvotimage: Work-around rare invalid values in UVOT event file
WINDOW extension.
- uvotproduct: Since there are rare but intermittent issues using ds9
to retrieve DSS images, try the SAO server if the STSci server fails
to provide an image.
XRT:
- ISAC Build 30 Software Release - XRTDAS_v300:
* xrtexpomap - Replaced 'nframe' input parameter with 'pcnframe'
and 'wtnframe'
- Update 'DATE-OBS' keyword of the output exposure
map file
* xrtlccorr - Modified default naming convention of output
instrument map file
* xrtmkarf - Fixed memory bug for the 64-bit architecture on
Mac OS X 10.9.x.
* xrtproducts - Added optional extraction of background products
for PC and WT mode
- Added optional correction of the source light curve
- Modified default naming convention of some output files
* xrtpipeline - Added 'extractproducts' input parameter
- Replaced 'exponframe' input parameter with
'expopcnframe' and 'expowtnframe'
- Updated xrtproducts task call
- Removed use of deprecated 'define' PERL function
********************************************************************************
XTE
********************************************************************************
- fcollect: Fixed strcpy bug with overlapping memory.
- seextrct: Update to 4.3a; Increased maximum number of input files
in SEEXTRCT from 100 to 999. This is to match a similar change in
SAEXTRCT v4.3a made previously.
********************************************************************************
Configuration / Third-party Packages
********************************************************************************
- Macs: Lift restriction on 64-bit builds on Mac OS X when heacore Perl
modules are needed in the build. Default Mac build architecture is
now 64-bit; 32-bit builds are still available by configuring with
--enable-mac_32bit_build(=yes).
- readline: Update to v6.3 and patches readline63-001 to 005.
- Tcl/Tk: Update to v8.5.15.
Tk configuration: Disable use of freetype/fontconfig/xft in Tk.
In some Mac X11 installations, Tk's configure successfully finds
the routine 'XftFontOpen' linking with -lXft and proceeds to
compile an alternate source code file (tkUnixRFont.c instead of
tkUnixFont.c) that leads to build errors.
- wcslib: Update to WCSLIB version 4.20.
http://www.atnf.csiro.au/people/mcalabre/WCS/
- XPA (FV/Hera): Update to XPA v2.1.15.
http://hea-www.harvard.edu/saord/xpa/
- Fix deprecated use of 'defined' in Perl arrays (various tasks).