New work proposes novel code infrastructural updates that will accelerate Earth System Modeling.
A progressive software engineering method known as reflection, which automatically analyzes code structure, is applied to Earth system modeling codes.
The application of reflection to Earth system codes has the potential to greatly enhance productivity and code-reusability.
Geoscientific models such as the Community Land Model manage myriad and increasingly complex data structures as trans-disciplinary models are integrated. They often incur significant redundancy with cross-cutting tasks. Reflection, the ability of a program to inspect and modify its structure and behavior at runtime, is known as a powerful tool to improve code reusability, abstraction, and separation of concerns. Reflection is rarely adopted in high-performance Geoscientific models, especially with Fortran, where it was previously deemed implausible. Practical constraints of language and legacy often limit us to feather-weight, native-language solutions. DOE-funded scientists at Penn State University demonstrate the usefulness of a structural-reflection-emulating, dynamically-linked metaObjects (objects that manipulate, create, describe, or implement other objects), gd. They show real-world examples including data structure self-assembly, effortless save/restart and upgrade to parallel I/O, recursive actions and batch operations. They share gd and a derived module that reproduces MATLAB-like structure in Fortran and C++. They suggest that both a gd representation and a Fortran-native representation are maintained to access the data, each for separate purposes. Embracing emulated reflection allows generically-written codes that are highly re-usable across projects; this framework will greatly accelerate Earth system model development across the board.
Contacts (BER PMs)
Earth System Modeling
Penn State University
The U.S. Department of Energy Office of Science, Biological and Environmental Research, Earth System Modeling Program.
Ji, X. and C. Shen. “The introspective may achieve more: enhancing existing Geoscientific models with native-language structural reflection.” Computers and Geosciences 110, 32-40 (2017). [DOI: 10.1016/j.cageo.2017.09.014]
SC-23.1 Climate and Environmental Sciences Division, BER
BER supports basic research and scientific user facilities to advance DOE missions in energy and environment. More about BER
Aug 24, 2019
New Approach for Studying How Microbes Influence Their Environment
A diverse group of scientists suggests a common framework and targeting of known microbial processes [more...]
Aug 08, 2019
Nutrient-Hungry Peatland Microbes Reduce Carbon Loss Under Warmer Conditions
Enzyme production in peatlands reduces carbon lost to respiration under future high temperatures. [more...]
Aug 05, 2019
Amazon Forest Response to CO2 Fertilization Dependent on Plant Phosphorus Acquisition
AmazonFACE Model Intercomparison. The Science Plant growth is dependent on the availabi [more...]
Jul 29, 2019
A Slippery Slope: Soil Carbon Destabilization
Carbon gain or loss depends on the balance between competing biological, chemical, and physical reac [more...]
Jul 15, 2019
Field Evaluation of Gas Analyzers for Measuring Ecosystem Fluxes
How gas analyzer type and correction method impact measured fluxes. The Science A side- [more...]
List all highlights (possible long download time)