spacer link to MAST page spacer logo image spacer
 
link to STScI page


Extended downtime notice

Due to a planned outage on Friday, April 12th starting at noon through Sunday, April 14th, access to this site will be unavailable during this time. We apologize for any inconvenience.

Y2K Testing of IUEDAC IDL Software

Although no further software development is planned, the IUEDAC software was studied for Y2K-compliance. This study was initiated because the IUEDAC library is still being used by other projects including the ongoing work on making the Copernicus and IMAPS archive available to users.

The study involved searching the IUEDAC procedure library for occurances of phrases such as: "year", "date" "leap" or "mod 4" (the latter being a common phrase for testing for leap year). The results were printed and individual programs were studied to see if Y2K-related modifications were needed.

The programs studied can basically be grouped into 3 categories: general, IUE-specific, and Copernicus-specific. Many of the IUEDAC programs dealing with dates were written specifically for analyzing IUE data sets. Since the IUE project ended in 1997, it was felt unnecessary to modify this group of programs for Y2K compliance. Projects modifying these routines to work with other data sets however, may need to make the appropriate date changes although its doubtful that many programs in this category would be useful to other projects. The same applies for the Copernicus-specific programs. Some of the low-level programs and the FITS-handling routines however, are general enough to be used by other projects, so these programs were modified.

Modifications:

The following Y2K-related changes were made:

  1. 2-digit dates are now assumed to refer only to the years 1900 through 1999 (i.e.,a date entry of 0 is assumed to refer to year 1900). All other years must now be specified with 4 digits.
  2. Tests for leap year were modified to include the special case for years divisible by 400 (i.e., centuries NOT divisible by 400 are NOT leap years). Some programs which did have this test were found to be incorrect (i.e., they assumed centuries not divisible by 400 were leap years).
  3. Starting Jan 1, 1999, a new format will be adopted for the DATE and DATE-OBS FITS keywords which use 4-digit year entries. As a result, the primary date conversion routine DATECONV was modified to include a new mode called "newfits" which generates the new FITS date format. Programs calling DATECONV to create the DATE and DATEOBS keyword entries must be modified to use this new mode at the end of this year.

Changes made to specific programs are listed below:

PROGRAM PURPOSE MODIFICATION
DATECONV primary IUEDAC date-conversion routine added 'newfits' mode, and use 4- (rather than 2-) digit dates internally
FDATE convert yr,gmtday to dd/mm/yy format fix leap year test and bug found for years 1900-1909 (program mainly replaced by DATECONV)
FINDELT extract IUE orbital elements add comment about non-y2k compliance
GEXCAL calibrate gaussian extracted fluxes use DATECONV for date conversions
IDBDATE convert dd-mon-yyyy to julian date and yr & day of yr correct leap year calculation
IDBFPARSE convert dd-mon-yyyy to string yyddd.nnn call DATECONV rather than the astron routine DATE_CONV(?)
IUNJD convert julian date to [yr,dofyr,mon,d,h,m,s] fix leap year calculation
JULDATE converts [yr,d,h,m,s] to Julian date add prolog information
KEYGEN generate FITS headers call DATECONV instead of FDATE for date conversions
YDTOYMD convert YYDDD dates to YYMMDD correct leap year calculation and output dates in YYYYMMDD format for other centuries (mainly replaced by DATECONV)

IUE-specific Routines

The following programs perform various date calculations but were not modified because they are specific to IUE data analysis:

  • ASSESS
  • CORRCALIB
  • DCCOR
  • EXPOFIN
  • FES2V
  • FESCALC
  • GETELT
  • GETRADEC
  • HISSORT1
  • IBMENU2
  • IDBFIND
  • IPDATA
  • IUEVEL
  • LABT
  • LWPCORFLUX
  • MIDTIME (note incorrect century leap year test)
  • RBS
  • RBSENSCOR
  • READDV (note incorrect century leap year test)
  • READELT (note incorrect century leap year test)
  • SDC
  • TIMELWR
  • W_SEARCH


Copernicus-Specific Routines:

The IDL stacking routines (i.e., STACK, WSTACK, PSTACK,...) used to coadd Copernicus spectral scans, use DATECONV to create FITS header keywords, and will need to be modified to use the new 'NEWFITS' mode starting 1/1/99.

No other changes were found necessary.