******************************************************************************** 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. HEASoft / FTOOLS Help Desk If FTOOLS has been useful in your research, please reference this site (https://heasarc.gsfc.nasa.gov/ftools) and use the ASCL reference for HEASoft [ascl:1408.004] or the ASCL reference for the original FTOOLs paper [ascl:9912.002]: Blackburn, J. K. 1995, in ASP Conf. Ser., Vol. 77, Astronomical Data Analysis Software and Systems IV, ed. R. A. Shaw, H. E. Payne, and J. J. E. Hayes (San Francisco: ASP), 367. Web page maintained by: Bryan K. Irby HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public Last modified: Thursday, 27-Dec-2012 14:18:00 EST HEASARC Staff Scientist Position - Applications are now being accepted for a Staff Scientist with significant experience and interest in the technical aspects of astrophysics research, to work in the High Energy Astrophysics Science Archive Research Center (HEASARC) at NASA Goddard Space Flight Center (GSFC) in Greenbelt, MD. Refer to the AAS Job register for full details. |