The Rising Tide of Python (Core Science Lecture)

- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner
Monday, 5 January 2015: 11:00 AM
129B (Phoenix Convention Center - West and North Buildings)
Kevin H. Goebbert, Valparaiso Univ., Valparaiso, IN

Scientific computing has always been at the forefront of modern meteorology. From the days of Cleveland Abbe and Vilhelm Bjerknes suggesting that we could numerically solve the primitive equations, numerical computation has led the advancement of meteorology. With the advent of the computer and its use in meteorology in the 1950s, computing technology has increasingly played a leading role in the numerical computation and graphical display of meteorological data. Early graphical displays were simply numbers printed on a page and then further analyzed by hand, now we have the capability to make three-dimensional images using sophisticated computer software.

Over the years there have been many different programing languages that have dominated meteorological data analysis and graphical displays, from Fortran and C to NCAR graphics and GEMPAK. In the mid-1990s a computer programming language, called Python, was developed and matured in the 2000s when it saw rapid growth in usage. The growth in use of the language, especially in meteorology, can be arguably linked in part to the emergence of key modules including matplotlib and numpy in the mid-2000s. The combination of high-level data analysis and visualization, with its ever-growing list of modules, will only serve to bring more folks into the proverbial fold.

As a force in the atmospheric science community, Python continued to grow in use resulting in the first Python symposium at the AMS annual meeting in 2010 in Seattle, WA, in addition to a Python short course. The language has touched nearly every aspect of meteorology from data assimilation, satellite and radar data analysis, to weather and climate model products. In some instances complete programs have been replaced by a new Python script, in other cases the benefits of Python for wrapping Fortran or C code is used to optimize readability while maintaining performance.

Much of the early increase in use resulted from those willing to try new languages and passing it to others via word of mouth. Recently, many meteorologically focused computer courses have adopted Python as their primary language as faculty members begin to see the benefits that the language can offer to undergraduate and graduate students. Ultimately, empowering students with the knowledge of an open-source, interpreted language that has broad application potential will further enhance the many and varied goals of the meteorological research and operations community.

While Python will never completely replace Fortran or C programs for very large data-crunching problems, it will continue to reshape how data is used and displayed in the discipline for many years to come.