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:
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.
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).
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.