******************************************************************************** RELEASE NOTES FOR HEASOFT 6.22 August 15, 2017 ******************************************************************************** The HEASoft 6.22 release is driven by updates to several mission-specific software packages (NICER, Hitomi, NuSTAR, Swift, XTE), 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 mean 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 to version 3.42: - Added HTTPS support to the collection of drivers handled in cfileio.c and drvrnet.c. This also handles the case where HTTP transfers are rerouted to HTTPS. Note that this enhancement introduces a dependency on the libcurl development package. If this package is absent, CFITSIO will still build but will not have HTTPS capability. - Made fix to imcomp_init_table function in imcompress.c. It now writes ZSIMPLE keyword only to a compressed image that will be placed in the primary header. - Fix made to fits_get_col_display_width for case of a vector column of strings. ******************************************************************************** FV ******************************************************************************** - Fixed abort under Apple XCode 8.3.x with update to use Tcl/Tk 8.6.6. - Fixed bug in which the original file was mistakenly updated after a 'Save As' copy was made. ******************************************************************************** HEASP ******************************************************************************** - Changed definition in heasp.h of Real from float to double for consistency with xspec. - Modified grouping class to make Flag be 1 for start and -1 for continuation of a bin for consistency with the OGIP standard. - Added option to pha class to group by signal-to-noise. - Modified table class read to have the option of not loading all the tabulated spectra at the same time. Added a new method to then load spectra for a list of index positions. Added a method to return the interpolated spectrum on the tabulated energy bins for an input set of parameter values. ******************************************************************************** ATTITUDE ******************************************************************************** - prefilter: Update to v3.4: add orbmode=XTE which allows XTE-style orbit as input (also Chandra & NICER). Add attfile=QUAT(x,x,x,x) which allows static attitude quaternion to be entered instead of an attitude file. Fix bug in handling of Z position vector. Fix bug converting to kilometers that prefilter wants. Add timing tolerance for orbit extrapolation, between large gaps that still bracket the desired point. Add TDISPn output to prefilter FITS file for better visibility. ******************************************************************************** CALTOOLS ******************************************************************************** - quzcif: Added hidden 'quality' parameter so users can search for CALDB files where quality is not 0. This is useful for seeing the number of "bad" files in a CIF, or for setting a non-zero quality to use if a calibration file that would normally be avoided may be appropriate in certain circumstances. ******************************************************************************** FUTILS ******************************************************************************** - finterp: Fix interpolation of multiple columns. ******************************************************************************** HEAGEN ******************************************************************************** - barycorr: Major rewrite to version 2.0: Changes to the internal C code of barycorr to properly handle multiple orbit files and orbit files with gaps. Reduce the amount of extraneous checking by the perl wrapper script. Unit tests still pass to within 500 nanoseconds. The orbit interpolation algorithm is slightly revised to a true cube spline interpolation, but should be improved over the one originally used. In practice this new algorithm causes <100 nsec differences from the previous one, which is negligible. Missions should decide how much or little interpolation/extrapolation is required. The search functions have separate tolerances for both interpolation and extrapolation. In practice, RXTE and Chandra do not allow extrapolation; Swift and NuSTAR allow up to 2 seconds of extrapolation. All missions: If CLOCKAPP exists, it is set to true upon successful return of the task. Add new ephem parameter to either choose a JPL planetary ephemeris file name, or DEFAULT to choose based on the reference frame. Update for NICER files. Swift: v2.0 correctly updates the DATE-OBS and DATE-END keywords. This is a change from previous behavior where the perl wrapper updated TSTART and TSTOP but not the DATE-* keywords. The task no longer creates a RAWTIME column. This column was not meant to be useful for scientists, but was used in the internal calculations of the task. v2.0 has improved behavior around UTC leap second rollover boundaries. Previously there could be several 10s of seconds of error around the new year. With the new version, this problem area is reduced to a ~1 second window where errors could occur. Apply barycenter correction to a column named 'ENDTIME' for Swift XRT hk data. This is required to handle XRT light curves obtained from barycenter-corrected event files when running `xrtlccorr' to account for time-dependent PSF/EXPOSURE losses. v2.0 no longer assumes that the current directory is writable. Fix bug in double-counting TIMEZERO, which shows up in output of extractor light curves. - barycen: Reports error from getPar function using C printf rather than writing output to log, which is not yet initialized at that point. - xrtraytrace: Fixed memory leaks to address segfault that occurred only for the option source=PHOTONLIST, under Mac OSX with Xcode 8.3.x. - VOtable2xsp: Changed all filename parameters to be *file, not *fil. ******************************************************************************** HEASARC ******************************************************************************** - extractor: Fixed errors when reading and writing multiple event files with different column ordering which contain A and/or X format columns. This serendipitously appears to also fix a memory fault from the same bug report. ******************************************************************************** HEASIM ******************************************************************************** - Bug-fix: No longer segfaults by attempting to free an unallocated instrument map array, when SKIPFOV=YES. - Behavior change: When the XSPEC library is used for a single Gaussian line spectral component, the sigma is set explicitly to 1e-6 keV instead of accepting the library internal default. ******************************************************************************** HEATOOLS ******************************************************************************** - ftlist: Fix ftlist output for case of vector columns. Fix incomplete output for files with "+0" in their name. - ftmgtime (NEW TASK): Merge two or more GTI FITS files. Improves upon the older task "mgtime" in several ways; run "fhelp ftmgtime" for more information. ******************************************************************************** XSELECT ******************************************************************************** - xselect.mdb: Changed NICER instrument name to XTI and default spectrum column to PI. ******************************************************************************** XSPEC ******************************************************************************** HEASoft 6.22 includes Xspec v12.9.1m. See the Xspec issues page for more information: https://heasarc.gsfc.nasa.gov/lheasoft/xanadu/xspec/issues/issues.html ******************************************************************************** XSTAR ******************************************************************************** - New version 2.41: Fix to type 70 calculation (recombination to pseudo-levels) for He-like ions which partially smooths the density-dependent behavior near density of 10$^{10}$ cm$^{-3}$, by using quadratic interpolation rather than linear. Fix which passes real*4 variable to FITSIO routine in fstepr4. Increase size of temporary array in routine reading atomic database. Update to treatment of dielectronic satellite emission in calt72. Remove arrays called vsav, rates, and idrates which contained temporary saved rates in order to save memory space. Increase value of crit and crit2 in msolvelucy from 1.e-10 to 1.e-4. Add data type 96, safranova satellite emission for Fe XXIV. Changes to atomic database: update to Fe XXIV DR satellite emission using rates from Bautista et al. 2003; fix to the Fe XXV forbidden line (2 photon) decay; addition of direct excitation of Fe XXIV satellites using rates from atomdb; also direct excitation of Fe XXV lines using rates from atomdb. ******************************************************************************** HITOMI ******************************************************************************** Hitomi Version 006 (2017 April) Major changes introduced in this version: Mission Applications: - aharfgen: * Behavior change: Processing of heasim photon list now uses ftools rather than Perl code. * Bug-fix: For sourcetype=IMAGE, corrected a formula involved in converting simulated event coordinates to RA and Dec. The error was affecting the effective area of off-axis positions at high Declination. Only IMAGE mode was affected. - ahgainfit: * Bug-fix: Error bands for 'width' and 'shift' computed using the criterion delta chi^2 = 1 were erroneous for cases with poor fits. Fixed by adding a subscript bounds check to loops that search arrays of chi^2 values. - ahnxbgen: * Behavior change: Intermediate file extractspback.pha is now deleted if CLEANUP=YES. - ahsxtarfgen: * Bug-fix: PSF fraction computation corrected. HXI/SGD Applications - hxievtid: * Bug-fix: Now stores correct value of TLMAX for FOCX, FOCY, X, and Y coordinate columns (Note: these values were always correct in any case after running task coordevt.) SXS Applications - sxsbranch: * Bug-fix: Crosstalk event counting for flight data files corrected. * Behavior changed: Now outputs branching ratio per pixel rather than exposure time per pixel. * New parameter: TSTART. * Deleted parameters: RTMAX and DMMIN. - sxsextend: * Bug-fix: Now uses EPIPER and EPI2PER columns for input instead of EPI/EPI2 when running in fast mode on a sequence requiring the Perseus correction. * Libraries: - ahfits: * Behavior change: Default TUNIT, TLMIN, etc. keyword comments have been changed to match the Astro-H SCT FITS document standards. * Bug-fix: In writeKeyVal* functions, if an empty string is given as the comment, the existing comment is now retained. This change prevents accidental deletion of the comment field of NAXIS2 when the number of rows in a binary table is updated. * Behavior change: Added comment argument to the set functions for TNULL, TDISP, etc. * Behavior change: Keywords set by writeImage() now have comments. ******************************************************************************** NICER ******************************************************************************** NICER DAS Version 1.0 (new tasks): - nicercal: Apply standard calibration to NICER observation - nicerpi: Apply gain calibration to NICER event file (calculate Energy/PI) - niextract-events: Fast event filtering, similar to extractor - nimaketime: Create standard NICER screening GTI - nimpucal: Apply standard NICER calibration to MPU data - nimpumerge: Merge NICER event data from multiple MPUs (or observations) - niprefilter: Create NICER-specific filter file - nicerversion: Report NICER software version ******************************************************************************** NUSTAR ******************************************************************************** NuSTARDAS v1.8.0 software patch: Note that the CALDB patch 20170727 is required when using the new 'saacalc=3' mode. - nucalcsaa: Add new 'saacalc=3' operation mode. This accounts for the changes in the internal background related to the evolution of the South Atlantic Anomaly (SAA) throughout the solar cycle. This improves on the 'saacalc=2', though users should check the background filtering reports provided by the NuSTAR SOC (http://www.nustar.caltech.edu/page/background) when deciding which filter parameters to use. Improve handling of input cleaned event files. This patch adjusts the behavior of nucalcsaa so that the fselect FTOOL is no longer run if the SHIELD column is not present in the cleaned event file. The SHIELD column is truncated when the 'cleancols=no' keyword is used by nupipeline, which is the default case. - nuexpomap: Improve the evaluation method for calculating the time-averaged optical axis location. Before the change, the brightest point on the vignetting- corrected exposure map could be off from the time-averaged optical axis position by up to 10". This has been fixed and the two locations will now correspond to each other. This change affects only the vignetting corrected exposure map, which is used in the light curve generation. It has no impact on the ARF and RMF generation. - nuscreen: Suppress warning messages that occur when a particular event mode does not contain any exposure time and therefore its associated cleaned event file is not generated. This commonly occurs for several of the available data modes (i.e., calibration source data, slew data, and/or data obtained during the SAA passages). - numkarf: Improve effective area calculation for the extended sources in the 'flatflag=yes' case. In the 'flat' ARF case, where the effective area is not weighted by the observed count rate, the effective areas were before evaluated with the same weight in each box that covered the extraction region, regardless of how much area of each box was actually contained in the extraction region. This was particularly sensitive to gaps between the CZT detectors that were inside the boxes but outside the extraction region. To obtain a more accurate effective area, we now weigh the effective areas with the covering region of each box. This change only influences the 'flatflag=yes' case. - nupipeline: Now supports the keywords for the handling of the new case 'saacalc=3' of the module nucalcsaa. ******************************************************************************** SWIFT ******************************************************************************** GEN: - swifttime & swtimecorr: Allow https prefix for clock file. BAT: - Error checking for http now includes https too. UVOT: - uvotimage: Raw UVOT images have the left-most 8 unbinned columns wrapped from the right side. Zeroed them out to prevent unintended consequences due to counts in the wrong position. - uvotinteg: Fix length argument of strncpy; was causing run-time failures when built with Apple XCode 8.3.x. - uvotproduct: Add support for ds9 v.7. XRT (XRTDAS 3.4.0): - xrtfilter: Add internal run of 'finterp' to extrapolate the values of the STAST_LOSSFCN/SAC_MODESTAT columns of the filter file. - xrtpipeline: Add new input parameter 'mkfextrapolate' used for the xrtfilter run. ******************************************************************************** XTE ******************************************************************************** - correctlc: Fix abort for method=max case: change size of pcuchar from [1] to [2] to prevent abort in the sprintf of pculist[i] into pcuchar[0], and set trailing pcuchar[1] to 0. Also, initialize pculist for the case where it isn't queried. - hxtdead: Version 3.0.0: Major rewrite to take out artificial limits (there was a limit of 8192 x 16 sec samples, or 1.57 days); records are now a structure which are easier to (re)allocate; error checking to prevent out of bounds memory accesses; address most compiler warnings; tested against 400 spectra of XTE J1751-305 (obsid 70131) and all were identical. - pcabackest: Bug fixes: write more compliant TDISP values for background estimates (F8.2 instead of E5); off-by-one bug in string manipulation; initialization bug. Add the 'modelfamily' parameter which helps the task find the right CALDB file; sensible defaults are applied; use the PCABGFAM keyword in the model file to actually say what family it is, and write that keyword to the output. - pcadeadcalc1: Improve the compliance of output keywords; remove output columns LiveTimeVect and OnTimeVect which are not used downstream and are difficult to format properly. - pcadeadcalc2: Improve compliance of output keywords. Calculate L7CntPcuN column so L7 is available. - pcaextspect2: Handle user-specified RA/Dec more robustly; fix bug in writing BACKFILE with path components; write RESPFILE, with no path components. Warn when XPCAARF emits a cryptic error message: it's really because the analyst entered a bad target position. Added 'respdate' parameter; default is to use the centroid-weighted centroid time; set HDUCLAS2=BKG in output background spectrum; fixed typos in computing centroid time. - pcamergeobsids: Add support for Standard1 files via pcaprepfile1, both preparing and merging. More careful checking/display of target positions; target positions are computed and compared and outliers are flagged; make missing Standard1 files non-fatal. Ensured that merged observations are merged in time-order. - pcaprepfile1, pcaextlc1: New tasks for preparing Standard1 files and making standard light curves from them. - pcaprepobsid: Add support for Standard1 files via pcaprepfile1, both preparing and merging. More careful checking/display of target position. Handle user-specified RA/DEC by writing {RA,DEC}_{OBJ,PNT} into the output dead-time and background files; warn if datamodes does not include Standard2; version 1.2. ******************************************************************************** MISC ******************************************************************************** - wcslib: Update to version 5.16. http://www.atnf.csiro.au/people/mcalabre/WCS/