Preprints
https://doi.org/10.5194/gmd-2024-135
https://doi.org/10.5194/gmd-2024-135
Submitted as: development and technical paper
 | 
20 Sep 2024
Submitted as: development and technical paper |  | 20 Sep 2024
Status: this preprint is currently under review for the journal GMD.

ICON ComIn – The ICON Community Interface (ComIn version 0.1.0, with ICON version 2024.01-01)

Kerstin Hartung, Bastian Kern, Nils-Arne Dreier, Jörn Geisbüsch, Mahnoosh Haghighatnasab, Patrick Jöckel, Astrid Kerkweg, Wilton Jaciel Loch, Florian Prill, and Daniel Rieger

Abstract. In 2021, a team of developers from the Deutscher Wetterdienst (DWD), the German Aerospace Center (Deutsches Zentrum für Luft- und Raumfahrt, DLR), the German Climate Computing Center (Deutsches Klimarechenzentrum, DKRZ) and the Forschungszentrum Jülich (FZJ) started the Icosahedral Nonhydrostatic (ICON) Model Community Interface (ComIn) project: ICON ComIn is a library with multi-language support for connecting third-party modules ('plugins') to the ICON model using the dynamic loader of the operating system. ComIn is intended for a wide range of use cases, from the integration of simple diagnostic Python scripts to full chemistry models into ICON. ICON ComIn is distributed with the ICON model code under an open source license.  Its application programming interface (API) provides a low barrier for code extensions to ICON and reduces the migration effort in response to new ICON releases. ComIn's main design principles are that it is lightweight, interoperable (Fortran, C/C++, Python) and flexible, and required changes in ICON are minimised. During the development of ComIn the ease of getting started and the experience during plugin development were guiding principles to provide a convenient tool. The extensive documentation and a variety of test and example plugins are results of this process.

This paper motivates the underlying design principles and provides some concrete reasoning for their selection. Further, current limitations are discussed and the vision for the future is presented.

Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims made in the text, published maps, institutional affiliations, or any other geographical representation in this preprint. The responsibility to include appropriate place names lies with the authors.
Kerstin Hartung, Bastian Kern, Nils-Arne Dreier, Jörn Geisbüsch, Mahnoosh Haghighatnasab, Patrick Jöckel, Astrid Kerkweg, Wilton Jaciel Loch, Florian Prill, and Daniel Rieger

Status: open (until 15 Nov 2024)

Comment types: AC – author | RC – referee | CC – community | EC – editor | CEC – chief editor | : Report abuse
Kerstin Hartung, Bastian Kern, Nils-Arne Dreier, Jörn Geisbüsch, Mahnoosh Haghighatnasab, Patrick Jöckel, Astrid Kerkweg, Wilton Jaciel Loch, Florian Prill, and Daniel Rieger
Kerstin Hartung, Bastian Kern, Nils-Arne Dreier, Jörn Geisbüsch, Mahnoosh Haghighatnasab, Patrick Jöckel, Astrid Kerkweg, Wilton Jaciel Loch, Florian Prill, and Daniel Rieger

Viewed

Total article views: 141 (including HTML, PDF, and XML)
HTML PDF XML Total Supplement BibTeX EndNote
94 7 40 141 9 1 1
  • HTML: 94
  • PDF: 7
  • XML: 40
  • Total: 141
  • Supplement: 9
  • BibTeX: 1
  • EndNote: 1
Views and downloads (calculated since 20 Sep 2024)
Cumulative views and downloads (calculated since 20 Sep 2024)

Viewed (geographical distribution)

Total article views: 139 (including HTML, PDF, and XML) Thereof 139 with geography defined and 0 with unknown origin.
Country # Views %
  • 1
1
 
 
 
 
Latest update: 04 Oct 2024
Download
Short summary
The Icosahedral Nonhydrostatic (ICON) Model Community Interface (ComIn) library supports connecting third-party modules to the ICON model. Third-party modules can range from simple diagnostic Python scripts to full chemistry models. ComIn offers a low barrier for code extensions to ICON, provides multi-language support (Fortran, C/C++ and Python) and reduces the migration effort in response to new ICON releases. This paper presents the ComIn design principles and a range of use cases.