McIDAS Year 2000 User Impacts
McIDAS-X, -OS2 and -XCD version 7.403 is the first release that contains all of the planned modifications to make these McIDAS packages Year 2000 (Y2K) capable. See the Year 2000 Strategy page in the Hot Topics section for the definition of Y2K capable, the guidelines we followed, and test grid, AREA, and MD files you can download and use for local Y2K testing. See the Year 2000 Status page for detailed information about the modified subsystems and all -X and -OS2 modules updated for Y2K.
The information below is divided into two sections, McIDAS-X and -OS2, and McIDAS-XCD. The first section lists the major Y2K changes in -X and -OS2 7.403 and how they might affect McIDAS users. The second section lists the major Y2K changes in -XCD and is intended mainly for administrators and users of -XCD data. Please note that McIDAS-X 7.403 must be installed on your McIDAS-XCD workstation before -XCD 7.403 is installed.
All of the changes in 7.403 will be included in the November 1998 -X, -OS2 and -XCD version 7.5 upgrades. A similar list of notes and recommended user actions will be provided in the Upgrade Procedure documents provided with the upgrade packages.
McIDAS-X and -OS2
- The format of the string table variable #Y was changed from yyddd to ccyyddd. If you have a script or program that parses the #Y value, you must modify it to accommodate the format change to ccyyddd. If you use #Y in normal McIDAS commands (e.g., SFCLIST KMIA TIME=6 12 DAY=#Y), no modifications are required; the command should continue to work as before.
- The format of the McBASI string variable DATE$ was changed from yyddd to ccyyddd. Check your McBASI programs to see if their use of DATE$ requires that its format be yyddd. If so, change the program(s) to accommodate the ccyyddd format.
- MD file schemas DCFO14, DCIRAB, DCISEN, DCISFC, DCISHP, DCPIRP, and DCSYN were updated to be Y2K capable by changing the units of the DAY parameter from SYD (ssyyddd, where "ss" represents the sensor source number) to CYD (ccyyddd, where "cc" represents the century).
In most cases, real-time MD files of these schemas didn't store an "ss" value so the date value consisted of the year and julian day (e.g., 98289 for day 289 in year 1998). However, real-time MD files created with McIDAS-XCD versions 7.5 or later will use the new CYD units and store the century with the date. For example, 31 December 1998 will be stored as 1998365 and 1 January 2000 will be stored as 2000001.
We recommend that you modify all local MD file schemas that define dates in SYD units to use CYD units instead.
- The four ADDE point commands (PTCON, PTCOPY, PTDISP, and PTLIST) were modified to work with MD files using the new CYD (ccyyddd) date units, like the real-time schemas listed above. Specifically, the commands default to the current year if you don't specify a four-digit year and default to the nearest century if you specify only the last two digits of the year. For example, if the file uses CYD unit for the DAY parameter and its value is 1998260, then you can specify the DAY in the SELECT keyword as 1998260 or 98260. If the current year is 1998, you can also specify it as 260.
The PTCON, PTCOPY, PTDISP and PTLIST commands also continue to work with MD files using the old SYD (ssyyddd) date units (e.g., the real-time schemas prior to their changes for this 7.5 upgrade), with the following exception: If you want to specify DAY in the SELECT keyword and the "ss" portion of the MD file's DAY value is nonzero, then you must specify the units with DAY in the SELECT keyword. For example, if the MD file uses SYD units for DAY and its value is 7197240, then it must appear as SELECT='DAY[SYD] 7197240'. If the MD file uses SYD units for DAY but has a zero (blank) "ss" value, you don't have to specify the units in the SELECT keyword. For example, if the MD file uses SYD units for DAY and its value is 97240 then it can appear as either SELECT='DAY 97240' or SELECT='DAY[SYD] 97240'.
The older, non-ADDE, commands that access MD/point data were not modified for Y2K. Therefore, SC, SP, UC, UL, UP, and XSECT continue to work only if the date specified in the DAY keyword exactly matches the value stored in the MD file. For example, if using an MD file with the new ccyyddd date format (like the real-time schemas listed above), then the value for the DAY keyword must include the century (e.g., 1999240). If using an ISFC or IRAB schema MD file created prior to this (7.5) upgrade, you must continue to specify the date in the yyddd format (e.g., DAY=97240).
SSEC hopes to sunset these older, non-ADDE, commands before year 2000.
- The ISENT command was modified to output its dates in CYD format. Also, as noted in number 3 above, the DCISEN schema's DAY parameter units were changed from SYD to CYD.
- Most of the Y2K effort was focused on changing servers, clients, and date formats in data files (e.g., MD, area, grid, navigation) to allow use of them to year 2000 and beyond. But while testing these changes, formats of dates in command output (e.g., from text commands like IMGLIST, and display commands like GRDDISP and SFCPLOT) were also examined and in some cases modified. Listed below are some of the output date modifications.
- IMGLIST FORM=EXP outputs the "created" and "start" dates in ccyyddd format.
- GRDDISP outputs the dates in the TDAY=JUL title in ccyyddd format.
- MDU LIST outputs the "created" date in ccyyddd format.
- TU LIST outputs the "saved" and "restore" dates in ccyyddd format.
Though they aren't required to make the McIDAS packages Y2K capable, additional output date format changes will likely occur in future versions. In general, we're trying to obey the following guidelines concerning output date format.
- If there's enough space, the Julian date should be output as ccyyddd.
- If there isn't enough space for ccyyddd, the output format should be yyddd with leading zeros. So for 4 January 2000, it would appear as 00004. GRDLIST is an example of a command that obeys this rule because it doesn't have enough space to include the entire ccyyddd in its output.
- Allowable input date formats of both positional parameters and keywords were checked on many commands. Although some pre-ADDE commands like SP require use of the julian day format, all ADDE and many pre-ADDE commands accept all the following date formats.
ccyyddd ccyy/mm/dd dd/mon/ccyy
yyddd yy/mm/dd dd/mon/yy
ddd mm/dd dd/mon
cc is the century (e.g., 19 or 20)
yy is the last two digits of the year (e.g., 98, 99, or 00)
ddd is the julian day of the year (1-366)
dd is the day of the month (1-31)
mm is the numeric month of the year (1-12)
mon is 3+ letters of the month's name (e.g., JAN or JANUARY)
In most cases, commands default to the current year if you don't specify the four-digit year (ccyy) and default to the nearest century if you specify only the last two digits of the year (yy).
- The date/time stamp (placed by text ingestor) on first (WMO) line of text is now in the ccyyddd format.
- As stated in number 3 in the McIDAS-X and -OS2 section above, the date unit in MD file schemas DCFO14, DCIRAB, DCISEN, DCISFC, DCISHP, DCPIRP and DCSYN was changed from SYD to CYD. In addition, the -XCD decoders now write the date in this field as ccyyddd.
Also, parameter P24 (24-hour precip) was folded into DCISFC with the new version.
- The GRIB decoder now writes necessary grid header parameters in the yyyddd date format. The GRIB decoder was also changed to correctly convert century/year of century to julian day.
- The internal knowledge dates in all of -XCD is now ccyyddd. All -XCD APIs that have dates as parameters now expect the date to be in the ccyyddd format. APIs also return dates in ccyyddd. This is very important for sites that write their own decoders, e.g., Johnson Space Center and Cape Canaveral.
- The BBDAY field of the bulletin board array now sets the date in the IYD (yyyddd) format. Sites that write their own decoders must also have theirs set the date in the IYD format.
- The *.XCD and *.IDX files will continue to have the 5-digit julian day in their names, but will have leading zeros in year 2000 and beyond.
- The DATACQ and IDMON commands display the date in the ccyyddd format.
- Dates in binary files (DECOSTAT.DAT, *.PTR, *.IDM, *.ERR, etc.) are now stored in the IYD (yyyddd) format.