********************************************************************************
                         RELEASE NOTES FOR HEASOFT 6.15
                                November 25, 2013
********************************************************************************

The HEASoft 6.15 release is primarily driven by updates to the NuSTAR
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.

********************************************************************************
                                    CCFITS
********************************************************************************

- Added read/write capability for images of LONGLONG type.

- Added a missing 'break' statement to 'case Tlonglong' in 
  the FITSType2String function.

********************************************************************************
                                     HEASP
********************************************************************************

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.

- (rmf.cxx) Do a reverseRows if necessary in convertUnits. Removed the
  switch of ChannelLowEnergy and ChannelHighEnergy since this should
  not be necessary as long as the input is correct.

- Added trap for wrong keyword value type in the keyword methods.

- Added a routine to write the CREATOR keyword in a file.

- (ARF) Added methods to rebin and multiply by a constant.

- (RMF) Added methods to multiply by a constant.

- (PHA) Added method to select a subset of channels. Also, added a
  workaround for CCfits currently not automatically converting when
  reading a real as a string.

- Make sure that any carriage-return or new-line is removed when reading
  from a text file.

- Fixed bug in rebinning ARFs.

- Python module: Added rebin and multiply by a constant for arf.

********************************************************************************
                                     FV
********************************************************************************

- Fix logic that generated large temporary data file when displaying
  vector columns with ds9 (Table.tcl).

- Correct the check for number of parameters to translatedKeywords
  to 7 (fitsTcl library).

********************************************************************************
                                    FUTILS
********************************************************************************

- fverify: Changes to ignore blank keywords immediately preceding
  the END keyword, and added support for large files where the size
  of the heap, as given by the PCOUNT keyword, is greater than the
  2.1 GB 32-bit integer limit.

********************************************************************************
                                   HEATOOLS
********************************************************************************

- ftverify: Changes to ignore blank keywords immediately preceding
  the END keyword, and added support for large files where the size
  of the heap, as given by the PCOUNT keyword, is greater than the
  2.1 GB 32-bit integer limit.

********************************************************************************
                                    HEAGEN
********************************************************************************

HEAGEN:

- flx2tab: Added support for energies in reverse order in input file.
  Added regression test case for energies in reverse order.  Improved
  checking of the input files.

- flx2xsp: Now works with input energies in decreasing order and tests
  for scrambled order.  Added new regression tests.  Improved checking
  of the input file to catch problems such as blank lines.  The input
  file can now contain discontinuous energy bins.

- sprbnarf: Replaced C code with C++ for simplicity.

- refdata/swco.dat: new version (v096)

- SimpleFITS.pm:

  writecol() now accepts "nulval" parameter; writecol() now accepts
  "grow" parameter to grow table to match data size.

  parsekeys() now returns hash ref instead of array.  insertcol() has
  been modified to use this new return value.

********************************************************************************
                                    HEASARC
********************************************************************************

- nh: Mystery seg fault on Fedora 19 (ftghpr returns naxis=0) resolved
  by turning down compiler optimization.

********************************************************************************
                                    XSELECT
********************************************************************************

XSELECT:

- Fix for bug when running saextrct with no phasefile set.

- Fix for seg faults when running "save" commands.

********************************************************************************
                                     XSPEC
********************************************************************************

HEASoft 6.15 includes Xspec 12.8.1g (patches a-g):

 http://heasarc.gsfc.nasa.gov/xanadu/xspec/issues/issues.html

12.8.1a:

  The optxagnf additive model component causes a crash when loaded.

12.8.1b:

  When loading a model explicity of the form:

    M1((M2(A1+A2)+A3)M3+A4)

  (that is, doubly-nested component groups AND with a multiplicative
  component (M3) on the right of the outer group), the model components
  will be displayed out of order.

12.8.1c:

  This adds a new feature to PyXspec: a new attribute to the Fit object
  for retrieving the test statistic value, Fit.testStatistic.

12.8.1d:

  When a new best fit is found during a steppar run and the user agrees
  to run fit again, a bug may cause the new fit to start from a bad
  position in parameter space.

12.8.1e:

  Bug fix to the eqpair model for the case of a negative kT_bb parameter.

12.8.1f:

  For PyXspec running on OS X Mavericks, this fixes a bug which
  occurs when assigning or retrieving a correction file to/from a
  Spectrum object.

12.8.1g:

  This adds Mac-specific compiler macros to ease the building of PyXspec
  with Xcode 5.

********************************************************************************
                                     XSTAR
********************************************************************************

Version 2.2.1bn16 - updates since v221bn15 (HEASOFT 6.14) include:

- Change to routine readtbl to expand the temporary array used for
  reading integers.  This caused erroneous input in version 221bn15.
  This affected only 64-bit PC Linux installations.  The fix was
  applied to HEASoft 6.14 source code downloads on 24 August 2013
  and is included here.

- Fix to bug which affected printing of atomic data for lines coming
  from Fe UTA. Bug did not affect calculated quantities.

- Change to xstar.f to allow printing of line data when lpri=2.

********************************************************************************
                                    NUSTAR
********************************************************************************

NuSTARDAS version 1.3.0:

Major changes introduced in this version:

- numetrology: Addition of the new input parameter psdcal, with
  default value yes, to optionally (if set to no) disable the
  linearization of the PSD X/Y coordinates.

- nuscreen: for SCIENCE observing mode 1) introduction of a new run
  of the FTOOL maketime to calculate the ONTIME value during which
  the PSD coordinates are outside the CALDB metgridfile calibrated
  grid and 2) addition of a new keyword named NUPSDOUT to the output
  event file storing the ONTIME calculated value. See the NuSTARDAS
  users guide sections 4.5 and 6.3.

- numkarf: 0) for extended sources (parameter extended=yes) the
  input parameters grflag and psfflag are automatically set to no;
  1) introduction of an energy dependent PSF correction; 2) fixed
  bug for small values of the input parameter boxsize (extended
  source case); 3) changed the call to the nuexpomap module.

- nuexpomap: introduction of a new algorithm for inclusion of
  bad/hot pixels in exposure maps.

- nulccorr: 1) correction for PSF losses using a CALDB PSF file
  corresponding to the value of the energy input parameter;
  2) changed the call to the nuexpomap module.

- nubackscale: changed the call to the nuexpomap module;

- nupipeline: 1) addition of the new input parameter psdcal;
  2) modified the call to the module numetrology; 3) addition of
  the ONTIME value during which the PSD coordinates are outside
  the CALDB metgridfile in the STDOUT final report; modified call
  to modules nuexpomap and nuproducts to accomodate above changes.

- nuproducts: modified the call to the modules nulccorr, numkarf
  and nubackscale.

Summary of changes:

numetrology:

Allows the pipeline to be run with the calibration of the PSDs off.
This prevents data from time periods when the PSDs are out-of-range
from being lost in the cleaned event data (for some observations
this may be result in as much as a 10-20% increase in exposure).
The effect on the event reconstruction varies source-by-source, but
the reconstruction will in general, be worse with the calibration
turned off. Turning off the PSD calibration may also affect the
absolute position reconstruction.

nuscreen:

In the default setting the pipeline now appends a keyword to the
cleaned event files, "NUPSDOUT", that contains the number of seconds
lost to the PSD out-of-range filter. If this is a large fraction of
the total observation, then the user may want to turn off the PDS
calibration and re-run the pipeline. See the NuSTARDAS users guide
section 6.3.

numkarf:

(0) Fixed a bug where the ghost-ray and PSF corrections defaulted to
"ON" even for extended sources. These flags correctly default to "OFF"
when extended=YES.

(1) Includes the effect of the energy-dependent PSF when psfflag=YES.
This effect is on the ~5% and primarily acts below 10 keV for sources
extracted using small (<<30 arcsecond radius) extraction regions.

(2) Bug fix.

(3) Keyword maintenance.

nuexpomap:

Improved the algorithm for recomputing exposure maps. Pixels that
are disabled (either in software on by the user via the userbadpix
file) are now properly vetoed in the exposure map.

nulccorr:

Applies energy-dependent PSF corrections as per numkarf.

********************************************************************************
                                    SUZAKU
********************************************************************************

SUZAKU:

- Bug fix: fault of an variable initialization and unintended variable
  substitutions inside if()s.

- Minor changes to fix compilation errors under XCode 5 on Mac OS X.

********************************************************************************
                                     SWIFT
********************************************************************************

BAT:

- batsurvey: Bug fix to report accurate exit status.

********************************************************************************
                                     XTE
********************************************************************************

- pcadeadcalc2: Make sure the input file is a Standard2 file.
  Fix bug in computation of NUM_PCU_ON (previously was computing
  NUM_PCU_OFF, now fixed).

- pcaextlc2: Back off on some overzealous error checking: was
  rejecting X1L style of layer listing, now fixed; die if the user
  enters an invalid layer specification rather than continuing
  silently.

- pcaextspect2: Back off on some overzealous error checking: was
  rejecting X1L style of layer listing, now fixed ; die if the user
  enters an invalid layer specification rather than continuing
  silently ; do not check filter filter file existence if no
  response file is requested ; handle X1L - > L1 and X1R - > R1
  transformation when calling 'pcarsp'.

********************************************************************************
                     Configuration / Third-party Packages
********************************************************************************

- Minor updates to code and configuration were made to the v6.14
  source code downloads to ensure support of the XCode 5 compiler
  suite on Mac OS X, and are included here.

- CFITSIO Perl Module (Astro-FITS-CFITSIO): updated to v1.10, with
  additional patch applied to add fits_write_colnull() [ffpcn].

- readline: Applied official patches readline62-001/004 and extended
  configure switches to Darwin 13.x.