Managing complexity in simulations of land surface and near surface processes
Increasing computing power and the growing role of simulation in Earth systems science have led to an increase in the number and complexity of processes in modern simulators. We present a multiphysics framework that specifies interfaces for coupled processes and automates weak and strong coupling strategies to manage this complexity. Process management is enabled by viewing the system of equations as a tree, where individual equations are associated with leaf nodes and coupling strategies with internal nodes. A dynamically generated dependency graph connects a variable to its dependencies, streamlining and automating model evaluation, easing model development, and ensuring models are modular and flexible. Additionally, the dependency graph is used to ensure that data requirements are consistent between all processes in a given simulation. Here we discuss the design and implementation of these concepts within the Arcos framework, and demonstrate their use for verification testing and hypothesis evaluation in numerical experiments. We describe a conceptual model for managing complexity in multiphysics software.A process tree describes how individual equations are coupled.A dependency graph describes how variables are dependent upon each other.The model is implemented within the Arcos software framework.Examples of code and model runs are shown to demonstrate the idea.
Environ. Model. Softw.