|
The primary purpose of our How Accurate Was that Weather Model Forecast demo is to illustrate how BCS's Universal File Interface (UFI) product can be used to combine and/or compare several sources of information, some stored in files, and some stored in a database. The data stored in files are forecast temperatures, wind speeds and directions and precipitation. Once a day, every day, we download these two sets of complementary weather forecast files (in GRIB format).
The first set of files is produced by the NOAA National Weather Service using their Global Forecast System (GFS) weather model. These files contain surface temperature and wind speed and direction forecasts for times 6 hours apart, extending for 120 hours into the future (i.e., 21 files covering 5 days). The forecast points are distributed on a 61 x 145 latitude/longitude grid (0.5 degree spacing), covering an area roughly coinciding with the continental USA (i.e., 8845 grid points).
The other set of files is produced by the NOAA National Weather Service Hydrometeorological Prediction Center. These files contain 6-hourly Quantitative Precipitation Forecasts (QPF) extending 3 days into the future. Unlike the latitude/longitude gridded GFS forecasts, the QPF forecasts are delivered on a Lambert Conformal projection with a resolution of 32 km, so we used the BCS Grid DataBlade to reproject and resample these forecasts onto the same 61 x 145 latitude/longitude grid that is used for the GFS forecasts.
The data stored in a database are actual measured temperatures, wind speeds, and directions. Every two hours throughout each day and night we download the latest actual weather data from www.weather.gov, the site of NOAA's National Weather Service. This data consists of measurements for approximately 2400 weather stations in the USA. We load these measurements into a "currentweather" Informix database table, where we store time-stamped actual weather conditions for the 2400 weather stations for the past week.
The demo allows you to select one of the every-6-hour times ("Time that the forecast is for") and one of the times when a forecast was made ("Time that the forecast was made") that is relevant to your selected time. You can then zoom and pan around the USA, seeing how close or far apart the forecasts were from the eventual reality. And for a given "Time that the forecast is for" you can see how the various forecasts for that time changed as they got closer to the time in question.
As you zoom in, the resolution of forecast points and actual measurements increases; as you zoom out, the resolution decreases. Whenever you zoom, pan, or select new time values, a pair of SQL queries is launched. One query uses UFI to fetch and display the forecast temperatures, wind speeds, and precipitation (shown as boxes, arrows, and circles, respectively). The other query uses UFI to fetch the forecasts and then joins the forecast (virtual) table with the actual measurement (real) table comparing the measurements at each weather station with the forecast that is closest in time.
Actual execution times for each of the two SQL queries are displayed at the bottom right of the demo screen, along with the time required to fetch the query results across the internet and render (draw) the map, markers, and arrows - most of the total elapsed time is spent in fetching and rendering. The rendering time can be quite significant in comparison to the time spent in doing database and file accesses. This is due in large part to the overhead in processing Javascript. This overhead appears to be largest in the currently released versions of Internet Explorer (IE 8, IE 7, IE 6, etc.); in our experience, Internet Explorer 9 beta, Firefox, Opera, Safari, and Chrome browsers all perform faster on this demo.
To try the demo, click here.
Read more articles about the BCS Universal File Interface.
|