SC5.13 | Sustainable Research Software
Sustainable Research Software
Co-organized by AS6/ESSI6/GM13
Convener: Emmanuel Nyenah | Co-convener: Robert Reinecke
Thu, 18 Apr, 14:00–15:45 (CEST)
Room -2.85/86
Thu, 14:00
Research software, encompassing source code files, algorithms, computational workflows, and executables, plays a pivotal role in various scientific disciplines. For example, computational models of the earth may aid decision-making by quantifying the outcomes of different scenarios, such as varying emission scenarios. How can we ensure the robustness and longevity of such research software? This short course teaches the concept of sustainable research software. Sustainable research software is easy to update and extend, meaning it will be easier to maintain and extend that software with new ideas and stay in sync with the most recent scientific findings. This maintainability should also be possible by researchers who have not initially developed the code, which will ultimately result in more reproducible science.
In this short course, we will delve into sustainable research software development principles and practices. The topics include:
- Properties and metrics of sustainable research software
- Writing clear, modular, reusable code that adheres to coding standards and best practices of sustainable research software (e.g., agile project management, documentation, unit testing, FAIR for research software).
- Using simple code quality metrics to develop high-quality code
- Documenting your code using platforms like Sphinx for Python
We will apply these principles to a case study of a reprogrammed version of the global WaterGAP Hydrological Model. We will showcase its current state in a GitHub environment along with example source code.
This course is intended for early-career researchers that create and use research models and software. Basic programming or software development experience is required. The course has limited seats available on a first-come-first-served basis.

Session assets