Atmospheric Remote Sensing
Modular software development for atmospheric remote sensing
Atmospheric remote sensing is a powerful tool that enables researchers to understand climate processes on a global scale. For historic reasons, most of the scientific work in remote sensing is currently based on legacy code, written in older languages like Fortran, and mixed with “glue languages” such as Python. This convoluted situation has rendered important code bases impossible to read, edit, use, and improve by students and researchers. Rewriting and optimizing these codes in an easy-to-understand yet fast programming language (such as Julia) would dramatically improve computational performance, paving the way for new types of climate science and analysis.
The Frankenberg and Wennberg labs study solar-induced fluorescence and atmospheric greenhouse gases such as methane and CO2. They – and other remote sensing labs on campus and JPL – are using several software tools written in Fortran/C++. The Schmidt Academy is working with the Frankenberg/Wennberg labs to revamp and modernize these tools by developing an end-to-end modular software suite for atmospheric remote sensing. This software suite would enable the computation of atmospheric optical properties, full polarized radiative transfer simulations, and commonly-used inversion routines. By taking advantage of modern software tools, such as GPU/TPU acceleration and HPC computing, we can significantly accelerate computationally-intensive calculations and models. Each module in the software suite is designed, developed, and tested independently. This will enable flexibility in the ways that users can use the available tools.
Each module will also have a tutorial-like Jupyter notebook to quickly onboard new users. Clear and concise documentation will be developed alongside the modules. These key features and Julia’s easy-to-learn syntax will significantly reduce the barrier-of-entry to atmospheric remote sensing while also advancing climate research.