The application of object-oriented programming and other advances in computer science to the atmospheric sciences has in turn led to advances in modeling and analysis tools and methods. The open-source language Python has been at the forefront of the application of such advances, through general science packages such as scipy and matplotlib, as well as atmospheric science-specific projects such as PCMDI's CDAT and ESG end-user tools and NCAR's PyNGL, resulting in a robust computing environment for all kinds of atmospheric science, including (but not limited to): modeling, time series analysis, air quality data analysis, satellite data processing, in-situ data analysis, GIS, visualization, gridding, model intercomparison, workflow integration, and very large (petabyte) dataset manipulation and access.
Still, to many atmospheric scientists, object-oriented programming in general, and Python in particular, seems mysterious and remote, and as a result, find the idea of learning Python to be daunting. Additionally, while a number of tutorials and other curricula exist to introduce a newcomer to Python, few are geared to the specific needs of atmospheric scientists. This course provides a gentle introduction to Python for the atmospheric scientist, specialized to the needs of the field. While we expect all participants will have basic programming experience—including basic knowledge of variables (integers, floats, strings), loops, conditionals (if/then), and functions—no other exposure to Python or object-oriented programming is assumed. If you are a moderately experienced Python programmer, this course will be a poor fit for you.
All attendees will need to bring a laptop (with power adapter) that has Python installed on it. Instructions will be emailed to registered attendees before the course begins on how to install Python. Because the course is two days, to maximize learning value for students, there will be optional homework assigned at the end of day one that will be discussed the next day.