444.  25 July 2000		tables & stsdas				Ed C

TABLES and STSDAS were frozen on Tue Jul 18 16:05:06 2000 for release 2.2.
TABLES was thawed on July 21 and the two changes below (443 and 442) will not 
appear in version 2.2.  STSDAS was thawed on July 25.  In summary, all updates
before number 442 are included in version 2.2.


443. 21 July 2000		ttools.thselect				Phil

A new thselect task was created, based on hselect.  The source file is
t_thselect.x, and it is in the ttools$thedit directory because it shares
code with thedit.


442. 21 July 2000		ttools.thedit				Phil

The files t_thedit.x and tkw.x were modified to add support for "keyword" $I,
which is equivalent to i_table, which corresponds to the table name.  $I is
used by hedit for the image name, so if people are used to using this, it
seems reasonable to support the same notation for tables.


441. 13 Jul 2000		analysis/dither				JC Hsu 

Copy the current version of stlocal/testdither to analysis/dither.
Copy all files from testdither to dither, except:

keep the mkpkg file in dither, do not copy mkpkg from testdither.
rename testdither.hlp to dither.hlp.
rename testdither.men to dither.men.
rename testdither.cl to dither.cl, edit it to substitute all occurrence of 
"testdither" with "dither".
rename testdither.hd to dither.hd, edit it to substitute all occurrence of 
"testdither" with "dither".


440. 13 Jul 2000		sobsolete/olddither			JC Hsu 

Copy the current version of analysis/dither to sobsolete/olddither.

/sobsolete/:
Edit mkpkg, sobsolete.cl, sobsolete.hd, and sobsolete.men

/sobsolete/dither/:

Edit mkpkg
Edit dither.cl and rename it to olddither.cl

/sobsolete/dither/drizzle/:

Edit mkpkg


439. 13 Jul 2000		stlocal/testdither			JC Hsu 

Rename dither.men to testdither.men, rename dither.hd to testdither.hd.  
Modify testdither.hd to change the logical dither to testdither.

Move dither.hlp from ./doc up and renamed to testdither.hlp.

Add nic-3-infocus, stis-ccd, stis-fuv-mama, and stis-nuv-mama to 
/drizzle/coeffs/.

Edit /doc/drizzle.hlp tto reflect nic changes.

Add wfpc2_chips.hlp.

Edit *.cl files to update the version date.

Edit shiftfind.cl and rotfind.cl to use CRPIX to get image center.
Change the following lines (96-99) of shiftfind.cl:

        imgets (ccname, "i_naxis1", mode="h")
        xcent = real(imgets.value) / 2. + 1.
        imgets (ccname, "i_naxis2", mode="h")
        ycent = real(imgets.value) / 2. + 1.

to:

        imgets (ccname, "crpix1", mode="h")
        xcent = real(imgets.value)
        imgets (ccname, "crpix2", mode="h")
        ycent = real(imgets.value)

Also rotfind.cl (line 125-129).

The main reasons to use crpix are:

(1) the information is already there, we don't have to "assume" the 
algorithm.  If, for example, crosscor decides to change where to put the 
center, the new center will still be contained in CRPIX.

(2) If you imcopy a subsection of the cross correlation image, the "center" 
information will be preserved in CRPIX.


438. 13 Jul 2000		synphot_library				Bernie

The extinction law gal3 (Cardelli, Clayton & Mathis 1989, ApJ 345,
245-256) was coded incorrectly 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. I have revised ebmvxfunc.x in the synphot library to
use the corrected formula.


437. 12 Jul 2000		gflib					Bernie

I removed the call to gf_groups() from gf_gcopy(). The gf_groups()
function tried to determine if an image has groups or extenesions. It
turns out that there is no way to know whether a fits image has
extensions other than try to open them. So I repleaced the call with a 
simple check to see if the image is a fits or geis file.


436. 12 Jul 2000		imgtools.gcopy				Bernie

I modified gcopy 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. Because of the difficulty I had understanding the
original code, I did a total rewrite of gr_copy in t_gcopy.x


435. 11 Jul 2000		stlocal					JC Hsu 

Modify stlocal.hd to change the logical dither to testdither.


434. 10 Jul 2000		stlocal/testdither			JC Hsu 

Modify avshift.cl and gprep.cl to get coefficients from a new pset 
"wfpc2_chips", instead of hard-wiring the coefficients in the code.

Add wfpc_chips.par to provide coefficients to tasks avshift and gprep.

Modify crossdriz.cl, allowing it to work when we specify coeffs="header" for 
STIS and NICMOS data.

Modify driz_cr.cl to add ability to change suffixes for input and output files
(ver. 1.05).  Also add option to weight using flatfield (ver. 1.03).
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 = "").

Add two new tasks loop_blot and loop_driz to simplify the blot and driz loops.

Modify offsets.cl and precor.cl to replace gcopy with imcopy to avoid a bug 
in gcopy.

Modify avshift.hlp to add the pset "wfpc2_chips".

Modify driz_cr.hlp to add parameters: bl_suffix (default = "_bl"), deriv_suffix
(defaul = "_bl_deriv"), cr_suffix (default = "_cr"), cor_suffix
(default = "_cor"), flat (default = no), and flt_im (default = "").

Add gprep.hlp, loop_blot.hlp, and loop_driz.hlp.

Update /drizzle/coeffs/nic-3 and add nic-1 and nic-2.

Update motd, dither.men, dither.hd, and testdither.cl to include new tasks.


433.  7 July 2000		ctools.splice				Phil

A splice subdirectory was added to ctools, for four new tasks for this
package:  splice, fweight, sflux and pweight.  sflux is a cl script.  The
parameter files as well as the source files for splice, fweight and pweight
are all in the splice subdirectory.  Help files were added to ctools$doc/,
and the ctools$ctools.cl, ctools.men, ctools.hd, and mkpkg files were updated.


432.  3 July 2000		ttools.tprint				Phil

Two changes were made to tprint.  When printing header keywords, leading
blanks are now removed from the value and comment before printing.  When
printing data, if the last column on a page is to be printed left justified,
the "%-s" format is used instead of specifying an explicit field width, so
that trailing blanks will not be printed.  (Trailing blanks can still printed
in some cases, e.g. in the line for the units.)  The modified files are
tprint.x and tprplain.x.


431. 30 Jun 2000		wfpc/uchcoord				JC Hsu 

Edit t_uchcoord.x to make the applied coefficients tied to the detector 
used, not the group number.


430. 29 June 2000		sdisplay.compass			Phil

The files compass.x, compass.par and compass.hlp were modified.  The 'angle'
parameter was changed from a real to a character string.  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 be read to get the
orientation.


429. 23 June 2000		tbtables				Phil

The table I/O interface was modified to save the column scaling parameters
TSCALi and TZEROi in the column descriptor.  If a table is opened new-copy,
the original data type (the real type, in the table file) will be preserved
for the output table, and the same scaling parameters will be used.  A new
routine tbcscal was added to the interface to allow setting the scaling
parameters for a previously defined column of type short or int.  The SPP/C
interface file tbfxff.c and its include file underscore.h were modified to
add fsukyd.  The new or modified files are:
    tbtables.h, underscore.h, tbfxff.c, mkpkg,
    tbcscal.x (new), tbfscal.x (new), tbcadd.x, tbcrcd.x,
    tbfnew.x, tbfrcd.x, tbftya.x, tbftyb.x, tbfwcd.x, tbtopns.x.


428. 23 Jun 2000		stis/odelaytime				JC Hsu 

Edit odelaytime's help file to make the output's unit and usage more clear. 


427. 23 Jun 2000		wfpc/uchcoord 				JC Hsu 

Edit the following files:

uchcoord.h
t_uchcoord.x
uchcoord_pdb.x

to add SIAF 13.0, 14.0, and 25.0 updates - small plate scale, v2ref, v3ref, 
and betay changes.


426. 19 June 2000		calstis/cs2				Phil

The two files crrej_init.c and crrej_loop.c in calstis2 were modified.  In
the calls to getFloatLine, getShortLine, and putShortLine, "j+1" was replaced
by "j" because these functions are now zero-indexed instead of one-indexed.


425. 07 June 2000		synphot.plspec				Bernie

The previous fix to the plot limit calculations in plspec introduced
an error. The calling sequence to setlimits in fluxlimits.x offset the
start of the wave array, but not the start of the flux array. I have
fixed this.


424. 01 June 2000		nicmos.nicpipe				Howard

The nicpipe task was updated to remove the "stage=pedsky" option.


423. 31 May 2000		ttools/thedit				Phil

A list of special keywords was added to thedit for getting info such as the
table or file name, the number of rows, the number of columns, and the table
type.  The modified files are t_thedit.x, tkw.x, thedit.hlp.


422. 30 May 2000		nicmos.doc				Howard

Installed help pages for the iterstat, sampdiff, and sampcum tasks.


421. 26 May 2000		nicmos					Howard

Changed the iterstat, sampdiff, and sampcum tasks from being hidden tasks
to being visible tasks in the nicmos package.


420. 26 May 2000		nicmos.pedsky				Howard

Removed the CL script version of the pedsky task and replaced it with
the ANSI-C native task. Updated the help page to reflect minor differences
in the two versions.


419. 26 May 2000		nicmos.biaseq				Howard

Removed the CL script version of the biaseq task and replaced it
with the ANSI-C native task. Updated the help page to correspond to
minor differences in the two versions of the task.


418. 26 May 2000		ttools.tsort				Bernie

I restored the old version of tblmaxrow.x after a fix was installed in
the tables library.


417. 26 May 2000		synphot.plspec				Bernie

I modified how plspec performs the plot limit calculations when the
user does not enter explicit limits. The new wavelength range is
calculated based on where the flux falls to a fraction of its maximum
value. I wrote a new procedure, fluxlimit.x, to calculate the
wavelength limits and modified plspec.x and limdspec.x to call it.


416. 26 May 2000		tbtables				Phil

One of the options for tbpsta is to get the file I/O buffer size.  If the
table is in a FITS file, however, the value returned was garbage, since IRAF
file I/O is not used for FITS tables.  For FITS tables, tbpsta now calls a
new function tbfsiz to get the buffer size used by CFITSIO.  Tbfsiz calls
fsgrsz, which is an interface routine that has been added to tbfxff.c, and
fsgrsz calls the CFITSIO function ffgrsz.  Since fsgrsz didn't exist in the
SPP version of FITSIO, this routine has been added to that version.  The
modified files are mkpkg, tbpsta, tbfxff.c and underscore.h; the new files
are tbfsiz.x and fitsio/fitssppb/fsgrsz.x.


415. 25 May 2000		ttools.tsort				Bernie

A change in the tbtables library support for fits tables caused some
of the tbpsta() function calls to fail for fits tables. To work around
this problem I changed blmaxrow.x so that it arbitrarily set the
maximum number of row that can be sorted internally to 1000 for a fits
file.


414. 24 May 2000		ttools.texpand				Bernie

The version of texpand installed in tables did not have all the
modifications in my private version, so I copied the source of my
version into ttools.


413. 22 May 2000                stsdaslib$cvos                          Michele

Upgraded the CVOS library to incorporate a few needed bindings and to
accommodate the proper compilation of C native IRAF tasks under Solaris 2.8.
XCIO.def, xclio.c, xclio.h where modified to have both "real" and "float"
versions of certain I/O routines.  The c_iraf.h file was modified to include
the IRAF_SZ_FNAME macro.  The stdio.h file now includes two new macros which
essentially circumvent a complicated chain of definitions which are not
needed or wanted by the C native IRAF tasks; the tasks will not compile 
without this fix.  Finally, c_iraf_priv.c contains the upgraded version info.


412. 17 May 2000                fos.ymkmu                               Michele

Modified the ymkmu.cl script such that it now fully specifies the temporary
output file names.


411. 15 May 2000		hst_calib.synphot			Bernie

I added mkthru to the synphot package, a new task to create throughput
tables from ascii files. It will also convert existing throughput
tables in stsdas binary format to fits format.


410. 10 May 2000		tbtables				Phil

In the section for text tables in tbhrpr.x, the data type was being set
incorrectly for keywords HISTORY or COMMENT if the first word of the value
was a number, e.g. "1993 June 17".  The data type is now set to TY_CHAR if
the keyword is HISTORY or COMMENT.


409. 10 May 2000		ttools/thedit				Phil

A new thedit task was added to ttools.  This can be used to add, edit, or
print table header keywords.  The modified files are:  mkpkg, x_ttools.x,
ttools.cl, ttools.par, ttools.hlp, ttools.men, and ttools.hd.  The new files
are:  thedit.par, thedit/mkpkg, t_thedit.x, tkx.x, doc/thedit.hlp.


408. 10 May 2000                ctools/tomultispec                      Michele

Modified 'tomultispec' (with corrections suggested by Phil) so the task does
not abort when simply trying to acquire to informational text from a FITS 
table.

407. 10 May 2000		stsdaslib$synphot			Bernie

I modified opnsyntab.x in the synphot library so it prints
an error with the file name if the open fails.

406.  4 May 2000		synphot					Bernie

I updated the refdata parameterfile so that the default graph and
component lookup table patterns now match fits files. I also updated
two wavelength tables for the acs in synphot$data.

405.  4 May 2000		ttools/trebin				Phil

The trebin task was modified.  When the independent variable column in the
input table contains arrays rather than scalar values, each row will be
rebinned independently; scalar columns will be copied to output unchanged,
and array columns (if they are the same length as the independent variable
column) will be rebinned.  Two new hidden parameters were added, xtable and
padvalue.  xtable is the name of a table of independent variable values at
which the input table will be resampled; this is an alternative to start,
end, step and allows nonuniform output spacing.  If padvalue is not INDEF,
this value will be ignored if it is found at the end of an array of input
independent variable values; INDEF values will also be ignored.  This option
was added because array columns often have an allocated size that is larger
than is actually used, and the array is padded with zero or INDEF.

The modified files are trebin.par, trebin.hlp, mkpkg, trebin.x, tnamcls.x,
tnamgio.x, tnaminit.x, tugcol.x, tuinterp.x, tuival.x; new files are tudcol.x,
tugetput.x, tutrim.x, and tuxget.x.


404. 28 April 2000		tbtables				Phil

All the tbxap[] routines (except tbxapt) in tbxap.x were modified so that
they now call tbxwer when writing to the row following the last row in the
table, for the case that the data type is not the same as the data type in
the table column.


403. 28 April 2000		fitting$lib/rdcurves.x			Ivo

The data ingestion code in the fitting package failed with floating 
point overflow when dealing with 2-D spectra that have log wavelength
scale and the user selected samplepar.axis = 2, that is, fit over the
spatial direction.  Bug was fixed.


402. 25 April 2000		stis$calstis6				Ivo

Fixed a bug in calstis6 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. Files affected:
memory.c, x1dspec.c


401. 21 April 2000		stis$tastis				Phil

The tastis task has been modified, as follows:
1. 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.
2. PEDESTAL is now read from the primary header of the raw file instead of
from the data portion of the spt.fits extension. 
3. If at least one of the acquisitions did not succeed, a message is printed
to stderr, and 1 (instead of 0) is returned as an exit code.  If tastis is
compiled as a native iraf task (via -DNATIVE_IRAF in mkpkg), then the boolean
parameter acq_success will be set to no if any acq did not succeed.
4. 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%.
5. The "# include" statements were moved from tastis.h to tastis.c.
6. The nearest-integer macro in tastis.h has been rewritten.
7. The calls to c_imunmap for imraw7 and imspt1 were moved to the sections
where the images were opened, and imunmap is called separately for the spt
primary header.
8. A FATAL_ERROR macro for out of memory was added, and this value is now used
as an exit code if there was a serious error.
9. domfgs and subfgs strings are now initialized to null.
10. The test on the quad filter name (for setting the filter shift offset) has
been split into four separate tests.


400. 14 April 2000		stlocal$teststis			Phil

The taedit task has been modified to use txtable instead of taextract in order
to extract the array columns to a temporary table.  The newtable and rdonly
parameters have been deleted, and the columns parameter default (null) can now
be used to extract all array columns.  Instead of using taedit with rdonly=yes
to view a table read-only, a new task taread has been created.  The help file
for taedit has been modified, and taread.hlp is new.  The help database file
for the teststis package has been modified because the old one gave errors:
	Warning: bad file type `' in helpdir
perhaps due to the lack of commas between the "hlp=" and "src=" sections.


399. 13 April 2000		ttools$tainsert				Phil

There is a warning message in tainsert.x for the case that the number of rows
in the input table is greater than the array size of the column to which the
values will be written.  The message has been modified to include the column
name.  The task only works on one column at a time, but it became apparent
that the column name was needed in the message when tainsert was used in a
script.


398. 12 April 2000		stxtools$vexcompile.y			Bernie

I modified the lexer in the vex expression evaluator so that indef
strings are capitalized before being added to the expression
evaluator. The iraf procedures that convert strings to numbers
(cto?.x) do not recognized indef strings if they are lower case. The
only modified file is vexcompile.y. The change fixes a bug reported in
tcalc.


397. 11 April 2000              ctools.tomultispec.cl                   Michele

The output file name now retains the directory as well as the root 
specification as provided by the user.  Uses 'tcopy' instead of 'tscopy' --
do not send STDOUT to dev$null for ttools tasks.


396. 10 April 2000		headers.upreffile			Bernie

Upreffile adds a directory name to the filename returned from getref,
because directory names are not stored in the database. It was
assuming all fits files go in the ?ref directories. But graph and
component tables should be placed in the mtab directory. Addrefdir.x
was modified to place these files properly.


395. 30 March 2000		ttools$imtab				Phil

The imtab and tabim tasks have been modified to accept filename templates
for the image and table names.  Another change was made to tabim:  If the
output image dimension is specified, tabim no longer gets all of the axis
lengths from the cl parameters.  All but the last axis length are gotten,
and the last one is computed from the number of rows and the product of
the specified axis lengths.  The modified files are imtab.x, tabim.x,
tabim.par (parameter n7 was deleted), imtab.hlp and tabim.hlp.


394. 30 Mar 2000		ttools.tcalc				Bernie

I modified tcalc so that the input table name can now be a file name
template. The only modified file is tcalc.x.


393. 27 Mar 2000		gasp.stgindx				Bernie

The stgindx script, which copies the Guide Star index table to disk was
creating a temporary file in the current directory. I modified the
script to create the file in a temporary directory to avoid directory
permission problems.


392. 23 Mar 2000		stplot.rdsiaf				Bernie

Rdsiaf is a task that 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. I have
removed dependencies on the cdbs libraries and installed the task in
the stplot package.


391. 17 Mar 2000		synphot.obsmode				Bernie

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. I modified the code in startpath.x so that it does
not follow default nodes if every keyword in the observation mode is
already matched. But that forced me to handle 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. While this is a kludge,
the user will not know or care.


390. 16 Mar 2000		ttools.tsort				Bernie

I made some changes suggested by Phil Hodge to speed up the operation
of tsort on large tables (external sorts). The change fixes a mistake
in tblextsort.x, so that the file type of the temporary table, rather
than the input table, is set to sequential. Another change made to
tbl_maxrow.x computes the number of rows in a temporary table from the
number of chars in a row rather than the number of reals. In addition
to these changes suggested by Phil, I increased the number of tables
used at a single time during the merge from 7 to 15.


389. 07 Mar 2000		wfpc/warmpix 				JC Hsu 

Add the following line 

set clobber =  yes

to warmpix.cl to prevent the error of "cannot open `warmpix?????' for writing"
if the user's CL parameter clobber is set to no.


388. 03 Mar 2000		wfpc/metric 				JC Hsu 

Change the imcur parameter of t_metric.par from 'a' to '' to avoid the 
following pyraf warning message:

Warning: Unable to read values for list parameter `cursor' from file `a'
[Errno 2] No such file or directory: 'a'


387. 03 March 2000		synphot.bandpar				Bernie

I added a new photometric parameter to bandpar: wpeak, which
calculates the wavelength at which throughput has its maximum. The
modification changes three files: newlib/peaklam.x, bandpar/comppar.x,
and doc/bandpar.hlp.


386. 02 March 2000		stis$doc/x1d.hlp			Ivo

File was garbled with info from the xstis$ version. Edited file to
conform to current x1d version in stis$.


385. 01 March 2000              stsdas$fos/model                        Michele

Removed all references of IMPLICIT NONE from all subroutines of the bspec.f
program.


384. 29 February 2000           stlocal$testfos                         Michele

Modified the mspec.f routine to conform to ANSI Fortran standards.  All
DCOSD/DSIND were modified to COS/SIN; the argument to these functions was
converted to radians as a consequence.  Routines using DSIN were just converted
to SIN as the argument was already expected to be in radians.  Removed all use
of IMPLICIT NONE.


383. 28 February 2000           stlocal$testfos                         Michele

Deleted obsolete files from this area: bspec.f, bspec.par, countspec.f, 
countspec.par, h*.par, instpars.par, and g*.x. Deleted obsolete directories 
from this area: calfos22, calfos30, calpolar, and doc.   Updated the 
testfos.* and the mkpkg files appropriately.  


382. 23 February 2000		ctools$ckwstis				Phil

The two psets ckwstis2.par and ckwstis4.par for stis spectroscopic modes
were modified to add wcptab, the wavecal parameters table.


381. 18 Feb 2000		stlocal 				JC Hsu 

Made minor changes in the following routines in stlocal to avoid Linux 
compilation errors:

testwfpc$gsky/gsky_sky.x
testwfpc$kelsall/wutils.x		(move errchk before begin)
testwfpc$psfphot/psfprint.x		(use btoi to convert Boolean to integer)
testcalfgs$calfgsa/fsrc/write_scans.f	(declare dummy as character*80)

Also remove the task caltwfp from testwfpc.


380. 16 February 2000           ctools$mkmultispec                      Michele

A portion of the interactive capabilities (h,i,j,k,l keys) broke in the
'mkmultispec' task due to changes in the IRAF ICFIT data structure.  
'Mkmultispec' has its own copy of icfit.h which must remain in sync with the 
icfit.h file found in iraf$pkg/xtools/icfit.  The new icfit.h file was
incorporated into the 'mkmultispec' task.


379. 15 February 2000		contrib$gaussfit			Phil

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.  The gaussfit/mkpkg file was revised so
that it creates the executable xx_gaussfit.e, and the install entry point
moves that to stsdasbin$x_gaussfit.e.


378. 10 Feb 2000		fits2geis 				JC Hsu 

I edited geis2fits.c (version 1.32) to append a null character at the end of 
any string group parameter.  This will avoid memory leak from one string 
group parameter to another in the next extension.   Also assign a version 
number to fits2geis.c (1.12)


377.  4 February 2000		stlocal.gverify				Bernie

The sense of the comparison for datamin and datamax in gverify were
backwards, so that the program was reporting an error when the values
in the two files were within tolerance. The test was reversed to
correct the problem. The only file changed was tst_verify.x.


376.  7 February 2000		ttools$threed/				Phil

The files titable/tirows.gx and txtable/txtcpt.gx were modified for the case
that the data type is text string.  The buffer for holding the data was being
declared as a 1-D array of characters, rather than a 2-D array, i.e. an array
of strings.  The titable and txtable par files were modified to update the
date in the version parameter.


375.  7 February 2000		tbtables				Phil

The subroutine tbxapt in tbxap.x was modified.  In the case that the array
is to be written to the first row after the end of file, the parameter that
keeps track of the number of rows in the table was not being updated.  The
data would be written to the table but would then be lost.


374.  4 february 2000		stlocal.gverify				Bernie

Gverify was crashing with a re-entrant print format error. The
problem was caused by calling gf_gstfval inside of a pargi call.
I moved the call to gf_gstfval before the printf statement, which
fixed the problem. The change was in gverify.x.


373.  2 February 2000		stis$calstis				Phil

Calstis version 2.6 was installed.  A new algorithm is used for wavecal
processing for echelle data.  Previously the wavecal data were 2-D rectified
before calling calstis4.  Now calstis4 works on the data directly, by making
a model of the image and doing a cross correlation to determine the shifts.
Calstis12 now uses linear interpolation instead of nearest neighbor when
there is more than one imset in the wavecal file.  Several of the scripts
were modified as well, in particular wavecal.cl, because it needs to either
run x2d or not, depending on whether the input data were taken with a first
order grating or an echelle.  Wavecal.cl and _cs12.cl have a new parameter,
option, which specifies whether linear interpolation or nearest neighbor
will be used for copying the shifts to the science file.


372.  2 February 2000		stis$inttag				Phil

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".

In inttag.cl, there were local variables used for the hidden parameters,
which were gotten along with the query (auto) parameters at the beginning
of the script.  These local variables have been deleted, and the hidden
parameters are no longer gotten at the beginning.


371. 26 January 2000		isophote.ellipse			Ivo

Fixed subtle floating point error from zeroed argument in sqrt function.
Only happened with certain image geometries and when using "median"
sampling. Affected file: elpolar.x
 

370. 24 January 2000		gflib					Bernie

While check gfimname.x for errors, I noticed that the code for
creating fits file names set the group number to 1 if it was -1
(undefined) at the beginning of the code, which prevented some other
code from operating correctly. The lines have been moved to correct
the logic.


369. 20 January 2000		gflib					Bernie

Gflib was not properly updating the primary header when a new keyword
was added to the primary header. There were two problems: it was
determining if a fits image had INHERIT set by checking the fits
descriptor, which was not reliable for new images, and the process of
updating the primary header overwrote several required keywords,
including EXTEND. I added inherit to the list of variables checked by
gflib and added a new procedure, gfcopypri.x, which is careful to
preserve the value of required header keywords. The modified source
files are: gfdb.com, gfprimary.x, gfupfits.x, gf_map.x, gfextend.x,
gfchkkey.x, gf_opengr.x, gfdump.x, gfdb.x, and gfsplitua.x.


368. 17 January 2000		stxtools				Bernie

Tp_parse was not correctly computing the number of groups in an image
when the user omitted the image extension from the image name. I
modified tpparse.x so that it now adds the default extension to the
root name if it is omitted, which fixes the problem.


367. 14 January 2000		testdither/driz_cr 			JC Hsu 

I now have made a change in the last imcalc call in driz_cr.cl to
explicitly specify the extension ".pl" for the "*_cr" file.  In the past 
(baseline iraf) imcalc has a "feature" of picking up file of the same root 
name if the file with the default extension (e.g. fits) does not exist.  
The newer version of imcalc is not so generous.  


366. 13 January 2000		gflib					Bernie

I updated gflib to fix some bugs in updating the primary
header. The changes were to gfchkkey.x, which was not bulding the
proper string needed to search the keyword database, and gfupfits.x,
which did not check to see if the added keywords overflowed the user
area buffer.


365. 13 January 2000		paperprod,igi				Warren

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.
The new IGI function is 'pscmd' and the new paperprod functions are
set up in 'paperprod$lib/pp_pdf.x' with an IRAF CL wrapper as well.


364. 13 January 2000		imgtools.addmasks			Bernie

I revised the help file for addmasks to reflect that it is now in the
imgtools package, remove mention of the obsolete copymasks task, and
be more explicit on why flags need not be set for the new instruments.


363. 11 January 2000		gflib					Bernie

Three changes were made to gflib. First, the determination of whether
a fits image has extensions is now made by trying to open the first
extension rather than reading the EXTEND keyword. Second, iraf format
images are now converted to simple fits files rather than fits files
with extensions. And third, the procedures in gf_put.x have been
renamed to avoid name collisions with other gflib procedures. The
modified source files are: gf_map.x, gf_opengr.x, gf_unmap.x,
gfextend.x, gfprimary.x, and gf_put.x.


362. 11 January 2000		tbtables/cfitsio			Phil

CFITSIO version 2.034 (23 Nov 1999) was installed.  The new source and
include files are:  imcompress.h, ricecomp.h, compress_fits.c, imcompress.c,
pliocomp.c, ricecomp.c, and uncompress_fits.c; mkpkg was modified to list
the new source files.  Most other source and include files were modified.
The two include files fitsio.h and longnam.h were copied to the tables$lib/
directory.  Other files that are part of the CFITSIO distribution but are
not used by the tables package were modified or renamed; these include, for
example, Makefile.in, changes.txt, cfitsio.doc, and f77_wrap1.c.


361. 7 January 2000		calstis/cs6				Phil

Ivo fixed a problem in x1dspec.c:  the pointer to data in outw->dq.data
was being used, but memory had not been allocated.  The version string in
stisversion.h was set to "2.5 (06-January-2000)".


360. 03 January 2000            ctools$resample.x                       Michele

Implemented a new version of resample.x which had been modified previously
(10/1998 and 09/1999) but did not seem to make it into STSDAS.  A modification
was needed to accommodate the imparse routine which is an interface violation.
The default value of cl_index and cl_size is now -1.  Also, the software was
fixed to flip FOS AMBER spectra properly.

359. 27 December 1999		gflib					Bernie

I made a small change to the gflib update. The test for whether a fits
file has extensions in gfextend.x was only testing for the presence of
EXTEND in the primary header and not its value. As a result it was
reporting that images with EXTEND=F had extensions. I modified the test
so that if EXTEND is in the primary header, its value is also tested.


358. 23 December 1999		isophote				Ivo

Tasks bmodel, isomap and isoimap sometimes gave slightly off results when the
table created by 'ellipse' has a lot of flipping position angle values (from
near +90 to -90 degress and back) due to noise. Fixed the corresponding .cl
script files by adding a call to tcalc that converts all negative position
angles to the > 0.0 range.
 

357. 22 December 1999		isophote$ellipse			Ivo

Modified the magnitude computation in file eldump.x. The former definition 
showed to be inconvenient and eventually caused errors due to misinterpretation
by users. Also modified files magpar.par and doc/magpar.hlp.
  

356. 21 December 1999		calstis					Phil

Version "2.5 (13-December-1999)" of calstis was installed.  There are two
primary changes.  (1) Ivo made changes to calstis6 pertaining to optimal
extraction.  (2) The function in calstis0 (RefExist) that checks for the
existence of reference files now uses table I/O instead of image I/O.  The
modified files are:  cs0/calstis0.c (the calling sequence of CalStis6 has
been modified), refexist.c, cs6/calstis6.h, absflux6.c, buildprof.c,
calstis6.c, commline.c, do1dx.c, init.c, memory.c, x1dspec.c,
lib/tabpedigree.c (now includes <c_iraf.h> instead of <c_iraf_priv.h>).


355. 21 December 1999		imgtools.imcalc				Bernie

Imcalc has been modified to support the new version of gflib by
replacing the calls to imunmap with calls to gf_unmap.


354. 21 December 1999		imgtools.gcopy				Bernie

Gcopy has been modified to support the new version of gflib by
replacing the calls to imunmap with calls to gf_unmap.


353. 21 December 1999		gflib					Bernie

The gf library has been extensively modified to support the correct
placement of header keywords in either the primary or extension
header. The user interface procedures gf_map.x and gf_opengr.x have
been rewritten and the new user interface gf_unmap.x, which release
the data structure created by gf_map.x. In addition, the header file
gf.h has been modified and a number of low level procedures have
either been modified or added. The calling sequence of gf_map and
gf_unmap matches the calling sequence of immap and imunmap by
design. Calls to gf_map should be paired with calls to gf_unmap to
avoid internal structures from filling. Gf_opengr has been modified so
that the currently opened group will not be reopened.


352. 20 December 1999		gilib					Bernie

Two new procedures have been added to gilib in order to support the
changes in gflib: gi_gfitval.x, which returns information from the
fits image kernel, and gi_ggpn.x, which allows a program to step
through the geis group parameter structure. The header file gi.h has
also been modified to include most of the fits fxf.h header file.


351. 13 December 1999		teststis				Phil

Paul Goudfrooij modified three tasks in teststis, and he added two more.
The modified files are weekdark.cl, refbias.cl, and basedark.cl, and the
new tasks are basebias.cl and weekbias.cl.  teststis.cl was modified to
define the basebias and weekbias tasks.


350. 10 Dec 1999		sobsolete				JC Hsu 

Modify the file sobsolete.hd to use explicit path names in order to avoid help
name conflict (e.g. foc in hst_calib and foccs in sobsolete).


349. 6 December 1999		ocrreject				Phil

The help file ocrreject.hlp was modified to improve the description of the
crmask parameter.


348. 01 Dec 1999		nicmos.biaseq,cfit,nicsub

Modified the biaseq.cl, cfit.cl, and nicsub.cl scripts to set imtype to
imh for temporary files, rather than using FITS files. This avoids any
problems with the use of different forms of FITS files (e.g. simple
versus multiextension files).

347. 24 Nov 1999		headers.upreffile			Bernie

Upreffile contains the function is_reffile(), which determines if a
value in the delta file is a reference file name. If upreffile
determines a value is a reference file name, it adds the appropriate
logical directory name before writing it to the header. Since wavecal
file names look like reference file names, but should not have a
directory added to the name, I modified isreffile.x to say that files
with the extension "wav" are not reference file names.


346. 23 November 1999		calstis					Phil

Calstis version 2.4 (16-November-1999) has been installed.  Calstis1 now
does BLEVCORR before error array initialization; this is because previously
the error array initialization relied upon the bias level from the CCD
table, and this value is not very accurate.  The CCD gain is now included
in the ratio used to scale the science image before being subtracted from
the wavecal image in calstis11.  Calstis12 now prints a warning message if
it looks as if the MOFFSET2 value is wildly incorrect.

The modified files are:
stis$calstis/stisversion.h
stis$calstis/cs*/mkpkg
stis$calstis/cs1/ calstis1.h do2d.c doblev.c dolores.c donoise.c
stis$calstis/cs11/ calstis11.h getkeyinfo11.c subsci.c
stis$calstis/cs12/ avgshift.c


345. 22 Nov 1999		hst_calib$paperprod			JC Hsu 

Delete the obsolete files opp/opp_calib.cl and opp/opp_obsum.cl


344. 15 Nov 1999		imgtools.imcalc				Bernie

I modified imcalc so that the data type of the output image cannot be
modified if it is one of the input images. The modified code is in
imvar.x.


343. 15 Nov 1999		gflib$gf_map.x				Bernie

The previous fix to gflib, which copied the primary header, introduced
a problem. When copying a fits file without extensions, it is
converted to a fits file with extensions. To avoid this problem, I now
check the value of EXTEND in the template descriptor and only copy the
primary header if it ia true.


342. 15 Nov 1999		gasp$xyeq				Phil

The file gasp$gasplib/trsteq.x was modified.  The trsteq subroutine converts
standard coordinates to right ascension and declination.  The previous version
used equations from Smart's Spherical Astronomy, and these equations were not
very good near the poles.  The subroutine has been replaced with code based on
tables$lib/stxtools/xtwcs.x.


341. 15 Nov 1999		mstools$mscombine.cl			Ivo

Fixed minor bug that caused harmless warning messages at file deletion
time.


340. 10 Nov 1999		hst_calib$paperprod			JC Hsu 

Edit the file ypp/ypacqbin.cl to change the declaration of "off" from the
incorrect int to real.


339. 10 November 1999           fos$yfluxcal.cl                         Michele

Updated the yfluxcal script to accommodate the change in the 'upreffile'
interface.


338. 04 November 1999		tables$lib/gflib			Bernie

Gflib is designed to allow geis specific tasks to transparently access
either geis or fits format files. To increase the compatibility I
modified gflib to copy the primary header the first time a new image
is opened in NEW_COPY mode. I also explicitly set the type of a new
extension to the type of the old extension when an image is opened
NEW_COPY. This works around a bug in the fits kernel. These fixes
still leave unsolved the problem of copying the primary header into
the extension header when inherit is true.


337. 03 November 1999           cvos                                    Michele

Modified the c_iraf_priv.c routine to fix 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.  Changed printf() calls to
fprintf() calls.  The problem seems to be a memory corruption, but I could
not track down the specific cause. XC was modified to force the loading of
the C library as dynamic, but this could just be a coincidence. The CVOS
is now Version 3.3 (03-November-1999). 

336.  2 November 1999		calstis/cs8				Phil

The file calstis8.c was modified.  For the case that the input spectroscopic
data were flux calibrated, the data are averaged rather than summed, using
the exposure time as weight.  The weighted sum was being divided by the last
exposure time, however, rather than by the sum of exposure times.


335.  1 November 1999		imgtools$boxinterp			Phil

The file boxinterp.x was modified.  The parameters innerx, outerx, innery
and outery are supposed to be the full widths of 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
code actually loops from -innerx to +innerx (for example), so it divides
the user-specified value by two.  The old version was:

	innerx = ( clgeti( "innerx") + 1 )/ 2

which wasn't correct.  For example, if the user specified innerx = 1, the
code would actually loop from -1 to +1, over three pixels instead of one.

The new version is:

	innerx = clgeti ("innerx") / 2


334. 27 October 1999		mstools$mscopy				Phil

The function CreateOutput in mscopy.c was modified to add WFPC2 as a possible
value for the INSTRUME keyword.  For this case, the number of extensions per
imset is then set to one.


333. 26 October 1999		imgtools.imcalc				Bernie

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. I modified the constant
to make it explicitly a double precision value by adding a d0
exponent. The change was to the definition of the macro HARMLESS in
imcalc.x.


332. 25 October 1999		cfitsio					Phil

The function ffswap8 in swapproc.c was modified.  The previous version
assigned the input double precision value to a local buffer, and this
occasionally failed because the value hadn't been byte-swapped yet, so
it could be a NaN.


331. 19 October 1999		mstools$msarith				Ivo

Increased size of the keyword storage string in function n_fileinfo.c.
The program crashed with segmentation violation when dealing with
STIS x2d images due to the size of the BUNIT string. This happened
only under Linux though.


330. 15 October 1999		stis$wavecal.cl				Phil

Wavecal.cl was modified.  There is a test to see whether cs11 should be
called, and there was an incorrect assumption about precedence (|| vs &&)
in that test.  Parentheses were added to correct the error.


329. 14 October 1999		statistics$kmestimate			Howard

Kmprint.x was modified to fix a reentrant printf bug.


328. 30 September 1999		ttools$tchcol				Phil

Tchcol.x was modified.  Trailing blanks are now removed from the new values
of column name, print format, and units.  (Leading blanks were already being
removed by calling xt_stripwhite.)  The mkpkg file was modified to add
<ctype.h> as a dependency for tchcol.x.


327. 28 September 1999		stis$calstis				Phil

The following files were modified to check for zero exposure time:
getsciinfo.c, calstis4.h, getgrpinfo4.c, wavecal.c and do2dx.c.  The version
number was were updated to "2.3 (23-September-1999)" in stisversion.h.


326. 20 September 1999		stads$lib/synphot			Bernie

I added an error test to breakparam.x ro detect the case where the
parameter following the sharp (#) character was missing.


325. 24 September 1999		tbtables				Phil

Subroutine tbbecd in tbzrdx.x was modified to call tbztyp instead of tbbtyp;
tbztyp.x is a new file, and mkpkg was modified to include it.  Both tbbtyp
and tbztyp convert a data type expressed as a string to an integer code, but
tbztyp further converts that code to one that is supported for text tables.
In particular, real is converted to double, short to int, and boolean to an
eight-byte character string.


324. 20 September 1999		synphot					Bernie

I added the em() function to the synphot calculator. The em() function
computes a emission line with a gaussian profile. You specify the
central wavelength, full width half maximum, total flux of the line,
and flux units, in that order. Adding a new function involves adding
the new function, (emfunc.x), changing the compiler (syncompile.y and
syncompile.x), changing the calculator and its header file (syncalc.x
and syncalc.h), and changing the function that computes the wavelength
range (calcrange.x).

I also changed gatwavelen.x, the function that computes the wavelength
set for most synphot tasks. 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.

The call to the new function in rdtabhd.x by pltrans/hpovwrite.x was
converted back to a call to tbhgt.x, as the code in other procedures
in pltrans were writing to the extension header and not the primary
header.


323. 20 September 1999		stis					Phil

The following cl scripts were modified to remove "%^$#*%^$ IRAF CL" from the
comment about avoiding multiple parameter prompts by the cl:  defringe.cl,
mkfringeflat.c, normspflat.cl and prepspec.cl.


322. 20 September 1999		stis$calstis				Phil

Calstis version 2.2 was installed.  The modified files are:  stisversion.h,
cs2/calstis2.c, cs2/crrej_check.c, cs2/crrej_do.c, cs2/o_cal2_in.c,
cs6/background.c, cs7/geocorr7.c and lib/interp1d.c.  The 1-D interpolation
was reading beyond the end of an array, under some conditions.  The sigma-
clipping for the background in 1-D spectral extraction was rejecting too
much data in MAMA data with very low counts.  In the geometric correction
routine, the MOFFSETi values should have been added to CRPIXi, not to the
coordinates for every pixel.  An extra argument (niter) was removed from
the calling sequence of crrej_do.


321. 11 Sept 1999		gflib$					Bernie

The procedure gf_gfind.x failed to compile under Linux because the
output from the boolean function strne() was being assigned to an
integer. I wrapped the call to strne() in a call to btoi() to fix the
problem.


320. 10 Sep 1999		hst_calib$paperprod			JC Hsu 

Update paperprod to version 2.26 from 2.25.  This involves moving the 
following files from testpp (in stlocal) to paperprod (in hst_calib):

pp_dads.cl
/lib/clip_mean.x
/upp/upp.h
/upp/upp_image.x
/xpp/xpp.h
/ypp/ypp_polerr.x
/ypp/yppolar.cl

I also cleaned up some unused files (mostly, *.old).


319. 08 Sep 1999		paperprod$zpp				JC Hsu 

Update the file zpp.cl in both hst_calib$paperprod/zpp/ and testpp$zpp/
to add a missing parenthesis at line 238.


318.  7 September 1999		stis					Phil

The file daydark.cl was modified to replace "for-" with "format-" in the
four calls to imstat.


317.  7 September 1999		teststis				Phil

The files mkdeuterium.cl, mkspecflat.cl, nuvmamadark.cl and sec_stat.cl
were modified to fix syntax errors.


316.  7 September 1999		tbtables				Phil

The file tbfnew.x was modified.  When creating a new FITS file, the keyword
NEXTEND is now added to the primary header, with a value of one.   When
adding an extension to an existing FITS file, NEXTEND is updated (or added,
if it doesn't exist) to be the number of the extension that is being added.
When an existing extension is overwritten, NEXTEND is neither modified nor
added.  To support this, fsukyj was added to the SPP interface file tbfxff.c
and its header file underscore.h.  In addition, the macro FITS_ORIGIN_CMT in
tblfits.h was modified to the current date 1999-09-07; this is the comment
string for the ORIGIN keyword.


315. 03 September 1999          stsdaslib, stsdaslib$cvos               Michele

Modified the c_iraf_priv.h and c_iraf_priv.c files to change "long" to "int" 
in the two new wrappers which support special QPOE conversions.  The wrappers
are c_IrafString() and c_IrafPointer().  Updated the CVOS version to v3.2.2.


314. 03 Sep 1999		stlocal$testpp				JC Hsu 

Update the following files in testpp/ypp:
yppolar.cl, ypp_polerr.x

to remove the dependency on NREAD.


313. 03 September 1999       hrs                                        Michele

Fixed an incorrect value in the waveoff.par file.  Parameter "max_offset"
should be INDEF and not indef.


312. 03 September 1999       ctools                                     Michele

Fixed an incorrect value in the specalign.par file.  Parameter "resamp_func"
should be "s" and not "f".


311. 31 August 1999          stsdaslib$hstio                            Michele

Installed the latest version of the HSTIO library (v2.3) on 24 August 1999.
This version involved some cleanup of the directory, updates to files 
containing functions which take no parameters to indicate this via void.
Modified openInputImage (hstioirf.c) to allow opening of 1D data.


310. 31 August 1999        hrs/templates and fos/templates              Michele

Updated the template header files such that the comment string for all 
keywords DATExxxx conforms to the FITS standard of yyyy-mm-dd.


309. 30 August 1999		analysis$fitting/lib			Ivo

Fixed date string size in colnames.h (Y2K bug !)
 

308. 26 August 1999		mstools$mscopy				Phil

A new task, mscopy, has been added to the mstools package.

307. 27 August 1999		sobsolete				Ray

Removed kwedit and wavecal from package and added several tasks that
were deemed obsolete.  Most of these were either of limited use, or were
needed for creating calibration files for no longer used instruments.


306. 18/19 August 1999         stsdaslib$cvos                           Michele

Installed the latest version of the CVOS library (v3.2.1).  The most important
changes were to create some new requested C-bindings, modifications were done
to conform to ANSI standards, and some code provided by CXC was added to
the XQPOE portion of the library to allow special datatype conversions.


305. 12 August 1999		ttools$tprint				Phil

tprhtml.x has been modified so that plength is used for option="html".  If
plength > 0, the header (column names and units) will be printed after plength
lines of output.  In contrast with option="plain", a form feed will not be
printed, and the header will not be printed in the middle of an array.  The
header may be printed at the end of the document, however.


304. 11 Aug 1999		stlocal$testcalfgs			JC Hsu 

Update the following files:
write_scans.f, output_table.f, Ltfrmode.f, fgsa.f, 

so it now creates a rootname.scan_summary file if the observing mode
is TRANSFER and now the output files are all in lower case.


303.  9 August 1999		ttools$tprint				Phil

The tprint task has been modified.  A new "html" option has been added,
which prints the header parameters and/or the data in HTML format.  For
option = "plain" or "html" (but not "latex" or "tex" yet), if any column
that is to be printed contains arrays, all array elements will be printed.
The modified files are tprint.x, tprplain.x, tprhtml.x (new), tprlatex.x,
tprint.par and tprint.hlp.


302. 13 August 1999		synphot					Bernie

I made some more changes to support using fits files in synphot. Fits
files will have their keywords in the primary header instead of the
extension header. A set of new functions, in rdtabhd.x, checks to see
if a table is a fits file, and if so, opens up the primary header and
reads the keyword from it. The various procedures in synphot that read
the table header have been changed to call these new functions. The
procedures are catfunc.x, colinterp.x, findthruput.x, and rdthrudr.x
in the synphot library and hpovwrite.x in pltrans.


301.  5 August 1999		tbtables				Phil

A new parameter COL_NELEM has been added to the column description structure.
This is the number of elements in a column array.  Previously this was
calculated on the fly from COL_LEN using the function tbalen.  tbalen has
been moved into tbcrcd.x, since that's the only routine that still calls it,
and tbalen.x has been deleted.  The modified files are:
mkpkg (remove tbalen.x), tbtables.h, tbcadd.x, tbciga.x, tbcigi.x, tbcrcd.x,
tbfag.x, tbfiga.x, tbfrcd.x, tbrcsc.x, tbxag.x, tbxap.x, tbzrds.x.


300.  5 August 1999		tbtables				Phil

The subroutine tbfhgt in tbfhg.x was modified for the case that the keyword
is HISTORY, COMMENT or blank.  FITSIO (and CFITSIO) return the value in the
argument for the comment rather than the argument for the value, for these
keywords, so tbfhgt now returns the comment instead of the value.


299.  3 August 1999		tbtables				Phil

The files tbfrcd.x, tbuopn.x and mkpkg were modified.  tbfrcd.x was rewritten
to read all header keywords that are used for column definitions in one call,
instead of reading specific keywords one column at a time.  The call to tbfrcd
in tbuopn.x was moved outside the loop over columns.  In mkpkg, the entry for
tbfrcd.x was modified to include tblfits.h as a dependency.


298.  2 August 1999		stsdas$lib/synphot			Bernie

I made some changes to the synphot library necessary to support using
fits tables in the cat and icat functions. There were two
problems. First, synphot always built the name of the catalog table
used to look up the spectra with the extension ".tab". It now tries to
build a catalog table name with either the extension ".tab" or
".fits". Fixing this problem required changes to catfunc.x and
syncalc.h. Second, synphot was recovering the name of tables from the
table descriptor using the function tbtnam. But the table name
recovered had a [1] on the end, which was not part of the original
name. This caused some problems in the code. To fix the problem I
wrote the new procedure syntabname.x, which calls tbtnam but strips
any bracketed section off. I modified catfunc.x and opnsyntab.x to
call the new procedure.


297. 30 July 1999		stsdas$lib/zzsetenv.def			Phil

Comment out the lines setting jref, jtab, nref and oref as iraf environment
variables.  They must be Unix environment variables instead.  (And the
directories specified were also incorrect.)  If the user hasn't set these
as Unix environment variables, and if they're set in iraf, then "dir oref"
would show the files (if the directory were correct), so it would look as if
the environment variable were set up correctly.  But calstis would not find
the files, and the user would have a right to wonder why not.


296. 29 July 1999		ttools.tcreate				Phil

The file tcreate.x was modified to allow the data values corresponding to
an integer column to be expressed as floating point numbers, as long as the
fractional part is zero.  For example, 7.00 and 300.e-2 would be allowed.


295. 28 July 1999		stis.wavecal				Phil

The wavecal.cl and _cs4.cl files (and wavecal.hlp) were modified to include
a new parameter, debugfile.  This is for turning on the option of printing
test and debug info to a text file.  For CCD data, the cosmic-ray flagged
DQ extension is also saved to a FITS file.


294. 27 July 1999		stis/calstis				Phil

The calstis package was updated to version 2.1 (26-July-1999).


293. 23 July 1999               stis/echscript                          Michele

Removed C-bindings internal to the echscript.c program in favor of using the
"official" C-bindings for xselector from the CVOS library.  Fixed include
statements in echscript.c and igisetup.c. Modified the mkpkg file with
respect to the header files, and updated echscript.par for version.  Deleted
the local and obsolete xselector.h file.


292. 16 July 1999		tbtables/cfitsio			Phil

The file eval_y.c was modified because of a compilation warning on Tru64.
The BISON code uses alloca instead of the standard malloc, and it doesn't
include <stdlib.h>.  There was already a section of code to define alloca
as malloc, but it was bracketed by "if defined" for vms and a number of
other systems.  I added "#include <stdlib.h>" and deleted the "#if defined"
and "#endif" statements, so alloca will always be defined to be malloc.


291. 13 July 1999		stis					Phil

Paul Goudfrooij modified daydark.cl and daydark.hlp.


290.  8 July 1999		headers.upreffile			Bernie

Before applying changes in the delta file, upreffile checks the
current keyword value in the header to see if the delete is
necessary. The check was incorrect when the operation was delete,
resulting in some header keywords not being deleted. The new check
does the delete if the header keyword is found and does not if it is
not. The code was also modified to print a more descriptive message
when querying the user to delete a keyword. All changes were in the
file upheader.x


289. 29 June 1999		fitting$nlfit				Ivo

Fixed bug that caused segmentation violation error under Linux when the
nfit1d task was invoked with the "user" function type. Affected
file: nlscale.x
 

288. 29 June 1999		ttools.tcopy				Phil

tcopy.x was modified to allow the input table to be "STDIN".  Previously,
in subroutine one_copy, the tbtacc function was called (under some conditions)
to check that the input was in fact a table.  This resulted in the standard
input being read twice, once when tbtacc was called (since it calls tbtopn)
and again when fcopy is called to copy the file.  If the input was redirected
from a file or was piped, it would be empty when fcopy was called.  The fix
was to check whether the input file name was "STDIN" before calling tbtacc.


287. 23 June 1999		stsdas$lib/synphot			Bernie

I modified the synphot library so that parameterized tables with
wavelengths in descending order are now supported. This capability was
previously in synphot, but was removed when support for shifted
interpolation was added to synphot. Although the capability to use
throughput tables with wavelengths in descending order was rarely
used, it was deemed important to maintain backwards compatibility.
All changes are to the synphot library. The new procedure flip.x was
added and procedures in evalfilt.x, getthrucol.x, getparcol.x,
colinterp.x, and synsort.x were modified.


286. 22 June 1999		tables$lib/stxtools			Bernie

The template parser, tpparse.x, was reporting the wrong number of
groups when passed a complex group specifier that it could not parse,
for example, [sci,1]. This happened beacuse when the expression could
not be parsed, it acted as if there was no group specifier and
set the count to all the groups in an image. I have revised the code
so that when a group specifier is present that cannot be parsed the
number of groups is set to one.


285. 21 June 1999		stlocal$impol				JC Hsu 

Install the impol package to stlocal.  This package was written by Jeremy 
Walsh from STECF.  Also edit stlocal$lib/zzsetenv.def, stlocal$stlocal.cl, 
and stlocal$stlocal.hd to include impol.


284. 21 June 1999		calstis2				JC Hsu 

Edited the subroutine crrej_loop.c to reset imput images' DQ so when 
calstis2 is run more than once on the same file, it will not pass along 
the previously set CR bits.


283. 21 June 1999		ttools.tmerge				Phil

If all input files to tmerge are simple text tables, and if the output is
text, the output should be simple format (no column definitions).  This is
an issue if allcols=yes because the implicit column names (c1, c2, etc) are
duplicated in each input table.  The previous algorithm for generating unique
column names used to be OK because they were discarded when writing to a text
table, but now it would result in the output table having these generated
column names.  The new algorithm is that for each input simple text table,
the column names are changed to "c" followed by the column number in the
output table.  If all column names are of this form, they will be discarded
if the output is a text table, keeping it simple.  If some input tables have
real column names, they (and any generated ones) will be preserved in the
output table.


282. 18 June 1999		ttools.tcreate				Phil

The tcreate task was modified to allow creating a text table with explicit
column definitions.  Except for formatting, this isn't much different from
concatenating the cdfile, the uparfile, and the datafile.  It just didn't
seem reasonable to disallow this option.  The files that were modified are
tcreate.x, tcreate.par, and tcreate.hlp.


281. 15 June 1999		tbtables				Phil

The files tbctpe.x, tbtcre.x, and tbzwrt.x were modified.  tbctpe now copies
the table subtype, if the input is a text table.  tbtcre resets the table
subtype, if the table is stsdas format (in case it was set by tbctpe).  In
tbzwrt, the section for changing the subtype of a text table from simple to
"explicit column definitions" was modified.  Previously the subtype was
changed whenever the column name differed from "c<N>", with N equal to the
column number.  Now the subtype remains simple unless N is null, begins with
'0', or contains any character other than a digit (i.e. unless the column
name is not a possible column name for a simple text table).  This was done
to allow both the input and output from tproject (for example) to be simple
text tables; in the previous version if the second column was extracted by
tproject, the output would have been converted to explicit with a column
name "c2".


280. 10 June 1999		tbtables				Phil

The files tbhrpr.x and tbzwrt.x were modified.  For the case of a text table,
the previous version of tbhrpr required whitespace on either side of the
equals sign; this restriction has been removed.  When writing out the column
definitions for a text table that has explicit column definitions, the column
name and units are now enclosed in quotes if they contain embedded whitespace.


279.  9 June 1999		ttools/tinfo				Phil

A new task parameter, subtype, has been added to tinfo, and the values for
the table type, tbltype, have been modified.  The table types "row" and
"column" have been changed to "stsdas", with subtypes "row ordered" and
"column ordered" respectively.  For text tables, the subtypes are "simple"
(plain ascii table) and "explicit column definitions" (if the file has
column descriptor lines).  Tables in FITS files have subtypes "ascii",
"binary", and "primary header" (which can be opened as a table just to
access the keywords).  If the subtype differs from the default (simple,
row ordered, or binary), it is now printed on the same line with the
table type.


278.  9 June 1999		ttools/tchcol				Phil

The file tchcol.x was modified to remove warning messages for text tables
when a column name and/or units were modified.


277.  9 June 1999		ttools/tcopy				Phil

The line that is printed by tcopy in verbose mode, giving the names of the
input and output table names, is now preceded by "# ".  This is to prevent
problems when piping text tables through tcopy; before the line was
commented out, it looked like a row of the table.


276.  9 June 1999		ttools/tprint				Phil

Tprint has an option to print the units for each column.  Since columns in
text tables didn't have units (until now), there was a test in tprint for
the table type, and printing of units was automatically disabled for text
tables.  Now that columns in text tables can have units, tprint.x has been
modified to remove this test and allow units to be printed.


275.  9 June 1999		ttools					Phil

The following tasks were modified to set the input to STDIN or the output
to STDOUT, without getting the cl parameter, if the I/O is redirected:
imtab, tabim, tcopy, thistogram, tinfo, tintegrate, tlcol, tlinear,
tprint, tproject, tquery, trebin, tselect, tstat, ttranspose.


274.  7 June 1999		tbtables				Phil

The following files were modified.  Two new features were added for text
tables:  (1) Explicit column definitions can be given in the file.
(2) Header keywords can be specified.  A table "subtype" was introduced;
text tables are either TBL_SUBTYPE_SIMPLE (the old kind, except that they
can have keywords) or TBL_SUBTYPE_EXPLICIT (if they have explicit column
definitions).  Some FITS table routines were changed as well, mostly to
use a different name for storing the subtype; for FITS tables the subtypes
are TBL_SUBTYPE_ASCII, TBL_SUBTYPE_BINTABLE or TBL_SUBTYPE_IMAGE (primary
header).  The subtype can be gotten using tbpsta with macro TBL_SUBTYPE,
and for a text table the subtype can be set to TBL_SUBTYPE_EXPLICIT.

README, mkpkg, tblfits.h, tbltext.h (new), tbtables.h,
tbcadd.x, tbctpe.x,
tbfdef.x, tbfnew.x, tbfopn.x, tbfrcd.x, tbfrsi.x, tbfwer.x, tbfwsi.x,
tbhanp.x, tbhcal.x, tbhckn.x, tbhdel.x,
tbhgcm.x, tbhgt.x, tbhpcm.x, tbhrpr.x, tbhwpr.x,
tbpset.x, tbpsta.x,
tbtchs.x, tbtclo.x, tbtcre.x, tbtdel.x, tbtnam.x, tbtopn.x, tbtopns.x,
tbtrsi.x, tbuopn.x,
tbzclo.x, tbzcol.x, tbzkey.x (new), tbzlin.x, tbzmem.x, tbznew.x, tbzopn.x,
tbzrds.x (new), tbzrdx.x (new), tbzsiz.x, tbzsub.x (new), tbzwer.x, tbzwrt.x.


273.  4 June 1999		synphot.simulators			Bernie

I set the default value of psfcat to scidata$synphot_psf.cat in the
simcatp parameter file. The affected files were simcatp.par,
doc/simimg.hlp, and doc/simspec.hlp.


272.  3 June 1999		synphot.simulators			Bernie

I modified pixsize.x to add a check for the existence of the header
keywords CTYPE1 and CTYPE2 befare trying to read them. This prvents an 
error exit in case these keywords are not found.


271. 03 June 1999               stsdaslib and hstio                     Michele

Modified the stsdaslib mkpkg file so that the compilation/link flags for
the CVOS and HSTIO correspond exactly to the settings found in the mkpkg files
found in the CVOS and HSTIO subdirectories.  Modified the HSTIO mkpkg to 
add the <> characters around the included header files.


270.  2 June 1999		gasp					Bernie

The directories that the Guide Star Catalog CDs are mounted on were 
changed to /data/gsc1 and /data/gsc2. I updated the tasks in the gasp
package to look at these new locations. The changed files were
sgscind.par and stgindx.cl, as well as the documentation files FAQ,
README_CD, and gasp.hlp.


269.  2 June 1999		tables$lib/				Phil

tbset.h was modified to include TBL_SUBTYPE and macros for various table
subtypes.  For text tables the subtypes are simple and "explicit column
definitions," and for FITS tables the subtypes are ASCII and BINTABLE.


268.  1 June 1999		tbtables				Phil

The following files were modified:  tbtables.h, tbfxff.c,
tbfclo.x, tbffnd.x, tbfnew.x, tbfopn.x, tbfpri.x, tbtopn.x and tbtopns.x.
The C pointer used by CFITSIO functions was being stored in a four-byte
element in the table info structure.  This failed on a TRU64 machine, which
has 64-bit pointers.  The change was to use two integer words to store this
pointer, and when getting the pointer in a local variable, the variable is
equivalenced to a double for purposes of alignment.  In addition, there were
several places in the SPP to C interface (tbfxff.c) where I had neglected to
cast SPP int to C long, and this failed because C long was eight bytes.


267.  1 June 1999		stis					Phil

The files basic2d.cl and basic2d.hlp were modified to say that the data
are divided by the flat field, not multiplied.


266. 28 May 1999		stsdas$lib/synphot			Bernie

I softened the warning message printed when using throughput tables
sorted in descending wavelength order so it would not alarm the user.


265. 28 May 1999		synphot					Bernie

There is code in synphot to set the minimum lower limit for log
plots. The reason for the code is that taking the log of zero or a
negative number causes an error, so some minimum needs to set to keep
the plotting tasks from crashing. My choice of the lower lmit was bad:
10e-7, the precision of single precision reals. Instead it should be
the smallest possible positive single precion real. I've set the new
minimum to 1e-36, which is slightly conservative, but should be good
enough for typical physical units. The fix was made in newlib/pltbox.x
Since the problem was in shared synphot code, the problem should be
fixed for all the plotting tasks


264. 27 May 1999		stsdaslib$synphot			Ray

Small bug in redlaw.x found by Tru64 compiler - usage of min did not
have duble precision numbers.


263. 27 May 1999                stsdaslib$hstio                   Ray & Michele

Ray updated the updateWCS function in the hstio.h and hstio.c file to reflect
the proper return type of VOID and not INT.  Michele updated the hstio.h file
to indicate the new version of the HSTIO library (v2.2) and deleted the 
hstio.h and numeric.h files from the HSTIO subdirectory.  These header files
now only reside in stsdaslib.


262. 27 May 1999                stsdaslib$cvos                          Michele

Modified files to accommodate the OpenVMS system.  Added a NOLIBC macro to
irafinit.c which will work in conjunction with the vms.h ([iraf.vms.os]) 
file.  Added an ifndef/endif check to the vms.h file surrounding the string
functions.  If __VMS is defined, then _exit is just exit in c_iraf_priv.c.
The c_iraf.h file was updated to reflect the new version of the CVOS library
(v3.1).  Provided Ray with a copy of vms.h as this file is not part of the
CVOS CVS repository.


261. 17 May 1999		stsdaslib$synphot			Bernie

I rewrote the code that extracts the throughput data from a
parameterized throughput table. There are two changes to the
code. First, the column selection code was rewritten to match the more
sophisticated code use by the icat() function in the synphot
expression evaluator. Second, I modified the interpolation code to
optionally shift the throughput data to a common origin before
interpolating. The shifting improves the modelling of ramp filters,
where the throughput at different wavelengths chiefly differs in a
shift of origin of the function. This improved modelling allows ramp
filters to be sampled at more widely spaced central wavelengths,
reducing the amount of space these files occupy.

The shifting of the origin of parameterized data is only optional
because the other major use that is made of parameterized throughput
tables is modelling the wfpc2 contamination, which does not have a
shift of origin like the ramp filter data. A new header keyword in the 
throughput table, PARAMS, determines whether shifting is done. This
new keyword is meant to document the units of the parameterized
variable. If it is set to "wavelength" (in either case), the
throughput data will be shifted to a origin at the interpolated
variable before doing the interpolation. Since parameterized
throughput tables support interpolation in more than one dimension
(although this feature has never been used in the production code), if 
there is more than one dimension in the parameterized data, there
should be a comma separated list of words in the PARAMS keyword. If
any of the words in the list is "wavelength", shifting of the origin
will be done in that dimension.

All updates were made to the synphot library in stsdas. The files
libsynphot.h, getparcol.x, getthrucol.x, and evalfilt.x were
modified. The files buildparam.xand decparam.x were deleted, as they
are no longer used by the new code. The files colinterp.x,
colmindist.x, colcategory.x, and shiftinterp.x were added to support
the new interpolation algorithm.


260. 12 May 1999                ctools                                  Michele

Added a missing double quote to the beginning of the comment field for the
defddtbl parameter in ckwfos.par.


259. 11 May 1999		isophote$ellipse			Ivo

Fixed bug that caused task to crash with floating point error when 
processing the SMA=0 data and reading from 'inellip' table. Routines
affected: el_zero.x
   

258.  6 May 1999		stxtools				Bernie

The procedure tp_parse takes an image name with an optional section
and returns the first group/extension number and total number of
groups/extensions parsed from the name. If no section is supplied with
the name, it opens the image to determine this information. The
previous fix for tp_parse modified it so fits files with the data in
the primary header would correctly report that the starting
group/extension number to be zero. The fix, however, causes problems
when tp_parse is run with the name of a currently non-existent
iage. Failing to find a first group in the nonexistent image, it
incorrectly reports that the starting group/extension is zero. I have
modified tp_parse to set the starting group/extension to one when the
image does not exist. The changed file was tp_parse.x in
stxtools. This change fixes a bug reported in imcalc.


257. 05 May 1999            fos.calfos and fos.spec_polar.calpolar      Michele

Updated these tasks to modify the processing of post-COSTAR POLSCAN = 4
spectropolarimetry data.  This data *cannot* be corrected for COSTAR-induced
instrumental polarization; therefore, the C3H output contains significant
polarization.  This data has been corrected as if it were pre-COSTAR 
spectropolarimetry data where no accommodation has been made for the 
COSTAR-induced polarization.  The corresponding help files were updated. 


256.  3 May 1999		ttools.tproject				Bernie

I replaced the procedure that determines the unique rows with a new 
one, nextuniq.x. The features of the new procedure are that it does
not sort the table in order to determine the unique rows and it does
not create an array of row indices. Sorting the table produced by
tproject is undesirable because it destroys any ordering in the
original table.


255. 29 April 1999		headers.upreffile			Bernie

Formerly upreffile wrote all keywords as text. This worked for
reference files and switches, because they are all text
strings. However, keyword changes can also be numbers or boolean
values. To support these additional data types, I added a new
procedure, datatype.x, that determines the data type of the value
extracted from the delta file. This information is used by a revised
version upr_putkey in upropen.x, which calls the appropriate header
update procedure based on the file type and data type.


254. 29 Apr 1999		calfgs$calfgsa				JC Hsu 

Edited the subroutine get_trim_mean in get_median.f which is in calfgsa/fsrc/
to fix a bug causing floating point error when npts=1.
Also edited read_k1s.f and fgsa.f in the same directory per Lauretta Nagel's 
suggestion to accomodate older observations.


253. 29 April 1999		tobsolete$trename			Phil

The files mkpkg, trename.x, and iswholetab.x were modified to remove the
table type from the calling sequence of tbparse and to use tbttyp instead
of ext_type to get the table type.  (See also updates entry 246.)


252. 29 April 1999		fitsio.strfits				Bernie

Strfits was sometimes changing the value of MIR_REVR in wfpc2
images from true to false when converting the files from fits to geis.
MIR_REVR is a group parameter and the group parameters were stored in
a table extension of the fits file. I traced the problem to
gi_crgpb.x, where the table extension is read into the geis
gpb. Boolean variables are stored as strings in the table and formerly
the string was interpreted as true if the first character was T. This
failed to correctly intepret strings with leading blanks. I modified
the code so that it now call ctowrd(), which ignoresleading and
trailing blanks. In the new version, the string is interpreted as true
if the string is "T", ignoring leading and trailing blanks, and false
otherwise. The fix is to the gi library in tables, which is linked
with fitsio.


252. 26 April 1999		gflib					Bernie

I made a change to gf_gcount similar to the change in tp_count. The 
value of NEXTEND is not used in computing the number of extensions if
it is less than one.


251. 26 April 1999		stxtools				Bernie

The template expansion code was not handling fits images with the data
in the primary header properly. In order to fix this problem, I
modified tp_count so it does not use the value of NEXTEND if it is
less than one and modified tp_group and tp_parse so that they return a
value of zero for index if the fits image does not contain any
extensions.


250. 26 April 1999              cvos                                    Michele

The CVOS was updated to version 3.0 (26-April-1999).  This version
incorporates the modifications and additions required to accommodate
exception handling for *both* C programs compiled as host-level tasks
and as native IRAF tasks.  The following files were modified:
c_iraf_priv.c, irafsppinit.x, c_iraf.h, and mkpkg.  The following
files were added to the CVOS: cvos_maideh.x, cvos_error.x, and
error.com.


249. 22 April 1999		ttools.tjoin				Bernie

I modified tjoin to add new features: support for outer joins,
joins on multiple columns, and joins on row numbers. Outer joins
include the unmatched rows from the input tables in the output
table. Almost all the source of tjoin has been rewritten. The
procedures tbl_join.x and tbl_merge.x in the lib directory are no
longer used and have been deleted.


248. 22 April 1999		ttools$trebin				Phil

The following files in ttools$trebin/ were modified:  trebin.x, tuinterp.x,
tnaminit.x, and tuival.x, plus ttools$doc/trebin.hlp.  There is a test on
whether the input value (at which the data should be interpolated) is
outside the range of the input data, but this test was not valid for the
case of decreasing input values.  An explicit test on outtable = "STDOUT"
was added, because the isdirectory function thinks this is a directory.
It used to be that the 'step' parameter was ignored if 'start' and 'end'
were the same, but 'step' is actually used if function = "linear", so
'step' is now gotten regardless of 'start' and 'end'; the help file was
updated to describe this case.


247. 21 April 1999		tbtables				Phil

tbzopn.x was modified to increase the maximum line length for a text table
from 1024 to 4096.  tbzlin.x was modified to allow the last line of a text
table to not end with a newline (such a file can be created with emacs,
for example).  tbzwrt.x was modified to print each column one at a time,
rather than using one fprintf with all the print formats concatenated; this
is to avoid the line length limit imposed by SZ_OBUF.


246. 20 April 1999		ttools					Phil

The following files were modified either to call tbttyp to get the table
type or to remove that parameter from the calling sequence of tbparse (see
the entry for tbtables below).

lib/tbfile.x, lib/tuopen.x, tchsize/tchsize.x,
tcopy/tcopy.x, tcopy/iswholetab.x, tcopy/mkpkg,
tedit/paste.x, tmerge/tmerge.x, tprint/tprint.x, trebin/tnamgio.x.

The change to the mkpkg file in tcopy was to remove exttype.x, since tbttyp
is now called instead.


245. 20 April 1999		playpen$tchtype				Phil

The file playpen$t_tchtype.x was modified to remove the table type from
the calling sequence of tbparse.


244. 20 April 1999		convfile$tconvert			Phil

The file toolbox$convfile/tvsnames.x was modified to remove the table type
from the calling sequence of tbparse and to call tvs_ttype (included in this
file) to get the table type based on filename extension.


243. 20 April 1999		tbtables				Phil

Several files were modified to determine table type from reading the file,
rather than relying on filename extension.  The calling sequences of tbparse
and tbnparse were modified to remove the table type argument.  A new file
tbttyp.x was added; this function returns the table type, based on reading
the file if it exists, and based on the extension if the file doesn't exist.
The modified files are:  tbttyp.x (new), tbtopn.x, tbnparse.x, tbparse.x,
tbfpri.x, tbtcpy.x, tbtdel.x, tbtext.x, tbzwrt.x, mkpkg.


242. 19 Apr 1999		headers.upreffile			Bernie

I added a section to the mkpkg file which builds a stand alone version
of upreffile.


241. 16 Apr 1999		gcombine				Ivo

A code error caused the task to fail (create a zeroed output image) when
the input images were of type sil. Modified file: g_combine.gx


240. 12 April 1999              cvos                                    Michele

Updated the erract() routine in c_iraf_priv.c to call fflush (NULL) and 
_exit (-1) when a fatal asynchronous exception is raised.  Previously, this 
function was updated to call exit (-1) which turned out to be inadequate on
the Digital Unix machine in at least one instance of a segmentation violation.
Updated the c_iraf.h file to reflect the new version, CVOS v2.2 (12-April-1999).


239. 9 April 1999		synphot.countrate			Bernie

I added wfc3 to the list of instruments recognized by countrate. I
also added a wavelength table and an entry for the wfc3 in wavecat.dat
to synphot$data.


238. 8 April 1999		ttools					Phil

A number of files in ttools and ttools$threed/ have been modified.  Tasks
that read an input table and write an output table based at least partly
on the input now call tbfpri, which copies the primary header of an input
FITS table to the output file, if the output doesn't exist yet but will be
a FITS file (and if the input primary data unit is empty).  The expression
"based at least partly on the input" means that the output doesn't need to be
a NEW_COPY of the input.  Tproject is an example of a task where the output
is based on the input but is not a NEW_COPY.  The modified files are:

keyselect.x, tcopy.x, tdiffer.x, texpand.x, thistogram.x,
tjoin.x, tlinear.x, tmatch.x, tmerge.x, tproduct.x, tproject.x,
tquery.x, tuinterp.x (trebin), tselect.x, ttranspose.x,
taextract.x, tainsert.x,
threed/titable/tinew.x, threed/txtable/txtone.x,
threed/tcopy/tcpyone.x (tscopy)

Note that these tasks do not call tbfpri:  tiimage, tximage, imtab, tabim.


237. 8 April 1999		tbtables				Phil

The file tbfpri.x was modified.  The input and output file names needed
to be converted from IRAF virtual file names to host operating system names.
vfn_expand_ldir is now called after each call to tbparse.


236. 8 April 1999		tbtables				Phil

The subroutine fsukys in tbfxff.c was modified.  The size of the buffer
c_value is actually FLEN_VALUE, but the maximum string length as specified
in the call to strpak was only FLEN_KEYWORD, which resulted in values
being truncated.  The string length parameter in the call to strpak has
been increased to FLEN_VALUE.


235. 06 April 1999              cvos                                    Michele

The CVOS was updated to version 2.1 to incorporate a small change (with a big
impact) in the c_iraf_priv.c routine.  For fatal exceptions, the CVOS erract()
routine directly calls exit (-1).  This change addresses the problems 
associated with host level IRAF tasks failing to abort when receiving
asynchronous signals.  This change does not alleviate nor does it appear to 
make the situation worse for native IRAF tasks.  The c_iraf.h file was updated
to reflect the new version number.


234. 01 April 1999		synphot.grafpath			Bernie

The grafpath task somehow got removed from the synphot package, so I
added it back in.


233. 30 March 1999		ttools$tprint				Phil

The subroutine prt_row in tprplain.x was modified to remove the declaration
of bbuf, since bbuf is no longer used.


232. 23 March 1999		tbtables				Phil

A number of changes were made in order to allow using either CFITSIO or
SPP FITSIO for FITS table I/O.  These changes are only relevant for FITS
tables.  The changes are as follows.

The mkpkg file now has an ifdef on SPPFITSIO.  If this is defined, then the
SPP version of FITSIO will be compiled and included in the libtbtables.a
library; otherwise, the SPP to C interface tbfxff.c (see below) will be
compiled, so that calls to FITSIO routines (beginning with fs) will link
with CFITSIO.  The sppfitsio flag is used in the following way:

	mkpkg -p tables sppfitsio=yes

The value for sppfitsio is arbitrary; mkpkg only checks that it's defined.
For the CFITSIO version, use:

	mkpkg -p tables

mkpkg will print one or two lines beginning with "NOTE:" that will tell you
which version of FITSIO is being compiled.

If libtbtables.a already exists, switching from CFITSIO to SPP FITSIO or
vice versa requires deleting some modules from the library before running
mkpkg.  To switch from CFITSIO to SPP FITSIO, delete tbfxff.o from the
library, then run "mkpkg -p tables sppfitsio=yes".  To switch from
SPP FITSIO to CFITSIO, delete all modules beginning with either fs or ft
from the library (it might be easier to delete the library altogether),
then run "mkpkg -p tables".

"-Inolibc" was added to XFLAGS in the mkpkg files in the tables$lib/ and
tables$lib/tbtables/ directories.

tbtables.h was modified to add a new macro TB_OS_FILENAME to the table
structure.  This is the name of the table file converted from IRAF virtual
file name to host operating system name (see tbtopn.x below).  This file
name is needed in order to use CFITSIO, since CFITSIO uses host operating
system I/O.

Two header files were changed to rename the macros and increase the declared
sizes of strings for TTYPE, TFORM and TUNIT.  These files are tblfits.h and
fitsio/fitssppb/fitsio.h (not to be confused with the CFITSIO file with the
same name).  The two source files which use these macros, tbfdef.x and
tbfnew.x, were modified to use the new macro names.  These macros must agree
in size with the macros of the same names in fitsio_spp.h, which is included
by tbfxff.c.

tbtopn.x was modified to call vfn_expand_ldir to convert the table file
name from an IRAF virtual file name to a host operating system file name,
saving the OS name in TB_OS_FILENAME in the table structure.  This name is
not needed by tbtopns.x, but that routine was modified to allocate memory
for it because tbtclo.x frees that memory.  tbfnew.x and tbfopn.x now use
TB_OS_FILENAME (rather than TB_NAME) as the file name in the calls to
fsinit and fsopen.

The SPP to C interface is in tbfxff.c.  This is a new file, as are two
header files that it includes, fitsio_spp.h and underscore.h.  fitsio_spp.h
defines three macros, SZ_FTTYPE, SZ_FTFORM and SZ_FTUNIT, for the sizes of
TTYPE, TFORM and TUNIT strings.  (These must agree in size with the macros
in tblfits.h, as mentioned above.)  underscore.h defines the names of the
SPP FITSIO subroutines either with or without a trailing underscore,
depending on the NO_UNDERSCORE macro.

Here is a summary of the modified and new files:

../mkpkg	include -Inolibc in XFLAGS
mkpkg		include -Inolibc in XFLAGS
tbtables.h	add TB_OS_FILENAME_PTR and TB_OS_FILENAME to table struct
tblfits.h	change the date in FITS_ORIGIN_CMT;
		change macro names and sizes for TTYPE, etc.
fitsio/fitssppb/fitsio.h	change macro names and sizes for TTYPE, etc.
tbfdef.x	change macro names for sizes of ttype, tform, tunit, tdisp
tbtopn.x	allocate TB_OS_FILENAME_PTR; call vfn_expand_ldir
tbtopns.x	allocate TB_OS_FILENAME_PTR
tbtclo.x	free TB_OS_FILENAME_PTR
tbfnew.x	use TB_OS_FILENAME instead of TB_NAME;
		change macro names and sizes for TTYPE, etc.
tbfopn.x	use TB_OS_FILENAME instead of TB_NAME

tbfxff.c	new file, the SPP to C interface for fs subroutines
fitsio_spp.h	included by tbfxff.c; string sizes
underscore.h	included by tbfxff.c; appends underscore, if appropriate


231. 23 March 1999		tbtables/cfitsio			Phil

The mkpkg file was modified to include dependencies for include files.


230. 23 March 1999		tbtables/cfitsio			Phil

The third argument to strncasecmp in eval_l.c and fitsio2.h was declared
as __size_t.  This compiled on an Alpha running VMS 7.1 but did not compile
on an earlier version of VMS.  This is a redefinition of the function for
VMS 7.1, but the function was not in the library for the earlier version of
VMS.  (For Unix an ifdef excludes this code.)  The data type has now been
changed to size_t; int would have been more reasonable, but the 7.1 compiler
complained about that, saying it was an incompatible redefinition.


229. 23 March 1999		ttools$lib				Bernie

The same change made to tcsopen.c in 228 was also made to tctexp.x,
which is used by many of the table tools. Tctexp.x is the older
procedure on which the column selection code in the selector library
is built.


228. 23 March 1999		tbtables$selector			Bernie

The pattern matching code in tcsopen.x was incorrect. I was
incorrectly trying to ensure that patterns matched the complete column
name by comaring the length of the matched string to the length of the
column name. The correct way to ensure the entire column name is
matched is to wrap the pattern in ^ and $ characters, which force the
pattern to match the beginning and end of the column name.


227. 19 March 1999		tbtables				Phil

The file tbfag.x was modified.  The tbfag[] routines were trying to get all
nelem elements, regardless of the starting element or the actual number of
elements in the array.  These were modified so that nret is assigned to be
the minimum of nelem and the number of elements from the first requested
to the array length.


226. 19 March 1999		tbtables				Phil

The tbfapt routine in tbfap.x was modified.  In the section for column data
type short, the index j was not being incremented, so when an array of values
was being written, the values were all being written to the first element.


225. 16 Mar 1999		hst_calib$paperprod			JC Hsu 

Further modify testpp$lib/clip_mean.x to fix arithmetic error problems 
(OPR 38652): trap both the total number of points being 0 and 1 cases after
awvgr calls.  Also correct the declaration of awvgr() to int.

Modify pp_dads.cl to increment the version date to Mar 16 1999.


224. 12 March 1999		tbtables				Phil

The file tbfnew.x was modified.  When I moved the assignment of fd to
TB_FILE(tp) on March 5, I moved it to a point that was too far down.  There
was a call to tbffnd that used TB_FILE via tp, but it hadn't been assigned
yet.  So I moved the assignment to the points immediately following the calls
to fsopen and fsinit.


223. 8 Mar 1999		stlocal$testdither				JC Hsu 

Create a new package "testdither" in stlocal.  Merge Andy Fruchter's newest 
xdither and xditherII.  

Modify shiftfind to change the user parametrs x/y center to x/y shift 
(default = 0.).

Modify the task sky to accomodate countrate images (e.g. NICMOS). Add the 
user parameter EXPNAME.

Affected files:

dither.cl 	(to include xdither and xditherII)
motd 		(to chnage the version to 1.1)

shiftfind.cl	(to change x/ycenter to x/y shift)

gsky/gsky_sky.x	(to deal with countrate images)
gsky/gsky_do.x	(to modify the gsky_sky call)
gsky/gsky_in.x	(to add new parameter EXPNAME)
gsky/gsky.h	(to include EXPNAME)
mkpkg		(to include -lgilib)
ogsky.par	(to include EXPNAME)
sky.cl		(to include EXPANME)

Note that sky's parameters upper/lower remain to be DN even for countrate 
images.  Reason:  input images may have diffferent exposure times and it 
is also easier to figure out upper/lower in terms of DN (e.g. saturation).


222. 5 Mar 1999		hst_calib$paperprod				JC Hsu 

Modify testpp$lib/clip_mean.x to fix a problem which causes the program 
to crash when a WFPC2 image has large areas of all negative pixel values - 
ususally caused by saturated objects and thus corrupting the bias levels
(OPR 38652).  

Modify pp_dads.cl to increment the version date to Mar 5 1999.


221. 5 Mar 1999		stplot$stfov					JC Hsu 

Modify stfov.cl to ensure the lower level task siaper uses the default value 
of sky_project when running stfov, so the "orientation" is consistent.


220. 5 Mar 1999		hst_calib$paperprod				JC Hsu 

Modify upp/upp_image.x to bring the brightness level of PC to be the same 
	as WF's.  Also include a second labelling for the PC brightness at 
	the gray scale bar (OPR 38467).  

Modify upp/upp.h and xpp/xpp.h to fix the observation date bug ('1999 Jan 0') 
	due to FITS date standard change since Jan 1999 (OPR 38470).

Modify pp_dads.cl to increment the version number from 2.25 to 2.26.
(changed Feb 16 1999)


219.  5 March 1999		tbtables				Phil

The files tbfnew.x and tbfopn.x were modified.  The call to fsgiou is
needed when using the SPP version of FITSIO to get the fd number, which is
then saved in TB_FILE(tp).  With CFITSIO, however, this value is output from
fsopen or fsinit.  The change to tbfnew and tbfopn is simply to move the
assignment 'TB_FILE(tp) = fd' to a point following the calls to fsopen or
fsinit.


218.  5 March 1999		tbtables				Phil

The file tbept.x was modified.  A line was added near the beginning of each
subroutine to set TB_MODIFIED to true.  This line had been there before, but
apparently I moved it to another routine, but that routine returned without
setting the flag when the row to be modified was not beyond the end of the
table file.  This affected text tables that were modified in-place without
adding rows or columns; the result was that the changes were ignored.
(changed 5 Feb 1999)


217.  5 March 1999		stis/odelaytime				Phil

The default value for the earth_ephem parameter was changed from
"stsdas$data/scidata/de200" to "stsdas$data/fits/de200.fits".
(changed 5 Feb 1999)


216. 03 March 1999              stsdas/lib/hstio                        Michele

Updated the HSTIO mkpkg file to accommodate the proper linking of the DEC
Run Time Library file (IMAGELIB.OLB) on the VMS and OpenVMS systems.


215. 23 February 1999           stsdas/lib/cvos                         Michele

Installed CVOS v2.0 in STSDAS on 23 February 1999.  This new version 
incorporates the following changes: a version macro for CVOS; in c_iraf.h 
the macro IRAF_SZ_LINE was changed from 161 to 1023; the routines 
twodchar2iraf and iraf2twodchar located in c_iraf_priv.c were fixed to 
handle properly arrays of strings; gencbind.c was modified to generate
proper interface parameters for multidimensional arrays - new *.h/*.c 
interface files were built for the following libraries: xcurfit, 
xgsurfit, ximinterp, xmwcs, xnlfit, and xsurfit; C-bindings have been 
created for the public selector routines - XSELECTOR.def, xselector.h, 
and xselector.c; C-bindings have been created for a few routines from the 
XTOOLS library - new files are: XXTOOLS.def, xxtools.h, and xxtools.c;
updated XGFLIB.def, xgflib.h, and xgflib.c files; XTABLES.def, xtables.h, 
and xtables.c files were updated to accommodate two new public routines, 
tbcdes and tbsirow.  The interface to tbrcpy was updated.  New values were 
defined for the following macros: SZ_COLNAME, SZ_COLUNITS, and SZ_COLFMT;
modified exponents from N.NNdNN to N.NNeNN as "d" is unknown on VMS; and
updated the library mkpkg file.


214. 01 February 1999		headers.upreffile			Bernie

I changed upreffile so that it can update header keywords in
tables as well as in images. This change was made to support updating
table extensions in fits files. The new functions in upropen.x
encapsulate file access to tables and image and present a format
independent interface to the rest of the code. The functions
in upreffile.x and upheader.x have been modified to call the
procedures in upropen.x


213. 29 January 1999		mstools.msarith				Ivo

Fixed bug in numeric parsing routine that caused task to bomb when a
numeric constant had a negative exponent (as in 1.E-1).


212. 29 January 1999		tbtables/selector			Phil

The file tcsopen.x was modified to include "~" as an alternate negation
character, in addition to "!".  Thus both the column template expander
routines and the columns parameter in ttools tasks allow both ! and ~ as
the negation character.


211. 28 January 1999		ttools$lib				Phil

The file tctexp.x was modified to include "!" as an alternate negation
character.  The original negation character was "~".  Update tdump.hlp,
tmatch.hlp, tprint.hlp, tproject.hlp, and tquery.hlp to reflect this
change.


210. 28 January 1999		ttools.texpand				Bernie

Texpand bombed in movelem.x on tables containing short integers
because this case was being handled for code also handling integers. I 
added a section of code to handle short integers, which fixed the
problem. I also removed the code which made the work tables temporary
files because it hid the error message when there was an error exit
from the parser. And I added code to handle the case when no rules in
the rules file applied to the table being expanded.


209. 27 January 1999		hst_calib.stis				Ivo

A few parameters in task x1d where renamed to make them consistent
with table column names generated by x1d.
 

208. 19 January 1999		ttools.texpand				Bernie

I added support for table arrays to texpand. I modified movtbrow.x
to call the new procedure in movtbcol.x, which checks the column
descriptor and call the appropriate function to copy a scalar or array.

I also modified texpand so that rules containing column names not
in the table are ignored rather than being flagged as errors. The
files parser.x was modified to implement this change. This gives
texpand the same behavior as expload, which expands load files using
the same rules files as texpand.

207. 19 January 1999		ttools.tprint				Phil

The subroutine prt_row in tprplain.x was modified.  Boolean values are now
gotten into a text string buffer instead of a boolean buffer, so that indef
elements will be displayed as "INDEF" instead of "no".


206. 19 January 1999		tbtables				Phil

The files tbrcmp.x (compare rows for sorting) and tbrcsc.x (copy selected
columns) were modified.  For both subroutines, boolean elements are now gotten
using a short integer buffer instead of a boolean buffer, in order to preserve
indef values, since FITS tables do support indef boolean.  A section was
added to tbrcmp to compare columns that contain arrays.  Arrays are compared
element by element, and the first element that does not match determines the
sort order; this is the same approach used when sorting on multiple columns.


205. 19 January 1999		imgtools.gcombine			Ivo

The message ""Warning: noise should not be negative" was being issued
by gcombine when processing NICMOS images with the reject=errclip
option (from inside mscombine). The message was being triggered by
zero errors, which are perfectly legal. No harm was done to the 
subsequent computations (as far as I can tell). Fixed.


204. 18 January 1999		tbtables/doc				Phil

The file calls.doc that describes the user callable table I/O routines was
modified to add tbfpri and tbparse.


203. 18 January 1999		tbtables				Phil

The file tbfpri.x was added to the tbtables directory.  This is a new
subroutine that can be called by programs that create an output table
based on an input table, regardless of whether the output is created as
a NEW_COPY of the input.  If the input table is in a FITS file, and the
output name implies a FITS file, and the primary HDU of the input has a
null data portion, then tbfpri will copy the primary header of the input,
creating the output file.  It is harmless to call tbfpri for other table
types; in this case it will simply not copy.  tbfpri should be called
before opening the output table, and it can be called before opening the
input table.  The mkpkg file was modified to include tbfpri.x.


202. 14 January 1999		ttools.tunits				Bernie

I added tunits, a task that converts a table column from one set of
units to another, to the ttools package. Currently, only units likely
to be used by astronomers are included. That means no bushels or
drams. Only multiplicative conversions are supported and not additive
conversions, like Celsius to Kelvin.


201. 11 January 1999		tables$lib				Phil

The files fitsio.h and longnam.h were copied from tables$lib/tbtables/cfitsio/
to tables$lib/.  This is to allow compiling C code that includes <fitsio.h>
using mkpkg with -p tables.

NOTE:  These files must be updated whenever a new version of cfitsio is
installed.  fitsio.h includes longnam.h.


200. 6 January 1999		tbtables/cfitsio			Phil

The following source files were added to the mkpkg file for cfitsio:
drvrfile.c, drvrmem.c, eval_f.c, eval_l.c, eval_y.c, getcoluk.c, group.c,
grparser.c, histo.c, iraffits.c, putcoluk.c, region.c.


199. 18 December 1998		tables$lib/gflib			Bernie

Users reported problems in gcopy after this tasks had been relinked
with gflib. The problems turned out to be in gf_map. The problem was
that gf_map converted the group section [1] to [1/1], which is correct
in some circumstances, but not all. Gf_map now only adds a group count
if it is explicitly specified by the users.

In addition, I installed the rest of the fixes from the code
review. Changes are typically small, except that gf_gfind was
rewritten so that the actual primary header is checked and not a hash
created from the primary header.


198. 15 December 1998		tables$lib/gflib			Bernie

I modified the gf_map call so that it tries to open the image under
its original name if opening it under the "enhanced" name fails. Thus
it should work under all circumstances where the original immap call
works. I also modified gf_map so that it appends the default extension
if it is passed an image name without an extension. I made two small
fixes of problems reported in the code review: gf_addpar now calls
ctol instead of ctoi for integer and long parameters and gf_opengr now
declares immap as type pointer instead of type integer.


197. 14 December 1998		toolbox.headers.upreffile		Bernie

Upreffile has been updated to use the information in the source column
to do selective updates. Upreffile will only update a header keyword
if the value in the source column matches one of the values in the
source parameter. The source parameter is a comma separated list of
sources to be processed by this task. The default value of this
parameter includes all possible values of the source field. The
modified source files are upreffile.x and rdreffile.x. In addition,
the new file checksource.x was added.


196. 14 December 1998		tbtables				Phil

The file tblfits.h was modified.  The date in the FITS_ORIGIN_CMT string
was three years out of date.  This string is the comment for the ORIGIN
keyword which is written to the primary header when creating a new FITS
file to contain a table.  The date has now been set to 26-August-1998,
which is the date of the 2.0.2 release.


195. 10 December 1998		toolbox/imgtools			Bernie

I modified t_gcopy.x, in the gcopy task, to use the new gflib calls
where available and the gilib calls where they were not. I modified
imvar.x, in the tcalc task, so that it uses the new gf_map call in
place of immap. This allows tcalc to use fits files.


194. 09 December 1998		tables$lib/gflib			Bernie

I installed the new version of the gf library. The gf library is a
front end to the gilib library. The gilib library allows programmers
to manipulate the internals of geis files. This library allows
programs to call the gilib library for geis files, but also performs
the equivalent function for other image types. Not all functions in
gilib are supported, only those currently used by tasks outside the
fitsio and convert packages. Some functions not in gilib have been
added to make modifying existing tasks to support all image types
easier.


193. 07 December 1998		toolbox.headers.upreffile		Bernie

Upreffile has been updated so that it accepts wild cards in the
FILENAME column. If this column contains a wild card, all files that
match the pattern will be updated by upreffile. This change was made
to support hsp observations, as the extension for these files contains
a wild card.


192. 04 December 1998           stsdas$lib and stsdas$lib/cvos          Michele

Modified the XTABLES.def and xtables.h file to update a "define" for a
value containing an exponent from N.NNdNN to N.NNeNN to accommodate the
VMS systems.  Also, installed xtables.h in stsdas$lib.  Recreated the
library without error.


191. 04 December 1998           stis.echscript                          Michele

Shortened filenames for the 'echscript' task so that the objects would be 
recognized on the VMS systems and build properly.  Removed the e_ or t_ 
which was a prefix on some of the filenames.  Updated the mkpkg file 
appropriately, rebuilt the executable, and tested the program.


190. 25 November 1998		synphot.countrate			Bernie

I fixed a small bug in countrate/bandwave.x. The array maxwave is
defined by a data statement and subscripted by instrument. When I
added support for acs, I added a new value to the data staement, but
did not increase the dimension of the array.


189. 25 November 1998		toolbox.headers.upreffile		Bernie

Upref has been modified to accept the output of getref. The most
important change to upref are the changes to accept the new output and
the deletion of the now superfluous task parameters template and
addkey.


188. 25 November 1998		stlocal.cdbsutil.getref			Bernie

This is the first official release of getref incorporating the
changes required for the otfc. The major change to getref is that its
output file contains additional rows and columns. The new rows contain
the calibration switches and other keyword changes. The other keyword
changes will not be available, however, until the corresponding
database table is populated. The new columns contain the fully
qualified name of the image to be updated, the type of change (insert,
update, or delete), and whether the keyword is a change to the
original value (yes or no).


187. 20 November 1998		ttools.tedit				Bernie

Phil Hodge found two bugs in tedit in the use of the paste
buffer. First, the procedure that adds a column to an existing table,
addcol_cmd in command.x also adds a column to the paste buffer to keep
them in synch. But the call to add a new column to a table, tbcdef,
erroneously referenced the paste descriptor rather than the table
pointer contained in the descriptor. Second, the procedure which
copies rows into or out of the paste cuffer contained special case
code for non-row ordered tables. But this code stopped working when
the tables interface was modified to support arrays. So I deleted the
special case code and only use tbrcpy, which should for all formats
now and in the future.

He also found a problem with the set command. The argument list for
vex_copyd in proceudre set_cmd in command.x was incorrect. I fixed the
calling sequence.


186. 17 November 1998		tbtables/cfitsio			Phil

The mkpkg file was modified to add -Inolibc to XFLAGS and to remove
f77_iter.c from the list of source files.


185. 12 November 1998		fitsio.strfits				Bernie

A user reported that after running strfits on a wfpc2 fits file,
the PHOTMODE keyword contained an asterisk, while in the original file
the field was blank. I traced the error to tab_gfsub.x, where I
determined that this procedure was not handling null values in
tables. The fits table standard allows each column to have a specific
value to represent null. This value is indicated by the header keyword
TNULLi. When reading the table, the fits reader should check the value
against the null value and if they are the same, convert the value to
the corresponding null value used in sdas: a zero length string for
character fields and INDEF for numeric fields. Since tab_gfsub.x was
not doing this processing, the null value in the PHOTMODE column in
the fits table, an asterisk, was being copied verbatim to the group
parameter block. 

I modified function rgi_read_tfits in tab_gfsub.x to call a new
function, rgi_fix_nulls, also in tab_gfsub.x, to convert null values
to their sdas representation. Because the output produced by
rgi_fix_nulls is in a different format than its input, I also had to
modify the calling sequence and code of gi_crgpb.x in gilib, which
takes the array of values and packs them into the group parameter
block.


184. 09 November 1998           ctools                                  Michele

Installed new parameter files for 'poffsets' and 'specalign'.  In 'poffsets',
"usecorr=no" is the new default; in 'specalign', "niter=0" is the new default.
New help files were also installed.


183. 09 November 1998           hstio                                   Michele

Installed HSTIO (v2.0).  The new functionality and bug fixes are as follows:
 1) Routines which allow one to acquire a single line of data from an IMSET.
    (getSingleGroupLine family of routines)
 2) Routines which allow one to output a subsection of an IMSET in memory
    to a new output FITS file where the subsection is the full image in the
    new file.  (putSectSingleGroup family of routines)
 3) Fixes required for IRAF v2.10.4 and FITS kernel vAug96 for the pipelines
    running under OpenVMS.  These changes should be transparent to IRAF v2.11 
    and the latest FITS kernel.  These changes force the overwriting of blank 
    lines padding the end of the FITS headers when adding (or inserting) new 
    keywords using the addTypeKw, insertTypeKw, addFitsCard, and 
    insertFitsCard routines.
 4) Fix to add or remove the NPIX1, NPIX2, and PIXVALUE keywords as appropriate
    for any member of an IMSET except SCI.  Formerly, these keywords were
    retained for the ERR and DQ extensions, even after these extensions no 
    longer contained a single constant value.  The data is explicitly checked
    to determine the "state" of the data.
 5) Input string keyword values which contain embedded single quotes are now 
    handled properly when inserted into the FITS header.  A single quote
    embedded in a string is represented as two successive single quotes in
    the FITS header.  Obtaining string keyword values with embedded single
    quotes required no modification.
 6) All new keywords are checked and forced to be uppercase when inserted
    into the FITS header.
 7) The getFloatKw() routine has been modified to access integer variables
    without error.  The getIntKw() routine has been modified to access
    floating point values.  If the decimal portion of the value > 0.0, then
    an error is posted due to a loss in precision.  Otherwise, the whole
    number portion of the value is returned as an INT.
 8) The old get/put[Float/Short]Sect routines have been retired.  All the
    "Sect" routines written to accommodate writing a section of data in
    memory out to a new file where the section is the full size of the new
    file have been renamed so that the "Sect" appears appended to the end
    of the routine names.  This is consistent with the naming style of the
    routines in HSTIO.  The only public interface routine which was modified
    was "putSectSingleGroup" -> "putSingleGroupSect".  All other routines
    are private.


182. 09 November 1998		fitsio.strfits				Bernie

Rtb_decode_card in tab_rheader.x was calling the obsolete (and
deleted) function chk_ascfile instead of chk_ascname. This was not
detected until I deleted the library and tried rebuilding from
scratch. The call has been fixed.
	

181. 05 November 1998		fitsio.strfits				Bernie

A user reported a floating operand error when reading a fits binary
table with strfits. The problem was found to be an error in converting
NaN (not a number) values stored in the fits table. Strfits is
supposed to convert these values into INDEF.  This mirrors stwfits
which converts INDEF into NaN when writing a binary table. Strfits was
not performing the conversion because in tab_rdata.x it did not call
the functions which turn on NaN mapping: ieesmapd and
ieesmapr. Tab_rdata.x has been modified to call these functions.


180. 27 October 1998		stis					Phil

The ovac2air task was installed in the stis package.


179. 27 October 1998		stis					Phil

The sdqflags task (a cl script) was installed in the stis package.


178. 27 October 1998		stis$calstis/				Phil

Calstis version 2.0 (26-October-1998) was installed.  The modified files
are as follows:

all the mkpkg files;

in the calstis directory:
cs2.h (changed by JC), stisversion.h, stisshutter.h, stis.h, stiserr.h,
stisdq.h;

in the lib subdirectory:
bin2d.c, bincoords.c, binupdate.c, dostat.c,
fileexists.c, key.c, unbin2d.c, whicherror.c;

in the cs0 subdirectory:
calstis0.h, calstis0.c, getwavinfo.c;

in the cs1 subdirectory:
calstis1.h, cs1.c, calstis1.c, blevdrift.c, do2d.c, doatod.c, dobias.c,
doblev.c, dodark.c, dodqi.c, doflat.c, dolores.c, dophot.c, doppconv.c,
findbin.c, findblev.c, findover.c, getgrpinfo1.c, getkeyinfo1.c,
getphot1.c, history1.c, makedopp.c;

in the cs2 subdirectory (changes made by JC):
crrej_check.c, o_cal2_in.c;

in the cs4 subdirectory:
calstis4.h, getapdes4.c, getgrpinfo4.c, getlamp.c, xcpeak.c;

in the cs6 subdirectory (changes made by Ivo):
calstis6.h, cs6.c, calstis6.c, background.c, buildoptprof.c, buildprof.c,
checkoptimal.c, commline.c, do1dx.c, gcrosscor.c, getapthr6.c, getflags6.c,
getintens.c, getgrpinfo6.c, getkeyinfo6.c, getprofile.c, getrefcline.c,
init.c, memory.c, newprofile.c, newtrace6.c, output.c, selectalg.c, x1dspec.c;

in the cs7 subdirectory:
calstis7.h, do2dx.c, getgrpinfo7.c, gsurfit.c,
newcoord.c, newdisp.c, newtrace.c, putgrpinfo7.c;

in the cs8 subdirectory:
calstis8.h, calstis8.c;

in the cs11 subdirectory:
calstis11.h, cs11.c, calstis11.c, binsubtract.c,
getkeyinfo11.c, gettimes11.c, subsci.c;

in the cs12 subdirectory:
calstis12.h, cs12.c, calstis12.c, getscigrp.c, matchwav.c.


177. 23 October 1998		tables$lib/stxtools/vex			Bernie

A third problem was found with the expression evaluator. It was
using a pointer (token) as a string, which caused intermittent
segmentation violations. Fixing the code in vexeval.x and vexfunc.x
solved the problem.


176. 21 October 1998		tables$lib/stxtools/vex			Bernie

Users reported intermittent errors with the expression evaluator,
which I traced two problems. First, an index into a string used in
vex_gettok in vexcompile.x was not being initialized. Second, the
length of the array allocated in vex_push in vexfunc.x, should have
been set to the magic value of zero instead of one.


175. 16 October 1998		tables$lib/stxtools/vex			Bernie

I rewrote the expression evaluator used by imcalc and tcalc so that
constants and function names are now stored embedded in the function
code, as is the case with the synphot expression evaluator. The change
was made because it allows one to get a strict upper bound on the
length of the pseudocode produced. (2n+2, where n is the length of the
input string.) This allows me to allocate a sufficiently large array
when the expression is compiled, eliminating "expression too complex"
errors. The public interface to the vex routines has not changed, but
some interior calls have. External programs linking with vex should
not need to be changed. The modified files are: vex.com, vex.h,
vexcompile.y (and vexcompile.x), vexaval.x, vexfunc.x, and vexstack.x.


174. 13 October 1998            hst_calib.hrs.calhrs                    Michele

Finally installed in STSDAS the changes made to zrccre.f in May '98
(STLOCAL) to have the routine read the table column FOS_DETECTOR and
*not* DETECTOR.  ZRCCRE is the background count rate model table based
upon FOS data.  Updated zclhrs.f and calhrs.par to reflect new
comments and new version number and date.


173. 13 October 1998		hst_calib.synphot.countrate		Bernie

Countrate has been changed to resample all spectra. The purpose of
resampling is to change the wavelength spacing to agree with the
wavelength spacing of the detector. Since this is not applicable to
non-spectral instruments and modes, resampling was previously not done
in these cases. However, resampling on a one angstrom grid makes it
easier to see the count rate as a function of wavelength, so
resampling has been extended to all instruments and wavecat.dat, which
contains the wavelength grids used in resampling has been modified to
contain one angstrom wavelength grids for the non-spectral
instruments. The modified files are countrate.x, bandwave.x, and
wavecat.dat in the data directory.


172. 13 October 1998            ctools/doc/specalign.hlp                Michele

Added cautions to the 'specalign' help file to warn users that the iterative
algorithm to combine the individual spectra and compute a granularity 
spectrum is not guaranteed to converge.


171. 2 October 1998		ctools/ckwstis				Phil

The files ckwstis2.par and ckwstis4.par were modified to remove wavecal
from the list of file names that can be updated.  When updating a single
file, it would be OK to be able to modify wavecal.  When updating a list
of files, however, the wavecal name for the first file would have been
copied to all the other files, which is almost never appropriate.


170. 02 October 1998		stxtools$				Bernie

I modified the computation of the number of groups or extensions in an
image by addinf a new function to the library named tp_count. This new
function determines the number of extensions in a fits file by opening
the extensions and seeing if the open fails. It uses NEXTEND as a
first guess if present and does a binary search if it is not presenet
or the guess fails. It uses the value of GCOUNT to determine the
number of groups in a geis image and asuumes the number of groups in
all other image types is one. In order to determine the image type
another new function named tp_imtype was written.

The modified and new files are: mkpkg, template.h, tpgroup.x,
tpparse.x, tpimtype.x, and tpcount.x.


169. 01 October 1998            fos$ and fos$doc                        Michele

Installed the new CL script task, 'foswcorr', in the main FOS directory.
Updated the fos.hlp, fos.cl, fos.men, and fos.hd files.  Also, installed a
help file for the new task.  Updated the help database and the apropos
database. All the files and the task were checked once installed to make sure
all was working properly.


168. 29 September 1998		imgtools.imcalc				Bernie

In wrting the fix for #164 problem, I introduced a new bug into
imcalc. This bug caused the output buffer to be undefined whenever the
group changed. I restored the original code, which fixed the problem.


167. 28 September 1998		gcombine				Ivo

Fixed two problems in gcombine:

1 - There were two missing statements in the gc_2sort routine, that
apparently got lost when someone copyed/modified that routine based
on the imcombine source code. This may have caused subtle problems
when using data clipping and/or weighting.

2 - The code was failing to reproduce results obtained by imcalc when
performing a simple error-weighted average of three test images. The
cause was a design bug that was introduced when adding input error map
support to gcombine. If error arrays were used to weight images with
the "pixelwise" option, the errors were being de-associated from their
parent images by a poorly implemented sort scheme. Thus down the way along
the computations the weights were incorrectly computed. The fix involved
writing a new sort routine to handle the specific case of pixelwise
error weighting.


166. 24 September 1998		mstools.msarith				Ivo

Modified msarith such that it can handle (old) STIS reference files that
have no NEXTEND keyword. It assumes NEXTEND=3 in this case, and handles
eventual IMSET lists accordingly.


165. 21 September 1998		synphot$data				Bernie

I added two acs prism wavelength tables to synphot$data,
acs_pr110l.dat and acs_pr130l.dat and modified wavecat.dat to include
these two files.


164. 14 September 1998		toolbox.imgtools.imcalc			Bernie

Imcalc was giving an error message when the number of groups in the
output image exceeded the number in the input image. While the input
was erroneous, the code should have done a better check on the end of
file condition. Next_imvar in imvar.x has been modified has been
changed so that the calculation loop immediately terminates when an
end of file condition is detected on any of the input or output files.


163. 14 September 1998		fitting					Ivo

The fitting tasks were failing with an empty warning message ("Warning:")
whenever the output table was a FITS table, and was being created for
the first time. The problem was traced to the behavior of the fitsio
library. The fitting tasks are able, when in interactive mode, to increase
the number of coefficients in the fit function. At that time the table
is already open, and new columns can be defined on the fly. If no rows
exist in the table, fitsio apparently gets confused when asked to add a
new column. The fix was to write a dummy row at table creation time,
and overwrite it later. Modified files: lib/opendb.x, lib/nlwtdb.x, 
lib/colnames.h, gfit1d/gfit1d.x


162. 09 September 1998          stis/echscript                          Michele

Updated the following files to accommodate a "view only" mode for the
'echplot' and 'echscript' tasks: e_echscript.c, e_echscript.h, e_igisetup.c,
and echscript.par.  The echplot.cl task in the main stis directory was
also modified.  Finally, the help files for both tasks were appropriately
updated.


161. 03 September 1998		fitting/i2gaussfit			Ivo

The i2gaussfit.cl script was making a reference to the 'errors' parameter,
removed from the package a long time ago.


160. 03 September 1998          hrs/templates                           Michele

Replaced files which were soft links with actual copies of the original
files to avoid problems with RCS.


159. 02 September 1998		fitsio					Bernie

I modified the source code to replace calls to the gflib library with
calls to the gilib library. See 157.


159. 02 September 1998		toolbox.convfile			Bernie

I modified the source code to replace calls to the gflib library with
calls to the gilib library. See 157.


158. 02 September 1998		fitting/function			Ivo

Fixed function.x that failed to compile on IBM systems. The fix was
based on a suggestion by Nelson Zarate.


157. 02 September 1998		tables$lib/gilib			Bernie

I added the gilib library to tables$lib/. Gilib is a straight copy of the
gflib library, but with the procedure names changed to start with gi_
instead of gf_. The intent is for gilib to maintain the semantics of
the current gflib and gflib to be modified so that it supports all
image formats in some fashion. We need to split the libraries because
the fitsio and convfile packages use relatively low level calls
intimately tied to the details of the geis format which cannot be
supported for all image types. The next step is to modify the fitsio
and convfile tasks to call gilib instead of gflib, then rewrite the
high level calls in gflib to support all image formats, and drop the
low level calls from gflib.


156. 01 September 1998            hrs/calhrs                            Michele

Removed dead statements from the following source file to avoid compilation
warnings: geopos.f.


155. 01 September 1998 fos/calfos,fos/spec_polar,fos/spec_polar/parthity Michele  
Removed dead statements from the following source files to avoid compilation
warnings: geopos.f, yclais.f, yosize.f, yrdais.f (fos/calfos); sposiz.f 
(fos/spec_polar); ydark.f, ypdsum.f, ypth.f (fos/spec_polar/parthity). 


154. 01 September 1998          hstio                                   Michele

Modified the initialization of variables from 0xffffffff to 0x7fffffff to
eliminate warning messages at compile time.


153. 01 September 1998          cvos                                    Michele

Removed unused function declarations (streq, oscmd, and sys_getcommand) from
the irinit routine in irafsppinit.x to eliminate warning messages at compile
time.


152. 26 August 1998             ctools/doc                              Michele

Updated the 'poffsets' help file with regard to the use of the cross
correlation option.  The cross correlation option should only be used with
spectra that have strong spectral features to use for registration.  When
this is not true, the default offsets based upon the differences in the
wavelength scales should be used.  Added many cautions.


151. 26 August 1998		ttools.tselect				Bernie

I have modified tselect so that it no longer uses working memory
proportional to the number of rows in the table. This caused problems
when running tselect on extremely large tables (greater than a million
rows). I wrote a new procedure for tselect called subset.x, which calls
tblsearch.x instead of tbleval.x. I also modified tselect.x to call
subset. 


150. 21 August 1998		toolbox.imgtools.mstools.bloathdu	Howard

Fixed a bug in the bloathdu.cl script which was causing it to die
when working on FITS extensions that have a null data array. The use
of imcopy from a null FITS extension to an ouput GEIS image produces
only a .hhh file, with no .hhd file. The moveheader task then failed
when trying to open the non-existent .hhd file. Eliminated the use of
imcopy and moveheader and just had mknoise read the header directly
from the input FITS extension using its "header" task parameter.


149. 14 August 1998             stsdaslib$cvos                          Michele

Installed a modified version of the c_iraf_priv.c file.  The calls to
errget were simplified based upon a solution derived by Phil for the SGI 
architecture.  The original calls were generating a segmentation violation.
While the real source of the problem is still unknown at this time, the 
current fix works and is a more streamlined set of code.


148. 11 August 1998             tables/lib/stxtools                     Michele

Updated the internal documentation to the fparse.x file to reflect changes
in the default values of cl_index and cl_size under IRAF v2.11.  The new
default values are -1; the previous default values were 0.


147. 11 August 1998             tools/doc                               Michele

Modified the fparse.hlp file to reflect changes in the base IRAF system
under v2.11.  The cl_index and cl_size parameters for the fparse task now
have default values of -1.  Formerly, the default values were 0.


146. 30 July 1998		ttools/trebin				Phil

The function = "linear" option in trebin was modified; changes were made to
files tuinterp.x and tuival.x.  When there is more than just one point in
an interval, trebin now does a linear fit rather than just interpolating
between the two nearest points.


145. 28 July 1998		stsdaslib$synphot			Bernie

The procedure getthrucol in gethrucol.x checks the column units and
prints an error message with the throughput file name if the units are
incorrect. The filename in the error mesage was getting truncated to
two characters because tbtnam was being passed TY_CHAR as the length
of the string. Changing this to SZ_FNAME fixed the problem.


144. 24 July 1998		isophote.ellipse			Ivo

The logic that handles semi-major axis growing/shrinking was prematurely
stopping semi-major axis growing when the first isophote generated an
INDEF gradient error. Modified the code such that the semi-major axis
always grows from the first isophote, no matter what the error is.


143. 20 July 1998		ttools/tprint				Phil

The subroutine td_p_data in tdump.x was modified so that strings will be
printed left justified.


142. 20 July 1998		ctools					Howard

Updated the ckwnicmos.par file to include the new ZSIGCORR calibration
switch that now appears in NICMOS science file headers.

  
141. 20 July 1998		ttools/tcreate				Phil

The subroutine cp_upar_tbl in tcreate.x was modified.  If the output is a
FITS table, reserved keywords in the input list of header keywords will be
skipped.  Previously they were written to the output header along with all
other keywords, and some of these (e.g. TSCALi) can cause problems reading
the table.


140. 20 July 1998		ttools/tprint				Phil

The file tdump.x was modified so it now prints '' instead of blanks for
a null header keyword.  This was done so that the output could be used as
input to tcreate.


139. 20 July 1998		tbtables				Phil

The files tbfanp.x and tbfhp.x were modified.  tbfanp.x now checks for a
blank keyword and calls fsprec.  tbfhpt in tbfhp.x now includes a check
for history, comment, or a blank keyword and calls the appropriate fitsio
routine.  This was done to prevent keywords from being written into the
FITS file like this, for example:
        = '        '           /
        = '/ PHOTOMETRY KEYWORDS' /


138. 13 July 1998		stis					Phil

The ocrrject.cl file was modified to replace "xstis$bin" with "stsdasbin$"
as the location of the executable.  The files defringe.cl, normspflat.cl,
and prepspec.cl were modified to remove the test on whether the xstis
package was loaded.


137. 10 July 1998               hstio                                   Michele

Modified the numeric.c routine to define local constants in terms of the
ansi constants defined in <float.h> rather than the values in <values.h>.


136. 9 July 1998		headers.iminfo				Bernie

I split the source code of iminfo into a separate file for each
procedure because the original source file contained too many strings
for xc to compile it.


135. 8 July 1998                nicmos                                  Howard

Installed CALNICA v3.2 and CALNICB v2.2 and updated associated help pages
in doc directory.


134. 7 July 1998		imgtools.imcalc				Bernie

Imcalc was essentially performing a no-op when the output image was
set to a fits extension with a zero-length (constant) data array. I
added a check on the length of the output image which prints an error
message when the output file already exists and its dimension differ
from those of the input image.


133. 7 July 1998		stsdaslib$stxtools			Bernie

The stxtools library contains a set of functions which expand an image
into a list of names, with the group or extension specifier appended
to the name for each group or extension. I modified the task so that
if the input image name contains an extension that the code cannot
parse, it passes it along verbatim to the output. This was done to
support the more complicated syntax of fits extensions.


132. 07 July 1998               ctools/doc                              Michele

Updated the help file for 'vac2air' to note this task ONLY works for GEIS
image files.


131.  2 July 1998		ttools/tupar				Phil

Several changes were made to tuinstr.x.  When listing parameter values,
boolean parameters are printed as "yes" or "no" if the value in the table
is 1 or 0 respectively; otherwise, the string in the table is printed.  For
stsdas tables, the value should show as "yes" or "no", but for FITS tables
the value will be "T" or "F".  For the "p" instruction (i.e. "put"), if
the user does not specify a data type explicitly, and if the keyword is
already present in the header, that same data type will be used for writing
the new value.  Previously the type was changed to text string, which was
OK for stsdas tables but not for FITS tables.  Also for the "p" instruction,
for data type boolean, the allowed values for true also include "true", "t",
and "1", in addition to "yes" and "y" (case insensitive).


130.  2 July 1998		tbtables				Phil

The file tbhpnp.x was modified.  For the case of a boolean parameter, the
input string is now interpreted, and the numerical value 1 or 0 is written
to the table, instead of assuming the input string already contains 1 or 0.
This was needed because tupar calls tbhpnp in some cases, and tupar passes
the string given by the user, which could be anything.  tbhpnp sets the
value to 1 if the input string is "1", "true", "t", "yes", or "y" (case
insensitive), and it sets the value to 0 otherwise.


129. 29 June 1998		imgtools.gcombine			Ivo

Fixed memory leak in gcombine.


128. 26 June 1998		tbtables				Phil

The file tbrudf.x was modified.  There was a test "if (rownum < 1)" before
rownum was determined from selrow, so I replaced rownum with selrow in that
test.


127. 26 June 1998               lib$cvos/irafstdio                      Michele

Modified the CVOS stdio.h file.  Added a check around the definition of
TMP_MAX to avoid conflicts with limits.h file on some platforms.  In addition,
decreased the value from 17567 to 16384 to accommodate the IBM AIX platform.
The idea here is to use the "lowest common denominator" value for all
machines.


126. 25 June 1998               ctools$eng2tab                          Michele

Fixed the bu_free routine in the bu_obj.x file.  The "j loop" referred to
BU_N_VALUES instead of the proper BU_N_VALUES(o).


125. 25 June 1998               fos$spec_polar                          Michele

Fixed SPCNFG.F for an improper check on the logical KYDPLY.  Also, updated
CALPOL.F in the history and version number; the new version is 3.1.  Finally,
updated CALPOLAR.PAR to reflect the new installation date.


124. 25 June 1998		playpen$registration			Howard

Changed two lines in t_reflresamp.x to use "INDEFD" instead of generic
"INDEF" in tests against double-precision variables. This was causing the
reflresamp task to crash.


123. 25 June 1998               fos$calfos                              Michele

Fixed YCONFG.F for an improper check on logical KYDPLY.  Updated YCLFOS.F in 
the history and version of 'calfos'; the new version is 3.1.  Updated 
CALFOS.PAR in fos$ to reflect the new installation date.


122. 25 June 1998               hrs$obsum                               Michele

Fixed the call to obs_print_out in OBSDOR.X; the call had the incorrect 
number of parameters.


121. 25 June 1998               hrs$                                    Michele

Fixed format statements in hrs$calhrs routines ZTEMP.F and ZCLBLM.F.  Updated
ZCLHRS.F to reflect minor changes implemented in the two subroutines.
Updated CALHRS.PAR file in hrs$ to reflect a new version implemented.


120. 24 June 1998		fitsio$catfits				Bernie

I added the version date to the catfits parameter file. I set the date
to Nov_20-1997, as this is the date of the most recent change to
catfits.


119. 24 June 1998		stsdaslib/synphot			Bernie

After a user complaint that synphot died under Linux, I ran the spp
library through spplint. There were some type mismatches in the
function calling sequences, as well as the function value
returned. These have been fixed in calcrange.x, catfunc.x, gridname.x,
plfunc.x, syncompile.x, and synsort.x. The code in compfiles.x was not
checking for array bounds overflow, so I added a check.


118. 22 June 1998		analysis$dither				Ivo

Modified precor.cl to handle .imh files.


117. 19 June 1998		tbtables/fitsio				Phil

The two files ftas2c.f and ftc2as.f were modified because there was an
executable statement preceding the data statements.  The executable
statement has been moved.


116. 18 June 1998		tbtables				Phil

In each subroutine in tbfga.x, fsgcfl is used instead of fsgcl to get
boolean elements.  This was done because fsgcfl returns a flag to indicate
whether the value in the table was defined or not.  FITS does support
undefined for boolean table elements.  The SPP boolean datatype can only
take on the values true or false, not INDEF, but the numerical data types
currently supported for tables can be INDEF.  So when getting values from
a boolean column in a FITS table, if a routine other than tbfgab is used,
the returned value will be one for true, zero for false, and INDEF if the
table element is undefined.  When getting the value as a text string,
"INDEF" is returned for an undefined element.  The tbfgab routine itself
cannot use the flag returned by fsgcfl because of the lack of INDEF for
SPP boolean.  The files tbrgt.x and tbcgt.x were modified to call tbfagi
instead of tbfagb for boolean elements in FITS tables, and they then set
the nullflag variable appropriately, instead of just setting it to false.
In addition, tbcga.x was modified to errchk the subroutines that it calls.


115. 17 June 1998		tbtables/selector			Bernie

Two bugs in the selector library were caught when compiling on another
system. First, trshasrow in trsgencode.x was doing the comparison
(hasrow == false) which is not legal Fortran. (What was I
thinking?). Second, whatfile was using the expesssion IM_LEN(im) where
IM_NDIM(im) was wanted. Both bugs have been fixed in this version.


114. 15 June 1998		tbtables				Phil

Tbnparse.x was modified to check whether the input table name is STDIN or
STDOUT and to use the access function to check for a text file; if the table
is a text file, the table type is set to TBL_TYPE_TEXT.  Tbtcpy.x was
modified for the case that both input and output tables are text files;
fcopy is now used only if no row or column selector was specified.  Tbtext.x
was modified to check the table type returned by tbparse; it does not append
the default extension if the table is FITS or text.  Mkpkg was modified to
include <tbset.h> as a dependence for tbtext.x.


113. 15 June 1998		ttools$tcopy				Phil

On 29 May 1998 I made a change to exttype.x to have it use the access function
to check for a text file.  This is no longer necessary, since that test is
now made in tbparse (actually in tbnparse, which is called by tbparse), so
the change to exttype.x has been removed.


112. 12 June 1998		ttools$ttranspose			Phil

The file ttranspose.x was modified.  In subroutine ttr_compare, maxwidth
was initialized to zero, but it should have been initialized to the width
of the first column.  This has been fixed.


111.  2 June 1998		toolbox$imgtools/gcopy			Perry

The file t_gcopy.x was modified. The previous fix to handle the problem
with different file extensions on the input and output filenames now caused 
a problem when no input filename extension was specified (this only in the
case when no image sections or groups were specified). In the end, the
simplest thing to do was to remove the "fast copy" section of code since
it seemed completely redundant with the non-fast copy section.


110. 28 May 1998		ttools$tcopy				Phil

The file exttype.x was modified.  If the file is an existing text file
(as determined by calling access), the file type is set to text.  Without
this additional check, the wrong file could be copied, and it was not
possible to tcopy a text file to an stsdas format table.


109. 29 May 1998		dither					Ivo

Modified 'precor' script to get file name extension from imtype, if not
supplied. Modified 'offsets' to pass rotation angle between images into
crossdriz script.


108. 28 May 1998		tables$doc				Phil

The tbtables.tex description of the table I/O interface was updated to
include several new routines, and calls.doc was copied to the tables$doc
directory from tables$lib/tbtables/doc.


107. 27 May 1998                stsdaslib$cvos                          Michele

Modified the XIMIO.def file to generate a C-binding named c_ximaccess to
avoid a conflict with the IRAF libc.  Generated new ximio.h and ximio.c files.
Removed stray comments in the mkpkg file.  Retired the gencbind executable 
as it was old.  Ran mkpkg from stsdaslib$cvos to generate an updated library.
This was done correctly and an updated library is in bin.

Also, put a new copy of ximio.h in the stsdaslib$ directory.


106. 27 May 1999		imgtools.gcombine			Ivo

Fixed a variable initialization bug that was causing the task to crash
with a floating-point overflow from inside IMIO, but only when the number
of input files was exactly 10 and only when certain input parameters had
certain specific values. The task won't crash anymore, but the output error
and mask files will look weird, with most of the pixel values set to zero.
This behavior was tracked down to a design bug that will only go away after
a complet re-design. Btw, the number 10 is hard-wired in the code as
constant GPIX in gcombine.h. A note was added in the BUGS section of the
help file.


105. 26 May 1998		ctools					Phil

The psets ckwstis1.par and ckwstis2.par were modified to add expscorr.


104. 22 May 1998		ctools,mstools				Ivo

Added "grot" and "zero-read" DQ bits to all NICMOS-supporting tasks.


103. 22 may 1998		analysis.dither.drizzle			Ivo

Added a -z to the link flags in mkpkg. This is necessary so drizzle can
handle very large (ACS-style) images.
  

102. 15 May 1998		imgtools.gcombine			Ivo

Added auxiliary storage to keep track of rejected image IDs. Code was
failing when both external masks and rejection were applied simultaneously.


101. 12 May 1998		hst_calib.ctools.msstreakflat		Ivo

Added a normalization factor in error array computation.


100. 04 Mar 1998		isophote.ellipse 	           	Ivo

Modified the logic for stopping when reading from table in no-fit mode.


99. 18 Feb 1998			mstools.msstatistics              	Ivo

Fixed the handling of plain FITS files.


98. 10 Feb 1998			mstools.msstatistics              	Ivo

Added STIS support relative to DQ bit definitions.


97. 22 May 1998		    synphot.countrate			      Bernie

Countrate was giving erroneous results for the counts at the reference
wavelength when the instrument was a spectral instrument and the
instrument name was passed in upper case. This is because internally
countrate checks to see if an instrument is a spectral instrument and
only resamples the spectrum in these cases. The upper case instrument
name prevents the instrument from being recognized as a spectral
instrument, so it is not resampled. Since only results from spectra
resampled on the pixel spacing will yield a valid number of counts at
the reference wavelength, the results were incorrect. Modifying
countrate.x to lower case the instrument name before comparing it to
the list of spectral instruments fixed this problem.


96. 14 Apr 1998              stsdaslib$hstio                          Michele

Installed a new hstioirf.c in HSTIO on 14 April 1998.  Fixed a bug in 
put[Float/Short]Data when trying to identify constant images.  The PPix 
indices were reversed causing non-square images where NAXIS1>NAXIS2 to 
address out of bounds and be identified as non-contant images.  Ran a mkpkg 
in stsdaslib$hstio and installed the new library.


95. 01 Apr 1998              stsdaslib$hstio                          Michele

Installed a new version of keyword.c in the HSTIO library on 01 April 1998.
This file has been modified to handle properly the overwriting of string
values and associated comments for FITS keywords.


94. 31 Mar 1998              hst_calib.stis.echscript                 Michele

Modified the e_echscript.c and xselector.h files for the 'echscript' task
on 31 March 1998.  These files included C-bindings to all of the low-level 
TABLES tasks; this is an interface violation.  These files now only include 
the four basic functions absolutely needed for the task.


93. 31 Mar 1998              hst_calib.fos.spec_polar                 Michele

A new version of the 'calpolar' task was installed on 31 March 1998.
This version incorporates the post-COSTAR spectropolarimetry updates
which have already been installed in 'calfos'.

 
92. 30 Mar 1998               hst_calib.ctools                        Michele

Installed an updated version of 'ckwfos.par' on 30 March 1998.


91. 30 Mar 1998               hst_calib.fos                           Michele

A new version of the 'calfos' task was installed on 30 March 1998.  This
new version incorporates changes to apply post-COSTAR spectropolarimetry
calibrations to data acquired during the post-COSTAR epoch.


90. 30 Mar 1998               hst_calib.ctools                        Michele

Installed a fix to the 'resample' task on 30 March 1998.  A change in IRAF 
v2.11 to accommodate IEEE systems has caused an error in the 'resample' 
task to surface.  An improper check was being done in the 'resample' task 
which was causing a very large value to be written to the output header file.
This value was too large and the attempt to write it to the output file  
would fail and resulted in an overflow error.  In IRAF v2.10, this check was 
the same for both REALS and DOUBLES, so the 'resample' task worked just fine.


89. 13 Mar 1998               hst_calib.stis.echscript                Michele

Fixed an error in the 'echscript' task on 13 March 1998 and installed in
STSDAS on 30 March 1998.  The e_igisetup.c routine was modified as the task 
did not properly plot data for the "diagnostic" plot style when there were 
no flagged pixels.


88. 10 Mar 1998                hst_calib.fos                          Michele

Modified and installed the 'bspec' file on 10 March 1998.  Routines in the 
'bspec' file were using platform specific function calls: dsind() and dcosd().
The arguments to the functions were converted to radians and the functions 
were replaced by dsin()/dcos().


87. 1 March 1998               stsdaslib$cvos                          Michele

The CVOS interface files for XCLIO, XIMIO, XQPOE, and XVOPS (both the 
*.h and *.c files) have been regenerated.  In SPP/IRAF, integers and
long integers have the same number of bits (32).  To enforce this
in the C-bindings, all instances of long integers in the interface
have been changed to instances of integers.  The C-binding generation program, 
gencbind.c, has also been modified to enforce the use of only integers.
C_iraf.h and c_iraf_priv.c where modified as appropriate.

The NO_UNDERSCORE macro is now defined in the stsdaslib$mkpkg.inc file;
this macro was formerly set in the c_iraf.h and c_iraf_priv.c files.
The NO_UNDERSCORE macro needs to be defined for platforms which do
*not* append an "_" to the library routine names.  If you use
a makefile or other means to build the CVOS, and if your platform
requires the NO_UNDERSCORE setting, you will need to define this
macro yourself at this time.
 
The NO_UNDERSCORE macro was added and is checked in the following files:
  stsdaslib$cvos: c_iraf_priv.c (xercom), irafinit.c (irinit), and 
                  irafcmain.c (cirafm)
  stsdaslib$cvos/irafstdio: stdio.h (fiocom)

The CVOS mkpkg file and the stsdaslib$mkpkg file now explicitly define
the __VMS and/or __ALPHA (for OpenVMS) macros as appropriate.
Both of these macros no longer depend upon being defined by the compiler.

There is a new special mkpkg file, mkpkg.sf.HP700, which handle the
necessary settings for the CVOS on the HP machines.

The call to setpgrp() has been corrected in the irafcmain.c file.

Modified the stsdaslib$cvos/irafstdio stdio.h file.  The macro _FPOS_T
is now defined when setting "typedef long fpos_t".

For HP installations, the variable XC-CC must be set in the environment
to use "c89" in the following manner: setenv XC-CC c89.


86. 1 March 1998               stsdaslib$hstio                         Michele

The following files have been modified due to changes in some of the CVOS
interface routines to accommodate the enforcement of the use of integers
versus long integers: hstio.c, hstio.h, hstioirf.c, and the HSTIO mkpkg.


85. 12 Feb 1998                hst_calib.hrs                           Michele

Installed the modified GHRS CALHRS routine, ZGLOBC.F, on 12 February 1998.
The calls to UTCFND & UTRGTD were modified; An array was being passed for
the status when a scalar was required. Put the calls inside the loop so 
each call can be checked.


84. 06 Feb 1998                hst_calib.stis                          Michele

Installed new versions of 'echplot' and 'echscript' in the STIS package
on 06 February 1998.  These new versions incorporate the following 
changes: "diagnostic" plot style, both the "single" and "multiple" plot 
styles allow the user to define wavelength limits; the y-range is 
automatically scaled to the data contained only within the specified 
wavelength range, default  values for minwave/maxwave are INDEF; for backwards
compatibility, the main program treats INDEF and 0.0 in the same manner,
annotation has been added to the output IGI scripts for readability,
overwriting of the output 'igi' script is allowed if the IRAF environment
variable "clobber" is set to "yes", the plot annotation has been corrected 
to be singular (i.e., count s-1 rather than counts s-1), and the STScI 
address is no longer printed on the plots.


83. 06 Feb 1998                 hst_calib.fos                           Michele

Installed 'bspec' and 'countspec' in the FOS package on 06 February 1998;
this software formerly was only found in stlocal.testfos.  The source code 
for these tasks is located in fos$model.  The help files were updated.


82. 22 May 1998			stis					Phil

Daydark.cl and mkfringeflat.cl were updated.


81. 22 May 1998			ctools					Phil

The three psets ckwstis1.par, ckwstis2.par, and ckwstis4.par were modified
to add new parameters.  apertab was added to ckwstis1.par; wavecal and pctab
were added to ckwstis2.par, and doppcorr, wavecal, mofftab, and pctab were
added to ckwstis4.par.


80. 15 May 1998			stis					Phil

The daydark task (cl script written by Paul Goudfrooij) was installed in the
stis package.
(The help file has not been written yet.)


79. 15 May 1998			tbtables				Phil

If there is an error opening the file in tbfopn.x, a call to fsfiou has
been added to free the iou number, and TB_FILE is set to NULL.


78. 15 May 1998			ttools$imtab				Phil

Tabim.x was modified to check for INDEF values in the column read from the
table and replace such values with -999.


77. 15 May 1998			ttools					Phil

The mkpkg files in gtedit, tchsize, tcopy, and tquery were modified to
include <tbset.h> as a dependence for gtdodel.x, tchsize.x, tcopy.x, and
tquery.x respectively.


76. 28 Apr 1998			tbtables				Phil

Tbcrcd.x was modified.  There is a check on data type of TY_CHAR, which was
used originally for character string columns and may still be found in old
tables, but during the changes (see April 14) to allow longer column names,
etc., this check was inadvertantly moved to a point before which the data
type was assigned.  This was corrected.


75. 20 Apr 1998			tbtables				Phil

Tbzwrt.x was modified to append an EOS to the pform string before calling
strcat to append the print format.


74. 15 Apr 1998			tbtables				Phil

Tbxnew.x and tbynew.x were modified to allocate more space for colinfo
(because it's an in-memory column descriptor, not just space for writing a
packed column descriptor to a table file.  This bug was introduced with the
changes for the size of a column name, units, and print format.


73. 15 Apr 1998			ttools/tedit				Phil

The subroutine opn_paste in tedit/paste.x was modified.  After getting the
name of the original table (with tbtnam), a call to tbparse was added before
calling fnldir.  This section is for getting the directory that contains the
original table, and the brackets at the end of a FITS file name confused
fnldir.


72. 14 Apr 1998			tbtables				Phil

The tables library was modified to allow SZ_COLNAME, SZ_COLUNITS, and
SZ_COLFMT to be somewhat longer.  tbset.h was modified to increase the
values for these macros to 79 (from 19, 19, and 9 respectively).  For a
FITS table, the actual lengths are set by the FITSIO common blocks (the
current limits are 24, 24, 16).  For an stsdas table, the actual lengths
are set by the space available in the table file, and the limits are
20, 20, and 8; these were increased by one character by allowing the
values in the table to not be NULL terminated if they fill the space.
Because of the lack of a terminating NULL for long column names, units,
or print format, an stsdas format table written by the new software might
not be readable by a previous version.  The modified files are:
tbtables.h, tbcadd.x, tbcfmt.x, tbcfnd.x, tbcftl.x, tbcigi.x, 
tbcigt.x, tbcnam.x, tbcnit.x, tbcrcd.x, tbcwcd.x, tbegt.x, 
tbfag.x, tbfrcd.x, tbtbod.x, tbtopns.x, tbtscd.x, tbuopn.x, 
tbxcg.x, tbxnew.x, tbxrg.x, tbxwnc.x, tbycg.x, tbynew.x, 
tbyrg.x, tbywnc.x, tbzgt.x, tbzopn.x, tbzwrt.x.
Two files were deleted, tbcftg.x and tbcftp.x, and mkpkg was modified to
remove those two file names.


71. 26 Mar 1998			ttools/tstat				Phil

The tstat task was modified.  For input tables with only one column, the
column parameter is ignored.  For columns containing array entries, all
elements of all selected rows are included when computing the statistics.
The modified files are tstat.x and tstat.hlp.


70. 26 Mar 1998			ttools/tprint				Phil

The tprint task was modified to read a new parameter orig_row.  If a row
selector expression was included with the name of a table, the row numbers
printed will be those of the underlying table if orig_row is yes; otherwise,
the row numbers will be sequential starting with one, as if the table only
contained the selected rows.  The files tprint.x, tprplain.x and tprlatex.x
were modified, as well as tprint.hlp.


69. 26 Mar 1998			tbtables				Phil

Files were modified and new files added in order to call Bernie's row and/or
column selector routines if the selector strings are included with the table
name.  The modified or new files are:

tbtables.h, mkpkg, tbagt.x, tbapt.x, tbcdef.x, tbcdes.x, tbcgt.x,
tbcnum.x, tbcpt.x, tbctpe.x, tbcwcd.x, tbegt.x, tbept.x, tbfap.x,
tbfchp.x, tbfhp.x, tbfnew.x, tbfsft.x, tbnparse.x, tbparse.x, tbpsta.x,
tbrcpy.x, tbrcsc.x, tbrdel.x, tbrgt.x, tbrnll.x, tbrpt.x, tbrsft.x,
tbrswp.x, tbrudf.x, tbscol.x, tbsirow.x, tbsopn.x, tbsrow.x, tbswer.x,
tbswer1.x, tbtclo.x, tbtcpy.x, tbtext.x, tbtopn.x, tbtopns.x, tbtwer.x,
tbxap.x, tbxcp.x, tbxrp.x, tbxsft.x, tbxudf.x, tbxwer.x, tbycp.x,
tbyrp.x, tbysft.x, tbywer.x, tbzcp.x, tbzpt.x, tbzwer.x.

In the selector subdirectory, mkpkg was modified, and tbcga.x and
tbcnel.x are new files.

In the ttools$lib/ directory, tbfile.x was modified because the extname
string returned by tbparse now includes the brackets.


68. 03 Feb 1998			synphot.simulators.simimg		Bernie

The simimg task allows you to supply a default spectrum for a list of
objects via a task parameter. The default spectrum was only being
applied properly to the first object in the list. I traced the problem
to a bug in rdobjects.x which did not copy the default spectrum
properly. As a result, only the first object had its spectrum computed
properly.  I modified rdbobjects.x to do the copy properly.


67. 03 Feb 1998			stsdaslib$synphot			Bernie

The getrange function in calcrange.x was terminating with an error
when the spectrum conatined a z function whose argument was variable
zero. The problem was traced to improper checking for INDEF arguments,
which I fixed.


66. 30 Jan 1998			analysis.fitting			Ivo

Added clindex to image name in lib/rdcurves.x. The fitting tasks were
refusing to read something like t.fits[1][*,1024].


65. 30 Jan 1998			teststis.taedit				Phil

Taedit.cl was modified to add the new parameters (with default values)
to the calls to taextract and tainsert.


64. 30 Jan 1998			ttools$atools				Phil

New parameters were added to the taextract and tainsert tasks.  The
modified files were taextract.x, taextract.par, taextract.hlp, tainsert.x,
tainsert.par, tainsert.hlp.  When creating the output column, the default
is to use the same data type, units, and print format as the input column,
and for tainsert to set the array size to the number of rows in the input
table.  The new task parameters give the user the option to change these
characteristics, unless the output column already exists.


63. 20 Jan 1998                 hst_calib.ctools                        Michele

Fixed the logic in the test to check for the existence of the input file.
I make sure the FITS extension number is removed from the filename before the
test.  I broke this logic in my previous upgrade.


62. 19 Jan 1998			tbtables$selector			Bernie

The test in is_image was incorrectly reporting that a fits file that
was an image followed by a table in the first extension was a table
even when the [0] extension was appended to the image name. This is
due to the special way the tables interface handles primary
headers. The code in whatfile.x was modified to check specific header
keywords (ORIGIN or XTENSION) to determine if a file is a table or an
image.


61. 16 Jan 1998                 hst_calib.ctools                        Michele

Changed the manner that the 'tomultispec' routine constructs the
temporary output filenames.  The old names were bound to the input
table column names which could be a problem if the column name were a
blank.  The new temporary names are constructed from the task name,
dispersion (X) or intensity (Y), in addition to anything that
'tximage' will add to the name.  Modified the help file to aid the
user in identifying the temporary filenames in the event the task
aborts prematurely and the files are left in the "tempdir".


60. 16 Jan 1998			tbtables$selector			Bernie

I fixed a bug in trsopen that occured when the row selection string
was empty. The parser did not set a value of $$ to push on the parse
stack, leaving this value undefined and potentially with a garbage
value. This led to a segmentation violation in some cases. Trsopen.y
has been modified to set the value of $$ to null when the row selector
string is empty.


59. 15 Jan 1998			tbtables$selector			Bernie

I added a new version of selrows to the selector library. This version
calls the new row selector functions trsrows and rst_nelem. The
previous version, written by Ivo Busko, was left out of the new
selector library by oversight.


58. 14 Jan 1998			tbtables				Phil

The file tbfhp.x was modified.  In subroutines tbfhpd and tbfhpr, the
number of digits to use (following the decimal point) for writing keywords
was previously changed from 17 to 16 and 7 to 6 respectively, but only for
existing keywords.  (See entry 660, 20 Feb 1997, in updates.v20).  The
current change is to make the precision the same for new keywords.


57. 14 Jan 1998                 hst_calib.ctools                        Michele

Modified rcombine.x routine - removed the call to iki_parse which was being
used to determine the filename extension.  Replaced iki_parse with imgcluster
and fextn.


56. 13 Jan 1998			analysis.fitting			Ivo

The Levenberg-Marquardt minimization algorithm was added as an alternative
to the "amoeba" algorithm for fitting non-linear functions. This was a
major code upgrade involving changes in many source, help and par files.


55. 13 Jan 1998                 hst_calib.hrs.hrs.hlp                   Michele

Updated the hrs.hlp file to change all references from 'getreffile' to
'getref'.


54. 13 Jan 1998			analysis.isophote			Ivo

Added independent upper and lower sigma-clip thresholds to 'ellipse'
task.


53. 13 Jan 1998                 hst_calib.fos.yfluxcal                  Michele

Modified the 'yfluxcal.cl' script to accommodate changes to the 'getref'
and 'upreffile' tasks.  Previously, 'yfluxcal' called 'getreffile' locate
in stlocal.cdbsutil; 'getreffile' has been replaced with the foreign task
'getref'.  In addition, the 'upreffile' task has been moved to 
toolbox.headers and now has an additional parameter in order to set the
switch to add new keywords.


52. 09 Jan 1998			ttools.keypar				Bernie

I replaced the code which determines the file type with new code which
calls the is_image function in the selector sublibrary of tables. The
affected procedure was filetype.x in the copyone subdirectory of
ttools.


51. 08 Jan 1998			synphot.imspec				Bernie

I modified the procedure in imspec that determines the input file
type, getftype.x, to call is_image in the selector library. This
change was made to centralize the code that determines file type in a
single function, is_image.


50. 08 Jan 1998			imgtools.addmasks			Bernie

The code which determines the type of the input mask file was changed
to call is_image. This was done to centralize file type determination
in a single function. The task previously wculd not use masks in fits
files. Now it can. The procedures mask.x and images.x in the lib
subdirectory of the imgtools package were modified.


49. 08 Jan 1998			tbtables/selector			Bernie

I modified the function whatfile by introducing the new function
is_image and rewriting whatfile to call it. The reason for the
modification is to add a function that returns YES or NO instead of
the macros defined in whatfile.h. The existing function was retained
for backwards compatibility.


48. 08 Jan 1998			analysis.isophote			Ivo

Modified logic for checking input parameters when reading ellipse geometry
from table.


47. 07 Jan 1998			tbtables/selector			Bernie

I installed a new version of the selector libraries. The new version
processes row number subexpressions in a row selector sepearately and
stores the results in a new data structure called a row set. When
trseval is called, it checks to see if the row is in the set and if
not, returns false.  If it is in the set, it calculates the result
from the remainder of the expression. A new function, trsrows, is
available, which returns a set containing all row for which the row
selection expression is true. Functions to use or modify the row set
are in rst.x. All of the table row selector (trs*.x) procedures were
modified.


46. 05 Jan 1998                 hst_calib.fos.fixdiodes                 Michele

Fixed the declaration of clgetb() in the fixd.x routine to be a bool.  This
error was caught by M. Fitzpatrick when compiling STSDAS on a PC.


45. 30 Dec 1997			ctools.msstreakflat			Ivo

Fixed average and standard deviation computations in module g_stat.c.
The task crashed when a given pixel was rejected in all images in the
input list.


44. 04 Dec 1997			tbtables.selector			Phil

The mkpkg file in tables$lib/tbtables/selector was modified to include the
line "$call generic" just after the "libtbtables.a:" line.  Without this,
running mkpkg from a higher level directory would not update the generic
subdirectory in the case that tcsrdary.gx had been modified.


43. 03 Dec 1997			mstools					Ivo

The hidden task 'bloathdu' was modified to cope with a bug in 
'moveheader' that prevents it from working with images with a null
pixel array. This bug was introduced with IRAF 2.11


42. 02 Dec 1997			gasp.makewcs				Bernie

Makewcs calculates the world coordinate system header parameters for
Guide Star Scan images that do not have them. The formulas it used
produced incorrect results near the poles. They have been replaced by
formulas based on those in xy2rd, which work at all declinations. The 
only procedure modified was trsteq.x


41. 25 Nov 1997                 fos.addnewkeys                          Michele

Added access checks on all input file names to the 'addnewkeys' task.
The checking is done for specific files within the domain of the
algorithm where the files would be needed.


40. 24 Nov 1997                 fos.addnewkeys                          Michele

Modified 'addnewkeys' to skip updating the header for an input image
with the new flux calibration keywords and values if the data are
spectropolarimetry observations.  The new flux calibration (AIS) is
NOT appropriate for this data.  Correspondingly, modified the
'addnewkeys' help file to indicate that it is not appropriate to
update the headers of spectropolarimetry observations to use the new
flux calibration (AIS).


39. 24 Nov 1997			mstools.msarith				Ivo

Fixed code in n_getoper.c that was getting confused with file names
beginning with a numeric character. The underlying HSTIO routine
get_numeric, which is used to translate from text strings to numeric
values, returns a valid number even when the number string ends with
non-numeric characters. The code in n_getoper.c was modified to handle
these special cases.


38. 20 Nov 1997			synphot.simulators			Bernie

I modified the simimg and simspec tasks in the simulators package by
adding a noise parameter to these tasks. This parameter allows the
user to set the noise model independently of any noise model that may
be present in the throughput files. The procedures changed were
simimg.x and simspec.x.


37. 20 Nov 1997			fitsio.catfits				Bernie

Operations is producing FITS files with extra blank records at the end
of the file. These extra records cause catfits to print the
"unexpected data at end of fits file" message. I have changed catfits
so that it checks to see if the extra records are blank. If they are,
no error message is printed. The only changed file is
cat_rtonly.x. Because the changed code uses the isblank function is
stxtools, the package now links with the stxtools library.


36. 14 Nov 1997			fitsio.catfits				Bernie

Catfits is supposed to print the EXTNAME instead of the FILENAME when
printing information about an extension. It usually does so, but if
the FILENAME is also present in the extension, it will print whichever
of the two occurs last. This bug is due to a single variable being
shared between both keywords. I ahve fixed the bug by adding extension
number checking code to get_tape_info in cat_rtonly.x.


35. 14 Nov 1997			stlocal.cdbsutil			Bernie

Although the old cdbsutil package was deleted, several tasks within
the package were still useful, so they were moved into other
packages. Rdsiaf, which read the PDB Science Instrument Aperture File
(SIAF) was moved into the tools package. Upreffile, which takes the
output of getref and uses it to update an image header, was moved into
the headers package. The uniq tasks in the tools package were removed,
as they duplicate the functionality of uniqname in the new cdbs
package.


34. 14 Nov 1997			dither$doc				Ivo

All help files were revised.


33. 13 Nov 1997			scidata/cosiaf.tab			Bernie

I created new aperture files from the latest project database (PDB)
files.  The files are stsdas$data/scidata/cosiaf.tab and
stsdas$data/fits/cosiaf.fits. The files were created by rdsiaf and are
used by siaper.


32. 13 Nov 1997			fitsio.stwfits				Bernie

The procedure fits_scale.x sets BSCALE to some minimum value when it
is very small but larger than zero. The minimum value chose was
illegal on some machine types, so I changed it.


31. 11 Nov 1997			stlocal.cdbsutil			Bernie

The old cdbsutil package under stlocal has been rmoved and replaced by
a new package where the new versions of the cdbs tasks are defined as
foreign tasks.


30. 11 Nov 1997			analysis.dither				Ivo

Major change in the way sky subtraction is handled. The old gsky task was
renamed ogsky and hidden. The old cgsky script was renamed 'sky' and is
the only access the user have to the sky handling algorithms. The sky.cl
script was changed to take into account images processed by the crrej
task, which documents its sky processing in HISTORY records. The signal-
to-noise computation was replaced by a simpler sqrt and put back in place.
 

29. 24 Oct 1997                 imgtools.mstools                        Michele

Retired the 'imexpand' task which has been superceded by 'mssplit' and
'msjoin'.  'Imexpand' was not defined in this package, but the source 
code was residing in this area unnecessarily.  Also, retired the corresponding
help file.

Added a warning message to the 'mssplit' and 'msjoin' help files to indicate 
any instrument-dependent FITS keywords are not updated upon the conclusion 
of the task.


28. 24 Oct 1997                 stlocal.testhrs                         Michele

Fixed an error in the file, testhrs.cl; the definition of the convert_time 
task was incorrect.


27. 23 Oct 1997 		imgtools.imcalc				Bernie

Imcalc contains an error handling procedure, err_imvar, which deletes
the output image if an error occurs during task execution. This
function was causing problems for fits files (see previous fix for
imcalc) and bad pixel lists. Since having this function was more
problems than it was worth, I deleted it. From now on, the user will
have to delete the bogus output file, which should not be a major
burden.


26. 21 Oct 1997			fitsio.catfits				Bernie

Catfits computes the size of the data portion of the fits file in
order to skip over it. The former computation could result in integer
overflow if the size of the data portion was very large. I have
reworked the computation in skip_data in cat_rtonly.x so that integer
overflow will not occur.


25. 21 Oct 1997			synphot.countrate			Bernie

I added acs to the list of instruments in countrate. The only affected
file was countrate.x.


24. 20 Oct 1997			analysis.isophote			Ivo

It was found that the "object locator" algorithm in the 'ellipse'
task can be fouled by very flat (high ellipticity) images. After
conducting some experiments with artificial images, it was found
that it can be made to behave sensibily by adding a user-selectable
threshold parameter. Changed files: src$t_ellipse.x, src$elfind.x,
controlpar.par, doc$ellipse.doc, doc$controlpar.hlp, doc$geompar.hlp


23. 20 Oct 1997			stsdaslib$synphot			Bernie

The automatic wavelength generation did not work when the observation
mode contains a parameterized keyword because tabrange, the procedure
which fetches the wavelength range from a throughput table, could not
handle parameterized column names. I have modified tabrange in
calcrange.x and wavelimits in wavelimits.x to handle parameterized
column names by using the entire wavelength range of the throughput
table rather than the portion for which the throughput column is
non-null.


22. 17 Oct 1997                 nebular$atomic_data                     Dick
BUG REPORT: An error was discovered in the atomic data files for 
Ne IV. The atomic data for levels 2 (^2D_3/2, 2422 Ang) and 3 
(^2D_5/2, 2425 Ang) were inadvertantly reversed. The effect is to 
render incorrect the abundances and diagnostics based on transitions 
to/from these levels.  

STATUS: The repaired data files have been included in the NEBULAR 
source distribution at ftp://ra.stsci.edu/pub/nebular/), and will 
be available in the next patch release of STSDAS. There is no 
work-around; a simple fix (without re-installing nebular) is to 
download the revised atomic data files from the ftp address above.  
The files are in the subdirectory atomic_data, and are called 
ne_iv_atom.fits and ne_iv_coll.fits.  After placing these files 
in the nebular$atomic_data directory, all futher calculations for 
this ion will be correct. 


21. 17 Oct 1997			imgtools.imcalc				Bernie

Imcalc does some cleanup when it takes an error exit in err_imvar in
imvar.x. Under some circumstances this cleanup can trigger another
error, obscuring the original error. Imcalc now catches these errors.


20. 16 Oct 1997			mstools,ctools				Ivo

Renamed source files with long names to shorter names, so mkpkg won't
pick them up for compilation every time it runs.


19. 16 Oct 1997			dither.precor.cl			Ivo

The script was getting confused with the file name list handling. Replaced
pickfile by a list struct parameter.
	

18. 14 Oct 1997			stxtools$vexfunc.x			Bernie

The vex procedures in stxtools, used by tcalc and imcalc, check for
division by zero by comparing the absolute value of the divisor to
either MIN_REAL or MIN_DOUBLE. I changed the definition of these
constants to be the reciprocal of MAX_REAL and MAX_DOUBLE, defined in
iraf's header file mach.h.


17. 13 Oct 1997                 hst_calib.stis                          Michele

Installed two new tasks in this package, 'echplot' and 'echscript'.
'Echplot' is an IRAF script located in the main package; 'echscript' is
an executable for which the source code and library is located in the
subdirectory "/echscript".  The "mkpkg", "stis.cl", "stis.men", and "stis.hd"
files were appropriately updated to accommodate these new tasks.  The
help files were installed in the "/doc" area; the help database was updated.


16. 26 Sep 1997			ttools.tlinear				Phil

In tlinear.x, each occurrence of IS_INDEF was replaced by IS_INDEFD, since
the argument in every case was double precision.  This change was required
because in IRAF 2.11 INDEFR and INDEFD are no longer the same value.


15. 25 Sept 1997		fitting$nlfit				Ivo

Added error-handling code to catch errors in user function evaluation.
Fixed bug related to non-defined user function coefficients.


14. 24 Sept 1997		fitsio.strfits				Bernie

A user reported strfits was crashing with a divide by zero error. The
problem was traced to the fits file he was trying to read. The table
containing the group parameters was mangled. However, since the error
message gave no sense of the cause of the problem, I changed the code
of fits_rimage.x to take an error exit with a more meaningful message
whenever the table read is cut short.


13. 23 Sept 1997		fitting$lib/rdcurves.x			Ivo

Added support for row selectors on scalar columns.


12. 22 Sept 97			isophote$src/elfit.x			Ivo

Changed the starting gradient value, from 1/10 of the current mean
value, to -0.05. The former value wasn't working for some images.


11. 19 Sept 1997		fitting					Ivo

The array-reading code installed on Sept 17 was modified to be able to read 
arrays from multiple rows. A (very old, circa 1987) memory leak was also 
fixed.


10. 17 Sept 1997		fitting					Ivo

The non-linear fitting tasks formerly refused to start when no first-guess
parameter values were supplied in the corresponding pset. The fitting
library was modified so as to supply sensible first guesses based on the
data range and functional form, so now the tasks never refuse to start
(except when the 'user' function type is specified in 'nfit1d' with INDEF
first-guess paraeters).       
  
  
9. 17 Sept 1997			fitting					Ivo

All tasks in the 'fitting' package were upgraded to read arrays in table
cells ("3-D tables"). Now they accept a row selector to specify the row
where to read the x,y arrays from. All other pre-existing input formats
continue to be recognized.


8. 11 Sept 1997			fitsio.strfits				Bernie

Strfits checks for filename collison when renaming files to their
original iraf name and leaves them with their temporary name when
collison is detected. This was leading to problems when the output
file was not geis format as the default temporary extension is hhh,
which is not suitable for fits files or tables. I modified the code so
the extension on the temporary file is suitable for the file type in
case of filename collision. I also improved the collision detection so
that it is done repeatedly on the output filename until no collision
occurs. The changes were made to change_name in fits_read.x.


7. 08 Sept 1997			fitsio.catfits				Bernie

I changed the warning message that is printed when catfits finds
data that does not bein with the XTENSION keyword from "bad fits file"
to "unexpected data at end of fits file", which is less threatening.
The only function changed was cat_rtonly.x.


7. 08 Sept 1997			synphot.countrate			Bernie

I removed the int declaration from the procedure calcstep.x.


6. 05 Sept 1997			fitsio.strfits 				Bernie

A test in strfits caused it to take an error exit when the user did
not specify an extension on the output file name and the default image
type was not imh or hhh. This was because strfits cannot convert fits
files into any arbitrary format, only the imh, hhh, and table formats
are supported. Since users complained about this message, I modified
strfits so the if the default image type is other than imh or hhh, the
extension is set to hhh. The changes were made to function see_extn in
t_rfits.x. I also deleted xdimtogf from the calling sequence of
see_extn, as it was not being used by the procedure.


5. 04 Sept 1997			ttools.tedit 				Bernie

A call to strcpy in getcol_cmd in the file command.x was missing its
third argument, so I supplied it.


4. 03 Sept 1997			fitting$lib				Ivo

The imgcluster function from imio gets confused when dealing with
FITS extension specs such as "[SCI,1]". This prevents the tasks in
the fitting package from reading directly from FITS extensions.
Fixed by replacing the imgcluster call by a call to imparse and a 
concatenation of the bare *file* name with the ksection supplied by 
imparse.


3. 28 August 1997		stsdaslib$synphot			Bernie

A new function was added to the synphot expression evaluator to
support redshifting spectra. The function is named z and takes two
arguments. The first is an expression yielding a spectrum (which may
be a table name) and the second is the z value the spectrum will be
redshifted by. A new procedure zfunc.x was written and the procedures
in the synphot which implement the expression evaluator were modified:
(syncompile.x and syncalc.x.) The procedure which calculates the
default wavelength range, calcrange.x, was also modified to support
the new redshift function.


2. 27 August 1997		mstools.mscombine			Ivo

The FILENAME keyword was being propagated from one of the input primary 
headers into the output extension's headers. Fixed by adding inherit-
to the bloathdu calls.


1.  3 Sep 1997			STSDAS Updates File			Ray

This file should be used to record updates to all STSDAS software for version
1.3.  Each entry should start with an index number, followed by the date in
the form DD Month YYYY, followed by a heading, followed by the name of the
person making the entry.  The heading should start at the 4th tab position,
and your name should start at the 9th tab position.  Please skip a line between
the heading line and the text, and skip two lines between entries.

