92nd American Meteorological Society Annual Meeting (January 22-26, 2012)

Tuesday, 24 January 2012: 8:30 AM
Python: The Key to Graphical Forecast Editor's Success (invited)
Room 346/347 (New Orleans Convention Center )
Thomas J. LeFebvre, NOAA/ESRL, Boulder, CO; and T. L. Hansen, M. Romberg, and M. Mathewson

For nearly a decade the National Weather Service's (NWS) Weather Forecast Offices (WFO) have conveyed the routine weather forecast as a grid of digital values for dozens of sensible weather elements over their forecast area. These gridded data sets and the products derived from them comprise the bulk of NWS's official weather forecasts. To create and modify these forecasts, forecasters employ the Graphical Forecast Editor (GFE) a computer application that uses the Python programming language to implement many of its features.

Many challenges faced developers when designing and building the GFE, not the least of which was the climatological diversity of the WFOs. Forecasters required that the system perform with equal efficiency in the mountainous tundra of Alaska as on the tropical shores of Florida. Clearly, customization played a crucial role in the system's success and Python was key to that success. The simplicity of Python allows forecasters to quickly learn its syntax so they can easily customize the system to their needs. Python's introspective capabilities permitted developers to build a tool framework in which forecasters could write simple expressions and apply them directly to the forecast process without the burden of needing to know details about data structures or user interfaces. Packaging these meteorological algorithms in small units of code permits forecasters to easily share them with other forecast offices, providing a streamlined path from research to operations. Since every office has customers and partners with unique requirements, many products require special formatting to meet local needs. Using Python's object-oriented nature, each office can override small sharable pieces of the core product generation framework to produce exactly what consumers require.

We will describe how Python has been applied to numerous GFE components and how its capabilities and features have helped developers overcome the many challenges when implementing a gridded forecast editor. We will show that the use of Python not only improved the efficiency of the implementation process, but that a large part of GFE's success is the result of the rich set of features that Python offers.

Supplementary URL: