273 The Paper-and-Code Bundle Concept in Atmospheric Radiation Science

Tuesday, 30 January 2024
Hall E (The Baltimore Convention Center)
Sergey Korkin, University of Maryland Baltimore County, Greenbelt, MD; GSFC, Greenbelt, MD; and A. M. Sayer, A. Ibrahim, and A. Lyapustin

Handout (2.9 MB)

Since the 1980s Dr. Kuo-Nan Liou’s book “An introduction to atmospheric radiation” (2nd edition in 2002) has served as a guide through the thorns of atmospheric optics, contributing to the field’s giant leap forward over the successive decades. This has led to an expansion of knowledge in the field, a deeper comprehension of atmospheric processes, and the development of numerous innovative methodologies for studying Earth’s environment.

However, as the saying goes, “the increase of knowledge increases sorrow”. Today atmospheric scientists must not only understand atmospheric physics (which alone has many branches) and its underlying mathematics (often quite sophisticated), but also details of relevant numerical recipes (in forward and inverse modelling), and possess software engineering skills (to understand and/or write efficient codes in two or more programming languages, sometimes in combination).
Navigating the realm of "big data" and machine learning techniques is also essential. Additionally, proficiency in scientific writing is crucial for crafting clear papers and winning proposals (these tasks differ significantly), and the ability to deliver compelling oral and poster presentations requires some experience in graphical design. These professional skills must be acquired during a few university years and continually improved throughout one's career.

In today's fast-paced environment, introductory literature is more important than ever. But it can’t be in thick volumes because finding time for thoughtful reading is a challenge. Moreover, reading alone does not result in any working code, while boss or colleagues need numbers by “next Monday”. In order to simplify and expedite the transfer of knowledge from experts to emerging professionals, and to facilitate the exchange of skills across various Earth science disciplines, we present two papers. One delves into the topic of multiple scattering of sunlight, while the other focuses on gas absorption. Limited by the mentioned topics as well as restrictions described below, these papers aim to help bridge the gap between theoretical understanding and practical application.

Our first paper from 2022, titled “A Practical Guide to Writing a Radiative Transfer Code” (published in Computer Physics Communication 271, 108198, https://doi.org/10.1016/j.cpc.2021.108198), provides a comprehensive explanation of the process of development of a 1D radiative transfer (RT) code. This code is designed for the numerical simulation of the multiple scattering of unpolarized, monochromatic solar radiation within a vertically homogeneous, plane-parallel atmosphere above an isotropic (Lambertian) surface. The flexibility of this code extends to accommodate arbitrary solar-view geometries.

Multiple scattering is calculated using the Gauss-Seidel iterations method. Arguably, this method is the most straightforward from a code development perspective among all deterministic (non-Monte Carlo) techniques for solving the RT equation. The paper collocates small pieces of necessary theory with corresponding snippets of Python RT code GSIT. These are presented in the code development order, which is often opposite to the natural order for presentation of the theoretical basis. Our approach follows a pattern similar to “Numerical Recipes” by Press et al, which we believe is efficient but underutilized in atmospheric science.

In addition to code snippets, GSIT is available as open-source. It does not depend on external libraries – hence no “black boxes”. It is closely related to another powerful method of successive orders of scattering. Our paper explains minor differences in relevant codes.
Thus, one can study two codes/methods “for the price of one”. Despite its apparent simplicity, GSIT serves as an introduction to numerous standard analytical and numerical techniques in RT such as separating the direct (unscattered) solar beam from the diffuse (scattered) radiation, applying the addition theorem for Legendre polynomials in the evaluation of scattering integral, using Fourier expansion for azimuthal angle integration, employing Gaussian quadrature for numerical zenith angle integration, conducting numerical integration across height (optical thickness), obtaining multiple scattering solutions at user-defined zenith angles (integration of the source function), and applying correction for radiation scattered only once to enhance accuracy.

We also briefly discuss symmetrical relationships within a uniform atmosphere, offering a glimpse into the matrix operator method. Furthermore, the paper outlines how to incorporate variations in atmospheric optical properties with height (a profile) into our code. We guide the reader to our published open-source subroutines to accomplish this task seamlessly. When combined with our second paper (explained below), these modest enhancements transform our educational computer program into an application-ready code. In effect, this journey takes an RT novice from "zero to hero" within a matter of weeks.

Our forthcoming second paper, tentatively titled "A Practical Guide to Coding Line-by-Line Trace Gas Absorption in Earth's Atmosphere", describes codes for absorption spectroscopy calculations. In addition to the aforementioned “code-paper bundle” concept, we include in the paper three sections focusing on different steps in code development. First, we explain how to calculate the absorption cross-section for a single molecule using HITRAN parameters (https://hitran.org/). Next, we simulate absorption by a group of molecules on a specified path at given temperature and pressure – like in a laboratory gas cell. A stand-alone open-source code, GCELL, resulting from these two steps, can be used for simulating laboratory and filed observations.

Lastly, we introduce ASPECT, a code designed for atmospheric absorption spectroscopy. It relies on temperature, pressure, and gas concentration profiles from MODTRAN (http://modtran.spectral.com/). ASPECT calculates the absorption optical thickness spectrum for a user-defined grid of heights, spectral band and resolution, molecule type, and gas concentration. Note that ASPECT is a refactored and updated version of a line-by-line subroutine of the Interpolation and Profile Correction (IPC) code originally developed back in 2003 (A. Lyapustin, Journal of the Atmospheric Sciences, v.60(6), pp.865-871). Following the original code, we developed GCELL and ASPECT in C-language.

Certainly, it would be erroneous to assume that our two articles could replace the study of fundamental works by Chandrasekhar, Sobolev, van de Hulst, and Liou among many others. Vice versa, our goal is to ignite an interest in reading key contributors to atmospheric science by offering quick help with producing numerical results before one finishes in-depth exploration of a fundamental book or paper.
- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner