The Introspective May Achieve More: Enhancing Existing Geoscientific Models with Native-Language Structural Reflection
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.
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]