[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

19990518: NLDN Y2K IDD header discussion



>From: Unidata User Support <address@hidden>
>Organization: Unidata
>Keywords: NLDN IDD pqact.conf WMO header

Dave,

As a follow-up to our conversation earlier today, I took a quick look at
both the internal format of the NLDN data messages and the IDD header
that the products are getting.

I think that there should be no problem with the internal format of the
NLDN data messages since time is specified as seconds since Jan 1, 1970
plus nanoseconds since the current second.  This won't run into a
problem until the year 2038.

The IDD header given to the product, on the other hand, could be
problematic.  The regular expressions that we have been using here at
the UPC to capture the products (and have been recommending to sites)
are definitely not Y2K capable:

################
# NLDN decode actions
#
#
#       nldn format: YYJJJHHMbMe -- YY year, JJJ julian day, HH hour
#                                   Mb begin minute bin, Me end minute bin
#

NLDN   ^(9[3-9])([0-3][0-9][0-9])([0-2][0-9])([0-5][0-9])([0-5][0-9])

or

NLDN    ^([0-9][0-9])([0-3][0-9][0-9])([0-2][0-9])([0-5][0-9])([0-5][0-9])

The first regular expression for the IDD header assumes that the year
is specified as YY and that it begins with 9.  The second example assumes
that the year 2000 could be specified as '00'.

On January 1, if the header changes to:

00JJJHHMbMe

the first pattern will fail to match the products.

If the format changes to:

2000JJJHHMbMe

both the first and second patterns will fail to match the products.

I suggest that since the second form, CCYYJJJHHMbMe (century and year,
etc.) will be a lot easier for users to understand at a glance, it
should be adopted.

In order to accommodate this new header while still supporting the old,
we can advise users to switch to use of:

NLDN   
^([12][0-9][0-9][0-9]|[0-9][0-9])([0-3][0-9][0-9])([0-2][0-9])([0-5][0-9])([0-5][0-9])

I tested this pattern with the current YYJJJHHMbME header and it works fine.

If you want us to look at the code Ron put together to name the injected
data, please let us know (with whatever account you want us to use).

Tom

>From address@hidden  Wed May 19 10:06:56 1999

Hi Tom,
      Thanks for agreeing to help out with this. Since
it doesn't have to be done this week, I'd like to sort
out a few things here first, then get back to you later.

Regarding the 2000 vs 00 issue. I'm not sure if I really
see a benifit to switching to 2000. After all, people
are soon going to be quite familiar with seeing 00 as the year.
Of course, this does introduce a y2.1k problem, but I don't
think we have to worry about that since everything will change
before then anyway. I think I'd prefer that the users
don't have to make a significant change to the pattern/action
to continue receiving the data. I'm open to convincing though.

Talk to you later,
David