• Download HEASOFT
  • ********************************************************************************
                             RELEASE NOTES FOR HEASOFT 6.13
                                   December 21, 2012
    The HEASoft 6.13 release is primarily driven by updates to the Swift
    and Suzaku 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.
    - DEVELOP: Fixed flaw in the way logical columns (TFORM = 'L') in binary
      tables were read which caused an illegal value of 1 in the column to be
      interpreted as a 'T' (TRUE) value.
    - Version 3.32:
      * Extended the column filtering syntax in the CFITSIO file name parser
        to enable users and scripts to append new COMMENT or HISTORY keyword
        into the header of the filtered file (provided by Craig Markwardt).
        For example,
         fcopy "infile.fits[col #HISTORY='Processed on 2012-10-05']" outfile.fits
        will append this header keyword: "HISTORY Processed on 2012-10-05".
      * Small change to the code that opens and reads an ASCII region file to
        return an error if the file is empty.
      * Fixed obscure sign propagation error when attempting to read the
        uncompressed size of a gzipped FITS file.  This resulted in a memory
        allocation error if the gzipped file had an uncompressed file size
        between 2^31 and 2^32 bytes.  Fix supplied by Gudlaugur Johannesson 
    - Version 3.31:
      - Enhanced the CFITSIO column filtering syntax to allow the comma, in
        addition to the semi-colon, to be used to separate clauses, for example:
        [col X,Y;Z = max(X,Y)].  This was done because users are not allowed to
        enter the semi-colon character in the on-line Hera data processing
        system due to computer security concerns.
      - Enhanced the CFITSIO extended filename syntax to allow specifying image
        compression parameters (e.g. '[compress Rice]') when opening an existing
        FITS file with write access.  The specified compression parameters will
        be used by default if more images are appended to the existing file.
      - Modified drvrfile.c to do additional file secrity checks when CFITSIO
        is running within the HEASARC's Hera software system.  In this case
        CFITSIO will not allow FITS files to be created outside of the user's
        individual Hera data directory area.
      - Fixed an issue in fpack and funpack on Windows machines, caused by
        the fact that the 'rename' function behaves differently on Windows
        in that it does not clobber an existing file, as it does on Unix
      - Fixed bug in the way byte-swapping was being performed when writing 
        integer*8 null values to an image or binary table column.  
      - Added the missing macro definition for fffree to fitsio.h.
      - Modified the low level table read and write functions in getcol*.c and 
        putcol*.c to remove the 32-bit limitation on the number of elements. 
        These routines now support reading and writing more than 2**31 elements
        at one time. Thanks to Keh-Cheng Chu (Stanford U.) for the patch.
      - Modified Makefile.in so that the shared libcfitsio.so is linked against 
        pthreads and libm.
    - Version 3.30:
       * Added new routine called fits_is_reentrant which returns 1 or 0
         depending on whether or not CFITSIO was compiled with the -D_REENTRANT
         directive.  This can be used to determine if it is safe to use CFITSIO
         in multi-threaded programs.
       * Implemented much faster byte-swapping algorithms in swapproc.c based
         on code provided by Julian Taylor at ESO, Garching.  These routines
         significantly improve the FITS image read and write speed (by more
         than a factor of 2 in some cases) on little-endian machines (e.g.,
         Linux and Microsoft Windows running on x86 PCs) where byte-swapping
         is required.  This has no effect on big-endian machines (e.g., Macs). 
         Even faster performance can be achieved in some cases by invoking the
         new "--enable-sse2" or "--enable-ssse3" configure options when
         building CFITSIO on machines that have CPUs and compilers that support
         the SSE2 and SSSE3 machine instructions.
       * Added additional support for implicit data type conversion in cases
         where the floating point image has been losslessly compressed with
         gzip.  The pixels in these compressed images can now be read back as
         arrays of short, int, and long integers as well as single and double
         precision floating-point.
       * Modified fitsio2.h and f77_wrap.h to recognize IBM System z mainframes
         by testing if __s390x__ or __s390__ is defined.
       * 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).
       Bug Fixes
       * Fixed a bug in imcomp_decompress_tile that caused the tile-compressed
         image to be uncompressed incorrectly (even though the tile-compressed
         image itself was written correctly) under the following specific
          - the original FITS image has a "float" datatype (R*4) 
          - one or more of the image tiles cannot be compressed using the standard
            quantization method  and instead are losslessly compressed with gzip
          - the pixels in these tiles are not all equal to zero (this bug does
            affect tiles where all the pixels are equal to zero)
          - the program that is reading the compressed image uses CFITSIO's
            "implicit datatype conversion" feature to read the "float" image
            back into an array of "double" pixel values.
         If all these conditions are met, then the returned pixel values in
         the affected image tiles will be garbage, with values often ranging 
         up to 10**34.  Note that this bug does not affect the fpack/funpack
         programs, because funpack does not use CFITSIO's implicit datatype
         conversion feature when uncompressing the image.
                                  CFITSIO PERL MODULE
    Update to version 1.09 of the CFITSIO Perl module:
            * CFITSIO.pm: $VERSION = '1.09';
            * CFITSIO.xs: sync with cfitsio 3.31
      cfitsio v3.31 added a missing prototype for function fffree which
      conflicted with the existing definition in CFITSIO.xs.
    - Fixed a couple of problems with the FITS::addTable function.  It was not
      allowing a new table with a pre-existing HDU name even when the version
      number was different.  Also it was not writing the EXTVER keyword when
      the version number was > 1.
    Library for manipulating spectra and responses, including a Python interface.
    A detailed guide to the library and its use when writing programs or using
    Python is available in $HEADAS/../heacore/help/headas_guide.pdf.
    New in this release:
    - Added unit conversions through calcXfactor and calcYfactor routines.
    - Added a global SPerrorStack to improve error reporting. Entries
      are added to the stack using SPreportError and can be retrieved
      using SPgetErrorStack which returns a string. SPclearErrorStack
      resets the stack.
    - Added modifications to all classes to handle case where user
      writes an extension of some type into a file which already contains
      an extension of the same type. Now writes the new extension with
      an EXTVER keyword set to one more than the highest EXTVER of other
      extensions of the same type in the file.
    - Made checkCompatibility routines consistent across classes and
      added a check for units.
                       APE / XPI (Parameter Interface Libraries)
    - Correct bug in which parameter values assigned a value of whitespace
      were instead inheriting parameter values from farther to the right
      on the command line, i.e. par2=" " parfive="yes" was assigning
      "yes" both to par2 and parfive.
    - Preserve quoted whitespace (only) in parameter assignments, e.g. for
      the separator parameter in ftlist.
    - New APE-based version of pquery to replace old XPI-based version.
      This fixes broken behavior in the following FTOOLS Perl scripts:
      FUTILS: fmodtab; TIME: day2time, time2day; HEASARC: makeregion,
      gisxspec, pspcxspec, wgaxspec.
    - Fix XPI parameters tchat and lchat (terminal and log chatter) used in the
      following tasks: EXOSAT: cmadead, exoleuv, exomerge; FIMAGE: fvec2img;
      HEAO1: a2lcurve, a2source, dsdlcurve; HEASARC: nh, sky2xy, xy2sky; 
      OSO8: osopha, osorat; ROSAT: abc, bct, utc.par(abc); XIMAGE: mkcolor,
      mkhratio; XRONOS: autocor, crosscor, earth2sun, efold, efsearch, lcmath,
      lcstats, lcurve, listdata, powspec, timeskew.
    - atFunctions v3.3 (2012.11.22):
      Bug fix in atSetElement(), atSetElement2(), atSetElement3(), in the equation
      calculating "zzbar", the first time derivatitive of the mean anomaly.  The
      following constants have also been updated/corrected:
                              Original       Revised/corrected
       static double gravc =    .0743666;        .0743668
       static double j2 =      .00108264;        .001082626
       static double dycon =      398599.;       398600.
       static double aj2 =    .001082628;        .001082626
       static double aj4 =      -2.12e-6;        -1.616e-6
       static double eradi =     6378.16;        6378.137
      A brief comparison of output between the original code and
      the revised code shows that the changes are small, with errors of the
      order 1-2 km, at the largest.  The biggest changes resulted not from the
      bug fix - a simple sign change - but from updating/fixing the constants.
      Comparison of output:
      Satellite [X, Y, Z] (km)
                                                      X                 Y                 Z
      bug-fixed_code:  mjd= 56200.0000000000   5182.82270127579  -3213.41407482482   3288.36194675555
      original_code :  mjd= 56200.0000000000   5182.50469061843  -3213.81259433846   3288.47385908001
      bug-fixed_code:  mjd= 56220.0000000000   5263.44591867794  -2967.04673975258  -3408.89612834825
      original_code :  mjd= 56220.0000000000   5262.34360993661  -2969.55376653281  -3408.41672189663
      bug-fixed_code:  mjd= 55555.1234500000   4725.02005822229   4055.33660081729   3078.72232915383
      original_code :  mjd= 55555.1234500000   4727.31468669830   4053.32307841280   3077.85219344827
      Mean motion / nbar  (radians per day)
      bug-fixed_code:   nbar =  94.51009698425256
      original_code :   nbar =  94.50989651601652
      bug-fixed_code:   nbar =  94.51152172197288
      original_code :   nbar =  94.51132124659411
      bug-fixed_code:   nbar =  94.33024342746587
      original_code :   nbar =  94.33004379113659
    - aberrator: Update to task version 1.1.  Add 'orbext' parameter
      to support NuSTAR orbit extension named 'ORBIT'.  Add 'attcol'
      parameter to support either POINTING or QPARAM as input (previously
      was only POINTING).
    - aspcorr: Pass through tristarid parameters for catalog cross-referencing
      (matchtol, uncount, unmag).
    - newmakefilter: Improve loss of precision on J (32 bit unsigned integer)
      columns with large values.
    - tristarid: Allow disabling catalog cross-referencing by passing
      matchtol < 0 and uncount < 0.  Bug fix: an externally supplied quaternion
      should not be ignored when there are insufficient sources (3+) to find a
      solution by triplet matching.
    - Prevent infinite loops when an input plt command file does not exist.
    - Increase max output filename length to 128 characters (input can be longer).
    - fmodhead: Update to allow handling of HIERARCH keywords.
    - ftabcopy: Invert order of Aw to wA in TFORM keyword for binary table output.
    - fverify: Removed the overly-stringent test that the WCSAXESa keywords must
      precede any other WCS keyword.  Improved text of error messages about
      illegal characters in keyword name and illegal logical column values.  Fixed
      uninitialized variable bug that affected checks on the WCSAXES keyword.
    - ftcreate: Fixed bug on 64-bit Linux which caused extraneous TNULL keywords.
    - ftverify: Removed the overly-stringent test that the WCSAXESa keywords must
      precede any other WCS keyword.  Improved text of error messages about illegal
      characters in keyword name and illegal logical column values.  Fixed
      uninitialized variable bug that affected checks on the WCSAXES keyword.
    - barycorr:
       * Add command line option "-clockfile" which allows explicit designation
         of a clock offset correction file.
       * Add command line option "-dtmaxclock" which specifies the maximum time
         difference in seconds before a clock recalculation takes place.
       * Clock offset correction amount is now recalculated if -dtmaxclock is
         set to >0; AND time changes by more than -dtmaxclock value; OR time
         crosses midnight boundary; this accomodates rapidly changing NuSTAR
         clock over long observations.
       * Optimize the orbit code
       * Add NuSTAR as mission supported by barycorr (Andrew Davis, NuSTAR project)
       * Add nCC nustar clock correction
       * Note that the clock correction code is only invoked once at the
         start of the task - for any mission - so it does not capture clock
         offset variations during an observation.  
       * Refactor the nCC code into clock file reader, calculator and driver;
         could be reused for Swift.
    - flx2xsp: Relocated from the ftools/heasarc package and rewritten.  This
      task creates spectra and response files for use in XSPEC from an input
      text file of fluxes and errors.  The new version adds two parameters 'xunit'
      and 'yunit' to allow multiple possible units for energy/wavelength and flux.  
    - (NEW) flx2tab: Read an input text file with one or more model spectra and
      convert to an XSPEC table model file.
    - (NEW) mkfiltrsp: Read an input text with a filter response to make a single
      channel response matrix.
    - rgsrmfsmooth: Replacement version of task previously located in the
      ftools/spectral directory.  Smooths an XMM RGS response matrix for an
      extended source.
    - (NEW) sdss2xsp: Program to convert SDSS FITS files into XSPEC PHA and RSP.
      Assumes that the SDSS resolving power is 2000 (sigma).
    - libgeomag: New library comprised of routines in geomag.f, which was relocated
      from the attitude task "prefilter" to make the routines available to other
    - SwiftClock.pm: 
      Fixed minor bug in extrapolating in ASCII file (was ignoring last entry).
    - swco.dat: 
    - flx2xsp, raysmith and mekal tasks relocated to heagen and Xspec components.
      Speed-up modification of fixwmp: decides whether a WMAP bin is in the
      region by checking whether its center is in the region instead of checking
      every pixel in the bin and looking for one which lies in the region.
      For the case of no TLMIN/MAX changed the default upper grade to GMAXSIZE-1
      which is currently 255. This was a change from the arbitrary value of 25
      which caused a problem for NuSTAR since they take grades up to 26 and
      currently have no TLMIN/MAX in their event files.
    - Fixes for the problem that xselect has a tendency to go into an infinite
      loop if a command is given the wrong argument.  Now it nicely passes the
      user back to the main prompt so they can try again.
    - Improved plot device code so that filenames can be given for appropriate
      devices (e.g. "set device myplot.ps/cps").
    Version 12.8.0:
    New features:
    - Parallel-processing capability for specific tasks has been added
      by way of the new "parallel" command.  This allows the user to
      set a maximum number of processes to spawn when running certain
      XSPEC commands.  Currently the options for parallel-processing are
      limited to use with the "fit" and "error" and commands, though we
      plan to implement more in the near future.  This first implementation
      is considered to be a BETA release, and we look forward to hearing
      your comments and suggestions.
    - XSPEC now distinguishes between the 'fit' statistic and the 'test' 
      statistic. The fit statistic is used to find the best-fit parameter
      values and errors while the test statistic is used to provide a
      goodness-of-fit. Consequently, the goodness command now uses 
      the test statistic. Separating these two classes of statistic has
      allowed us to add a number of new test statistics. These include 
      Kolmogorov-Smirnov and the related Anderson-Darling and Cramer-von
      Mises. Also new are the runs statistic, based on the number
      of runs of consecutive positive (or negative) residuals, and the Pearson 
      Chi-Square (pchi) statistic, Pearson's original test statistic.
    - The basic Levenberg-Marquardt fit algorithm has undergone a number
      of changes. The most visible is an additional column in the output
      during the fit. |beta|/N is the norm of the vector of derivatives of
      the statistic with respect to the parameters divided by the number
      of parameters. At the best fit this should be zero so provides
      another measure of how well the fit is converging. |beta|/N can also
      be used as the criterion to stop the fit instead of the statistic
      delta although this is still considered experimental.
      Other internal changes to the fit algorithm are to treat the first
      iteration as a special case where only normalizations are allowed to
      change and to add the option of using delayed gratification, which
      can speed up convergence.
    - New models: compmag, comptb, rgsxsrc. The latter is reinstated from
      it use in XSPEC v11.
    - New plotting command "plot goodness", for plotting a histogram of the
      most recent "goodness" simulation.
    - New tclout option "goodness sims" .
    - Added the option of using the Goodman-Weare algorithm instead of 
      Metropolis-Hastings when using the chains command to run MCMC.
    - Added the Whittle statistic for fitting models to power density spectra.
    - If a data file is read which has RESPFILE="[]" then the response
      extensions (MATRIX, EBOUNDS) are read from the same file.
    - Added support for a new type of model component: a mixing component
      which operates on the model pre-multiplied by the effective
      area. This is similar to the pile-up model type but allows for a
      models which require mixing between multiple spectra.
    - Table model files can now have interpolated and additional parameters
      intermixed provided that additional parameters are indicated by
      METHOD=-1 in the PARAMETERS extension.
    Enhancements previously released as patches to 12.7.1:
    - The "plot chain" has a new "thin" option for thinning the display
      of chain points.
    - Added a "tclout ignore" option for easy retrieval of currently ignored
      channels.  Similar capability added to PyXspec's Spectrum class.
    All bug fixes to v12.7.1 released as patches are included in v12.8.0.
    In addition the following problems have been corrected:
    - The eqpair model used wrongly-sized arrays when multiple spectra were
      used with RMFs having varying numbers of photon energy bins.  Eqpair
      (plus eqtherm and compth) also needed a new default value for its
      optical depth parameter, which fixes the problem if parameter 4 is
    - A fit parameter which started close to the minimum/maximum could under
      some circumstances be incorrectly pegged at the maximum/minimum. 
    - When the "error" command was run on a model with soft limits (ie.
      soft limits for some parameters set to a narrower range than hard
      limits), and the best fit value fell within the soft limit region,
      the displayed differences (in parentheses) were not consistent with
      the reported ? limits.
    - Problem occurred in apec model when zero width lines were in the final
      energy bin.
    - Fix to a potential normalization problem occurring in Lorentz model
      with low-energy large-width lines.
    - When running initpackage/lmod from PyXspec on certain Linux builds,
      local models calling functions in XSPEC's xslib library producing
      unresolved symbol link errors.
    New tools:
    - "raysmith" and "mekal" tasks relocated here from the ftools/heasarc module,
      and "kbmodels" task relocated here from the ftools/spectral module.
    Version 2.2.1bn13 - updates since HEASOFT 6.12 include:
    - Changes to bring xstar221bk --> xstar221bn:
      - elimination of big ajis rate matrix
      - new r matrix data for al, ni
      - larger data structures
    - Increase length of ERRMSG to handle sprintf in Display_FITS_ParmTable()
      when number of values is large (kInterpolated case).
    - Fixed error in heatt.f which turned off rrc luminosity.
    - Changes to provide better calculation of optically thick models:
      Re-introduction of the tmpp factor in the transfer equation integration.
      Refinement of 2 sided clouds and inclusion of 2 sided escape.
    - Changes to allow writing of step-by-step rrc emissivities (in routine
      fstepr3.f) Plus, expand maximum size of energy array to 10^6.
    - Updates to allow 10^6 energy points, turbulent and thermal line widths
      to add in quadrature, Al II UV resonance line.
    - Fix segfault occurring when XSTARDEBUG was not set in the environment.
    - day2time: Fixed mismatched 'timezero'-'time' parameter "get".
    - For logical columns of a binary table, display 'U' (undefined) for illegal
      values (anything other than 'T', 'F', or 0) rather than interpreting the
      values as 'F'.
    - Fixed bugs occurring when trying to display slices of a data cube FITs file.
    - Avoid memory faults when trying to open a FITs file that has a binary table
      with non-zero variable length array columns but has no rows. 
    - Fixed bugs (extra columns, incorrect row selections) in ASCII output when
      saving from a binary table.
    - Increased precision in output ASCII file values and displayed table cells.
    - Fixed exported text file from vector columns in a binary table (was only
      showing the first element)
    - Fixed table "Edit Cell" function on x86_64.
    - Fixed plotting in ds9 which was not correctly handling lower case column
    - Fixed fv scripting error in which the existence of a $HOME/.fv directory was
    - Allow directory paths that contain parentheses.
    - hxdmkgainhist_gso:
      * Bug fix due to a change of the text xspec output.
    - xisgtigen:
      * New parameter (hidden) 'wingti' (default "no") to maximize GTI
        for the window option or the psum mode. With wingti=yes, telemetry
        saturation is judged for each exposure of window (or each line in
        the psum mode).
    - xisrmfgen:
      * New parameters: bi_si_edge_mode, fi_si_edge_mode
      * "bi_si_edge_mode" activates a new response model that improves
         the XIS1 response around Si K edge. "bi_si_edge_mode" is set
         to 1 by default.
      * Running xisrmfgen with "bi_si_edge_mode" of 0 produces the same
        RMF file as before.
      * "fi_si_edge_mode" is introduced just for future use. "fi_si_edge_mode"
        is set to 0 by default.
      * xisrmfgen does not run with "fi_si_edge_mode" of 1.
    - Update to com_cli-2.08, to fix compilation with g95 0.93 on Mac OS X.
    - uvotgcn:
      * Write ASPCORR keyword if aspect correction taken from earlier processing
        of related information.
    - uvotevtlc, uvotmaghist, uvotproduct, uvotsource:
      * Write column SATURATED.
    - uvotimage, uvotoptsum:
      * Use sec2time instead of swifttime to convert MET to UTC for consistency with
        other Swift software
    - uvotimsum:
      * Clarified error message logged when input image is not oriented North up.
    - uvotmaghist:
      * Enabled LSS correction by default (there was a duplicate lssfile entry in
        the parameter file which disabled it by default).
    - uvotproduct:
      * Using recent versions of ds9 for graphic generation had assorted issues
        with title and label placement and grid features. Added the gridfile
        parameter to allow the user to specify the grid file.  Use a custom
        ds9 v6 grid file if that version is detected.
      * Disallow timezero=0 since it has a meaning other than MET=0 to uvotmaghist
        (which this tool runs).
    - uvotskycorr:
      * Disable catalog cross-referencing by default since it is not a necessary
        function of this tool.
    - The installed architecture-specific directory name on Mac OS X (e.g.
      "i386-apple-darwin12.2.0") now accurately reflects the nature of the build
      (i386 vs. x86_64).  Previously the name was derived solely by config.guess
      based on the default state of the C compiler being used.

    Help lines: FTOOLS or xanprob@athena.gsfc.nasa.gov

    Web page maintained by Bryan K. Irby

    HEASARC Home | Observatories | Archive | Calibration | Software | Tools | Students/Teachers/Public

    Last modified: Wednesday, 07-Aug-2013 11:11:09 EDT