Critical Strategies for Improving the Code Quality and Cross-Disciplinary Impact of the Computational Earth Sciences

Date and Time: 
2012 Tuesday, February 21st
Location: 
ML-132 Main Seminar
Speaker: 
Johnny Wei-Bing Lin

Authors:

Johnny Wei-Bing Lin and Tyler Allen Erickson

Abstract:

Historically, the application of high-performance computing (HPC) to the atmospheric sciences has focused on using the increases in processor speed, storage, and parallelization to run longer simulations of larger and more complex models. Such a focus, however, has led to a user culture where code robustness and reusability is ignored or discouraged. Additionally, such a culture works against nurturing and growing connections between high-performance computational earth sciences and scientific users outside of that community. Given the explosion in computational power available to researchers unconnected with the traditional HPC centers, as well as in the number of quality tools available to conduct analysis and visualization, the programming insularity of the earth science modeling and analysis community acts as a formidible barrier to increasing the usefulness and robustness of computational earth science products.

In this talk, we suggest adoption of best practices from the software engineering community, and in particular the open-source community, has the potential to improve the quality of code and increase the impact of earth sciences HPC. In particular, we will discuss the impact of practices such as unit testing and code review, the need and preconditions for code reusability, and the importance of APIs and open frameworks to enable scientific discovery across sub-disciplines. We will present examples of the cross-disciplinary fertilization possible with open APIs. Finally, we will discuss ways funding agencies and the computational earth sciences community can help encourage the adoption of such best practices.

http://packages.python.org/pykml/
http://pyaos.johnny-lin.com/
https://github.com/tylere/OpenClimateGIS

Speaker Description: 

Johnny Lin graduated from Stanford University with a B.S. in Mechanical Engineering and an M.S. in Civil Engineering-Water Resources. After working as an environmental engineer, he returned to school and received his Ph.D. in Atmospheric Sciences from UCLA, as a student of David Neelin.  His atmospheric science research is focused on stochastic convective parameterizations, ice-atmosphere interactions in the Arctic, and simple frameworks for modularizing climate models.

He is also working on a book on environmental ethics and helps coordinate the PyAOS mailing list and blog (pyaos.johnny-lin.com), an effort at building up the atmospheric and oceanic sciences Python community.  Currently, he is a Professor of Physics at North Park University in Chicago.

Event Category: