Search Archive:
<< Previous      Next >>
1440 Views VTEC Event ID Reusage


The IEM maintains an archive of parsed National Weather Service Watch, Warning, and Advisory (WWA) data. This parsing is based on the NWS Valid Time Event Code (VTEC) encoding that is found within their raw text products. This encoding looks like so:

WFUS53 KDMX 282344

Tornado Warning
National Weather Service Des Moines IA
644 PM CDT WED JUN 28 2017

This encoding allows computer programs to better understand and process text products that contain lots of free-form content. This encoding is also used to drive various IEM web applications that take URL parameters to describe a warning product, for example.

A part of the VTEC encoding is the "Event ID", which is a sequential number used throughout a given year to order events as they are issued. In general, these Event IDs should be unique for a given year and most all of them start with the number 1. Sadly, a database issue at the NWS is now causing NWS Forecast Offices to reuse "Event IDs". This reuse means that the "Event IDs" are no longer unique for 2017. The impact is that URLs like the one above are now ambiguous and the presented data may contain the first event earlier this year, the last event, or some corrupted combination of the two.

After discussing the matter with the NWS management, they indicated they would not be fixing this situation before the end of the year. Of course, when 1 January 2018 comes, all the "Event IDs" reset back to 1 anyway. Sadly, this situation could again happen next year :(

I shutter to think of the amount of code necessary to better account for this situation and keep the website / web services straight when this problem happens. So I likely won't be attempting to make this work :(

Updated 22 Jan 2018: I decided to update the database and attempt to fix the duplicated Event IDs used. This change means that the eventid metadata will mismatch against the raw information found in the text, but there are no winning solutions in this situation. The update changed the reused Event ID, so if an office issued number 2 again and it should have been 10, the database now contains 10.