|
********************************************************************************
RELEASE NOTES FOR HEASOFT 6.13
December 21, 2012
********************************************************************************
The HEASoft 6.13 release is primarily driven by updates to the Swift
and Suzaku mission software, but also includes updates to other packages
which have been revised to mirror the current development versions in use
at the HEASARC.
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
********************************************************************************
- DEVELOP: Fixed flaw in the way logical columns (TFORM = 'L') in binary
tables were read which caused an illegal value of 1 in the column to be
interpreted as a 'T' (TRUE) value.
- Version 3.32:
* Extended the column filtering syntax in the CFITSIO file name parser
to enable users and scripts to append new COMMENT or HISTORY keyword
into the header of the filtered file (provided by Craig Markwardt).
For example,
fcopy "infile.fits[col #HISTORY='Processed on 2012-10-05']" outfile.fits
will append this header keyword: "HISTORY Processed on 2012-10-05".
* Small change to the code that opens and reads an ASCII region file to
return an error if the file is empty.
* Fixed obscure sign propagation error when attempting to read the
uncompressed size of a gzipped FITS file. This resulted in a memory
allocation error if the gzipped file had an uncompressed file size
between 2^31 and 2^32 bytes. Fix supplied by Gudlaugur Johannesson
(Stanford).
- Version 3.31:
- Enhanced the CFITSIO column filtering syntax to allow the comma, in
addition to the semi-colon, to be used to separate clauses, for example:
[col X,Y;Z = max(X,Y)]. This was done because users are not allowed to
enter the semi-colon character in the on-line Hera data processing
system due to computer security concerns.
- Enhanced the CFITSIO extended filename syntax to allow specifying image
compression parameters (e.g. '[compress Rice]') when opening an existing
FITS file with write access. The specified compression parameters will
be used by default if more images are appended to the existing file.
- Modified drvrfile.c to do additional file secrity checks when CFITSIO
is running within the HEASARC's Hera software system. In this case
CFITSIO will not allow FITS files to be created outside of the user's
individual Hera data directory area.
- Fixed an issue in fpack and funpack on Windows machines, caused by
the fact that the 'rename' function behaves differently on Windows
in that it does not clobber an existing file, as it does on Unix
platforms.
- Fixed bug in the way byte-swapping was being performed when writing
integer*8 null values to an image or binary table column.
- Added the missing macro definition for fffree to fitsio.h.
- Modified the low level table read and write functions in getcol*.c and
putcol*.c to remove the 32-bit limitation on the number of elements.
These routines now support reading and writing more than 2**31 elements
at one time. Thanks to Keh-Cheng Chu (Stanford U.) for the patch.
- Modified Makefile.in so that the shared libcfitsio.so is linked against
pthreads and libm.
- Version 3.30:
Enhancements
* Added new routine called fits_is_reentrant which returns 1 or 0
depending on whether or not CFITSIO was compiled with the -D_REENTRANT
directive. This can be used to determine if it is safe to use CFITSIO
in multi-threaded programs.
* Implemented much faster byte-swapping algorithms in swapproc.c based
on code provided by Julian Taylor at ESO, Garching. These routines
significantly improve the FITS image read and write speed (by more
than a factor of 2 in some cases) on little-endian machines (e.g.,
Linux and Microsoft Windows running on x86 PCs) where byte-swapping
is required. This has no effect on big-endian machines (e.g., Macs).
Even faster performance can be achieved in some cases by invoking the
new "--enable-sse2" or "--enable-ssse3" configure options when
building CFITSIO on machines that have CPUs and compilers that support
the SSE2 and SSSE3 machine instructions.
* Added additional support for implicit data type conversion in cases
where the floating point image has been losslessly compressed with
gzip. The pixels in these compressed images can now be read back as
arrays of short, int, and long integers as well as single and double
precision floating-point.
* Modified fitsio2.h and f77_wrap.h to recognize IBM System z mainframes
by testing if __s390x__ or __s390__ is defined.
* Small change to ffgcrd in getkey.c so that it supports reading a blank
keyword (e.g., a keyword whose name simply contains 8 space chracters).
Bug Fixes
* Fixed a bug in imcomp_decompress_tile that caused the tile-compressed
image to be uncompressed incorrectly (even though the tile-compressed
image itself was written correctly) under the following specific
conditions:
- the original FITS image has a "float" datatype (R*4)
- one or more of the image tiles cannot be compressed using the standard
quantization method and instead are losslessly compressed with gzip
- the pixels in these tiles are not all equal to zero (this bug does
affect tiles where all the pixels are equal to zero)
- the program that is reading the compressed image uses CFITSIO's
"implicit datatype conversion" feature to read the "float" image
back into an array of "double" pixel values.
If all these conditions are met, then the returned pixel values in
the affected image tiles will be garbage, with values often ranging
up to 10**34. Note that this bug does not affect the fpack/funpack
programs, because funpack does not use CFITSIO's implicit datatype
conversion feature when uncompressing the image.
********************************************************************************
CFITSIO PERL MODULE
********************************************************************************
Update to version 1.09 of the CFITSIO Perl module:
http://hea-www.harvard.edu/~rpete/cfitsio/
2012-07-27
* CFITSIO.pm: $VERSION = '1.09';
* CFITSIO.xs: sync with cfitsio 3.31
cfitsio v3.31 added a missing prototype for function fffree which
conflicted with the existing definition in CFITSIO.xs.
********************************************************************************
CCFITS
********************************************************************************
- Fixed a couple of problems with the FITS::addTable function. It was not
allowing a new table with a pre-existing HDU name even when the version
number was different. Also it was not writing the EXTVER keyword when
the version number was > 1.
********************************************************************************
HEASP
********************************************************************************
Library for manipulating spectra and responses, including a Python interface.
A detailed guide to the library and its use when writing programs or using
Python is available in $HEADAS/../heacore/help/headas_guide.pdf.
New in this release:
- Added unit conversions through calcXfactor and calcYfactor routines.
- Added a global SPerrorStack to improve error reporting. Entries
are added to the stack using SPreportError and can be retrieved
using SPgetErrorStack which returns a string. SPclearErrorStack
resets the stack.
- Added modifications to all classes to handle case where user
writes an extension of some type into a file which already contains
an extension of the same type. Now writes the new extension with
an EXTVER keyword set to one more than the highest EXTVER of other
extensions of the same type in the file.
- Made checkCompatibility routines consistent across classes and
added a check for units.
********************************************************************************
APE / XPI (Parameter Interface Libraries)
********************************************************************************
- Correct bug in which parameter values assigned a value of whitespace
were instead inheriting parameter values from farther to the right
on the command line, i.e. par2=" " parfive="yes" was assigning
"yes" both to par2 and parfive.
- Preserve quoted whitespace (only) in parameter assignments, e.g. for
the separator parameter in ftlist.
- New APE-based version of pquery to replace old XPI-based version.
This fixes broken behavior in the following FTOOLS Perl scripts:
FUTILS: fmodtab; TIME: day2time, time2day; HEASARC: makeregion,
gisxspec, pspcxspec, wgaxspec.
- Fix XPI parameters tchat and lchat (terminal and log chatter) used in the
following tasks: EXOSAT: cmadead, exoleuv, exomerge; FIMAGE: fvec2img;
HEAO1: a2lcurve, a2source, dsdlcurve; HEASARC: nh, sky2xy, xy2sky;
OSO8: osopha, osorat; ROSAT: abc, bct, utc.par(abc); XIMAGE: mkcolor,
mkhratio; XRONOS: autocor, crosscor, earth2sun, efold, efsearch, lcmath,
lcstats, lcurve, listdata, powspec, timeskew.
********************************************************************************
ATTITUDE
********************************************************************************
- atFunctions v3.3 (2012.11.22):
Bug fix in atSetElement(), atSetElement2(), atSetElement3(), in the equation
calculating "zzbar", the first time derivatitive of the mean anomaly. The
following constants have also been updated/corrected:
Original Revised/corrected
--------------------------------
static double gravc = .0743666; .0743668
static double j2 = .00108264; .001082626
static double dycon = 398599.; 398600.
static double aj2 = .001082628; .001082626
static double aj4 = -2.12e-6; -1.616e-6
static double eradi = 6378.16; 6378.137
A brief comparison of output between the original code and
the revised code shows that the changes are small, with errors of the
order 1-2 km, at the largest. The biggest changes resulted not from the
bug fix - a simple sign change - but from updating/fixing the constants.
Comparison of output:
Satellite [X, Y, Z] (km)
-----------------------------------------------------------------------------------------------
X Y Z
bug-fixed_code: mjd= 56200.0000000000 5182.82270127579 -3213.41407482482 3288.36194675555
original_code : mjd= 56200.0000000000 5182.50469061843 -3213.81259433846 3288.47385908001
bug-fixed_code: mjd= 56220.0000000000 5263.44591867794 -2967.04673975258 -3408.89612834825
original_code : mjd= 56220.0000000000 5262.34360993661 -2969.55376653281 -3408.41672189663
bug-fixed_code: mjd= 55555.1234500000 4725.02005822229 4055.33660081729 3078.72232915383
original_code : mjd= 55555.1234500000 4727.31468669830 4053.32307841280 3077.85219344827
-----------------------------------------------------------------------------------------------
Mean motion / nbar (radians per day)
-------------------------------------------
bug-fixed_code: nbar = 94.51009698425256
original_code : nbar = 94.50989651601652
bug-fixed_code: nbar = 94.51152172197288
original_code : nbar = 94.51132124659411
bug-fixed_code: nbar = 94.33024342746587
original_code : nbar = 94.33004379113659
-------------------------------------------
- aberrator: Update to task version 1.1. Add 'orbext' parameter
to support NuSTAR orbit extension named 'ORBIT'. Add 'attcol'
parameter to support either POINTING or QPARAM as input (previously
was only POINTING).
- aspcorr: Pass through tristarid parameters for catalog cross-referencing
(matchtol, uncount, unmag).
- newmakefilter: Improve loss of precision on J (32 bit unsigned integer)
columns with large values.
- tristarid: Allow disabling catalog cross-referencing by passing
matchtol < 0 and uncount < 0. Bug fix: an externally supplied quaternion
should not be ignored when there are insufficient sources (3+) to find a
solution by triplet matching.
********************************************************************************
PLT
********************************************************************************
- Prevent infinite loops when an input plt command file does not exist.
********************************************************************************
PGPLOT
********************************************************************************
- Increase max output filename length to 128 characters (input can be longer).
********************************************************************************
FUTILS
********************************************************************************
- fmodhead: Update to allow handling of HIERARCH keywords.
- ftabcopy: Invert order of Aw to wA in TFORM keyword for binary table output.
- fverify: Removed the overly-stringent test that the WCSAXESa keywords must
precede any other WCS keyword. Improved text of error messages about
illegal characters in keyword name and illegal logical column values. Fixed
uninitialized variable bug that affected checks on the WCSAXES keyword.
********************************************************************************
HEATOOLS
********************************************************************************
- ftcreate: Fixed bug on 64-bit Linux which caused extraneous TNULL keywords.
- ftverify: Removed the overly-stringent test that the WCSAXESa keywords must
precede any other WCS keyword. Improved text of error messages about illegal
characters in keyword name and illegal logical column values. Fixed
uninitialized variable bug that affected checks on the WCSAXES keyword.
********************************************************************************
HEAGEN
********************************************************************************
- barycorr:
* Add command line option "-clockfile" which allows explicit designation
of a clock offset correction file.
* Add command line option "-dtmaxclock" which specifies the maximum time
difference in seconds before a clock recalculation takes place.
* Clock offset correction amount is now recalculated if -dtmaxclock is
set to >0; AND time changes by more than -dtmaxclock value; OR time
crosses midnight boundary; this accomodates rapidly changing NuSTAR
clock over long observations.
* Optimize the orbit code
* Add NuSTAR as mission supported by barycorr (Andrew Davis, NuSTAR project)
* Add nCC nustar clock correction
* Note that the clock correction code is only invoked once at the
start of the task - for any mission - so it does not capture clock
offset variations during an observation.
* Refactor the nCC code into clock file reader, calculator and driver;
could be reused for Swift.
- flx2xsp: Relocated from the ftools/heasarc package and rewritten. This
task creates spectra and response files for use in XSPEC from an input
text file of fluxes and errors. The new version adds two parameters 'xunit'
and 'yunit' to allow multiple possible units for energy/wavelength and flux.
- (NEW) flx2tab: Read an input text file with one or more model spectra and
convert to an XSPEC table model file.
- (NEW) mkfiltrsp: Read an input text with a filter response to make a single
channel response matrix.
- rgsrmfsmooth: Replacement version of task previously located in the
ftools/spectral directory. Smooths an XMM RGS response matrix for an
extended source.
- (NEW) sdss2xsp: Program to convert SDSS FITS files into XSPEC PHA and RSP.
Assumes that the SDSS resolving power is 2000 (sigma).
- libgeomag: New library comprised of routines in geomag.f, which was relocated
from the attitude task "prefilter" to make the routines available to other
missions.
- SwiftClock.pm:
Fixed minor bug in extrapolating in ASCII file (was ignoring last entry).
- swco.dat:
********************************************************************************
HEASARC
********************************************************************************
- flx2xsp, raysmith and mekal tasks relocated to heagen and Xspec components.
********************************************************************************
EXTRACTOR
********************************************************************************
Speed-up modification of fixwmp: decides whether a WMAP bin is in the
region by checking whether its center is in the region instead of checking
every pixel in the bin and looking for one which lies in the region.
For the case of no TLMIN/MAX changed the default upper grade to GMAXSIZE-1
which is currently 255. This was a change from the arbitrary value of 25
which caused a problem for NuSTAR since they take grades up to 26 and
currently have no TLMIN/MAX in their event files.
********************************************************************************
XSELECT
********************************************************************************
- Fixes for the problem that xselect has a tendency to go into an infinite
loop if a command is given the wrong argument. Now it nicely passes the
user back to the main prompt so they can try again.
- Improved plot device code so that filenames can be given for appropriate
devices (e.g. "set device myplot.ps/cps").
********************************************************************************
XSPEC
********************************************************************************
Version 12.8.0:
New features:
- Parallel-processing capability for specific tasks has been added
by way of the new "parallel" command. This allows the user to
set a maximum number of processes to spawn when running certain
XSPEC commands. Currently the options for parallel-processing are
limited to use with the "fit" and "error" and commands, though we
plan to implement more in the near future. This first implementation
is considered to be a BETA release, and we look forward to hearing
your comments and suggestions.
- XSPEC now distinguishes between the 'fit' statistic and the 'test'
statistic. The fit statistic is used to find the best-fit parameter
values and errors while the test statistic is used to provide a
goodness-of-fit. Consequently, the goodness command now uses
the test statistic. Separating these two classes of statistic has
allowed us to add a number of new test statistics. These include
Kolmogorov-Smirnov and the related Anderson-Darling and Cramer-von
Mises. Also new are the runs statistic, based on the number
of runs of consecutive positive (or negative) residuals, and the Pearson
Chi-Square (pchi) statistic, Pearson's original test statistic.
- The basic Levenberg-Marquardt fit algorithm has undergone a number
of changes. The most visible is an additional column in the output
during the fit. |beta|/N is the norm of the vector of derivatives of
the statistic with respect to the parameters divided by the number
of parameters. At the best fit this should be zero so provides
another measure of how well the fit is converging. |beta|/N can also
be used as the criterion to stop the fit instead of the statistic
delta although this is still considered experimental.
Other internal changes to the fit algorithm are to treat the first
iteration as a special case where only normalizations are allowed to
change and to add the option of using delayed gratification, which
can speed up convergence.
- New models: compmag, comptb, rgsxsrc. The latter is reinstated from
it use in XSPEC v11.
- New plotting command "plot goodness", for plotting a histogram of the
most recent "goodness" simulation.
- New tclout option "goodness sims" .
- Added the option of using the Goodman-Weare algorithm instead of
Metropolis-Hastings when using the chains command to run MCMC.
- Added the Whittle statistic for fitting models to power density spectra.
- If a data file is read which has RESPFILE="[]" then the response
extensions (MATRIX, EBOUNDS) are read from the same file.
- Added support for a new type of model component: a mixing component
which operates on the model pre-multiplied by the effective
area. This is similar to the pile-up model type but allows for a
models which require mixing between multiple spectra.
- Table model files can now have interpolated and additional parameters
intermixed provided that additional parameters are indicated by
METHOD=-1 in the PARAMETERS extension.
Enhancements previously released as patches to 12.7.1:
- The "plot chain" has a new "thin" option for thinning the display
of chain points.
- Added a "tclout ignore" option for easy retrieval of currently ignored
channels. Similar capability added to PyXspec's Spectrum class.
All bug fixes to v12.7.1 released as patches are included in v12.8.0.
In addition the following problems have been corrected:
- The eqpair model used wrongly-sized arrays when multiple spectra were
used with RMFs having varying numbers of photon energy bins. Eqpair
(plus eqtherm and compth) also needed a new default value for its
optical depth parameter, which fixes the problem if parameter 4 is
zero.
- A fit parameter which started close to the minimum/maximum could under
some circumstances be incorrectly pegged at the maximum/minimum.
- When the "error" command was run on a model with soft limits (ie.
soft limits for some parameters set to a narrower range than hard
limits), and the best fit value fell within the soft limit region,
the displayed differences (in parentheses) were not consistent with
the reported ? limits.
- Problem occurred in apec model when zero width lines were in the final
energy bin.
- Fix to a potential normalization problem occurring in Lorentz model
with low-energy large-width lines.
- When running initpackage/lmod from PyXspec on certain Linux builds,
local models calling functions in XSPEC's xslib library producing
unresolved symbol link errors.
New tools:
- "raysmith" and "mekal" tasks relocated here from the ftools/heasarc module,
and "kbmodels" task relocated here from the ftools/spectral module.
********************************************************************************
XSTAR
********************************************************************************
Version 2.2.1bn13 - updates since HEASOFT 6.12 include:
- Changes to bring xstar221bk --> xstar221bn:
- elimination of big ajis rate matrix
- new r matrix data for al, ni
- larger data structures
- Increase length of ERRMSG to handle sprintf in Display_FITS_ParmTable()
when number of values is large (kInterpolated case).
- Fixed error in heatt.f which turned off rrc luminosity.
- Changes to provide better calculation of optically thick models:
Re-introduction of the tmpp factor in the transfer equation integration.
Refinement of 2 sided clouds and inclusion of 2 sided escape.
- Changes to allow writing of step-by-step rrc emissivities (in routine
fstepr3.f) Plus, expand maximum size of energy array to 10^6.
- Updates to allow 10^6 energy points, turbulent and thermal line widths
to add in quadrature, Al II UV resonance line.
- Fix segfault occurring when XSTARDEBUG was not set in the environment.
********************************************************************************
TIME
********************************************************************************
- day2time: Fixed mismatched 'timezero'-'time' parameter "get".
********************************************************************************
FV
********************************************************************************
- For logical columns of a binary table, display 'U' (undefined) for illegal
values (anything other than 'T', 'F', or 0) rather than interpreting the
values as 'F'.
- Fixed bugs occurring when trying to display slices of a data cube FITs file.
- Avoid memory faults when trying to open a FITs file that has a binary table
with non-zero variable length array columns but has no rows.
- Fixed bugs (extra columns, incorrect row selections) in ASCII output when
saving from a binary table.
- Increased precision in output ASCII file values and displayed table cells.
- Fixed exported text file from vector columns in a binary table (was only
showing the first element)
- Fixed table "Edit Cell" function on x86_64.
- Fixed plotting in ds9 which was not correctly handling lower case column
names.
- Fixed fv scripting error in which the existence of a $HOME/.fv directory was
assumed.
- Allow directory paths that contain parentheses.
********************************************************************************
SUZAKU
********************************************************************************
- hxdmkgainhist_gso:
* Bug fix due to a change of the text xspec output.
- xisgtigen:
* New parameter (hidden) 'wingti' (default "no") to maximize GTI
for the window option or the psum mode. With wingti=yes, telemetry
saturation is judged for each exposure of window (or each line in
the psum mode).
- xisrmfgen:
* New parameters: bi_si_edge_mode, fi_si_edge_mode
* "bi_si_edge_mode" activates a new response model that improves
the XIS1 response around Si K edge. "bi_si_edge_mode" is set
to 1 by default.
* Running xisrmfgen with "bi_si_edge_mode" of 0 produces the same
RMF file as before.
* "fi_si_edge_mode" is introduced just for future use. "fi_si_edge_mode"
is set to 0 by default.
* xisrmfgen does not run with "fi_si_edge_mode" of 1.
- Update to com_cli-2.08, to fix compilation with g95 0.93 on Mac OS X.
********************************************************************************
SWIFT
********************************************************************************
- uvotgcn:
* Write ASPCORR keyword if aspect correction taken from earlier processing
of related information.
- uvotevtlc, uvotmaghist, uvotproduct, uvotsource:
* Write column SATURATED.
- uvotimage, uvotoptsum:
* Use sec2time instead of swifttime to convert MET to UTC for consistency with
other Swift software
- uvotimsum:
* Clarified error message logged when input image is not oriented North up.
- uvotmaghist:
* Enabled LSS correction by default (there was a duplicate lssfile entry in
the parameter file which disabled it by default).
- uvotproduct:
* Using recent versions of ds9 for graphic generation had assorted issues
with title and label placement and grid features. Added the gridfile
parameter to allow the user to specify the grid file. Use a custom
ds9 v6 grid file if that version is detected.
* Disallow timezero=0 since it has a meaning other than MET=0 to uvotmaghist
(which this tool runs).
- uvotskycorr:
* Disable catalog cross-referencing by default since it is not a necessary
function of this tool.
********************************************************************************
CONFIGURATION
********************************************************************************
- The installed architecture-specific directory name on Mac OS X (e.g.
"i386-apple-darwin12.2.0") now accurately reflects the nature of the build
(i386 vs. x86_64). Previously the name was derived solely by config.guess
based on the default state of the C compiler being used.
- The Xspec component - when built in isolation, i.e. without any other mission-
specific or general utility packages present in the heasoft-6.13 code tree -
will now default to a 64-bit build (x86_64-apple-darwinX.X.X) on Mac OS X.
If desired, users may override this behavior to force a 32-bit build by
configuring with the option '--enable-mac_32bit_build=yes'.
Help lines: FTOOLS or xanprob@athena.gsfc.nasa.gov Web page maintained by Bryan K. Irby HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public Last modified: Thursday, 27-Dec-2012 14:19:38 EST |

