• Download HEASOFT
  • ********************************************************************************
                             RELEASE NOTES FOR HEASOFT 6.16
                                       July 2, 2014
    The HEASoft 6.16 release is primarily driven by updates to the NuSTAR
    and Swift/XRT software, but also includes updates to other packages which
    have been revised to mirror the current development versions in use at
    the HEASARC.
    New in this release is support for the 64-bit architecture on Mac OS X.
    By default, all builds of the source code distribution on Mac OS X will
    have the 64-bit architecture.  Users who require the 32-bit architecture
    may run the configure script with the "--enable-mac_32bit_build=yes" flag.
    All pre-compiled binary distributions for Mac OS X are 64-bit.
    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.
    - Version 3.37:
      - Added configure options to support reading bzip2 compressed
        FITS files.  This depends on having the bzlib library installed
        on the local machine.  Patch submitted by Dustin Lang.
      - Replaced the random Gaussian and Poissonian distribution
        functions with new code written by Craig Markwardt derived
        from public domain C++ functions written by John D Cook.
      - Patched fitsio2.h to support CFITSIO on AArch64 (64-bit ARM)
        architecture (both big and little endian).  Supplied by Marcin
        Juszkiewicz and Sergio Pascual Ramirez, with further update by
        Michel Normand.
      - Fixed bug in fpackutil.c that caused fpack to exit prematurely
        if the FZALGOR directive keyword was present in the HDU header.
    - Version 3.36:
       - Small change to the fileseek function in drvrfile.c to support
         large files > 2 GB when building CFITSIO with MinGW on Windows.
       - reorganized the CFITSIO code directory structure; added a 'docs'
         subdirectory for all the documentation, and a 'zlib' directory
         for the zlib/gzip file compression code.
       - made major changes to the compression code for FITS binary table
         to support all types of columns, including variable-length arrays.
         This code is mainly used via the fpack and funpack programs.
       - increased the number of FITS files that can be opened as one
         time to 1000, as defined by NMAXFILES in fitsio2.h.
       - made small configuration changes to configure.in, configure,
         fitsio.h, and drvrfile.c to support large files (64-bit file
         offsets} when using the mingw-w64 compiler (provided by
         Benjamin Gilbert).
       - made small change to fits_delete_file to more completely ignore
         any non-zero input status value.
       - fixed a logic error in a 'if' test when parsing a keyword name
         in the ngp_keyword_is_write function in grparser.c
       - when specifying the image compression parameters as part of the
         compressed image file name (using the "[compress]" qualifier
         after the name of the file), the quantization level value, if
         specified, was not being recognized by the CFITSIO compression
         routines. The image would always be compressed with the default
         quantization level of 4.0, regardless of what was specified.  This
         affected the imcopy program, and potentially other user-generated
         application programs that used this method to specify the
         compression parameters.  This bug did not affect fpack or
         funpack.   This was fixed in the imcomp_get_compressed_image_par
         routine in the imcompress.c file.
       - defined a new CFITS_API macro in fitsio.h which is used to export the
         public symbols when building CFITSIO on Windows systems with CMake. This
         works in conjunction with the new Windows CMake build procedure that
         is described in the README.win32 file. This complete revamping of the
         way CFITSIO is built under Windows now supports building 64-bit
         versions of the library.  Thanks to Daniel Kaneider (Luminance HDR
         Team) for providing these new  CMake build procedures.
       - modified the way that the low-level file_create routine works when
         running in the Hera environment to ensure that the FITS file that is
         created is within the allow user data disk area.
       - modified fits_get_compression_type so that it does not return an error
         if the HDU is a normal FITS IMAGE extension, and is not a tile-compressed
       - modified the low-level ffgcl* and ffpcl* routines to ensure that they
         never try ro read or write more than 2**31 bytes from disk at one time,
         as might happen with very large images, to avoid integer overflow errors.
       - modified Makefile.in so that doing 'make distclean' does not delete
         new config.sub and config.guess files that were recently added.
       - adopted a patch from Debian in zcompress.c to "define" the values of
         GZBUFSIZE and BUFFINCR, instead of exporting the symbols as 'int's.
    - Added proper handling of 'D' exponent notation when reading in
      keyword values of type float or complex.  This is allowed by
      the FITS standard, but the C++ stringstream conversion operator
      was not recognizing it.  This caused value to be truncated at
      the 'D' for floats, and to be ignored altogether for complex.
      The change was made entirely in the parseRecord() function.
    - CCFITS: In Column::setLimits, removed the dynamic allocation of
      the static variable arrays.  These led to small memory leaks as
      they are never freed.
    - Removed vestigal code file NewColumn.h.
    - Fixed error when converting flux units.
    - Fixed problems when creating an RMF with zero channel groups
      for at least one energy and one channel group for all the rest.
    - Added an overloaded version of rmf::RandomChannel which takes
      arrays of energies and number of photons (for each energy).
      Added a C wrapper called RandomChannelMultiEnergies to Cheasp.h
      and Cwrappers.cxx. Fixed missing random number initialization in
    - Added code to all heasp destructors to clear vectors to avoid
      memory leaks.
    - Added a routine, SPmatchString, to SPutils.cxx to do partial
      string matches to a vector of strings.
    - Just for completeness added an rmf::uncompress method.
    - Python module: New source code generated using swig 3.0.0 which
      gets past compile errors on Mac OS X 10.9 (Mavericks).
    - Fixed an error in ARFobjectToStruct which wrote the high energies
      into the effective area array.
    - Added ReadRMF and WriteRMF wrappers to grab or write the matrix
      and ebounds data at the same time.
    - Fixed bug which causes a seg fault when reading a pha file with no
      statistical errors.
    - genrsp: Ensured that E_MIN is always <= E_MAX in the
      EBOUNDS extension. This was not the case when creating
      grating spectra and could be interpreted as violating the
      response matrix standard.
    - fimgmerge: Fixed strcpy of overlapping strings which aborts on
      Macs.  Raised arbitrary maximum number of input files to 999.
    - ftverify: Squashed erroneous warning messages similar to
      "CRPIX3A: index 3 is not in range 1-2 (NAXIS)".
    - flx2tab: The redshift parameter was being ignored. Fixed bug
      when reading parameter info file.
    - addspec: Improved diagnostic messages.
    - ftdiff: Do not perform numerical comparisons of TFORM or
      TDISP keyword values.  Allow for longer file paths/names.
    - ftverify: Squashed erroneous warning messages similar to
      "CRPIX3A: index 3 is not in range 1-2 (NAXIS)".
    - Fixed bug in the AST library which caused a crash when loading
      an image file without world coordinates.
    HEASoft 6.16 includes Xspec v12.8.2:
    New features:
    - The code underlying the NEI models has been rewritten to accommodate
      the new AtomDB 3.0 files, the beta version of which are included as
      the default when using any of the NEI models. Older versions can be
      recovered using xset NEIVERS. The CEI models (apec etc) use some of
      the same code but there should be no change in their behaviour
      except for a slight speed-up.
    - New models:
         agauss  - Gaussian model with units in Angstrom and a gaussian
                     shape in wavelength space.
         nsx     - Neutron star non-magnetic atmosphere model from Wynn Ho
                     and collaborators.
         nsmaxg  - Neutron star magnetic atmosphere model.
         rnei    - NEI recombination model assuming an initial temperature
         vrnei   - rnei with variable abundances for the common elements
         vvrnei  - rnei with variable abundances for all elements (Z<=30).
         zagauss - The agauss model with a redshift parameter.
    - The goodness command has added options fit|nofit. The fit option
      runs a fit on each simulation before calculating the test statistic.
    - The cstat fit statistic can be modified by appending an integer eg
      statistic cstat5. In this case the statistic will be evaluated as if
      the group min N had been used in grppha. This is not as efficient
      because the rebinning has to be done every statistic evaluation
      however it is usual for testing using simulations.
    - The 'model' command now checks that parameters are all within a
      reasonable order of magnitude (~1e10) of each other, and issues a
      warning if they are not.
    - Improved the handling of new-best-fit cases when running the 'error'
      command on parallel processes.  The global new-best-fit is now
      automatically retained.  Previously the user was prompted to re-run
      'error' in a single process.
    - Models can now store (keyword,value) pairs using loadDbValue (C++)
      or PDBVAL (Fortran). These values can be recovered using the
      tclout(r) modkeyval option. This provides a way to get internal 
      information from the last invocation of a model.
    - There is a manual XSFunctions_guide.pdf in Xspec/src/help describing
      some of the C++ classes used in the XSFunctions library. This is
      intended to make it easier to use these classes in other models.
    Enhancements previously released as patches to 12.8.1:
    - PyXspec: added Fit.testStatistic attribute for retrieving the test 
        statistic value from the most recent fit.
    - PyXspec: added compiler macros for switching to <Python/Python.h>
         include paths when building on Mac platforms.
    All bug fixes to v12.8.1 released as patches are included in v12.8.2.
    In addition the following problems have been corrected:
    - Fix for a particular case of non-associative expression evaluation.
      Models of the form C((M1*A)M2) or C(M1*A)M2, where C is a convolution 
      component, were being wrongly evaluated as (C(M1*A))*M2.
    - For users with external programs linking to the XSPEC model library,
      the FNINIT function now properly initializes the AtomDB version to
    - Fix for an 'ignore' command syntax evaluation that was causing a crash
      on OS X Mavericks.
    Version 2.2.1bn21 - updates since v221bn16 (HEASOFT 6.15) include:
    - v2.2.1bn21 (May 2014):
      Fix to an error in implementation of Bryans collisional ionization
      rates.  Fix to an error in inclusion of turbulence in implementation
      of iron M-shell UTA line absorption.
    - v2.2.1bn20 (Mar. 2014):
      Fix to a bug which caused the wrong damping value to be used in some
      cases.  This occured for valence shell lines, for which the damping
      should be just due to the natural radiative lifetime, but for which
      inner shell Auger damped lines also exist for the same ions.  In this
      case, the widths for the latter lines were incorrectly used instead
      of the former.
    - v2.2.1bn19 (Mar. 2014):
      Fix to bug which led to incorrect f value use for iron UTA lines.
      Fix errors to routine binemis and linopac associated with
      attempt to make routines faster:  now, always use constant
      stepsize for internal calculation of line profile.
      Change to true anders and grevesse abundances
    - v2.2.1bn18 (Jan. 2014):
      New atomic data for K shell absorption by neutral and once-
      and twice-ionized stages of Ne and Mg from Gorczyca.
      Fix errors in the routine binemis which puts out binned
      emission lines.  These errors led to spurious features in
      models with very high spectral resolution.
      Change to the value of the constant hc used in conversion
      from ev to A and back, to reflect more accurate values for
      constants.  Old value was 12398.54, new value is 12398.41.
      Also change to Rydberg constant; old value was 13.598,
      new value is 13.605.  Adoption of consistent value of
      proton thermal speed as 1.29e+6 cm/s at 10^4K.
      Adoption of routine which calculates photoionization
      integrals (phint53) which uses interpolation and smoothing.
      Inclusion of code for calculating aped rates for
      collisional excitation (not yet fully implemented).
      Inclusion of Bryans rates for collisional ionization.
      Added feature which allows an array of densities to be read in.
      This is described in the chapter on inputs.  It requires that
      the 'radexp' input variable be set to a number more negative
      than -100.  Then ordered pairs of (radius, density) are read
      in from a file called 'density.dat'.  Reading continues until
      the end of the file is reached.   The density and radius values
      override the values derived from the ordinary input parameters.
      But execution will stop if other ending criteria are satisfied,
      i.e. if the model column density exceeds the input value, or
      the electron fraction falls below the specified minimum.  The
      code will stop with an error if the density.dat file does not
      exist, or if the radius values are not monotonically increasing.
      Another new feature allows reading in of table spectra in units
      of log10(F_e).  This requires that the spectrum_units input
      parameter be set to 2.
    - v2.2.1bn17 (Dec. 2013):
      Make calculation of photoionization related quantities modal,
      using lfpi:
       1: total pi only;
       2: pi + rec rates only;
       3: opacities and emissivities
      Also make h-c calculation use total rates add special funcsyn,
      func3p and heatf for calculations of spectral quantities.
      Add profile calculation (linopac) inside of ucalc when lfpi=3;
      take out profile calculation from stpcut.  This facilitates
      calculation of continuum photoexcitation (which is not yet
      Change i/o of step quantities; now includes populations,
      total emissivities and opacities, line emissivities,... Also
      change savd, unsavd.  Also change name of step quantities:
      xoN...M.fits where N=1,2,3,4 for various quantities and M=pass
      Add column, electron fraction, density as keywords in step files.
      Add comments in pprint, unify code to use the same statements when
      stepping thru each physical quantity:  levels, lines, all data, etc.
      Move search for auger width to new rotuine deleafnd
    - NuSTARDAS v1.4.1:
      Major changes introduced in this version:
      * nuproducts:
        1) Modification of the internal run of the FTOOL 'grppha' to
           define a PI energy range by using two new input parameters
           'grppibadlow' (replacing 'grppibad') and 'grppibadhigh';
        2) Addition of the new input parameter 'usrgtibarycorr' to
           regulate the barycenter correction of the optional input
           user GTI file ('usrgtifile').
      * nupipeline:
        1) Modification of the call to the 'nuproducts' module;
        2) Addition of the new input parameter 'productsgtibarycorr'
           to regulate the barycenter correction of the optional input
           user GTI file ('productsgtifile') for spectrum and light
           curve extraction.
      Summary of changes:
      - nuproducts (grppha):
        Improvements to the user interface for nuproducts allowing the
        user to automatically apply grppha corrections to the output
        spectrum. Default values for the low/high bounds of "bad"
        channels in the grppha call are at 3 and 79 keV, which allows
        users to "ignore bad" in XSPEC to ignore data outside of the
        usable science range for NuSTAR. The user accepts responsibility
        for the effect of binning the data; we encourage the users to
        explore the literature on binning and the impacts of various
        fit parameters before using grppha.
      - nuproducts (barycorr):
        Improvement to the user interface for nuproducts allowing the
        user to specific a usrgti file in barycentric time (e.g. for
        individual pulses or bursts in a pulsar). By default, the
        pipeline assumes that usrgtis are given in NuSTAR-epoch time
        and are barycenter corrected.
    NuSTARDAS v1.4.0:
    - Major changes introduced in this version:
      * nuexpomap: 1) addition of a new parameter named 'indet2instrfile'
        to allow the generation of sky exposure map starting from a DET2
        instrument map; 2) algorithm optimization for execution time
      * nubackscale: addition of a new parameter named 'inexpomapfile' to
        provide in input a sky exposure map. This change allows to skip the
        internal generation of exposure maps and reduces the task execution
      * nulccorr: addition of two new parameters named 'inskyinstrfile' and
        'inaspecthistofile' to provide in input a sky instrument map and the
        associated aspect histogram file. This change allows to skip the
        internal generation of sky instrument maps and reduces the task
        execution time;
      * numkarf: addition of a new parameter named 'inexpomapfile' to provide
        in input a sky exposure map in the case of extended sources (parameter
        'extended=yes'). This change allows to skip the internal generation
        of exposure maps and reduces the task execution time;
      * nuproducts: 1) addition of the new input parameter 'rungrppha' to
        group the source energy spectrum through an internal run of the FTOOL
        'grppha'; 2) addition of an internal run of the 'nuexpomap' module
        and modification of the calls to the 'nubackscale', 'nulccorr' and
        'numkarf' modules;
      * nucalcpi: modification of the algorithm for GRADE 0 and GRADE 9-20
      * nupipeline: 1) handling of compressed TLE files in input; 2) syntax
        modification to support latest Perl versions.
    Summary of changes:
    - nuexpomap/nubackscale/nulccorr/numkarf/nuproducts:
      Performance improvement to avoid multiple runs of nuexpomap. The
      software now allows the user to store a single DET2 instrument map
      file (through the det2instrfile output keyword call to nuexpomap)
      and reuse this file for future runs, including changes to the
      vignetting energy, etc.  See section 4.9 of the NuSTARDAS User's
      Guide for more details and syntax.
      This has resulted in a dramatic speed increase for nuproducts runs,
      with decreases in run times of 20 to 80%, depending on the exact
    - nucalcpi:
      Slight change in the reconstruction algorithm for how events with
      Grade 0 and Grades 9 through 20 are handled in the software. This
      change allows for fine tuning of the GRADE_GAIN and GRADE_OFFSET
      columns in the CLC CALDB file. There are associated updates to
      the CLC CALDB files (see CALDB release notes) which marginally
      improve the gain correction for all events.
    - bateconvert, batmasktaglc: Bug fix for closing file more
      than once (e.g. under OS X 10.9 x86_64).
    - uvotattcorr: Apply delta quaternions for entire duration of
      exposure instead of at a single epoch.
    - uvotimage: Work-around rare invalid values in UVOT event file
      WINDOW extension.
    - uvotproduct: Since there are rare but intermittent issues using ds9
      to retrieve DSS images, try the SAO server if the STSci server fails
      to provide an image.
    - ISAC Build 30 Software Release - XRTDAS_v300:
      * xrtexpomap - Replaced 'nframe' input parameter with 'pcnframe'
                     and 'wtnframe'
                   - Update 'DATE-OBS' keyword of the output exposure
                     map file
      * xrtlccorr - Modified default naming convention of output
                    instrument map file
      * xrtmkarf - Fixed memory bug for the 64-bit architecture on
                   Mac OS X 10.9.x.
      * xrtproducts - Added optional extraction of background products
                      for PC and WT mode
                    - Added optional correction of the source light curve
                    - Modified default naming convention of some output files
      * xrtpipeline - Added 'extractproducts' input parameter
                    - Replaced 'exponframe' input parameter with
                      'expopcnframe' and 'expowtnframe'
                    - Updated xrtproducts task call
                    - Removed use of deprecated 'define' PERL function
    - fcollect: Fixed strcpy bug with overlapping memory.
    - seextrct: Update to 4.3a; Increased maximum number of input files
      in SEEXTRCT from 100 to 999.  This is to match a similar change in
      SAEXTRCT v4.3a made previously.
                         Configuration / Third-party Packages
    - Macs: Lift restriction on 64-bit builds on Mac OS X when heacore Perl
      modules are needed in the build.  Default Mac build architecture is
      now 64-bit; 32-bit builds are still available by configuring with
    - readline: Update to v6.3 and patches readline63-001 to 005.
    - Tcl/Tk: Update to v8.5.15.
      Tk configuration: Disable use of freetype/fontconfig/xft in Tk.
      In some Mac X11 installations, Tk's configure successfully finds
      the routine 'XftFontOpen' linking with -lXft and proceeds to
      compile an alternate source code file (tkUnixRFont.c instead of
      tkUnixFont.c) that leads to build errors.
    - wcslib: Update to WCSLIB version 4.20.
    - XPA (FV/Hera): Update to XPA v2.1.15.
    - Fix deprecated use of 'defined' in Perl arrays (various tasks).

    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, 02-Jul-2014 17:41:41 EDT