About McIDAS         McIDAS-V        
   Advanced
   

McIDAS Year 2000 Modifications

Updated 16 October 1998

The table below lists the twelve subsystems being modified with Year 2000 changes. The Module Status section below the table lists the individual modules, their status, SSEC inquiry number, and a description of the changes. The status will be one of the following:

  • n/c -- meaning no changes are needed so it will not be modified for Y2K
  • test -- meaning it is currently being tested at SSEC; if it passes testing it will be released in the next version of McIDAS
  • version# (e.g., 7.303) -- meaning its changes passed testing and were released in the indicated McIDAS upgrade or Fastrack version; see the McIDAS-X or McIDAS-OS2 Software page to acquire and install; note that the indicated version number is the *first* version containing the modification; all subsequent versions also contain the modification, e.g., changes in version 7.303 are also in 7.4, changes in 7.4 are also in 7.401, 7.402, 7.403, etc.

One sample grid file and three sample image files useful for testing year 2000 changes are available on the Year 2000 Strategy page.

Subsystem [Update] Comment
arg fetchers [done] The routines used to fetch the user entered commands strings are Year 2000 capable. Module argtime.c is a low level routine that determines the default century if it isn't specified in command line arguments that are dates.
See the status of specific modules.
utility [done] See the status of specific modules.
scheduler [done] The scheduler programs and subroutines were modified. These changes are such that the scheduler will continue to function crossing into the Year 2000, and well into the 21st century. No changes are being made to the data structure.
See the status of specific modules.
grid server [done] Changes made to the grid server work with old or new clients. The date is passed back in yyyddd format (yyy represents years since 1900). The client interface (mcgget) converts the date to ccyyddd before returning to the client application.
See the status of specific modules.
grid client [done] Changes made to the grid clients work with old or new servers (prior to 2000).
See the status of specific modules.
image server [done] Changes to the image server will work with old or new clients. The date is passed back in yyyddd format (yyy represents years since 1900). The client interface (mcaget) converts the date to ccyyddd before returning to the client application.
See the status of specific modules.
image client [done] Changes to the image clients will work with old or new servers (prior to 2000).
See the status of specific modules.
point server [done] Changes to the point server will work with old or new clients. The date is passed back in yyyddd format (yyy represents years since 1900). The client interface (m0ptget) converts the date to ccyyddd before returning to the client application.
See the status of specific modules.
point client [done] Changes to the point clients will work with old or new servers (prior to 2000).
See the status of specific modules.
navigation server [done] No changes made to server. But changes were made in nvxgoes.dlm and nvxtiro.dlm to handle differences in time.
See the status of specific modules.
navigation client [n/c] No changes needed.
other [done] All non-ADDE changes are under this category.
See the status of specific modules.



Module Status


arg fetchers

Module       Status  Inquiry Description
argctime.c  7.303   8932    Mcstrtoiyd - default __yy to nearest century;
                                Mcisleap (new) - determine if a date is a leap 
                                year.

utility

Module      Status  Inquiry Description
daytime.c       7.401   9046    Mccydtoiyd - assure that a ccyyddd field,
                                 and not a yyddd field, is being converted.
                              
mcydd2ch.f      7.303   8960    Accept either yyddd or ccyyddd as input.
skhms.f     7.303   8953    Returns 3 digit year after 2000; fix to return
                                 yyddd.
sksecs.f    7.303   8953    Accept either yyddd or ccyyddd, convert to
                                 ccyyddd.
timdif.f    7.401   9145    Enable date span to cross century.
incday.f    n/c     Change skhms.f to return yyddd, not yyyddd.  

scheduler

Module      Status  Inquiry Description
dosked.f    7.303   8953    Place leading zero(s) in yyddd printout. 
sklis1.f    7.303   8953    Place leading zero(s) in yyddd printout.
ske.pgm     7.303   8953    Pickup date in ccyyddd format.

grid server

Module      Status  Inquiry Description
m0fhrnge.f      7.303   8952    Replace sksecs/skhms with 
                                mcdaytimetosec/mcsectodaytime.
m0parstr.f      7.303   8952    Convert DAY & FDAY from ccyyddd to yyyddd.
igmakx.f    7.303   8952    Store current day as yyyddd in file 
                                 use mcgetday, mccydtoiyd.
isgfmt.f    7.303   8952    Increase maximum valid date to 199365
                                 (31 Dec 2099).
ggetserv.fp 7.303   8952    Convert date to yyyddd; replace incday with
                                mcincday.
gdirserv.fp 7.303   8952    Convert date to yyyddd; replace incday with 
                                mcincday.

grid client

Module      Status  Inquiry Description
mcgdir.f    7.303   8963    Convert yyyddd (from server) to ccyyddd before
                                 passing to client app.
mcgput.f    7.303   8963    Convert ccyyddd (or yyddd) to yyyddd before
                                 passing to server.
mcgget.f    7.303   8963    Convert yyyddd in header to ccyyddd before 
                                 passing to client.
grdinfo.pgm 7.303   8963    Reformat dates in dataout1, dataout2.
grdlist.pgm 7.303   8963    Replace sksecs/skhms with mcdaytimetosec/
                                 mcsectodaytime
grddisp.pgm 7.303   8963    Change incday to mcincday; reformat dates
                                 in label2.
grdcopy.pgm n/c 

image server

Module      Status  Inquiry Description
aputserv.f      7.401   9045    Update fields to yyyddd before calling
                                 m0araput.
m0makara.f      7.401   9046    Convert current ccyyddd to yyyddd before 
                                 writing creation date.
makara.f        7.401   9046    Convert current ccyyddd to yyyddd before 
                                 writing creation date.

image client

Module      Status  Inquiry Description
mcadir.f        7.401    9046    Change dates to ccyyddd before mcadrd 
                                 returns.
mcaget.f        7.401    9046    Use mcstrtoiyd to change dates to ccyyddd
                                 before returning.
mcaput.f        7.401    9046    Convert dates to yyyddd before sending
                                 dates to server. 
mcadel.f        n/c
mcanum.f        n/c
mcasort.f       n/c
m0aget.f        n/c 
frmlist.pgm     7.401    9047    Modify to place leading zeros in yyddd fields.
imgcha.pgm      7.401    9047    Remove mccydtoiyd, use cfj to place yyddd in 
                                 audit records, with leading zeros if necessary.
imgcopy.pgm     7.401    9047    Use cfj to place yyddd in audit records.
imgdisp.pgm     7.401    9047    Use mcgetdaytime to get creation dates for
                                 frame directory.
imgfilt.pgm     7.401    9047    Use cfj to place yyddd in audit records.
imglist.pgm     7.401    9047    Remove mciydtocyd; use cfj to list dates.
imgoper.pgm     7.401    9047    Replace getday/gettim with mcgetdaytime; 
                                 use cfj to place yyddd in audit records.
imgremap.pgm    7.401    9047    Remove creation date operation, use cfj to
                                 place yyddd in audit records.
imgdel.pgm      n/c
imgmag.pgm      n/c
imgplot.pgm     n/c
imgprobe.pgm    n/c

point server

Module      Status  Inquiry Description
mddates.f   7.403   9141    Convert cyd, syd, yydd date fields to each 
                                other.
mdssubs.f       7.403   9141    m0convert2mdunit - convert select clause
                                 dates to match the schema format.
nearcent.f  7.403   9141    Convert yyddd to ccyyddd using nearest century.

point client

Module      Status  Inquiry Description
m0ptget.f       7.403   9141    Change dates received by client to ccyyddd.
m0pthdr.f       7.403   9141    Change schema and creation dates received 
                                 by client to to ccyyddd.
mdmake.f        7.403   9141    Write creation date as yyyddd.
lsche.pgm       7.403   9141    Convert schema registration date from 
                                 yyyddd to yyddd, with leading zeros if
                                 necessary, before listing.
sche.pgm        7.403   9141    Write schema registration date as yyyddd
ptcopy.pgm      n/c
ptlist.pgm  7.403   9141    Print leading zeros in dates.

navigation server

Module      Status  Inquiry Description
nvxgoes.dlm     7.403   9418    Modified calculations to handle differences
                                 between times on either side of century mark.
nvxtiro.dlm     7.403   9368    Modified code flow to simplify conversions
                                 of dates beyone 1/1/2000.

navigation client

Module      Status  Inquiry Description
(none) 

other (non-ADDE)

Module      Status  Inquiry Description
igtv.pgm    n/c     Date in label is in yyyddd format; will not be
                                modified because its ADDE replacement, 
                                grddisp.pgm is Year 2000 capable.
igu.pgm     7.403   9360    Convert all dates to ccyyddd, and compare as 
                                ccyyddd. Convert dates to yyyddd when file is 
                                being written.
lbchek.f    7.403   9356    Change Getday call to mcgetday; variable 
                                containing date field is now ccyyddd. The 
                                system string #Y will now echo as ccyyddd.
lwmd.f      7.403   9357    Change Getday to mcgetday; convert ccyyddd to 
                                iyd before putting it into file. Only Unidata
                                uses this code.
mapsav.f    7.403   9359    Place date into frame directory as ccyyddd.
stamp.f     7.403   9362    Add leading zeros to audit trails as needed.
tu.pgm      7.403   9361    Change date listings to use cfj instead of 
                                cfu. Save and restore dates will have leading
                                zeros.

McIDAS Home