******************************************************************************** RELEASE NOTES FOR HEASOFT 6.17 July 29, 2015 ******************************************************************************** The HEASoft 6.17 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. 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 ******************************************************************************** - Updates beyond version 3.37: - Added test to see if HAVE_UNISTD_H is defined, as a condition for including unistd.h in drvrfile.c drvrnet.c, drvrsmem.c, and group.c. - Fixed bug when reading tile-compressed images that were compressed with the IRAF PLIO algorithm. This bug did not affect fpack or funpack, but other software that reads the compressed image could be affected. The bug would cause the data values to be offset by 32768 from the actual pixel values. ******************************************************************************** CCFITS ******************************************************************************** - Bug fix to ImageExt::put (accessed through HDU's "operator<<"). It was not showing output for the highest numbered axis. - Converted 'delete' calls to 'free()' in KeywordCreator's getLongValueString function. This removes memory mismatch errors in valgrind output. ******************************************************************************** HEASP ******************************************************************************** - Fixed bug in arf::write which incorrectly gave the SPECRESP column the name EFFAREA. - Check for multiple SPECTRUM extensions when reading a pha file. - Added a routine to return the extensions with type SPECTRUM in a file. Also fixed a bug that PHAnumber was not being used in all relevant cases. ******************************************************************************** FHELP ******************************************************************************** - fhelp now utilizes a parameter file to allow the setting of display preferences. For example, setting text=yes (the default) will force all help files (.txt or .html) to be displayed in the current terminal in ASCII text format. Setting text=no will allow html files to be displayed in your current browser (if the 'online' or 'local' parameter is set to 'yes'). The lynx linemode browser is now distributed and built as part of HEASoft to ensure that .html files can be parsed as text. Run "fhelp -h" for more information. ******************************************************************************** ATTITUDE ******************************************************************************** - prefilter (geocal library): Update IGRF model to 2015 (version 12). The years touched are 2005-2010 (via derivative term); 2010 (changed from provisional to definitive); 2015 (provisional); 2015-2020 (provisional derivative extrapolation); overall changes are small. ******************************************************************************** CALTOOLS ******************************************************************************** - addarf: Increased length of string for input ARFs to 5,000 characters and fixed compiler warnings. - cmprmf: Fixed so that the NUMELT and NUMGRP keywords are updated. This bug was generating errors (e.g. "Group Array dimension is too small") in downstream tools (i.e. marfrmf). - genrsp: Fixed bug in the case that the response energies extend beyond the channel energies. Any response from the energies outside the channel energy range was not being calculated. ******************************************************************************** FUTILS ******************************************************************************** - flist: Fixed output format (to integer instead of float) for unsigned integer columns with scaling keywords set. - fverify: When checking TDISPn keywords, allow TFORMn='K' when TDISPn has format F, E, or D. ******************************************************************************** HEAGEN ******************************************************************************** - swco.dat: Valid through: 2015Jul06 at 08:24:05.921UTC. ******************************************************************************** HEASARC ******************************************************************************** - addspec: Added single quotes around filenames in the expression passed to mathpha. This allows the filename to include a "/" without mathpha interpreting it as a division. - extractor: Fixed a misleading error message when reading ROSAT data which has a non-standard name for the extension containing the events. ******************************************************************************** HEATOOLS ******************************************************************************** - ftcreate: For on/off bits datatype, use strtoul to read the input data. Using the previous hex format specifier ('%lx') to sscanf the data string wasn't suitable, since it can misinterpret non-hex formats. - ftdiff: If hdumaxdiff <=0, ignore hdumaxdiff and report all differences. - fthedit: For "single keyword" mode, parse the input 'keyword=value' card string to return a properly formatted 80-char string for inserting the new record. - ftverify: When checking TDISPn keywords, allow TFORMn='K' when TDISPn has format F, E, or D. ******************************************************************************** XSELECT ******************************************************************************** - Added a 'history' command to toggle writing of the history file (xselect.hty) on or off, to avoid problems when running multiple instances of xselect. Also allow for an alternate location for xselect.hty to be written, specified via the XSEL_HISTORY_DIR environment variable. - xselect.mdb: Added NICER entries and updated NUSTAR entry for mkf name. ******************************************************************************** XSPEC ******************************************************************************** HEASoft 6.17 includes Xspec v12.9.0: http://heasarc.gsfc.nasa.gov/xanadu/xspec/issues/issues.html New features: - Mix model components are no longer heavily restricted in their usage. Previously mix components could only be placed at the start of a model expression, to operate on the results of the rest of the expression. Now they can be inserted throughout the expression in the same manner as convolution components. Models with mix components can also be assigned to source numbers other than 1. A corollary of this is that a mix model is no longer required to operate on all currently loaded spectra. To allow more than one mix model at a time the syntax for XFLT#### keywords has been generalized. These keywords are now strings of form "key: value" with xspec maintaining an internal database of key, value pairs which mixing model code can access. Backward compatibility with the old version of XFLT#### containing only a value is maintained. - Expanded the types of expressions allowed in parameter linking. It can now handle the same mathematical functionality supported in mdefine equations. Related to this, parameters can also be specified as 'p#' and 'modelName:p#' in link expressions, as well as the old '#' and 'modelName:#'. The link expressions are now displayed using the 'p#' format. - The output of the 'plot margin' command is now independent of the grid size. There is a new 'plot integprob' command which also must be run after the 'margin' command and which plots the integrated probability within the contours shown. - The data and back commands now handle files with multiple SPECTRUM extensions. There are a number of ways of specifying a particular extension: filename{N} will use the Nth SPECTRUM extension; filename{SPECTRUM2} will look for an extension called SPECTRUM2; filename{back} will use the first SPECTRUM extension with the HDUCLAS2 keyword set to 'BKG'; filename{name=value} will look for a SPECTRUM extension with keyword name set to value (in this case there must be no spaces within the {}). If the BACKFILE keyword in a source filename is set to the filename itself then XSPEC will get the background from the extension with HDUCLAS2 set to 'BKG' (this, finally, makes Chandra level 3 files work seemlessly in XSPEC). - The 'error' command now has a 'nonew' option. This determines whether to repeat the calculation when a new minimum is found. Previously it was relying on the 'query' setting to make this decision. - Added grey-scale image as background to to contour plots. 'dem' plots now display a histogram. The new 'eqw' plot option shows the distribution of equivalent width values after running the eqwidth command with the err option. - New model 'nlapec'. There is also an APECNOLINES xset option which will turn off lines for all apec models. - The models using AtomDB files now require the line files to be sorted in increasing order of energy within each element and ion. This allows a speed-up in the model calculation. - Replaced the rescalecov script with the 'chain rescale' command. - The 'plot delc' command now works for cstat, plotting (obs-mod)/error, however it is important to remember that this is not plotting contributions to the statistic. Enhancements previously released as patches to 12.8.2: - A new -udmget64 option has been added to initpackage. This is intended for Mac platform users with local Fortran models which still make use of the udmget memory allocation function. - 'tclout steppar' can now retrieve values of the variable parameters as well has the fixed parameters which are being stepped through. All bug fixes to v12.8.2 released as patches are included in v12.9.0. In addition the following problems have been corrected: - For the case where counting statistics are not applied, 'fakeit' now outputs the spectrum in a RATE column rather than COUNTS. This is to remove bias caused by truncation errors. It also now outputs a STAT_ERR column and sets the POISSERR flag to false. - Special characters have been removed from all model parameter names and (generally) replaced with underscores. This is to make their name strings more easilty accessible in PyXspec. - When calculating 'tclout peakrsid' with Cstat, it should not make use of correction files. - Redundant model fold calculations have been removed during certain update contexts. - Fix to vequil model array assignment error. - The default filenames for fakeit output should always be in the current run directory, even when the response file is in a different directory. - A file-write race condition has been eliminated for the case of running 'lmod' in parallel XSPEC sessions. - The vvnei model had the tau and meankT parameters flipped. - The AtomDB input files were being reopened unnecessarily often. ********************* PyXSpec Change Log: New Features: - Local models may now be written in Python and inserted into XSPEC's models library with new AllModels.addPyMod() function. - The plot array retrieval interface (ie. Plot.x(), Plot.y()) has been expanded to allow retrieval from secondary plot panels in a multi-panel plot. - New Parameter.index attribute. - New backscale attribute for Spectrum and Background classes. - Added new function Fit.stepparResults() for retrieving results of most recent steppar run. (Previously available as a patch) - New noWrite option added to AllData.fakeit (Previously available as a patch) Fixes: - The Model.__call__ function now returns Parameter objects by reference rather than by value. This is to allow the returned object to retain any custom attributes the user may have added. - Improved handling of Ctrl-c breaking in several prompting contexts. ******************************************************************************** XSTAR ******************************************************************************** Version 2.2.1bn24 - updates since v221bn21 (HEASOFT 6.16) include: - Fixed error in distributing collision rates between magnetic sublevels of H and He-like ions in atomic data atdb.fits. - Make the printing of heating and cooling rates rational: httot and cltot are the true total heating and cooling. Also decrease the number of lines which are binned and written to xout_spect1.fits in the interest of speeding things up. - Include print-out of column densities in xstinitable. - New version of xstar database which includes fine structure for He-like ions. - Fixed error in calculation of rates from data type 16 (Iron collisional ionization). - Photoionization integration routine now uses thresholds calculated on energy bin boundaries. This allows for better evaluation of the Milne integral, though it may affect photoionization rates in the case of very coarse energy bins. - Removed redundant subroutine phint53new.f. - Added code to print ion column densities as part of lpri=2 output - Increased buffer size in subroutine fstepr2 which writes to xo01\_detal2.fits such that table of lines is not artificially truncated. ******************************************************************************** NUSTAR ******************************************************************************** NuSTARDAS v1.5.1: Major changes introduced in this version: - numkarf: 1) addition of the new input parameters 'pilowarf' and 'pihigharf' to define the energy range used to calculate the box ARF weights for the 'addarf' internal run (extended sources case); 2) addition of the new input parameter 'flatflag' to apply a flat spatial counts distribution to calculate the box ARF weights for the 'addarf' internal run (extended sources case). - numkrmf: bug fix for addrmf execution when CALDB in remote mode is used. - nuproducts: addition of the new input parameters 'pilowarf', 'pihigharf' and 'flatflagarf' to support the numkarf changes. - nupipeline: 1) addition of the new input parameters 'pilowarf', 'pihigharf' and 'flatflagarf' to support the numkarf changes; 2) handling of the cases 'createexpomap=yes' and/or 'exitstage=3' when the '01' cleaned event file is empty. Summary of changes: - numkarf: When observing extended sources it's often the case that the high-energy photons have a different spatial distribution than the low-energy photons. Prior to this patch, the ARF generator used the spatial distribution for all photons over the allowed NuSTAR energy range (1.6-165 keV) to determine the box ARF weights. The new keywords (pilowarf and pighigharf) can be used to set a specific energy range (e.g above >40 keV or 5-7 keV). Recall that the conversion between energy and PI is : PI = (keV - 1.6) / 0.04 channels. Additionally, we have added the option to use a "flat" spatial distribution over the source region (e.g. if the intrinsic source distribution is unknown) which equally weights all boxes in the source region when generating the ARF. - nupipeline / nuproducts : Added feed through keywords to support the above changes to numkarf. Also improved handling of cases when high level (Stage 3) science products are being produced but the SCIENCE data mode file is empty. This commonly occurs during SLEW sequence IDs and previously the pipeline would exit with an error. ******************************************************************************** SUZAKU ******************************************************************************** - xisexpmapgen: Fix a malloc error resulting from (at least one) use of a combined (3x3 and 5x5) XIS0 event file. - aexisconf.list (aepipeline): New version which adds the following: 2011-05-17: New list required after sequence 106001010 Code 'f' was recycled 2012-02-17: New list required after sequence 506025010. Code 'k' was recycled 2013-10-25: New list required after sequences 408009010 and 408024010 Code 'w' was recycled; Code 'x' was recycled 2014-10-16: New list required after sequences 409008010 and 709020010 Code 't' was recycled; Code 'g' was recycled 2014-11-10: New list required after sequence 109008020 Code 'n' was recycled; Code 'o' was recycled ******************************************************************************** SWIFT ******************************************************************************** UVOT: - uvotexpmap / uvotshiftadd: Fixed UVOT exposure maps created with method=SHIFTADD to match EXPOSURE (previously missing dead time correction). - uvotsequence: Corrected the labels on the UGRISM/VGRISM rows of the plot. XRT (ISAC Build 31 Software Release - XRTDAS_v310): - xrtmkarf: Fixed memory bug that occur when the number of the extraction region sub-boxes is larger than 100 Fixed bug in exposure map pixels numbering. Modified 'expofile' input parameter type from "hidden" to "queried". - xrtproducts: Changed default value of 'correctlc' parameter from "no" to "yes". Modified 'expofile' input parameter type from "hidden" to "queried". - xrtexpomap: Updated 'DATE-END' and 'MJD-OBS' keywords of the output sky exposure map. - xrtgrblc: Changed default value of 'lccorravg', 'pcreglist' and 'wtreglist' input parameters. - xrtpipeline: Updated 'SOFTVER' and 'CALDBVER' keywords in output event files. Updated xrtproducts task call to handle 'expofile' input parameter as "queried" type. ******************************************************************************** XTE ******************************************************************************** - correctlc: Fixed runtime abort caused by variable of insufficient size. ******************************************************************************** Configuration / Miscellaneous ******************************************************************************** - Updated reference data files (leapsec.fits, tai-utc.dat) for 2015-07-01 leap second. - PGPLOT: Added configurable option for the PNG driver. To enable the PNG driver, run the heasoft-6.17/BUILD_DIR/configure with the option "--enable-png", and use "--with-png" to specify the location of the PNG library (if it is in a non-standard location). - Mac OS X: Build "Universal" (both i386 & x86_64 architectures) libraries in heacore to prevent missing symbol errors when trying to use the heacore Perl module libraries. - (FV) Update to FitsTcl 2.4 (used by the FV GUI).