This describes changes from calcos version 2.17.3 to 2.18.5. Relevant Trac tickets and PRs: Trac PR ---- ----- 558 65203 Calcos should not use keyword TC2_2. 718 68538 Update deprecated Python syntax in calcos. 720 68550 Calcos should accept data taken with different cenwaves. 68936 Calcos should add MCENWAVE and MFPPOS keywords to COS data 761 69143 Calcos should flag gain-sagged regions in FUV data. 830 70036 Calcos should read the HVTAB and populate keywords. 852 70447 For tagflash data, calcos should assign another default value. 854 70493 add option to CALXXX tasks to report version ID 856 70562 Calcos should use PROPAPER if APERTURE is RelMvReq. 857 70563 Calcos should do something sensible if LIFE_ADJ is -1 864 70770 Delete the check on NUMERIX in calcos. 865 70786 Calcos needs a reasonable default value for x1dsum array size. 877 71057 Calcos can flag the upper limits of DQ regions incorrectly. 882 71135 Calcos deadtime correction returns the wrong number of values. 891 71303 Calcos should update calibration switch keywords for ACQ/IMAGE data. 894 71315 Calcos no longer needs to find lamp flash spacing. 902 71425 Change calcos --only_csum option regarding switches. 903 71426 Calcos should rename some keywords instead of deleting. 907 71516 Calcos should round rather than truncate. 917 71635 Calcos bug regarding SPWCSTAB = "N/A". Overview: The option to use a gsagtab to flag gain sagged regions has been implemented. When regions are flagged as bad in the DQ extension of an flt or counts file, the lower limit of flagged regions has (in some cases) been too high. The bug is seen when SHIFT2A (or B or C) is greater than or equal to +0.5, and the lower limit of a flagged region will be too high by the SHIFT2A (B, C) value, rounded to an integer. When averaging x1d tables to make an x1dsum table, there are several columns that contain arrays. If all the input x1d tables are empty, the array length was being set to 0, which is not a valid array length. The array length is now set to a positive value, at least 1 but usually the length of an FUV or NUV x1d array. A bug was fixed for the case of ACQ/IMAGE data with zero exposure time. An association may now include exposures taken with different values of the CENWAVE keyword. New keywords MCENWAVE, MFPPOS and MFPOFSET are now written when averaging spectra. The values are strings containing comma-separated values of the distinct CENWAVE, FPPOS and FPOFFSET keywords from the input file(s). For ACQ/IMAGE data, the calibration switch keywords were not being updated to COMPLETE. This has been fixed. New command-line arguments '--version' and '-r' have been added, to print the version number and the full version string respectively. Under some circumstances the APERTURE keyword can have a value such as RelMvReq that does not indicate what aperture was used for the exposure. Additional information (e.g. the value of PROPAPER) is now used to help determine which aperture was actually used. If an exposure was taken at an aperture position that is not in the list of currently defined positions (in which case keyword LIFE_ADJ will be -1), the offset from LIFE_ADJ = +1 will be determined from the location of the aperture block, and this offset will be applied when looking for the wavecal or target spectrum. The spectroscopic WCS keywords were not being written if the last file in an association had keyword SPWCSTAB = "N/A", e.g. if the exposure was an auto or GO wavecal.