STSDAS: Sp
ace Telescope
Science Data Analysis System
STSDAS is the software for reducing and analyzing data from the Hubble Space Telescope. The STSDAS software development group also produces and supports other software products such as the TABLES package for handling tabular-format data and IGI for the production of publication quality graphics in the IRAF environment.

 

                          STSDAS V2.3 RELEASE NOTES

*****************************

CHANGES to APPLICATIONS

ANALYSIS.FITTING:

- Minimization library:

  An error in the "amoeba" (simplex minimization) code caused the
  chi-squared computation to be in error. In most cases with a reasonable
  number of data points the error turns out to be of a few percent only.
  This affected only the final chi-squared value, not the minimization
  procedure per se. It affected all tasks in the package except "gfit1d"
  which uses a different minimization algorithm.

  Fixed typo in Leverberg-Marquardt gradient array addressing. The fixed
  code should generate slightly different (but better) solutions than the
  old code.

- NGAUSSFIT, N2GAUSSFIT:

  A constant used to compute the Gaussian function had a value slightly off
  its correct value. It was replaced by the correct value; the effect
  should be negligible in most real-world cases where some noise is present
  in the data.

ANALYSIS.NEBULAR:

- Fixed a problem with the critical density calculation
  (procedure calc_critical_dens).

GRAPHICS.STPLOT:

- HISTOGRAM

  If the input to the histogram task is a table, a check has been added to
  verify that the column (parameter 'colname') is actually present in the
  table.

- PSIKERN

  A typo was corrected in the template PostScript header supplied
  for use by PSIKERN.

HST_CALIB.CTOOLS:

- CHCALPAR

  Fix a minor bug to work better with PyRAF.

  Added support for new keywords and calibration switch related to 2-D
  scattered light correction.

HST_CALIB.PAPERPROD:

  This package was updated to support generation of paper products
  for ACS observations.  The new code was modeled on WFPC2 and
  NICMOS paper products, with a page showing the complete observation
  and another page focussing on the target region itself.

New Package:

HST_CALIB.ACS:

  The ACS package has been added to support pipeline calibration
  processing of ACS data

New Tasks:

- CALACS, ACSCCD, ACS2D, ACSREJ, & ACSSUM

  The ACS calibration task, CALACS and its component tasks ACSCCD,
  ACS2D, ACSREJ, ACSSUM.

HST_CALIB.FOS

- FOS

  A message has been added to refer to the ST-ECF STPOA package.

  The mkpkg files in fos and fos/spec_polar were modified.  The previous
  version of fos/mkpkg called relink for the calfos and spec_polar
  subdirectories, which used "$checkout calfos.a ../" and
  "$checkin calfos.a ../" statements (and similarly for spec_polar.a).
  This did not work properly on an HPUX system.  The new version of
  fos/mkpkg uses "$update calfos.a" to update the calfos.a library.  The
  fos/spec_polar/mkpkg used to create the object library in the fos package
  directory.  This is not necessary, since no executable other than
  spec_polar uses this library, so to avoid the checkout/checkin problem,
  the mkpkg file was modified to create spec_polar.a in the spec_polar
  subdirectory.

  The common block CONFG1 was modified in the files gmpfos.f, gmpgmp.f,
  gmpoff.f, gmpprc.f, & gpoff.f to add a variable added for post-COSTAR
  processing.

HST_CALIB.NICMOS:

- PEDSUB

  Macro M_PI renamed to PI to prevent conflict with C libraries

HST_CALIB.STIS:

New task:

- SC2DREF

  Add to the file header all required keywords necessary to support the
  SC2DCORR 1-D extraction algorithm.

Existing tasks:

- CALSTIS

  CALSTIS has been updated to v2.10.

  A new calibration step SC2DCORR has been added to calstis6 (1-D spectral
  extraction).  This is a scattered light correction for echelle data, based
  on an algorithm developed by the STIS IDT.  There are seven new reference
  files for this step.  This option can be selected using the 'algorithm'
  parameter in the x1d task.  The mkpkg files in cs0 and cs6 were modified
  to include a test on whether the machine type is Tru64 (MACH eq "alpha"),
  and if so, then -non_shared will be added to the link statement.  This was
  needed in order to allow malloc to allocate more than 256 Mb of memory,
  which is now done in calstis6 for the sc2dcorr step.

  The flux calibration in calstis6 did not take into account the binning
  of the input data in the dispersion direction.  This factor has now been
  included.

  Calstis6 was modified to include a check on whether x2dcorr had been
  performed on the input file; if so the function returns an error.

  In cs1/photmode.c, the value of OPT_ELEM is normally appended to the
  PHOTMODE string.  OPT_ELEM is not appended, however, if it's equal to
  "MIRROR". This test was modified so that OPT_ELEM is not appended if
  the first three letters are "MIR".

  Changes were made to support CCD observations near line 900 of the
  detector. These have "E1" appended to the aperture name in the
  PROPAPER keyword. One change is to use the APERTURE column as an
  additional row selection criterion in the SDCTAB.

  Changes were made to support prism data.  Many of the changes had to do
  with wavecal processing.  Normally for first-order data, the wavecal
  will be 2-D rectified before running calstis4.  For prism data this
  will not work, however, because of the huge variation in dispersion
  across the detector. Calstis4 was therefore modified to take
  unrectified prism data as input. Calstis6 and calstis7 have been
  modified to interpret the dispersion coefficients correctly for prism
  data, since the coefficients have very different meaning than they do
  for grating data.

  Wavecal processing now ignores some bad pixel flags, because these are
  either not relevant (DATAMASKED, i.e. behind occulting bar) or
  adequately calibrated for finding the offset of a wavecal image
  (HOTPIX, a hot pixel, and SMALLBLEM, a minor blemish).

  Under some circumstances calstis4 called malloc to allocate memory of
  length zero bytes.  On most systems this was harmless, but on Tru64,
  malloc returned NULL in this case, so it looked as if there was no
  memory left. A test was added to check for this case.

  The 1-D interpolation function was modified so that it now uses
  linear interpolation instead of cubic interpolation.

  Getflags6.c was modified to remove the code that gets the calibration
  switches from the input header when calstis6 is being called from
  calstis0 (i.e. pipeline=1).  The reason for this is that when doing
  sc2dcorr, the fluxcorr and helcorr switches were being turned on while
  computing the scattered light, but they should have been off.

  Getsdc6.c was modified to include a test on spectral order number within
  the loop over rows. If sporder is greater than one, it continues to look
  for matching rows as before; however, if sporder equals one, it stops
  with the first matching row.

- INTTAG

  If the user-specified output name does not end in either ".fits" or
  ".fit", ".fits" will be appended to the output name.

  When integrating counts into a low-res output image, rows with AXIS1 = 0
  were inadvertently included in the first column of the output image.
  (There can be such AXIS1 values because of the Doppler correction.)  An
  input AXIS1 = 0 value was changed to -1 for zero-indexing, and when that
  was divided by 2 to convert to low-res, it was truncated to zero, which
  was interpreted as being within the image.

- ODELAYTIME

  Significant changes were made to this task.  Previously odelaytime wrote
  the barycentric times to a new column.  This caused problems with using
  the modified timetag file as input to inttag, which wouldn't know about
  the new column.  The new version of odelaytime modifies the TIME column
  in-place, and it also modifies the associated header keywords TEXPSTRT,
  TEXPEND, EXPSTART, and EXPEND.  The new version also updates the START
  and STOP values in the GTI table.

  The mkpkg file in this directory was also modified, so that now the object
  library for this task is the local file odelaytime.a rather than stis.a in
  the parent directory.  This change was made because of problems with the
  mkpkg checkout and checkin commands on an HPUX system.  (See also FOS.)

  An error in the help file was corrected (replacing 125 milliseconds with
  125 microseconds). A description of how to add the header keywords to
  an older FITS-format ORX file was added (new ones should have the
  keywords, but older ones don't).

- X1D

  A new scattered light correction algorithm was implemented in the "x1d"
  task that applies a full 2-dimensional correction to the scattered light
  in the STIS data. It requires a set of seven new reference files in
  addition to the reference files already required for regular 1-D
extraction.
  Older STIS spectroscopic image files used as input to "x1d" do not have
  these new reference files listed in their headers. The "sc2dref" task
  provides an interim solution to the problem by writing the required
  information in the headers if it is not present. The "algorithm" parameter
  was added to the "x1d" task, as well as a new pset, "algpars", that keeps
  algorithm-specific parameters.

HST_CALIB.SYNPHOT:

- CALCPHOT

  The calculation of the wavelength set is now computed from the observation
  mode expression before it is possibly broken into two parts along the
  minus sign.  Under the new wavelength set generator, using the two parts
  to calculate the wavelength set gets the intersection of the wavelength
  set for the two observation modes.

  A naked observation mode string (one without the enclosing band()
  function) is now internally modified to add an enclosing band() function.

- COUNTRATE

  Some problems were encountered when running calcphot using the acs,prism
  mode with a one angstrom wide emission line.  The problems were caused by
  having a wavelength set whose sample points lay entirely within one pixel
  of the resampled output.  This threw the synphot interpolation function a
  problem it could not handle.  This was resolved by making the wavelength
  set the union of the bandpass and spectrum sets rather than the
  intersection. Testing also showed that the undersampling in the acs,prism
  mode affected the computation of the pivot wavelength and fwhm of the
  bandpass.  These calculations were therefore moved to before the
  resampling. This affected countrate.

- GRAFCHECK, GRAFLIST

  The default value of grftable was changed to "mtab$*_tmg.fits" to agree
  with the value of refdata.grtbl.

- IMSPEC

  Changed output image CTYPE1 keyword value from LAMBDA to LINEAR
  to conform with current IRAF WCS standards.

- SYNPHOT library:

  The default wavelength set generation for the synphot library has been
  rewritten.  The new version creates a separate wavelength set for each
  additive term in the synphot expression and merges the resulting sets.
  The result is that narrow features, such as emission lines created with
  the em() function, are more closely sampled so that the estimate of the
  flux in these features is more accurate.  In addition, the computation of
  the wavelength range for the renormalization function, rn(), has been
  modified so that the bandpass that the spectrum is renormalized over is
  forced into the output range.

  The bulk of the new code is in a new file, synwave.x, and syw_limits was
  added to synwave.x to support calcrange.  A procedure formerly in
  calcrange.x but now called in synwave.x has been broken out into its own
  file, tabrange.x.  Compband.x and compspec.x, which used to call
  calcrange.x, have been modified to call synwave.x.  Two files in the
  synphot package, multiwave.x and getwavelen.x, have also been modified
  to call synwave.x instead of calcrange.x.  A new version of calcrange.x
  calls the functions in synwave to generate the wavelength range.

  The stis,prism entries in synphot$data/wavecat.dat were missing the
  directory name in front of the file name.

- Miscellaneous

  The simulators error messages were modified to be more informative. The
  simspec help file was updated to make the example correct. Obsmodes
  stis,g230lb and stis,g230mb were added to the detectors database.
  Added missing call to syncalc function when bandpass is not simple.


HST_CALIB.WFPC:

- UCHCOORD

  Make changes to accommodate the new keyword PROCDATE in OTFR.  Distinguish
  "real change" and "better knowledge" changes.  Also add more recent PDB
  changes of the WCS information.  This update (version 2.0) will make
  uchcoord working for OTFR, OTFC, and archived WFPC2 images.

TOOLBOX.TOOLS:

- BASE2DEC

  An example was added to the help file to point out that input numbers with
  more than ten digits must be quoted, if they are given on the command
  line. This is because the CL interprets numerical values as they are
  entered, and a huge base-two number can suffer from integer wraparound.
  For example, 10101111100 was read by the CL as 1511176508.

- EPOCH

  (1) Write numeric year(int), month(int), and day of the month(double) as
  newly added output parameters.

  (2) Fix a bug which gives wrong Julian calendar date for Dec 31 (OS) on
  leap years.  For example:

  st> epoch 12-31-2000 cal=os

  13 Jan 2001 00:00:00.00000            SAT
   1 Jan 2000 00:00:00.00000      (Julian calendar)

  where the second line should be 31 Dec 2000.  Since this option (Julian
  calendar) is rarely used, and it only affects one day per 4 years, it
  probably has caused little damage.

SYSTEM LIBRARY CHANGES

- CVOS

  The calls clcmd and clcmdw were added to the xclio C-bindings.

  Obsolete documentation was removed from the doc directory and replaced
  with the PDF and Postscript versions of the new CVOS User's Guide an
  updated version of the original Reference Manual.  New test routines
  were added to the test directory to correspond to the CVOS User's
  Guide. A README file was added to the test directory

  Parts of the makefile related to VMS were removed.

STSDAS/DATA/FITS

  de200.fits

  The table header keywords FIRSTMJD and LASTMJD were incorrect.
  These should have been the MJD corresponding to the values in the
  JD column (i.e. MJD = JD - 2400000.5) for the first and last rows,
  but the header keywords were 0.5 too high.