Editor’s Note: This post, by Kimberly Hoogewind of Purdue University, is the first in a series of short posts about the talks given at the Third Symposium on Advances in Modeling and Analysis Using Python, held at the 93rd AMS Annual Meeting, from January 7–9, 2013, in Austin, TX. The full program of the Symposium, with links to abstracts and presentation screencasts are available online.
With the field of atmospheric science becoming an increasingly more computing- and data-intensive discipline, it should come as no surprise that this translates to a higher demand for scientists to possess programming/scripting, data management, analysis, and visualization skills. For many though, the thought of transforming into a hybrid meteorologist/computer programmer can be very overwhelming. Kelton Halbert’s talk at the 2013 AMS Python Symposium entitled “Forecasting and Analysis with Python: So Easy, a Caveman Can Do It,” however, demonstrated that learning to program with Python does not have to be a tremendous undertaking, especially for those with little to no programming experience. Why? Kelton is only 17 years old and still in high school! Kelton likens himself to a “caveman” relative to the world of meteorology and computer programming, but testified to the relative ease of learning Python and utilizing it to complete desired tasks. Kelton’s motivation for venturing into Python arose from frustration with an existing data visualization and analysis software package (i.e., GEMPAK), and as a result, he, along with a few other contributors, have developed a meteorological diagnostics package called the “Advanced Weather Interactive Diagnostic System” (AWIDS; hosted at https://github.com/keltonhalbert/AWIDS). This package uses Python (including NumPy, SciPy, Matplotlib, Basemap, and Cython) to create an objective analysis of many surface weather variables, including derived kinematic quantities calculated using the triangle (Bellamy) technique, from observational METAR data. The overall program resembles the look and feel of GEMPAK, which comes as no surprise as one of the goals was to create a GEMPAK-like program, but which had more capabilities.
Below is a simple example I made of a color filled analysis of 2 m temperature with 10 m winds overlaid from METAR observations generated by AWIDS for the contiguous U.S. In addition to surface weather variables, AWIDS also has the capability of plotting satellite data:
On a personal note, Kelton’s story really resonated with me as his experience mirrored that of my own. As a student who was “raised” to use GEMPAK, there came a point when it could no longer meet my needs for research purposes. At this crossroads, it became necessary to learn a programming language, and with the buzz surrounding Python, the migration toward Python was a natural choice. For me, it was easy to learn with highly intuitive and readable syntax, especially as compared to other languages. Python has given me a platform to perform a wide variety of tasks, including analyzing large data sets, visualization, image processing and data mining, web development, and constructing a more unified workflow for completing WRF model runs, to name a few. As a result, I am now a fully dedicated user. Overall, AWIDS is a really nice diagnostic tool that can aid forecasters with nowcasting and evaluating NWP model forecasts. More so, it is a great example of how collaborative efforts among users with similar interests can produce a product which may benefit the larger community. With Python rapidly gaining popularity, it is an exciting time with endless opportunities for PyAOS users to work together to create tools for use in the atmospheric sciences.