Search NASASearch

NASA NTRS · 20220002673

pyCRTM: A Python Interface for the Community Radiative Transfer Model

Abstract

The Community Radiative Transfer Model (CRTM) is a powerful and versatile scalar radiative transfer model for satellite data assimilation and remote sensing applications. It is implemented as an object-oriented Fortran library, enabling flexible code development and optimal runtime performance on clusters. The downsides of the Fortran interface are a steep learning curve for students and the reduced productivity of users that is typical for static compiled languages, in contrast to dynamic interpreted languages like Python. pyCRTM is a new software framework that directly interfaces the CRTM Fortran data structures and procedures in Python, leveraging both the simplicity and ease of use of Python syntax as well as the flexibility arising from the vast contemporary Python ecosystem. The goal of pyCRTM is to lower the barrier of entry for university students to learn and use the CRTM and to boost the productivity of researchers seeking to create new methods in radiative transfer and data assimilation, or seeking to apply the CRTM to study atmospheric phenomena without having to go through the pre-existing complexity of the CRTM Fortran interface.

Explore related subjects

Keep this discovery

Explore connections, maps & timelines

BibTeXRIS

Bryan M Karpowicz, Patrick G Stegmann, Benjamin T Johnson, Hui W Christophersen, Edward J Hyer, Andrew Lambert, Eric Simon. 2022-05-18. pyCRTM: A Python Interface for the Community Radiative Transfer Model. https://ntrs.nasa.gov/citations/20220002673

Cite the original work for its findings. Save a collection to share your selection of sources.

KEEP EXPLORING

Related reports

Adaptive continuity-preserving simplification of street networks

Street network data is widely used to study human-based activities and urban structure. Often, these data are geared towards transportation applications, which require highly granular, directed graphs that capture the complex relationships of potential traffic patterns. While this level of network detail is critical for certain fine-grained mobility models, it represents a hindrance for studies concerned with the morphology of the street network. For the latter case, street network simplification — the process of converting a highly granular input network into its most simple morphological form — is a necessary, but highly tedious preprocessing step, especially when conducted manually. In this manuscript, we develop and present a novel adaptive algorithm for simplifying street networks that is both fully automated and able to mimic results obtained through a manual simplification routine. The algorithm — available in the neatnet Python package — outperforms current state-of-the-art procedures when comparing those methods to manually, human-simplified data, while preserving network continuity.

Python

A Workflow to Rapidly Interrogate Multiscale Model Simulation Results Across Multiple Length Scales

Many tools can be used to visualize field and state variables for a single scale analysis so that the influence of relevant mechanisms can be evaluated. Finite element software is often utilized to simulate a unit cell of a material and visualize results at that scale. Material properties can be homogenized from individual constituents and local deformation, damage, and failure mechanisms can be evaluated within the unit cell due to globally applied boundary conditions. Such solutions can produce satisfactory results if a user is only interested in analyzing a single scale. But materials in general contain features across multiple length scales, and assumptions must be made when attempting to account for lower length scale phenomena within a higher length scale model. Multiscale modeling is an attractive means to model materials because detailed material responses can be tracked across multiple disparate length scales while reducing the amount of required assumptions. However, as the complexity of these models increases, a large amount of data can be produced, and data traceability can become increasingly more difficult. Field and state variables, which are naturally dependent on spatial position, may themselves be calculated from one or more lower length scale unit cell models each with their own appropriate field and state variables. The NASA Multiscale Analysis Tool (NASMAT) is one software that can be used to perform a multiscale analysis efficiently and output requested data at all length scales in the analysis. A companion open-source Python software, NASMAT PrePost, can be used to visualize NASMAT model results and rapidly interrogate multiscale data across multiple length scales. This presentation will demonstrate some of the key features of NASMAT PrePost on two multiscale problems by quickly displaying and demonstrating connectivity among multiscale results from large datasets.

Python