Python is a general purpose, high-level programming language which is widely used in meteorology and elsewhere. The language facilitates a rapid development cycle with its interpreted and interactive nature. A focus on code readability makes the language easy to learn, and the expressive syntax leads to short, clear programs. Additionally, Python has excellent support for interfacing with legacy code written in C, C++ and Fortran making it an excellent tool for integrating existing software.
Python has an extensive and comprehensive collection of freely available packages covering a variety of topics. Scientific Python libraries such as NumPy, SciPy, and pandas provide efficient implementation of numerical operations and tasks common in science and engineering. These libraries provide a strong base from which more advanced scientific software can be built without needing to worry about low-level algorithms. Additionally, many domain specific packages exist which address the scientific needs of the meteorological community.
The Python community provides a welcoming and vibrant culture. The tutorials and other documentation provided for learning the language are rich and reinforce good programming practices. Videos, books, websites, mailing lists, and user groups provide opportunities for continued learning for beginners and experts alike. Python conferences around the world allow Pythonistas to discuss ideas, challenges, and new developments in an open and collaborative environment.
Python is a practical key to unlocking powerful computational resources that can open the door to a variety of new career opportunities or that can enhance productivity in your current position. The author will detail his own experience of how Python led him to meteorology.