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.