****************************************************************************** RELEASE NOTES FOR HEASOFT 6.2 March 7, 2007 ****************************************************************************** The HEASoft 6.2 release is primarily driven by the release of the Suzaku (version 4) software, but also includes updates to several libraries and 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. ****************************************************************************** Configuration ****************************************************************************** - New in the 6.2 release is support for the gfortran compiler (versions 4.1.1 and later only). ****************************************************************************** CFITSIO ****************************************************************************** New version 3.03: New Routine - fits_write_hdu writes the current HDU to a FILE stream (e.g. stdout). Changes - modified the region parsing code to support region files where the keyword "physical" is on a separate line preceeding the region shape token. (However, "physical" coordinates are not fully supported, and are treated identically to "image" coordinates). - enhanced the iterator routines to support calculations on 64-bit integer columns and images. Currently, the values are cast to double precision when doing the calculations, which can cause a loss of precision for integer values greater than about 2**52. - added support for accessing FITS files on the computational grid. Giuliano Taffoni and Andrea Barisani, at INAF, University of Trieste, Italy, implemented the necessary I/O driver routines in drvrgsiftp.c. - modified the tiled image compression/uncompression routines to preserve/restore the original CHECKSUM and DATASUM keywords if they exist. (saved as ZHECKSUM and ZDATASUM in the compressed image) - split fits_select_image_section into 2 routines: a higher level routine that creates the output file and copies other HDUs from the input file to the output file, and a lower level routine that extracts the image section from the input image into an output image HDU. - Improved the error messages that get generated if one tries to use the lexical parser to perform calculations on variable-length array columns. - added "#define MACHINE NATIVE" in fitsio2.h for all machies where BYTESWAPPED == FALSE. This may improve the file writing performance by eliminating the need to allocate a temporary buffer in some cases. - modified the configure.in and configure script to fix problems with testing if network services are available, which affects the definition of the HAVE_NET_SERVICES flag. - added explicit type casting to all malloc statements, and deleted declarations of unreferenced variables in the image compression code to suppress compiler warnings. - fixed incorrect logic in fitsio2.h in the way it determined if numerical values are byteswapped or not on MIPS and ARM architectures. - added __BORLANDC__ to the list of environments in fitsio.h that don't use %lld in printf for longlong integers - added "#if defined(unix)" around "#include " statements in several C source files, to make them compatible with Windows. ****************************************************************************** APE (Parameter Interface Library) ****************************************************************************** - Change command line parsing: instead of a specific exclusion for the case of = signs inside square brackets, simply restrict error checking for invalid parameter = value patterns to legal parameter names (alphanumeric, _, - and .). - Modify pquery2 so that it reverts hidden parameters even in situations in which there is no system parameter file. - Add command line history within the session. - Add ape_par_get_string_case, similar to ape_par_get_string but more flexible with regard to converting case of returned string values. Change ape_par_get_string to call ape_par_get_string_case internally. - Add ape_util_find_string, to find the first match to a string in an array of strings. - Tweak unit test for unwritable file check by including an invalid directory in the path. - Fixed bug in ape_par_get_string_case that caused it not to behave correctly when called for a non-enumerated parameter. Added functions ape_trad_prompt_string_case and ape_trad_get_string_case for getting parameters with control over case of returned string. - In ape_io_check_file_format, do not let fact that a parameter is or is not enumerated constitute an error. - Streamline and refactor slightly the parameter checking code. ****************************************************************************** PGPLOT ****************************************************************************** - Add back old PS driver with new name - now provides devices /OPS, /OVPS, /OCPS, /OVCPS. - Moved code to calculate the correction factor for PostScript into the driver and just call a real function in this routine. - Tweak of PS driver to better match sizes of text strings to the standard screen output. - Remove instances of "libpgplot" and "libcpgplot" from our distribution (in favor of version-numbered libraries) so that they don't create conflicts for users who wish to avoid the modified behavior(s) in ours. ****************************************************************************** CALTOOLS ****************************************************************************** - genrsp: Fixed description string for parameters specifying the number of response bins and channels. - rbnrmf: Added new ability to compress in the energy dimension as well as the channel dimension. Compression can either be linear with factor given by parameter ebfact or a set of linear compressions over energy bin ranges taken from the file specified by the parameter ebinfile. This file has the same format as the file which can be used to specify binning in the channel dimension. Fixed a couple of bugs and improved diagnostic messages. Bugs fixed are 1. If there were additional extensions to be copied a seg fault could result. 2. If the EBD and MATRIX extensions used different definitions of the first channel (ie 0 in EBD and 1 in MATRIX) then the definition from the EBD was incorrectly used when rebinning the matrix. ****************************************************************************** FUTILS ****************************************************************************** - fcurve: Allow user to input gtifile parameter as filename+n or filename[NAME] instead of assuming GTI is the first extension. Throw an error if the specified extension is not GTI. - fkeypar: modified to support keywords that have no value field. - fverify: Removed warnings about using 64-bit integer image or column data types now that these are officially supported in FITS. ****************************************************************************** FIMAGE ****************************************************************************** - fimg2tab: Added new option 'vector' (=yes/no) for vector column output. If creating vector column output, reset TFIELDS=1, TFORM1=NumCols, and delete all TFORMn and TTYPEn keywords for 1 < n < NumCols. Afterwards set NumCols=1 so that only TSCAL1, TZERO1, and TNULL1 are written to the output file. Note that call to fits_get_num_cols used previously for TSCALn, TZEROn, TNULLn loop was broken. Fixed now by calling fits_set_hdustruc (ffrdef) first. Also added 'copyall' parameter. - fimgextract, fexpoadapt, fimg2tab, fimgpar, fparimg: updated to allow longer input filenames. ****************************************************************************** FV / POW / FITSTCL ****************************************************************************** - Add capability to handle 64-bit integers. - Fix for unrecognizable coordinate system. - Fix problem sorting NULL strings. Re-code the sorting routines using qsort algorithm. Fix character string allocation which caused overflow problem. ****************************************************************************** HEAGEN ****************************************************************************** barycorr (v1.8) * Added support for remote CALDB access (http: or ftp:) * Updated cumulative clock drift rate (used with UTCFINIT only) ***************************************************************************** HEASARC ****************************************************************************** - extractor: Ensured that lightcurve files are created with an extension named GTI as required by the standard. This also fixes a problem that occurs using the new select intensity code which assumes that the lightcurve does indeed have an extension named GTI. Special case handling if the slow method of combining events files has to be used and one or more columns are strings. Prior to this fix this case was producing garbage strings for the entries from second and later event files. Fixed bug when creating a new event file from multiple input event files with different WCS values. If the sky X and Y columns were integers the new values were calculated as an INT after doing the transformation instead of a NINT causing a possible one pixel shift. Also did some optimization of the code. Fixed uninitialized logical variable in EXTWCS which could cause the program to incorrectly identify an event file as having bad WCS keywords. Also eliminated unused variables in several routines. Fix for problem running on Intel Mac using g95. If an indirect file was in use for the input event files it was being opened multiple times and not closed. Eventually this generated an error in the fortran open statement. Moved the ADDFN routine from extractor.f to wstdky.f because it was only being called from WSTDKY. - flx2xsp: Now supports reading multiple spectra from the same input ascii file. The number of spectra must be set using the hidden parameter nspec. The spectra must all have the same energy binning since they are written as additional columns in the ascii file. If multiple spectra are included then the output FITS spectrum file will be in the type II format. --> necessitated addition of wtpha3.f routine to callib: New version of the wtpha routine - this one now supports writing multiple spectra. If only one spectrum is passed to the routine then a type I file is written as before but if more than one spectrum is passed then they will be written to a type II file. - acisxspec/pspcxspec: Update the system call to conform new APE hidden parameter standard. ***************************************************************************** HEATOOLS ****************************************************************************** - ftconvert: Updated documentation and default values in the .par file - ftdiff: modified the print statement when printing the calculated datasum values to 'lu' instead of 'ld' because it is an unsigned, not signed, long value. - fthedit: added a new "longstring" hidden parameter, which if set = "YES", will allow long string keywords to be written. The long string value is broken up into 68-character segments, and each segment is written to a separate header keyword. All the keywords following the first have the name "CONTINUE". - ftjoin: Make output parameters have mode 'hl' instead of 'a' - ftkeypar: modified to support keywords that have no value field. - ftlist: Modified the routine that prints out the image pixel values to support 64-bit long long integer FITS images. Previously, the pixel values were being read as double precision floats which could lose some precision in the displayed values. - ftpixcalc: incremented version to 1.0. fixed bug so it doesn't clobber the input file unless clobber=y. added warnings about using the f and t parameters (confused with TRUE/FALSE). implemented the HISTORY parameter functionality fixed the BITPIX default value in the .par file (0 instead of "0"). - ftverify: Removed warnings about using 64-bit integer image or column data types now that these are officially supported in FITS. ***************************************************************************** XSELECT ***************************************************************************** XSELECT: - Modified keyword files so that the chatter command (which is handled by xpi) is activated. At the moment this is only useful to completely suppress output bysetting chatter < 5. - xsl_filter_intensity: Replaced most calls to old ftools with calls to heatools. Now works correctly for very long filenames. - xsl_chandra_acis_makeresp: Updated for consistency with CIAO 3.4, replacement of older ftools with heatools, and improved search for the bad pixel file. Issues still outstanding are that the current CXC advice is to use mkarf, not mkwarf, for point sources, and that it should be possible for the user to specify their own bad pixel file. ***************************************************************************** XSPEC 11 ***************************************************************************** XSPEC v11 (11.3.2ad): - Fixes for memory allocations in strings - in a number of cases forgot to count the null on the end. - Fixed error in tclout compinfo - the number of parameters was one too few. - Trapped case of no datasets read in. Now writes a warning message and returns immediately. This fixes a bug that if the weight command was used before reading a dataset a then subsequent use of the weight command required an explicit dataset number to have any effect. - Fixed bug that occurred if the output spectrum had 7 columns (ie was RATE with STAT_ERR and all the possible optional columns). - Fixed bug that causes setplot id to plot garbage. - Fixed bugs in calculation of derivatives. Was not handling all the special cases leading to a failure to converge for some datasets with low counts in both source and background. - NSA model data updates from Slava Zavlin - only change is to extend energy range up to 12 keV. - Replaced fortran routine r1mach in cont.f with C version in new file r1mach.c. This fixes a problem compiling using gfortran. Also shelved duplicate & unused spectral/inc/xplot.inc to avoid confusing gfortran when it tries to compile xspec/src/PLOT code. - Changed keV to Angstrom conversion constant to 12.398419 from 12.39854. The new version is calculated from CODATA(2002) as given on the NIST website. Apparently this small difference is noticeable when plotting grating data in wavelength. - Fixed a memory error which could cause a seg fault if the kerbb model is used with multiple response matrices and the first one does not have the largest number of energy bins. ***************************************************************************** XSPEC 12 ***************************************************************************** New for version 12.3.1 02/07 Version 12.3.1 incorporates all of the bug fixes that were originally distributed as patches (a-am) for v12.3.0 (see the Xspec final issues/patches page for 12.3.0 for details). It also incorporates the following enhancements, also originally released as 12.3.0 patches: - "extend" option added to the energies command to reproduce the behavior of the old extend command in v11. - New "plot background" command to plot isolated background files (with folded models if they exist). New "setplot background" option for plotting the background in addition to the source spectra during a "plot data" command. - New tclout options: statmethod, weight, noticed, and noticed energy. - New Fortran-callable wrapper functions equivalent to v11's xsatbl and xsmtbl routines. This allows users writing local models in Fortran to access xspec12's table model interpolation functionality, and is required in order to use the swind1 model which was recently added to the "Additional Models" page. - Calculation efficiency improvement when fitting table models. New enhancements and fixes NOT previously released as patches: - Now compiles with gfortran. - All plots now receive the PLT "SCR WHITE" command, which makes the default plot background white instead of black. - Fixed data and fakeit command handling of cases where the user includes an absolute path with the file name. - Fixed possible memory access error for Fortran model functions calling the FGMSTR wrapper function. - Bug fix to projct mix component for case where par1 and/or par2 (major and minor axes of inner-most ellipse) change from zero to non-zero. - Modified behavior of tclout options: modcomp and modpar no longer throw an error when they can't find model, but just return 0. param no longer returns sigma as a seventh value. ***************************************************************************** XSTAR ***************************************************************************** - Changes to xstinitable.c and xstar2xspec to allow for verbose logging to the screen. - Fix to incorrect units for vturb in ucalc. - Fix to additional bug affecting line optical depths when vturb is non-zero. - New version of atomic database (atdb.fits). Fixed the A values for He-like C, N, O. - mod to rread1 routine to allow file names with length longer than 8. ============================================================================= MISSION-SPECIFIC SOFTWARE: ============================================================================= ***************************************************************************** CGRO ***************************************************************************** - emapgen: Initialized status variables in binevt and wrt_mapfts to prevent segfaults in fitsio calls. Also, fixed today's date string in wrt_mapfts; was writing it as YYYY-DD-MM, needed/intended to be YYYY-MM-DD. - like: Replace use of FITSERROR routine (fitserro.f) with calls to fcerr/fcerrm for compilation with gfortran (removes use of deprecated 'access' function). ***************************************************************************** ROSAT ***************************************************************************** - abc: Version 1.1: fixed uninitialized variables in abcmake. Also, first create a temporary file, then only rename as output file if program completes successfully. Updates the checksum. ***************************************************************************** RXTE ****************************************************************************** - sumpha: v3.6 now uses a relative outfile pathname to avoid overloading mathpha 80-char limit. ***************************************************************************** SUZAKU ***************************************************************************** Suzaku software Version 4 - Changes since HEASoft v6.1.2: ------------------ XIS Specific tools ------------------ xiscoord : - Update. Support query to CALDB files. Event file read and write routines are modified so that it can handle cleaned event file. Several parameter names and their orders have been changed. xispi : - Update. Support query to CALDB files. Event file read and write routines are modified so that it can handle cleaned event file. Several parameter names and their orders have been changed. xisputpixelquality : - Update. Support query to CALDB files. Event file read and write routines are modified so that it can handle cleaned event file. Several parameter names and their orders have been changed. xistime : - Update. Event file read and write routines are modified so that it can handle cleaned event file. Several parameter names and their orders have been changed xisucode : - Update. Support query to CALDB files. xisgtigen : - NEW TOOL. Check XIS telemetry saturation and jumps in the frame time and write a GTI file. ------------------ HXD Specific tools ------------------ hxddtcor : - Update. Multiple files are now supported via the syntax @filename for the input paramaters 'event_fname' or 'pi_frame' The default filename for the pseudo events,saved when the parameter 'save_pseudo is set to 'yes', is also changed. hxdgtigen : -Exclude time intervals when data transfer from HXD Analog Electronics (HXD-AE) to Digital Electronics (HXD-DE) are also saturated, in addition to the telemetry saturation between HXD-DE and Data Processor (DP) of the satellite. Support identifying WPU borad IDs. (For details of the HXD configuration, see Takahashi et al. 2007 PASJ S35-S51.) ****************************************************************************** SWIFT ****************************************************************************** swifttime (v1.6) * Calendar output format now displays milliseconds * Leap second bug fixed: With 'allowcorr=yes' the previous version could mistakenly apply the 2006.0 leap second twice swiftversion * Updated to "Swift_Rel2.6.1_22Feb2007" uvotmag * Corrected rate error for weak sources against strong background * Support extended to new type of coincidence loss polynomial