JULY 10, 2009

CALCOS v2.8.5 Release Notes

Relevant PRs: 

PR Updates
61783 CALCOS changes for version 2.7
61914 Background artificially lowerednear the edges of COS NUV data
62091 CALCOS should process imaging wavecals.
62433 Modify wavecal processing in CALCOS.
62590 In CALCOS, revise the code for the dispersion relation.
62666 Calcos should write some new or different keywords.
62810 Check for integer division using '/' in calcos.
62890 Calcos should use shift2 for wavecal exposures.
62895 Allow calcos to use a corrtag file as an input.
62936 Calcos should round off some header keyword values.
62937 Modify calcos tagflash code for finding flashes.
62938 Improve template-to-wavecal normalization in calcos.
62939 Miscellaneous changes to calcos.
62942 Change sign of delta in calcos dispersion relation.
62997 Calcos may need to update LAMPUSED.

Relevant Trac tickets:

328, 330, 367, 394, 406, 408, 411, 415, 416, 417, 419, 420, 421, 422, 423, 425


  • If there's an association file, calcos now checks for a conflict between exptype in the primary header and the memtype column in the association table. In particular, if exptype = WAVECAL but memtype is not one of the wavecal types, or vice versa, that's an error.
  • For data with obstype = imaging and tagflash = auto or uniformly spaced, calcos will find the image of the wavecal aperture and shift the data so the image of the WCA will be at x,y = 600,606.
  • For data with obstype = imaging and exptype = wavecal, calcos will process the data as an image, with no correction for the location of the image of the WCA.
  • If photcorr is PERFORM but aperture is WCA or FCA, photcorr will be reset to OMIT.
  • In the optional file to override shift1 (the option --shift filename), the flash number is now one indexed instead of zero indexed. This was done to agree with the flash number that is printed to the trailer file, and because it is more likely to be what a user would expect. A bug in the test for blank lines in the shift file has also been fixed.
  • A corrtag file can now be given as input to calcos. If a corrtag file is part of an association, the value in the MEMNAME column of the association table should be the complete corrtag file name, not just the rootname (because if it's just the rootname, calcos will look for the raw file and then complain that the calibrated file already exists).
  • In the near future, the syntax in Python for dividing integers will be changed from 'a / b' to 'a // b'. All the Python code for calcos uses the new syntax, and a statement was added to all relevent files to check for inadvertent use of '/' for integers.
  • A bug in the extraction of 1-D spectra for auto or GO wavecals was fixed. The offset in the cross-dispersion direction was not being taken into consideration, and the spectrum was being extracted at the nominal location. Since the extraction width is large, this went unnoticed until recently, but now the actual location of the spectrum is significantly different from during thermal vac.
  • When smoothing the background in the 1-D spectral extraction step, if the shift in the dispersion direction is large enough, the range of pixels over which the data will be smoothed could extend beyond the borders of the image, resulting in an exception. The range of pixels is now truncated at the image borders.
  • The values of some header keywords are now rounded to four decimal places.
  • For spectroscopic wavecal (or tagflash) data, calcos now explicitly checks whether a lamp was on. If a lamp was on but keyword LAMPUSED is NONE (which can be the case for tagflash data), the value of keyword LAMPPLAN will be copied to LAMPUSED. If keyword LAMPPLAN is not present in the header (it's a new keyword), however, a message to that effect will be printed and LAMPUSED will not be modified.
  • For tagflash = UNIFORMLY SPACED, the LMP_ON2 keyword is currently one second too small, and calcos used to rely on the difference between LMP_ON1 and LMP_ON2 to determine the initial estimates of the turn-on and turn-off times for all flashes. The one-second offset accumulated so that after about five flashes the calculated turn-off times were outside the buffer, and the turn-off times reported by calcos were wrong. The binning of lamp counts has been reduced from one second to 0.2 second, and the code for finding uniformly spaced flashes has been modified to compute the flash spacing using the median of the intervals between flashes.
  • The code for determining the normalization between a wavecal spectrum and the template was modified. The previous scheme didn't work for the case that there were only one or two emission lines that were significantly above the noise. The noise is now truncated to zero, and whatever remains is used to find the normalization. Also, cases have been encountered where the normalization is not the same for all NUV stripes, so the factor is now computed separately for each stripe, instead of finding the median of the factors and using that one value for all stripes.

Please Contact the HST Help Desk with any Questions