HootPy: A Console-Based Processing and Visualization Package for Meteorological Models and Observations

- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner
Thursday, 27 January 2011: 2:45 PM
HootPy: A Console-Based Processing and Visualization Package for Meteorological Models and Observations
307-308 (Washington State Convention Center)
Timothy A. Supinie, Univ. of Oklahoma, Norman, OK; and D. J. Gagne II

The phasing-out of the General Meteorological Package (GEMPAK) has presented an opportunity to update the underlying data processing and visualization software for the Oklahoma Weather Lab's Hoot Project. Hoot is a popular student-run website that displays meteorological data with an ad-free user-friendly interface. The programs designed as successors to GEMPAK, the Integrated Data Viewer (IDV) and the Advanced Weather Interactive Processing System (AWIPS) II, are not optimized to generate graphics without an available virtual frame buffer or virtual machine running, making graphics processing in both time and memory intensive. Hoot produces over 10,000 graphics plots every day, so a very efficient graphics processing and plotting system is required. GEMPAK has handled our large processing loads but will no longer be supported or updated starting Spring 2011. To address these challenges, we have begun developing a replacement processing and visualization system using Python and the Pylab family of libraries.

Python was our language of choice for this project because of its advanced capabilities and usability. Python, Numpy, and Scipy can process a wide range of data formats, and Matplotlib provides all of the necessary visualization tools to replicate the suite of GEMPAK plots currently on the Hoot website. Python's syntax is simple enough that beginning programmers can learn enough in a short time to provide significant contributions after little experience. Hoot's website is used as a data source by people across the country, but the website is also used as a hands-on learning tool for University of Oklahoma meteorology students interested in learning programming and web development skills. Building meteorological visualizations with Python instead of a commercial tool will give students programming experience from the process and meteorological knowledge from implementing computations of derived meteorological variables.

The HootPy package is an object-oriented collection of modules that can generate different meteorological visualizations. Classes exist for maps, profiles, cross-sections, and meteograms. Each type contains generic methods that can be extended by customized scripts for specific plot types. Configuration files are used to specify data sources, variables plotted, and visual customizations. Utility classes provide data parsing and post-processing. Observations, gridded, and (radar and satellite) image data are supported by the mapping functions. Currently supported data formats are ASCII files, netCDF4, HDF-5, and GRIB2. The open nature of the package will encourage further development and refining.