Mar 5 – 7, 2024
Julius-Maximilians-Universität Würzburg
Europe/Berlin timezone

ESM-Tools - A modular approach of an Earth-System-Model infrastructure software

Mar 7, 2024, 9:00 AM
20m
HS3

HS3

Talk (15min + 5min) Research Software for Science Lessons learned and applied

Speaker

Dr Nadine Wieters (Alfred-Wegener-Institut Helmholtz Zentrum für Polar- und Meeresforschung)

Description

ESM-Tools is a modular infrastructure software that enables the seamless building, configuration and execution of Earth System Models (ESM) on various High Performance Computing (HPC) platforms. The software is developed at the Alfred Wegener Institute for Polar and Marine Research in Bremerhaven, jointly with the GEOMAR Helmholtz-Zentrum für Ozeanforschung in Kiel. The software is open-source and distributed through GitHub.

The aim of ESM-Tools is to provide an infrastructure tool that includes different ESM components and facilitates the use of these ESMs on different HPC systems. The software must therefore be able to handle many different possible contingencies that these models and HPC systems require. Another demand of the software is to be easily expandable in order to include future ESMs and HPCs and thus also increase the modularity of the ESMs. One of the main requirements is that all of these adaptations to the extensibility and to the functionality of the software should be customizable by the user/researcher of the software and not necessarily by an experienced software engineer. To fulfil these requirements, it must be possible to expand the functionality without changing the source code.

In order to address the above stated software requirements we applied the following design choices: (i) use of a modular software architecture, (ii) following the separation-of-concerns principle: separate source-code (consists of an HPC- and model-agnostic Python back-end) and configuration, (iii) a modular and hierarchical configuration: modular easy-to-read/write YAML files defining the configuration of each specific component of the setup (HPC- and model configuration), (iv) enable an extended functionality to the configuration files by applying a special configuration file syntax (esm-parser), (v) provide an adaptable workflow and plugin manager that is configurable by the advanced user to extend and add new functionality.

In this contribution we will introduce ESM-Tools and the design choices behind its architecture. Additionally, we will discuss the advantages of such a modular system, and address the challenges associated with its usability and maintainability resulting from these design choices and our mitigation strategies.

Primary author

Dr Nadine Wieters (Alfred-Wegener-Institut Helmholtz Zentrum für Polar- und Meeresforschung)

Co-authors

Dr Sebastian Wahl (GEOMAR Helmholtz-Zentrum für Ozeanforschung Kiel) Dr Miguel Andrés-Martínez (Alfred-Wegener-Institut Helmholtz Zentrum für Polar- und Meeresforschung) Dr Paul Gierz (Alfred-Wegener-Institut Helmholtz Zentrum für Polar- und Meeresforschung) Jan Streffing (Alfred-Wegener-Institut Helmholtz Zentrum für Polar- und Meeresforschung)

Presentation materials