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.12
March 12, 2012
********************************************************************************
The HEASoft 6.12 release is primarily driven by updates to the Swift
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
********************************************************************************
- 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).
Version 3.29:
Enhancements
- modified Makefile.in to allow configure to override the lib and include
destination directories.
- added (or restored actually) support for tile compression of 1-byte integer
images in imcomp_compress_tile. Support for that data type was overlooked
during recent updates to this routine.
- modified the fits_get_token command-line parsing routine to perform more
rigorous checks to determine if the token can be interpreted as a number
or not.
- made small modification to fpack.c to not allow the -i2f option (convert
image from integer to floating point) with the "-g -q 0" option (do lossless
gzip compression). It is more efficient to simply use the -g option alone.
- made modifications to fitsio.h and drvrfile.c to support reading and
writing large FITS files (> 2.1 GB) when building CFITSIO using
Microsoft Visual C++ on Windows platforms.
- added new WCS routine (ffgicsa) which returns the WCS keyword values
for a particular WCS version ('A' - 'Z').
Bug Fixes
- fixed a problem with multi-threaded apps that open/close FITS files
simultaneously by putting mutex locks around the call to
fits_already_open and in fits_clear_Fptr.
- fixed a bug when using the 'regfilter' function to select a subset of the
rows in a FITS table that have coordinates that lie within a specified
spatial region on the sky. This bug only affects the rarely used panda
(and epanda and bpanda) region shapes in which the region is defined by
the intersection of an annulus and a pie-shaped wedge. The previous code
(starting with version 3.181 of CFITSIO where support for the panda region
was first introduced) only worked correctly if the 2 angles that define
the wedge have values between -180 and +180. If not, then fewer rows than
expected may have been selected from the table.
- fixed the extended filename parser so that when creating a histogram by
binning 2 table columns, if a keyword or column name is given as the
weighting factor, then the output histrogram image will have a floating
point datatype, not the default integer datatype as is the case when no
weigth is specified (e.g. with a filename like
"myfile.fits[bin x,y; weight_column]"
- added fix to the code in imcompress.c to work around a problem with
dereferencing the value of a pointer, in cases where the address of
that pointer has not been defined (e.g., the nulval variable).
- modified the byte shuffling algorithm in fits_shuffle_8bytes to work
around a strange bug in the proprietary SunStudioExpress C compiler
under OpenSolaris.
- removed spurious messages on the CFITSIO error stack when opening a
FITS file with FTP (in drvrnet.c);
- fixed usage of DESTDIR build variable.
Version 3.28:
- added an enhancement to the tiled-image compression method when compressing
floating-point image using the standard (lossy) quantization method. In
cases where an image tile cannot be quantized, The floating-point pixel values
will be losslessly compressed with gzip before writing them to the tile-
compressed file. Previously, the uncompressed pixel values would have
been written to the file, which obviously requires more disk space.
- made significant internal changes to the structure of the tile compression
and uncompression routines in imcompress.c to make them more modular and
easier to maintain.
- modified configure.in and configure to force it to build a Universal
binary on Mac OS X.
- modified the ffiter function in putcol.c to properly clean up allocated
memory if an error occurs.
- in quantize.c, when searching for the min and max values in a float array,
initialize the max value to -FLT_MAX instead of FLT_MIN (and similarly
for double array).
********************************************************************************
CFITSIO PERL MODULE
********************************************************************************
Update to version 1.08 of the CFITSIO Perl module:
http://hea-www.harvard.edu/~rpete/cfitsio/
2012-01-19
* CFITSIO.pm: $VERSION = '1.08';
* CFITSIO.xs: sync with cfitsio 3.29, added fits_calculator,
fits_calculator_rng and fits_read_img_coord_version ffgicsa,
2011-10-21
* Makefile.PL: pkg-config support
2011-07-21
* CFITSIO.pm: $VERSION = '1.07';
* CFITSIO.xs: update to cfitsio 3.28, removal of
fits_compress_img. Removal of LICENSE file and inclusion of
copyright and license in README.
2011-07-21
* CFITSIO.xs: update to cfitsio 3.27, added fits_free_memory,
fits_read_str, fits_delete_str
2011-01-26
* CFITSIO.pm: $VERSION = '1.06';
* CFITSIO.xs: update to cfitsio 3.26, added routines
fits_copy_rows, fits_get_inttype, fits_convert_hdr2str, added
short name ffhdr2str => 'fits_hdr2str', added constants
CFITSIO_MAJOR and CFITSIO_MINOR
2010-07-28
* util.c (column_width): fixed incorrect determination of ASCII
string widths for values in binary tables columns
2009-08-21
* CFITSIO.xs: fixed bug in fits_update_key when called with
datatype TLOGICAL, whereby the input value was not converted to
int properly.
2008-08-26
* testprog/testprog_pdl.pl: get testprog_pdl.pl work properly on
64-bit archs
2007-02-14
* CFITSIO.xs: added fits_write_hdu/ffwrhdu, fits_write_exthdr/ffphext
********************************************************************************
CCFITS
********************************************************************************
Version 2.4:
Fixes:
- Compressed images may now be written with BITPIX=32. This fix was made by
internally storing the image array as int types rather than longs (see
backwards compatibility issues).
- For variable-width columns, the write functions now allow all of the same
type conversions as had been working with fixed-width columns.
- The null-value versions of the primary and extension image write functions
are now working.
- The basic FITS constructor can now handle files containing multiple
extensions which have the same name AND version number. (Note that this
is still not a recommended file structure.)
- BinTable's addColumn function now automatically first makes itself the
current extension so that the user doesn't have to call
ExtHDU::makeThisCurrent().
- Bug fix to Table's deleteRows function. This error had been preventing
the output stream operator from working on vector columns after rows had
been deleted.
Backwards Compatibility Issue:
- For images of BITPIX=32, CCfits now stores the values in a valarray of
ints rather than longs. This affects the public interface in one place:
the return type of the ImageExt<T>::image() function.
********************************************************************************
HEACORE
********************************************************************************
- tai-utc.dat, leapsec.fits: New copy of
http://maia.usno.navy.mil/ser7/tai-utc.dat
accounting for leap second in 2012 July (used to generate new leapsec.fits).
- New help files:
* HDgtcalf.html: Documentation for HDgtcalf Perl interface.
* headas_gti.html: Documentation for GTI-related routines in libhdutils.
- SimpleFITS.pm:
New functions:
* 'delcol' to delete an existing column
* 'calculate' to calculate a column-based expression and return it;
Modified function:
* 'insertcol' has a new special keyword '=' which allows one to specify
an initializer expression for a new (or existing) column
********************************************************************************
HEASP
********************************************************************************
The HEASP library for manipulating spectra and responses has been
converted into C++ and expanded. A Python interface has been added.
The Cwrappers.cxx file contains C wrappers which mimic the old C heasp
library. These C wrappers are compatible with the earlier C-only version
of HEASP with two exceptions: a) the include file required is now
Cheasp.h instead of heasp.h; b) all routines which used to require a
FITS file pointer now just require the filename. One consequence of b)
is that files no longer need to be opened and closed by the calling program.
A detailed guide to the library and its use when writing programs or
using Python is available in $HEADAS/../heacore/help/headas_guide.pdf.
********************************************************************************
PGPLOT
********************************************************************************
Update to PGPLOT version 5.2.2,
http://www.astro.caltech.edu/~tjp/pgplot/ver522.html
http://www.astro.caltech.edu/~tjp/pgplot/ver521.html
but with GSFC-generated modifications:
* PostScript driver: Added explicit Times-Roman for DocumentFonts to fix
a problem with changing default behavior of dvips. Update setting of
DocumentFonts so that it lists the fonts actually used.
* Fortran drivers for /GIF, /PPM and /WD are replaced by C versions (written
at GSFC).
* "Old" ftools PostScript driver is available through devices /OPS, /OVPS,
/OCPS and /OVCPS.
********************************************************************************
CALLIB
********************************************************************************
- Mission matching is now determined from the CALDB.CONFIG file, making it
easier to handle mission aliases/renaming (GLAST vs. Fermi, for example).
Added a warning for chatter>0 if the TELESCOP value in the caldb.indx file
does not match the mission string.
********************************************************************************
APE
********************************************************************************
- Fixed incorrect handling of command line assignments of the form "par= +80"
or "par= -80", in which the +/- signs were preventing values from being
associated correctly with the parameter assignment.
********************************************************************************
XANLIB
********************************************************************************
- XPI: Replaced XPI's parameter I/O with that of APE.
********************************************************************************
XPA (FV / HERA)
********************************************************************************
http://hea-www.harvard.edu/saord/xpa/
Public Release 2.1.13 (April 14, 2011):
- An atexit handler is no longer installed automatically (it
crashes Tcl 8.5.8 applications). Call XPAAtExit(void) to install
the handler.
- Removed permission checking from Find() on cygwin systems. This
was broken by Windows 7.
- Removed addition of -no-cpp-precomp flag from gcc 4.2 and beyond (Mac).
Public Release 2.1.12 (January 26, 2010):
- Added XPA_HOST environment variable to allow users to specify the
hostname (and hence, ip) component of the INET method id. This is
useful, for example, if you want to register an access point using
a VPN-generated IP instead of the canonical IP.
- Fix typo in Tcl binding to xpainfo causing a crash after 2 invocations.
********************************************************************************
ATTITUDE
********************************************************************************
- coordinator, getxform:
* Modified so the message written when extrapolating outside attitude
file bounds is put on stdout instead of stderr.
- prefilter:
* Magnetic field model for COR_SAX and MCILWAIN_L has been updated to
newer coefficients, through IGRF 2010 (provisional).
* Changes in COR_SAX from previous model are +/- 0.6% (1-sigma).
* Changes in MCILWAIN_L from previous model are +/- 1.0% (1-sigma).
********************************************************************************
FUTILS
********************************************************************************
- fparkey: When a file open fails, be more helpful by printing the FITSIO
error code and text before returning.
- fsort: Allow fsort to run without failing on columns with only 1 or 0 rows.
********************************************************************************
HEATOOLS
********************************************************************************
- ftjoin: Add warnings when user requests an OUTER join when columns don't all
have TNULLn default values. HISTORY keywords are now added upon request.
- ftlist: Fixed bug causing long paths for 'outfile' to fail.
- ftstat: Added mode computation. Fixed mean computation and min/max location
for sigma clipping case. Clipped values are now distinguished from null
values in the output, and are included in the par file output.
********************************************************************************
EXTRACTOR
********************************************************************************
- Now works if xcolf and/or ycolf are set to NONE provided that image output
is not required and region selection is not in use. Note that NPIXSOU in
the output spectrum or response will be 0 in this case.
- Fixed problem in FINGTI routine with the gfortran 4.6.x compilers.
********************************************************************************
XSELECT
********************************************************************************
- xselect.mdb: Modifications for new XTE event files. Fixed error for ASCA SIS1.
- Increased string sizes when reading MDB and modified chatter level on
diagnostic output.
- Updates necessitated by changes to XPI interface (see XANLIB above).
********************************************************************************
XSPEC
********************************************************************************
XSPEC 12.7.1:
New features:
- New models: gadem, vgadem, eplogpar, logpar, optxagn, optxagnf,
and pexmon.
- The convolution models rdblur, rdblur2, kdblur and kerrconv have
been sped up. They are now O(N) instead of O(N^2) where N is the
number of energy bins in the response.
- Continued rationalization of Compton reflection routines. eqpair,
eqtherm, compth, compps, ntee now all use the same routines as
reflect and ireflct. For models with ionized reflector there may
be changes in results because the new code uses the actual input
spectrum to calculate the ionization fractions while the old code
assumed a power-law.
- The parameter simulation arrays used for the calculation of eqwidth
and flux error are now accessible through tclout.
- Initpackage now works on Cygwin. The static_initpackage work-around
is no longer needed and has been removed.
- New Fortran interface wrapper function RFLABD, for reading new
abundance tables into external programs using the XSPEC models
library.
- Added an xsetbl function for use in external programs. This provides
access to XSPEC's internal exponential table model routines, similar
to what xsatbl and xsmtbl do for additive and multiplicative table
models.
- Bayes command is now supported for response parameters (ie. gain).
- New 'show version' option.
- Improved 'error' command output messaging. The error results now
have lower chatter level (5) than most of the warning messages (10),
thus making it easier to filter out the warnings.
- PyXspec beta version upgraded to v1.0. See the PyXspec release notes
(below) for details.
Enhancements previously released as patches to 12.7.0:
- New tclout options: nullhyp, rerror.
All bug fixes to v12.7.0 released as patches a-u are included in
v12.7.1. In addition the following problems have been corrected:
- Program aborted when attempting to fit with gain parameters attched
to dummy responses.
- Program aborted when removing a spectrum with a response containing
gain parameters, AND while that response was temporarily replaced
with a dummy response.
- The 'save' command did not add the default .xcm extension for file
names that included a path.
- A crash could occur if the EBOUNDS array wasn't the right size.
- It was not possible to plot 2 or more models in a multi-panel 'plot
model' display.
PyXspec v1.0:
=============
*** Important: Two Backwards-Incompatible Changes ***
- When using multiple data groups, the Model objects assigned to the
higher-numbered groups now all have their parameters indexed from 1
to nPar. For example with a 3 parameter model applied to 2 data
groups, you would now access the first parameter in the 2nd model
object with "mod2(1)" rather than "mod2(4)".
- The Model.setPars() function (introduced with patch 12.7.0f) used
the p<n> keyword argument syntax to set non-consecutive parameters.
This has been replaced with the use of Python dictionaries. For
example, m.setPars(p2=.3, p4=1.1) should now be m.setPars({2:.3, 4:1.1}).
New Features
- Added Standard XSPEC's gain command functionality. This is implemented
with the new gain attribute for Response classes. Response.gain is a
class of type RModel, and has two Parameter objects: slope and intercept.
- New AllModels.setPars() function for changing multiple parameters in
multiple Model objects with a single call.
- Now compatible with Cygwin.
Features Previously Added To PyXspec Beta version through XSPEC 12.7.0 patches
- AllModels.initpackage() for building local models inside the Python
shell.
- Bayesian inference provided through the Fit.bayes and Parameter.prior
attributes.
- Fit.goodness() and Fit.improve() functions.
- Model.setPars() function for changing multiple parameters with a
single call.
- AllModels.simpars() function to do the equivalent of Standard XSPEC's
tclout simpars.
- Fit.covariance attribute for retrieving the covariance matrix from the
most recent fit.
- Model.expression attribute which stores the model expression string.
- AllModels.sources attribute which stores a map of source number and model
name assignments.
Fixes
- All PyXspec bug fixes previously released as patches to XSPEC 12.7.0
are included.
- Now handles model component-by-name access when the component is a table
model whose name includes whitespace.
********************************************************************************
XSTAR
********************************************************************************
Version 2.2.1bk - updates since HEASOFT 6.11 include:
Version v2.2.1bk (January 2012):
* Fix to error introduced in 221bh which allows code to modify atomic data
during calculation of data type 72.
* Fix to error in msolvelucy involving rate equation solution.
* Fix to error in linopac/stpcut which led to spurious features in emission
profiles during Voigt profile calculation
Version v2.2.1bh (September 2011):
* Change to explicit use of real*8 variables throughout.
* Change to access of database which avoids passing large numbers of
variables to reading routine. Pointers are passed instead.
********************************************************************************
RXTE
********************************************************************************
- pcaextspect2: New convenience task to extract a PCA Standard2 spectrum and
apply corrections for deadtime, number of active PCUs, and optionally
calculate the corresponding PCA response matrix.
- pcaprepfile2: New convenience task to perform standard background and dead-
time calculation tasks for a single PCA Standard2 file.
- pcadeadcalc2: New task to calculate deadtime quantities for a single PCA
Standard2 file.
- pcadeadspect2: New task to compute PCA dead-time correction for a PCA
Standard2 spectrum.
- xenon2fits: Add capability to write new standard RXTE event format with
columns Time, Event, PCUID, ANODEID, PHA, when wrtparm='O'. The new event
format is compatible with both seextrct and extractor.
- decodeevt:
* Major rewrite: task is now compatible with all available RXTE science event
modes (but not the specialized "Alpha", "VLE", "2LLD" or "Transparent" modes).
* Add capability to write new standard RXTE event format with columns Time,
Event, PCUID, ANODEID, PHA, when wrtparm='O'. (for a particular event
mode where a data field doesn't exist, the corresponding FITS columns are
filled with NULL values)
* The new event format is compatible with both seextrct and extractor.
********************************************************************************
SWIFT
********************************************************************************
- batdetmask: Internal changes for more consistent behavior.
- swiftxform, uvotexpmap, uvotimage:
* Added a parameter (refattopt) that can be used to detect/address
questionable attitude. The default refattopt value causes no
change in behavior. When used, refattopt tests whether the sampled
attitude is inconsistent with the reference attitude, and if they
are inconsistent the reference attitude is used.
The refattopt value is made up of comma-delimited elements having the
following format:
ANGLE_d=<real>
constrain separation angle for using reference attitude
OFFSET_s=<real>
constrain attitude record offset for using reference attitude
AND
boolean AND constraints
OR
boolean OR conditions
- xrtcalcpi: Modified PI calculation for CTI correction
- xrtlccorr,xrtmkarf: Apply the caldb query for PSF file depending on data mode.
- xrttimetag:
* Modified 'TIMEDEL' keyword calculation
* Added update to 'TIMEPIXR' keyword
- uvotgraspcorr:
* Updated so the grism distortion file can be automatically determined (via
* CALDB query).
* Modified to allow multiple files to be processed in one invocation:
The infile parameter can be a comma-delimited list of files to process
or @<path> where <path> contains one file name per line.
- uvotproduct:
* Modified to handle certain failures more gracefully: avoid ds9
sub-process hanging; treat inability to create a finding chart graphic
as a warning instead of an error.
********************************************************************************
CONFIGURATION
********************************************************************************
- configure scripts generated using autoconf v2.68. New versions of
config.sub and config.guess taken from the autoconf-2.68 distribution.
- Fixed 64-bit openSUSE build issue requiring "libdir" overrides to prevent
installation in $HEADAS/lib64 rather than $HEADAS/lib.
- Added libtinfo to search list for ncurses/curses/termcap routines (for e.g.
newer Ubuntu OSs).
- Fixed a number of Fortran compilation errors stemming from the use of the
--pedantic flag.