******************************************************************************** RELEASE NOTES FOR HEASOFT 6.25 October 22, 2018 ******************************************************************************** The HEASoft 6.25 release is primarily driven by updates to the NICER data analysis software, but also includes other enhancements and fixes. As before, configuration-related changes thoughout the package mean that users who already have HEASoft 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 ******************************************************************************** Version 3.46 - October 2018 - Added wildcard deletion syntax for columns, i.e. -COLNAM* will delete the first matching column as always; -COLNAM*+ will delete all matching columns (or none); exact symmetry with the keyword deletion syntax. - Improved the algorithm for ensuring no tile dimensions are smaller than 4 pixels for HCOMPRESS compression. - Added new functions intended to assist in diagnosing (primarily https) download issues: fits_show_download_progress, fits_get_timeout, fits_set_timeout. - Added the '-O ' option to fpack, which previously existed only for funpack. Also added fpack/funpack auto-removal of .bz2 suffix equivalent to what existed for .gz. - For the fpack '-table' cases, warning message is now sent to stderr instead of stdout. This is to allow users to pipe the results from stdout in valid FITS format. (The warning message is otherwise placed at the start of the FITS file and therefore corrupts it.) - Fix made to the '-P' file prefix option in funpack. Version 3.45 - May 2018 - New support for reading and writing unsigned long long datatypes. This includes 'implicit datatype conversion' between the unsigned long long datatype and all the other datatypes. - Increased the hardcoded NMAXFILES setting for maximum number of open files from 1000 to 10000. - Fixed a parsing bug for image subsection and column binning range specifiers that was introduced in v3.44. ******************************************************************************** CCFITS ******************************************************************************** - Enabled support of long string keywords (which use the CONTINUE key) - Replaced all uses of std::auto_ptr with std::unique_ptr. This is made in tandem with configuration changes which add a C++11 compiler flag when necessary. - Added capability for user to specify keyword categories to read/copy. Removed TYP_WCS_KEY,TYP_CMPRS_KEY from s_iKeywordCategories, as they are file-specific keywords. - Bug fix to writeHistory and writeComment functions: when copying via the get/write functions, mult-line input was not properly formatted upon output. ******************************************************************************** ATTITUDE ******************************************************************************** - prefilter: Avoid invalid memory access ******************************************************************************** CALTOOLS ******************************************************************************** - quzcif: Added https support with retrieve=yes. Added optional download progress bar display when retrieve=yes and chatter > 10 ******************************************************************************** FIMAGE ******************************************************************************** - chimgtyp: Reworked prompt for output datatype parameter; this prevents an infinite loop which occurred when the datatype was invalid or incorrectly entered. ******************************************************************************** HEAGEN ******************************************************************************** - Replaced some tasks with wrappers to their new counterparts in the heasptools component: old heagen task: wraps to heasptools task: flx2tab -> ftflx2tab flx2xsp -> ftflx2xsp mkfiltrsp -> ftmkfiltrsp rgsrmfsmooth -> ftrgsrmfsmooth rsp2rmfarf -> ftrsp2rmfarf sdss2xsp -> ftsdss2xsp sprbnarf -> ftrbnarf - barycorr: Fixed bug in handling GTI extensions that are not exactly named 'GTI'; allow orbitfiles=GEOCENTER for geocenter-to-barycenter only correction - ftadjustgti [NEW]: Perform filtering and normalization of good time interval (GTI) - xrtraytrace: Fixed bug that failed to detect an input energy value mismatch with all energies in the array of multilayer reflectivity file energies when the input energy list contained a valid energy immediately following an invalid energy. The effect of the bug was to calculate the wrong reflectivity value for all the input energy values that did not have a counterpart in the reflectivity file. - xrtreftable: Corrected some sign errors in relectivity and transmission calculations. The use of the function cxpower for the square root of a complex number was replaced by the intrinsic C++ square root function. These corrections have no net effect on the reflectivity or transmission because they exactly cancel each other out. ******************************************************************************** HEASARC ******************************************************************************** - extractor: Speed up in the case of a very large number of gti bins by fixing calcbinsize so that it does not have to start at the first gti every time. ******************************************************************************** HEASP ******************************************************************************** HEASP is updated to v2 which involves significant internal changes: - All internal class members are now private and are accessed using get and set routines. For example in pha the member m_FirstChannel is set using setFirstChannel(value) and got using getFirstChannel(). For members which are vectors individual elements can be got and set using for example getPhaElement(i) and setPhaElement(i,value). - The Python module now uses numpy arrays for C++ vector quantities. For example the Pha vector in pha can be set using setPha(array([0.1,0.2,0.3,0.4,0.5])) - Modified all methods for consistent use of const on input variables and made methods themselves const if the object is not modified. - Added more load methods and constructors. - Removed members which store OGIP version numbers since it made no sense to store these in classes. - Added writeChecksum() functions when writing extensions - Modified table::getValues to report to the SP error stack if a requested parameter value is outside the tabulated values - Removed copying of other keywords and extensions since these are not operations from classes as these are not operations on the class. - Improved error reporting on methods which call checkCompatibility(). - Added copying of COMMENT and HISTORY keywords to SPcopyKeys. - Trapped possible seg fault and fixed error setting m_FirstElement in rmf::update and fixed error in rmf::interpolateAndMultiply. Corrected error in rmf::convertUnits when converting from wavelength units. Fixed potential seg fault in rmf::estimatedFWHM when the response maximum is in the first or last channel. - Fixed bug in arf::rebin which was causing the arf to be summed instead of averaged in the rebinning process. ******************************************************************************** HEASIM ******************************************************************************** - skyback: Fixed subscript order in maps; fixed bugs in using degree-pixel sky maps. Updated FITS headers with full description in comments. ******************************************************************************** HEASPTOOLS ******************************************************************************** - ftaddarf: Fixed bug which caused a zero length arf to be written - ftdmprmf: Fixed so that it doesn't also write to the terminal when an output file is set - ftflx2tab: Fixed bug which caused REDSHIFT keyword to always be set to F - ftflx2xsp: Fixed memory error on channel vector and incorrect setting of detchans. - ftgenrsp: Fixed typo causing seg fault when reading a resolution file; Improved reading of input files and fixed error in calculating response when setting the norm vector; Fixed bug in setting channel and energy bins when using their respective break parameters - ftrbnarf: Fixed prompting for binfact parameter - ftrbnpha: Corrected errors in reading parameters and in calculating binning factors for the FAINT2BRIGHT and BRIGHT2LINEAR methods - ftrbnrmf: Minor efficiency improvement trapping cases when channel or energy binning is linear with unit binning factor ******************************************************************************** HEATOOLS ******************************************************************************** - ftcalc: Added 'coldesc' parameter to allow specifying description of a new column; default value coldesc=INDEF will preserve existing function. - ftleapsec [NEW]: Calculate number of leap seconds at requested epoch - ftlist: Fixed bug for case of reading 0-length variable-width bit columns (type -TBIT). Fixed bug for case of variable-length string columns (-TSTRING) in which the number of elements was incorrectly calculated (can only be 0 or 1). - ftsort: Allow sorting of 0-row input (produces 0-row output). - ftsort + ftmergesort: Fixed compatibility with tables with variable- length columns: ftsort and ftmergesort cannot copy a subset of a table with variable-length columns (i.e. they can only copy the entire table). ******************************************************************************** TIME ******************************************************************************** - maketime: Added parameters 'premax' and 'postmax' to allow finer control over how files with large gaps are dealt with; premax=-1, postmax=-1 is the default and recovers previous behavior for backwards compatibility Added parameters 'mingti' and 'emptygti' to allow more fine-grained control over GTI creation; defaults maintain existing expected behavior; output can now be piped to STDOUT Added parameter 'extname', which defaults to STDGTI for compatibility with previous versions; added descriptions to START and STOP columns ******************************************************************************** XIMAGE ******************************************************************************** - Fixed random aborts when setting log file option on the command line - Addressed Tcl "::unknown " messages in batch (.xco) processing - skyview: Fixed to handle https addressing ******************************************************************************** XSPEC ******************************************************************************** HEASoft 6.25 includes Xspec 12.10.1. - New models: - zbknpower - zlogpar - agnsed - qsosed - (v)cph (note this included change to calcCoolingFlow function) - relline, relline_lp, relline_lp_ext - relconv, relconv_lp, relconv_lp_ext - Modifications to models: - Added an xset LINECRITLEVEL option for crtLevel for gaussian/lorentzian/voigt lines. If set this overrides the coded values. - Modified diskline, rdblur, kdblur, kdblur2, laor, laor2, kerrconv, kerrdisk for high resolution spectroscopy. - Added tabint C/Fortran wrapper for tableInterpolate. - Added statistic cstatbN option. - PyXspec: - It is now possible to call XSPEC's model functions directly from PyXspec using the new function xspec.callModelFunction(). This utility is particularly useful for users who wish to access particular XSPEC model functions within their own local model Python code. - Some XSPEC model parameter names contained parentheses, which were incompatible when used in PyXspec. Therefore parentheses have been replaced with a single underscore. See also: https://heasarc.gsfc.nasa.gov/lheasoft/xanadu/xspec/issues/issues.html ******************************************************************************** XSTAR ******************************************************************************** Xstar v2.53: Changes since 2.5: - Implementation of lpri=-1 for very streamlined output; change to xstinitable.par to allow for larger model grids - Minor changes to print switches and more accurate criterion for determining which lines are included in spectrum synthesis. - Numerous Fortran syntactical changes - Improved precision tests for which lines to include in emission spectral calculation (binemis) - Added emissivities to quantities output to file xo01_detal4.fits ******************************************************************************** EXOSAT ******************************************************************************** - exovig: Fixed "exovigrun: command not found" error ******************************************************************************** MAXI ******************************************************************************** - New package of analysis tasks for the MAXI mission: mxextract - Extract source event from multiple HEALPix event files. mxgrmfgen - Generate the response matrix file for GSC instrument. mxgscandat - Calculate the time to when a source is in each of the GSC FOV detectors. mxgtiwmap - Calculate a weighted spatial distribution of events on the detector. mxlscan - Calculate a source lightcurve. mxproduct - Generate the high level products (images lightcurves spectra and response) for both instruments. mxscancur - Determine the source position relative to the GSC or SSC instrument. mxsrmfgen - Generate the response matrix file for SSC instrument. mxsscandat - Calculate the time to when a source is in SSC instrument FOV. mxdownload_wget - Search and retrieve the archived MAXI data for a given sky position and time interval mxversion - Print the MAXI software package version ******************************************************************************** NICER ******************************************************************************** NICERDAS Version 5.0: - nicerl2, nicercal, nicertimecal, nimpucal: Added leapinit option to calculate leap seconds - nicertimecal: Allow 0-row input files; Fixed bug when running non- CALDB (wasn't querying leap seconds properly) - nicertimeconv [NEW]: Basic time conversion for NICER time values - nicerpi: Allow 0-row input files; Added new functions for NICER gain calibration; added energycol output to get ENERGY column in output if desired; allow PHA input to be float instead of int; change trend stuff to MV_TREND instead of FT_TREND - nimaketime: Updated maketime call to handle new {pre,post}max and emptygti options - nimpucal: Improved memory efficiency when calculating PI_RATIO - niprefilter: Added column defaults when an APID file is missing; added robofile support - niextract-events: Fixed timefile=@name.lis bug; added history task parameter ******************************************************************************** NUSTAR ******************************************************************************** - Improved handling of remote CALDB and file i/o diagnostic output. ******************************************************************************** SUZAKU ******************************************************************************** - xisrmfgen: Change to model the Si-K edge when calculating the response function. The software includes new parameters (xi[0/1/2/3]_jmp_loene, xi[0/1/2/3]_jmp_hiene, jnct_hiene, s1_factor) used in the model. This software change requires the new CALDB version 20181010. ******************************************************************************** SWIFT ******************************************************************************** - uvotmaghist: Allow ignoring uvotsource errors; this sounds odd but is allowed for the case where some UVOT images do not include the regions of interest. Activate by setting the UVOTMAGHIST_IGNORE_UVOTSOURCE_ERRORS environment variable to 1. - XRTDAS: Improved handling of remote CALDB and file i/o diagnostic output. ******************************************************************************** MISC ******************************************************************************** - PGPLOT: Added Jonathan Irwin's SVG driver - READLINE: Updated to v7.0 + current patches - WCSLIB: Updated to v5.19.1