STSDAS v2.2 RELEASE NOTES ************************* CHANGES to APPLICATIONS ANALYSIS.DITHER: A new version of dither (version 2.0) is now available. The coefficients nic-3 were updated and coefficients nic-1 and nic-2 were added. The old version of dither was copied to SOBSOLETE.OLDDITHER. New Tasks: - LOOP_BLOT and LOOP_DRIZ These two new tasks simplify the blot and driz loops. Existing Tasks: - AVSHIFT and GPREP The tasks avshift and gprep now get coefficients from a new pset "wpfc2_chips" instead of using fixed values embedded in the task source code. - CROSSDRIZ The task crossdriz was changed so that it now works when coeffs="header" is specified for STIS and NICMOS data. - DRIZ_CR It is now possible to change suffixes for input and output files. An option was added to weight using flatfield. Parameters added are: bl_suffix (default = "_bl"), deriv_suffix (defaul = "_bl_deriv"), cr_suffix (default = "_cr"), cor_suffix (default = "_cor"), flat (default = no), and flt_im (default = ""). - DRIZZLE The task drizzle was upgraded by copying the current version (1.41) from the stecf package. - ROTFIND The image center is now obtained using CRPIX. - SHIFTFIND The xcenter and ycenter parameters for the task shiftfind have been replaced by xshift and yshift. The image center is now obtained using CRPIX. - SKY The task sky now accomodates countrate images (e.g. NICMOS). The user parameter EXPNAME was added. ANALYSIS.FITTING: The data ingestion code of the analysis.fitting library was modified to fix a floating point overflow that occurred when dealing with 2-D spectra that have log wavelength scale and the user selected samplepar.axis = 2 (i.e., fit over the spatial direction). ANALYSIS.GASP: - STGINDX A minor change to the stgindx script was made so that when the Guide Star index table is copied to disk, a temporary file is created in a temporary directory instead of in the current directory. - XYEQ Previously, this used equations from Smart's Spherical Astronomy, which are singular near the poles. The relevant subroutine has been replaced with code based on tables$lib/stxtools/xtwcs.x. ANALYSIS.ISOPHOTE: - BMODEL, ISOMAP and ISOIMAP These tasks sometimes gave slightly off results when the table created by 'ellipse' has a lot of flipping position angle values due to noise (from near +90 to -90 degrees and back). This was fixed by adding a call to tcalc that converts all negative position angles to the > 0.0 range. - ELLIPSE A subtle floating point error due to zeroed argument in sqrt function was fixed. This only occurred with certain image geometries and when using "median" sampling. The magnitude computation was also modified. The former definition showed to be inconvenient and eventually caused errors due to misinterpretation by users. CONTRIB: - GAUSSFIT The task definition for gaussfit in contrib.cl was not working, since gaussfit is a host system executable, not an iraf native task. The task is now defined to be gaussfit.cl in the gaussfit subdirectory. Gaussfit.cl is a new file which constructs the Unix command line to run the executable, and pipes that command to the cl. - SPFITPKG A minor bug fix was made to the specfit task to prevent errors that were occurring when run on Linux redhat platforms. GRAPHICS.SDISPLAY: - COMPASS The 'angle' parameter was changed from a real to a character string. The user may therefore need to 'unlearn compass' before using it. The default of "" (or "INDEF") means the same as the previous INDEF, that the image orientation should be computed from the CD matrix. An explicit numerical value can be given, as before. The new option is that 'angle' can be the name of an image header keyword, such as ORIENTAT or PA_APER, which will then be read to get the orientation. GRAPHICS.STPLOT: New Tasks: - RDSIAF This task converts PDB SIAF files into an sdas table. It is used by the siaper task in stplot. It was previously in the old cdbs package, but was not included in the new cdbs package. Dependencies on the cdbs libraries have been removed and the task has been installed in the stplot package. Existing Tasks: - IGI A new function in IGI ('pscmd') was added to pass PostScript commands un-interpreted to the output. IGI now will only generate PostScript-specific commands from the PSFNT and PSCMD commands when using a PostScript output device with 'psikern'. HST_CALIB.CTOOLS: New Tasks: - SPLICE, FWEIGHT, SFLUX, PWEIGHT This set of tasks is for splicing spectral data that are in tabular format with columns for wavelength, flux, error, data quality, and weight. The fweight or pweight task can be used to create the weight column; sflux is a utility for use with fweight. The splice task averages and resamples the spectra, writing the output in a format similar to the input format. Existing Tasks: - CKWSTIS The two psets ckwstis2.par and ckwstis4.par for stis spectroscopic modes were modified to add 'wcptab', the wavecal parameters table. - MKMULTISPEC A portion of the interactive capabilities (h,i,j,k,l keys) which were broken due to changes in the underlying system were fixed. - RESAMPLE The task was modified to reverse the FOS AMBER spectra properly. Further modifications were required to accommodate changes in the underlying system. - TOMULTISPEC Modified the task so that it does not abort when trying to acquire informational text from a FITS table. HST_CALIB.FOS: - YFLUXCAL Updated this task to accommodate the change in the 'upreffile' task interface. HST_CALIB.NICMOS: - ASNEXPAND: This is a new task that can be used to add the extra columns to a NICMOS ASN table that are normally added by the CALNICB pipeline task to its output ASC tables. These columns include background signal level and image offset data. This is useful for users who want to use the background and/or offset information as input to CALNICB, without having to first run CALNICB once just to create a new association table with the additional columns. - BIASEQ: The BIASEQ task has been rewritten as a native IRAF task, replacing the previous CL script version. A few of the task parameters have changed, therefore users should unlearn the task before using the new version. The changes include full range specification capabilities for the "skysamps" parameter, splitting the "nreject" parameter into the two new parameters "nlow" and "nhigh", new parameters "dqon" and "dqpar" which can be used to reject pixels based on their DQ values, and the new parameter "thresh" which allows the user to set the threshold level for the intra-quadrant bias jump detection algorithm. - CALNICB CALNICB v2.4 includes the following changes relative to v2.3.1 - The routine to identify sources in images is only called if the images are of an external source (i.e. not for darks or flats). - Initial support for processing Post-SAA dark image associations (to be implemented in Cycle 10) has been added. - ITERSTAT: The ITERSTAT task has been changed from being a hidden task in the NICMOS package to being visible, and a help page has been created. This task can be used to compute image statistics while iteratively rejecting outlieing pixel values. - NICPIPE: The NICPIPE task has been updated to remove the "stage=pedsky" parameter option. The PEDSKY task (see below) has been updated to accomdate flatfielded images on input, therefore it is no longer necessary to apply partial CALNICA processing to images intended for input to PEDSKY. - PEDSKY: The PEDSKY task has been rewritten as a native IRAF task, replacing the previous CL script version. A few task parameters have changed, therefore users should unlearn the task before using the new version. Changes include the capability to accept flatfielded images on input (the flatfield is temporarily backed out for PEDSKY processing), the "salgorithm" parameter settings have been modified, the "inter" parameter has been removed (interactive graphics operations are no longer possible in the new version of the task), new parameters "dqon" and "dqpar" have been added which can be used to reject pixels based on their DQ values, and the task now automatically flags and rejects pixels suspected of containing signal from a source (the new parameter "keepflags" allows the user to retain these source flags in the output image). See the on-line help page for more details. - PEDSUB: This is a new task which can be used to estimate and subtract "pedestal" signal from NICMOS images. It is similar to the PEDSKY task, however while PEDSKY only works well on sparsely-populated images with large amounts of blank sky, PEDSUB can be effectively applied to most any image, regardless of source content. Various user-settable parameters can be used to obtain optimum results for different types of images. See the on-line help page for more details. - SAMPCUM: The SAMPCUM task has been changed from being a hidden task to being visible, and a help page has been created. It can be used to accumulate a set of "first difference" images into a normal NICMOS MultiAccum stack of readouts. - SAMPDIFF: The SAMPDIFF task has been changed from being a hidden task to being visible, and a help page has been created. It can be used to compute "first differences" of the accumulated samples in a NICMOS MultiAccum image. HST_CALIB.PAPERPROD: The paper products code for FOC, WFPC2, STIS and NICMOS were revised to provide PDF bookmarks when the output is converted from PostScript to PDF format. This included the addition of functions to implement the PDFMARK PostScript command within the paperprod code, and a new function in IGI to pass PostScript commands un-interpreted to the output. HST_CALIB.STIS: - CALSTIS Calstis version 2.7 (10-July-2000) includes the following changes (from version 2.3): The input raw image is checked to be sure the exposure time is not zero. A zero exposure time is only allowed if TARGNAME = 'BIAS'. For MAMA data, calstis1 now computes the global count rate, rather than relying on the GLOBRATE keyword (unless the exposure time is zero). The computed value is then used to update the GLOBRATE keyword in the output extension header. The bias level is now subtracted before the error array initialization. The minimum EXPSTART and maximum EXPEND from all input imsets are now determined, and the min & max values are used to update those keywords and TEXPSTRT and TEXPEND in the output file. There was an error in 1-D extraction that affected the exact placement and size of the extraction box when applied to binned data. The error affected the extracted values and could cause an abort due to access to unallocated memory. The error did not affect extractions from non-binned data. Three changes were made in the wavecal processing step: Before doing the cross correlation between an observed wavecal and the template spectrum, the template is now set to zero in the region near the edge of the wavecal image. This is to work around a problem for G230L data: a set of very bright lines near the image edge caused the cross correlation to fail. The shift in the cross-dispersion direction for long-slit data is now determined using a different algorithm. Processing is the same as before through the step of collapsing the data to make a 1-D array, the slit illumination pattern. Previously, the shift was found by locating each edge of each occulting bar and then averaging those shifts. Now, each bar is found by using a cross correlation with a template. The slit illumination pattern is normalized and inverted, so it is near zero over most of the range but is near one where the occulting bars are located. The cross correlation should include a triangular peak, due to the presence of the occulting bar, and the height of the peak should be the width of the bar. The ratio of actual peak height to the expected peak height is used as a weight when averaging the bar locations, and it is used to reject cases (by setting the weight to zero) where the ratio is outside the range of 0.5 to 1.5. For echelle data, the shifts in both axes are now determined by taking a cross correlation between a template image (constructed on-the-fly) and the unrectified wavecal image. This is a major change from the previous method, which used the 2-D rectified file containing one image for each spectral order. Sometimes the input MOFFSET2 keyword is not accurate, in which case calstis7 might label the output images with the wrong spectral order, and then calstis4 would fail to find the shift in the dispersion direction. By working instead with data that have not been 2-D rectified, this problem with MOFFSET2 can be avoided. One consequence of this is that the MOFFSET1 and MOFFSET2 offsets are now included in the SHIFTA1 and SHIFTA2 values that calstis4 determines. The Howk and Semback algorithm for correcting scattered light has been implemented in the 1-D extraction step. Calstis6 and calstis7 now support a cubic term in the dispersion relation. The new term is (spectral_order * wavelength)**3. The function that applies the dispersion relation for 2-D spectral rectification was modified to handle OPT_ELEM = "PRISM" data. The coefficients have a completely different interpretation for prism data than they do for grating data. When flagging the regions covered by the occulting bars, there was a bug in the case that one of the bars overlapped the lower or upper edge of the output image. This was either harmless (a bit was set in values in the border region), or it would cause calstis to crash. A new boolean parameter 'center' was added to x2d, with a default value of no. If center is set to yes, the output 2-D rectified image will be offset so that the target will be centered in the image in the cross-dispersion direction. A bug in calstis8 was fixed. When working on flux-calibrated data, calstis8 averages rather than summing, using the exposure time as the weight. The bug is that it was dividing the sum by the last exposure time read, rather than by the sum of the exposure times. A bug in calstis11 was fixed. The science image is scaled by the exposure time and binning factor prior to being subtracted from the wavecal, but the CCD gain must also be included in the factor, and this was not being done. The default for calstis12 is now to linearly interpolate the shifts over time, in the case that the wavecal file has more than one imset. Previously, the shifts were taken from the imset that was nearest in time to the science image; this is still available as wavecal.option = "nearest". - INTTAG Inttag.c was modified for the case that the output file will be low-res (1024 x 1024, rather than high-res 2048 x 2048). The coordinate parameters CDi_j and CRPIXi in the input file are for high-res, and previously they were not being converted to low-res. For low-res output, CDi_j and CRPIXi are now converted to low-res, and the LORSCORR switch is set to "COMPLETE". - TASTIS The mkpkg file now compiles tastis as a host program instead of as a native iraf task. From iraf, tastis is now defined as a cl script which runs the executable. This was done so tastis could return an exit code if it is run from Unix. Normally tastis will return 0 as an exit code. If at least one of the acquisitions did not succeed, a message is printed to stderr, and 1 will be returned as the exit code. If an out-of-memory error occurs, an exit code of 2 will be returned. PEDESTAL is now read from the primary header of the raw file instead of from the data portion of the _spt.fits extension. The flux in the confirmation image is now only required to be at least 90% of the maximum in the ACQ/PEAK scan, instead of 100%. - WAVECAL For early CCD data, the external shutter was open during the wavecal exposure, so one step in the processing is to subtract the target from the wavecal. There was a bug in the wavecal script for the test as to whether this step should be performed. - X1D A bug was fixed in x1d that surfaced when processing binned data. An incorrect computation of the extraction box size and position caused wrong data extraction and an eventual write to unallocated memory. The bug did not affect extractions from non-binned data. The help file was also edited to conform to the current x1d version. HST_CALIB.SYNPHOT: - SYNPHOT libary The synphot library was modified to correct a bug in the extinction law gal3 (Cardelli, Clayton & Mathis 1989, ApJ 345, 245-256) for the region 3.3 < x < 5.9, where x is the inverse of the wavelength in microns. The revised formula makes about a 3% difference in the answer in this region for an extinction of 1 magnitude. Additional changes to the synphot library include additional coding to print an error message with the file name when an open fails, and an error test to detect the case where the parameter following the sharp (#) character is missing. The refdata parameter file was updated so that the default graph and component lookup table patterns now match FITS files. Two wavelength tables for the acs were also updated in synphot$data. New Tasks: - MKTHRU This is a new task to create throughput tables from ascii files. It will also convert existing throughput tables in stsdas binary format to fits format. Existing Tasks: - BANDPAR A new photometric parameter 'wpeak' was added to the bandpar task. This parameter reflects the wavelength at which throughput has its maximum. - OBSMODE Obsmode was giving misleading answers for the observation mode string acs,wfc1. This is because of the way the graph table was structured: the keyword wfc1 was both at the beginning and end of the graph for this instrument. The code was modified so that it does not follow default nodes if every keyword in the observation mode is already matched. Another modification was also necessary to single keyword (instrument only) observation modes as a special case, to prevent them from returning the entrie graph. This is caused by the way the beginning of the graph table is structured. - PLSPEC The previous fix to the plot limit calculations introduced an error. The calling sequence to setlimits offset the start of the wave array, but not the start of the flux array. This has been fixed. In addition, a new procedure has been coded to to calculate the wavelength limits. This affects how plspec performs the plot limit calculations when the calculated based on where the flux falls to a fraction of its maximum value. A new function ('em') has been added to the synphot calculator. The em() function computes a emission line with a gaussian profile. The user specifies the central wavelength, full width half maximum, total flux of the line, and flux units, in that order. The function that computes the wavelength set for most synphot tasks was also changed. The change ensures that the wavelength spacing does not fall below the precision of the real data type. The change was necessary because the very narrow width of emission line spectra was creating output files with too narrow spacing in the old code. Some other changes were made to insure that pltrans writes to the primary header and not the extension header. HST_CALIB.WFPC: - UCHCOORD A bug was fixed so that single exposures will now work properly. - WARMPIX This task was modified to work with hot pixel talbes of all three formats (FITS, STSDAS, and text), under the new version of TABLES, which has the capability of specifying column names for text tables. PLAYPEN: - HSUBTRACT Out-of-bound checking was added to some array operations. The task previously crashed with floating point errors when run with certain data/parameter combinations. SOBSOLETE: New Tasks: - OLDDITHER The old dither package was moved from ANALYSIS.DITHER to SOBSOLETE.OLDDITHER (see analysis.dither release note) New Location: - NEWREDSHIFT The newredshift task was moved back to its previous location in TOOLBOX.TOOLS (see toolbox.tools release note) TOOLBOX.HEADERS: - UPREFFILE The task was modified so that files with the extension "wav" are not regarded as reference file names. This was needed because wavecal file names look like reference file names and the task previously treated them as such. In addition, the task was modified so that FITS files would not always be placed in the ref directories (graph and component tables should be placed in the mtab directory). TOOLBOX.IMGTOOLS: - ADDMASKS The help file for addmasks was updated to reflect its current location (imgtools package) and current features. Note the extra text on why flags need not be set for the new instruments. - BOXINTERP The parameters 'innerx', 'outerx', 'innery' and 'outery' are supposed to be the full widths of the inner and outer regions in pixels, and they should be odd numbers. If the user specifies an even number, the code is supposed to increase it to the next odd number. The previous code did this incorrectly (it would have converted innerx=1 to 3, for example). This has been fixed. - GCOPY Gcopy has been modified to support the new version of gflib. Additional modifications were made to remove a double open of the first group of the input and output files. Because of an optimization in gflib, this causes the second open, which is the one with the correct arguments, to be ignored. - IMCALC Imcalc was crashing with a floating point exception under Tru64 Unix. The problem was that a real constant was being passed in the argument list to a double precision variable. The constant was modified to make it explicitly a double precision value by adding a d0 exponent. A second modification was made so that the data type of the output image cannot be modified if it is one of the input images. Modifications were also made to support the new version of gflib. TOOLBOX.IMGTOOLS.MSTOOLS: - MSARITH Increased size of some keyword storage strings. The program crashed with segmentation violation when dealing with STIS x2d images due to the size of the BUNIT string. Only noticed under Linux. - MSCOMBINE Fixed minor bug that caused harmless warning messages at file deletion time. - MSCOPY WFPC2 has been added as a possible value for the INSTRUME keyword. For this case, the number of extensions per imset is then set to one. TOOLBOX.TOOLS: New Task: - NEWREDSHIFT This task was moved from sobsolete back to its previous place in toolbox.tools SYSTEM LIBRARY CHANGES CVOS The current CVOS is Version 3.4. The CLIO portion of the CVOS library was modified to contain both "real" and "float" bindings of certain I/O routines (i.e., c_clgetr() and c_clgetf()). Previously, the bindings were named to be compatible with C nomenclature. New routines were added to reconcile the names of the C bindings to the IRAF routines. The new routines are: c_clgetr(), c_clputr(), c_clglpr(), c_clgpsetr(), and c_clppsetr(). The c_iraf.h file was modified to include the IRAF_SZ_FNAME macro. The library was modified to address a problem which allows for the proper compilation of C native IRAF tasks under Solaris 2.8. The library was modified to address a problem with exception handling for host-level tasks and the SIGINT signal. This problem was manifested only with IRAF v2.11.2 on the SOLARIS platform. HSTIO The current HSTIO is Version 2.5. The library was upgraded to provide better and more consistent support for the reading and writing of one dimensional images. Any line acquisition interface routines which have the line number being passed as a parameter expect the line number to be a value in a zero-based reference system (i.e., the first line would be designated as 0).