Juliacon 2024

Seamless Reproducibility of Complex Simulation Workflows
2024-07-10 , While Loop (4.2)

Modern model-based design and decision support in engineering climate change response relies on complex simulation workflows, orchestrating research software in diverse programming languages and compute paradigms. Reproducibility and reuse is challenging due to complex installations, and workflow reproducibility is not seamlessly inherited. We analyze the Time to First Reproduction (TTFR) in such workflows using the Julia ecosystem, drawing insights from two projects in our research group.


In the field of engineering climate change response, there is a growing interest in model-based approaches to address complex challenges. For instance, models for simulating shallow free surface flow aid in predicting flooding, landslides, and avalanches for early warning systems and hazard mitigation. Modern methods for model-based design and decision support rely heavily on computational techniques and models implemented within research software, which have been developed over decades. In our research group, we also develop computational methods and models for diverse applications including landslides, subsequently employing them for tasks like sensitivity analysis, model selection, digital twins, uncertainty quantification, and decision support. In these scenarios, integrating and orchestrating existing research software assets into reusable simulation workflows proves to be a practical choice, preventing redundant efforts. Such reproducible and reusable workflows enable transparency, verification and validation, peer review, collaboration, adaptability to new methods, and benchmarking.

Achieving reproducibility and reusability in complex computational model-based workflows poses notable challenges, considering the varied programming languages, package managers, and computing platforms employed in research software development. Furthermore, extension of workflow reproducibility from that of individual software assets is not assured, and cumbersome installation procedures often dissuade researchers from experimenting with well-crafted research software. The question then arises: How can we achieve seamless reproducibility of complex model-based simulation workflows involving heterogeneous research software?

We try to answer this question by considering two research software projects within our group:
1. PSimPy (https://pypi.org/project/psimpy/) - A Python/R package to orchestrate Gaussian Process integrated Sensitivity Analyses, Uncertainty Quantification & Bayesian Model Calibration.
2. SWEBench - An Emulator Framework to facilitate Benchmarking of Forward Solvers for Thin-film Mass Transport over Complex Geometries.

The Julia ecosystem provides an interesting solution to workflow reproducibility that we will analyze in detail. This work particularly emphasizes the Time to First Reproduction (TTFR), a factor that significantly impacts the usability and adoption of software in a research setting. Julia ensures reproducible compute environments through its built-in package manager. Furthermore, its package ecosystem seamlessly enables the installation and utilization of libraries and software from various sources, including Python, R, and pre-compiled binaries via BinaryBuilder. In comparison to individually using other modern solutions, like conda and docker, utilizing the Julia ecosystem allows us to greatly reduce TTFR along with developer and maintenance effort.

A PhD candidate at Chair of Methods for Model-based Development in Computational Engineering at RWTH Aachen University. I am working on advancing Forward Solvers for Thin Film Free Surface Flows over Complex Geometry. This project involves working at the intersection of Numerical Methods for solving thickness-integrated Shallow Water Equations (Surface PDEs), Computational Geometry, and Automatic Differentiation. I'm also a strong proponent of Open Science and Open Source Research Software.