Beyond Good Practices: Designing Scientific Software for Contribution and Reuse

Read full text
Authors: Eric W. H. Hutton, Gregory E. Tucker, Mark Piper, Tian Gan
Cited by: 0

Abstract

Lowering the barrier to scientific contribution requires more than adopting good software practices; it requires software structures and standards that make contribution and reuse safe, scoped, and sustainable. We describe how the Community Surface Dynamics Modeling System (CSDMS) addresses these challenges through two complementary efforts: the Landlab modeling framework and the Basic Model Interface (BMI).Landlab is a Python package designed as a platform for building Earth-surface process models. Over time, we discovered its architecture also promoted the user-turned-developer pathway, which has been critical to its success. While good software practices such as automated testing, continuous integration, documentation, and linting provide a foundation of reliability, Landlab’s component-based architecture has been central to enabling contribution. This design offers contributors clearly scoped and isolated entry points for adding new process models without needing to understand or modify the entire codebase. By enabling contributions from a growing set of domain experts and supporting them through shared maintenance infrastructure, this model expands the pool of invested contributors and reduces reliance on a small number of core developers, strengthening the prospects for long-term project sustainability.The Basic Model Interface (BMI) complements this approach by providing a lightweight, language-agnostic interface standard that defines how models expose their variables, parameters, and time-stepping controls to the outside world. By separating scientific algorithms from model orchestration, BMI enables models to be reused, coupled, and tested across different frameworks without requiring changes to their internal implementations. Ongoing, community-guided work toward BMI 3.0 aims to extend these capabilities by improving support for parallel execution, clearer state management, and optional interface extensions.Together, Landlab and BMI illustrate how framework design and community-driven standards can reduce technical debt and enable researchers to contribute reusable and interoperable software without requiring them to become full-time software engineers.

Fields of Study & Subjects

Scientific Computing and Data Management Computational Physics and Python Applications Software Engineering Techniques and Practices

Publication details

Journal / source
EGU General Assembly Conference Abstracts
Publication date
14 March 2026
Language
EN