• Download HEASOFT
  • ********************************************************************************
                             RELEASE NOTES FOR HEASOFT 6.30
                                    March 14, 2022
    ********************************************************************************
    
    The HEASoft 6.30 release is driven by new data analysis software for
    IXPE and updates to other mission-specific packages (NICER, Swift),
    but as always includes other enhancements and fixes.
    
    Configuration-related changes throughout 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
    ********************************************************************************
    
    CFITSIO v4.1.0:
    
    - Calls to the zlib inflate() function in zcompress.c now handle
      the Z_BUF_ERROR return value rather than exiting.
    
    - The SUBTRACTIVE_DITHER_2 option has been removed when using the
      HCOMPRESS algorithm.
    
    - Updated fits_get_version function to return a float calculated
      from 3 version fields.
    
    - Added handling of SBYTE_IMG and ULONGLONG_IMG types to the
      fits_resize_img function.
    
    - Updates made to C/Fortran interfacing in cfortran.h and f77_wrap.h
      specifically driven by new Mac/ARM architecture.
    
    - Fix to the fits_insert_col functions to handle columns with
      TULONGLONG data.
    
    ********************************************************************************
                                         HEASP
    ********************************************************************************
    
    grouping:
    
    - Added inBin method to return whether an input element is in any
      output bin.
    
    - Trapped a possible segfault if the first channel of a group is set
      to bad quality but the other channels are good.
    
    pha:
    
    - Fixed rebinChannels for seg fault if the grouping starts by not
      including channels.
    
    - Added getMinSNOptimalGrouping to do optimal binning with an
      additional S/N criterion.
    
    rmf:
    
    - improved handling of the case of the FCHAN and/or NCHAN arrays being
      longer than the number of groups specified in N_GRP.
    
    table:
    
    - Fixed getValues error in calculating spectrum numbers for interpolation
      when there are XFLT keys set.
    
    - Fixed copy to add copying the filter expression map.
    
    - Fixed a possible seg fault when reading large table model files with
      additional parameters.
    
    ********************************************************************************
                                        CALTOOLS
    ********************************************************************************
    
    - quzcif: Added support for specifying a caldb version using the
      "caldbver" parameter; miscellaneous minor improvements
    
    - udcif: Will now add CALDBVER to 1st extension header in the CIF if it
      doesn't exist
    
    - Added support for HDUVERS=1.2.1
    
    ********************************************************************************
                                         FUTILS
    ********************************************************************************
    
    - fselect: Replaced with a wrapper to ftselect (HEATools)
    
    - Removed obsolete task "ofverify" from the build.
    
    ********************************************************************************
                                        HEAGEN
    ********************************************************************************
    
    - barycorr: Added support for IXPE
    
    ********************************************************************************
                                        HEASARC
    ********************************************************************************
    
    - extractor:
    
      Added support for polarimetric data. The new parameter 'polwcol'
      should be set to the polarization weighting column (eg W_MOM for IXPE).
      If it is not "NONE" then sets of spectra and/or lightcurves are made
      for the I,Q,U Stokes parameters instead of a single spectrum and/or
      lightcurve. If the output spectrum is given as eg test.pha then the
      files written are testI.pha, testQ.pha, and testU.pha.
    
      Fixed bug when writing an output event file. The TIMEZERO keyword was
      written out as 0.0 instead of being copied from the input event file.
      Since event data are copied directly from the input to output event
      file no time correction is made so TIMEZERO must be left unchanged.
      This bug appears to date back to at least 1996 which is as far back
      as our logs go.
    
      Fixed a rare bug when a GTI is smaller than TIMEDEL.
    
      Trapped possible seg fault for event files with no image coordinates.
    
    - chkpha, chkrmf: Replaced with wrappers to the heasptools ftchkpha
      and ftchkrmf, respectively.
    
    ********************************************************************************
                                       HEASPTOOLS
    ********************************************************************************
    
    - ftgrouppha: Added "optsnmin" grouping option to combine optimal
      binning with a minimum S/N.
    
    ********************************************************************************
                                        HEATOOLS
    ********************************************************************************
    
    - ftcreate: Added support for 'K' data type, and improved handling
      of the 'M' type
    
    - ftlist: Fixed crash affecting 1-3A columns containing NULLs.
    
    ********************************************************************************
                                        XIMAGE
    ********************************************************************************
    
    - Updated for gfortran 12.x: Fixed "rank mismatch" compilation errors
    
    - Updated mkcolor and mkhratio tools to use Fortran 90 memory allocation
    
    ********************************************************************************
                                        XSELECT
    ********************************************************************************
    
    Added IXPE entries to xselect.mdb. Saves sets of spectra and/or
    lightcurves for the Stokes I,Q,U parameters. The plot spectrum and
    plot curve commands only plot the Stokes I parameter data.
    
    ********************************************************************************
                                         XSPEC
    ********************************************************************************
    
    Xspec 12.12.1:
    
    Changes to models
    
    - New spectropolarimetry models: polconst, polpow, pollin.
      Renamed mixpol to polmix for consistent naming scheme.
    
    - Replaced fixed size internal array in compbb with one which is
      allocatable. This fixes a potential problem with large numbers of
      energy bins.
    
    - Much simplified code for ismabs model which fixes offset by one bin
      problem when using the tabulated data. Converted ismabs, ismdust,
      and olivineabs to double precision fortran models (eg F_ismabs in
      model.dat). Rationalized variable names and removed copies of
      subroutines.
    
    - Added new math operators atan2, sinh, sinhd, cosh, coshd, tanh, tanhd,
      sign, heaviside, boxcar, atan, asinh, acosh, atanh, erf, erfc, gamma
      for use in mdefine and newpar.
    
    - mdefine can now recursively call other mdefine components.
    
    Changes to plots
    
    - Added option to appropriate plots to specify the plot group numbers
      to use in the plot. eg plot 1 data resid makes the data and
      residuals plots for plot group 1 only.
    
    - Added plot polangle and plot polfrac options. These plot polarization
      angle and fraction. One set of data points and errors are produced for
      each data group. Each data group must have complete sets of I,Q,U spectra.
    
    Changes to output
    
    - tclout stat now allows contributions to the fit statistic from
      individual spectra to be retrieved.
    
    Changes to internal functions
    
    - Made a version of tableInterpolate which passes a map of XFLT values
      instead of a spectrum number. This allows other users of the library
      to run their code without a spectrum loaded.
    
    - Changed variables and comments in LinearInterp to improve
      clarity. Added C and Fortran wrappers in XSFunctions/Utilities for the
      LinearInterp routines. Fixed error in linInterpInteg in first bin(s)
      if target binning is much finer than current.  Added double precision
      versions of LinearInterp wrappers.
    
    Bug fixes not already released as patches
    
    - Batch mode scripts which did not exit were leaving command echoing
      in a disabled state.
    
    - When entering a Tcl control structure from the Xspec prompt, the new
      prompt string wrongly contained the "puts -nonewline" command.
    
    - When calling "setplot" with an abbreviated option name, quotes and escape
      characters were not handled properly.
    
    - Restored the ability for users to include header files from
      XSFunctions and XSFunction/Utilities in their local models, without
      having to also specify the path.
    
    - Fix to "mdefine" expression parsing when using MIN or MAX in
      combination with xspec model functions.
    
    
    PyXspec: Version 2.1.0 Feb 2022 [XSPEC 12.12.1]
    -----------------------------------------------
    
    New Features
    ++++++++++++
    
    - Parameter links may now be assigned directly to other parameter
      objects rather just to a string listing index numbers.
      For example it is now possible to do something like
      'm2.gaussian.LineE.link = m1.gaussian.LineE'.
    
    - A new function 'xspec.callTableMod' gives local models written
      in Python access to Xspec's table model functionality.
    
    - A single spectrum's contribution to the overall fit statistic can
      now be accessed through the 'Spectrum.statistic' attribute.
    
    - PyXspec has been reorganized internally such that the portion that
      is compatible with the Xspec models-library-only distribution is
      now separated into it's own module, named 'mxspec'.  The original
      'xspec' module includes this, so the change should only be
      noticeable to those using a models-library-only distribution.
    
    See also:
    
     https://heasarc.gsfc.nasa.gov/lheasoft/xanadu/xspec/issues/issues.html
    
    ********************************************************************************
                                         XSTAR
    ********************************************************************************
    
    XSTAR v2.58e:
    
    Changes since version 2.57:
    
    - Trapped pointers out of bounds in fstepxx, rstepxx
    
    - Made floats output to fits tables e13.5 instead of e11.3
    
    - Put back charge transfer which was erroneously removed in v2.56.
    
    - Put back He-like fine structure in database which was erroneously
      removed in v2.57.
    
    - Included a switch to take the absolute value of line wavelengths.
      In the database, lines with theoretical wavelengths are given
      negative wavelengths.  These were not included in the synthetic
      spectrum calculation in previous versions.  With the switch,
      called llinabs, set in the main xstar subroutine, this can be
      controlled.  If llinabs=1 then the lines with negative
      wavelengths are included in the synthetic spectrum.
    
    - Fixed a bug that allowed an uninitialized variable to be used
      in the function interpol_huntd. This was very rare.
    
    ********************************************************************************
                                         IXPE
    ********************************************************************************
    
    New software for IXPE:
    
       ixpeadjmod        - Remove spurious modulation of IXPE event files
       ixpecalcstokes    - Calculate the Stokes parameters of IXPE event files
       ixpeevtrecon      - Reconstruct events of IXPE event files
       ixpegaincorrpkmap - Calculate PI column values of IXPE event files
       ixpegaincorrtemp  - Calculate PHA_T column values of IXPE event files
       ixpeweights       - Calculate event-by-event weights of IXPE event files
       ixpeversion       - Report IXPE software version
    
       Python Tasks:
    
       ixpeaspcorr       - Correct for residual aspect errors
       ixpecalcfov       - Calculate a map of the nominal sky FOV for
                           each detector
       ixpechrgcorr      - Apply the charging correction for IXPE event files
       ixpedet2j2000     - Transform event positions and Stokes parameters
                           from detector to sky coordinates
       ixpeexpmap        - Create an exposure map from aspect solution data
       ixpepolarization  - Calculate Stokes parameters for a user-defined region
    
    ********************************************************************************
                                         NICER
    ********************************************************************************
    
    - nicerl2:
    
       * bug fix handling detlist parameter (detector events remain
         in event file even though detector is marked "deselected")
       * properly handle cases where ufdir/ufafile are non-standard
       * optimization to unzip large gzipped event files once rather
         than multiple times
       * keyword SOFTVER is written to outputs to indentify / update
         software revision
       * honor cleanup parameter when calling subtasks
    
    - nicerarf:
    
       * add warning messages for common failure conditions
    
    - niprefilter2:
    
       * major rewrite for performance and speed
       * bug fix for rarely housekeeping parameters (FPM_SLOW_LLD, HV_ON,
         FPM_NOISE25_COUNT, MPU_NOISE25_COUNT, MPU_NOISE25_PI_{AVG,ERR})
         which is visible as truncated data in long data sets
    
    ********************************************************************************
                                         NUSTAR
    ********************************************************************************
    
    NuSTARDAS 2.1.2:
    
    - numkarf, numkrmf: Added 'CALDBVER' keyword to output ARF and RMF files.
    
    ********************************************************************************
                                         SWIFT
    ********************************************************************************
    
    UVOT:
    
    UVOT tools have been updated for small scale sensitivity (SSS)
    correction.  At this time the SSS in CALDB distinguishes good and
    bad pixels.  There may be cases when the user wants to override or
    ignore the new small scale sensitivity flagging. There are two ways
    to do this: a) using the parameter sssfile=NONE; b) using the
    parameter forcephot=true.
    
    - uvotsource:
    
      * Added QUALFLAG and PHOTFLAG columns to output table which capture
        quality flags and issues with photometry respectively.
      * Added parameter sssfile for small scale sensitivity flagging.
        The SSS raw position is adjusted by the best shift-and-add if known.
      * Display version banner and support parameter history.
    
    - uvotdetect:
    
      * Add SExtractor KRON_RADIUS column to output table.
      * Use platform independent drand for deterministic behavior.
    
    - uvotevtlc:
    
      * Corrected bounding of regions to ensure subimage passed to uvotsource
        fully contains the source and background regions.
    
    - uvotexpmap:
    
      * Added parameter maskminf to support masking by fractional exposure.
      * Added parameter sssfile which can be used to treat pixels
        with bad small scale sensitivity as a type of bad pixel.
    
    - uvotlc:
    
      * (NEW TASK) Create level III light curve from Level II UVOT data;
        includes small scale sensitivity correction parameter
    
    - uvotmaghist:
    
      * Added parameter sssfile for small scale sensitivity correction.
    
    - uvotpipeline:
    
      * Added parameter sssfile for small scale sensitivity (SSS) correction.
      * Added parameter expmapusesss to enable SSS flagging in exposure maps.
      * Added parameter lssmaps to control creation of LSS maps.
    
    - uvotproduct:
    
      * Added parameter sssfile for small scale sensitivity correction.
    
    - uvotrawevtimg:
    
      * Limit number of progress messages to prevent spamming the console
        when processing large event files.
    
    - uvotskylss:
    
      * Update output to use EXTNAME instead of HDUNAME keyword.
      * Honor history parameter.
    
    
    XRT (XRTDAS 3.7.0):
    
    - xrtmkarf: Fixed 1 pixel shift between source position and coordinates
      grid of exposure map and extraction region in WT mode data
    
    - xrtproducts: Fixed bug when input parameter 'phafile' is set to 'NONE'
    
    - xrtpipeline: Improved handling of case where 'stemoutputs' is not set
      to 'DEFAULT'
    
    ********************************************************************************
                                         XTE
    ********************************************************************************
    
    - fcollect: (v6.0) Fixed string overflow when checking for vector
      columns; general cleanup of FITS keyword parsing
    
    
    ********************************************************************************
                                      HEASoftPy:
    ********************************************************************************
    
    - New refactored version requires Python v3.7 (or newer).
    
    - All tasks are run through a class called HSPTask.
    
    - Native heasoft tools are available under: heasoftpy.task_name.
    
    - Support for pure-python tasks (see template in
      heasoftpy/packages/template).
    
    - Includes IXPE python tools (depend on: numpy, scipy and astropy).
    
    - Support for terminal and file logging.
    
    ********************************************************************************
                                         MISC.
    ********************************************************************************
    
    - Improved support for newer Apple clang; remains unsupported
      for MAXI, Suzaku, and XIMAGE.
    
    - Updated lynx package used by fhelp to version 2.9.0dev.9 to
      address configuration issues under macOS
    
    - Updated HEASoft copies of WCSLIB (7.7), FFTW (3.3.10),
      GSL (2.7), FGSL (1.5), TCL/TK (8.6.11), XPA (2.1.20)
    
    - PGPLOT GIF driver: Fixed valgrind error that was likely causing
      phantom problems with qdp
    

    HEASoft / FTOOLS Help Desk

    If FTOOLS has been useful in your research, please reference this site (https://heasarc.gsfc.nasa.gov/ftools) and use the ASCL reference for HEASoft [ascl:1408.004] or the ASCL reference for the original FTOOLs paper [ascl:9912.002]:

    Blackburn, J. K. 1995, in ASP Conf. Ser., Vol. 77, Astronomical Data Analysis Software and Systems IV, ed. R. A. Shaw, H. E. Payne, and J. J. E. Hayes (San Francisco: ASP), 367.

    Web page maintained by: Bryan K. Irby


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

    Last modified: Monday, 28-Mar-2022 19:32:14 EDT