Research Software Engineering for Transformation Pathways

Research Software Engineering for Transformation Pathways
Photo: Antonia Cozacu, Jan Philipp Dietrich @ deRSE19

Software has become an integral part of research. The path to scientific knowledge today leads almost exclusively through the use of software, which is used for data acquisition, analysis and modeling. This applies in particular to research at PIK with its strong focus on modeling. Software therefore plays a central role in ensuring our high scientific quality. The demands placed on research in terms of transparency, reproducibility and robustness also apply to the correlated software. We as Research Software Engineers focus on meeting these criteria: Better software enables better research!

The discipline of Research Software Engineering (RSE) aims to combine content-driven research with state-of-the-art software principles and tries to close the current gap in software engineering practices between industry and research.

The RSE group at PIK aims to improve transparency, reproducibility, robustness, efficiency (in terms of human and computational resources) and reusability. To the researchers at PIK we provide the service of establishing software development standards and creating software frameworks & tools which ease the development of research software. The close interaction with the researchers combined with profound domain knowledge guarantees that our work is tailored to the given needs.

As research software engineering team we are supporting the development of the Potsdam Integrated Assessment Modeling Framework (PIAM) and its underlying components, the energy-economy-integrated assessment model REMIND and the land-use model MAgPIE. We support the researchers with new developments where we provide prototypes and basic software structures. Further, we work on standardized data processing across different models as on code quality assurance via regular tests and validation routines. The latter allow researchers to validate single modules and keep track of fundamental changes in their models or software. To better understand simulation results we provide tools for analysing model output.

Through a continuous exchange with the software engineering community we bring state-of-the art software engineering concepts into the daily work of researchers, and via teaching and consulting we make sure that researchers are capable of applying these coding principles.

Research Software Engineering improves the quality of software-driven research at PIK. We help to make our research more transparent and applicable to externals which will further improve its credibility and outreach.

tl;dr: better software, better research