25 February 2025 to 1 March 2025
Building 30.95
Europe/Berlin timezone

Developing a modern build system for the earth system modelling framework MESSy

27 Feb 2025, 12:00
20m
SR A+B (Building 30.95)

SR A+B

Building 30.95

Straße am Forum 1, 76131 Karlsruhe
Talk (15min + 5min) software sustainability Legacy Research Software

Speaker

Sven Goldberg (DLR - Institute of Software Technology)

Description

The earth system modelling framework MESSy (Modular Earth Submodel System: https://messy-interface.org/) consists of around 3.5 Mio. lines of pure code, most of it written in Fortran, and is mainly used on large HPC clusters. Here, users as well as developers usually have to configure and build the software package on their own with the help of a build system which is an essential part of research software. MESSy has been developed for 20 years and offers a lot of different configuration options and packages. All those configurations need to be represented within the internal build system. The long grown currently used version based on autoconf is rather complex and elaborately to maintain, e.g. when it should be extended to new computation architectures.
As part of a supporting project, we therefore created a new and modern build system for this software within the past year. The main focus was to recreate the existing system and its functionalities with CMake, one of the most common tools, while improving the flexibility, developers’ usability and integrability to various architectures. Moreover, the recompilation time shrinks when the code is changed which simplifies development. Right now, the new CMake system is used more and more by MESSy’s developers in contrast to the autoconf build.
In the following, we will describe the process of creating such a CMake system for large grown software based on our experience with MESSy. Further, advantages in general and hurdles related to this specific example will be discussed.

Primary authors

Sven Goldberg (DLR - Institute of Software Technology) Melven Röhrig-Zöllner (DLR)

Presentation materials