deRSE25, the fifth German Conference on Research Software Engineering was held just a couple weeks ago. A number of talks reference Fortran in their abstracts, including
- Impact of research software engineering by natESM in climate and weather domain
- Porting the hydrologic model ParFlow to different accelerator architectures using eDSL and Kokkos
- Developing a modern build system for the earth system modelling framework MESSy
- Recovering Knowledge from old Code
- Conserving Legacy Code: From handwritten Makefile to modern build system and activatable archivation
- ICON Community Interface (ComIn) - An infrastructure overview
and finally also the keynote talk given by Bálint @aradi:
I don’t know if the talks were recorded, but the slides are available for viewing. Other interesting talks can be found in the full contribution list.
A few excerpts from the Fortran-referencing talks which I found interesing,
These sprints focused on 13 models from the community, including ocean modelling, atmospheric chemistry, land and urban surface, frameworks and more. Out of these 13 models, 10 are written mostly in Fortran – indicating still a preference from the community for this language – 2 are written in C/C++ and 1 in Python.
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,
Imagine: A 30 year old Fortran code. 10K lines of three-letter variables, almost no commentary of varying correctness and no one left to remember how it works. Amazingly it is still in use - even though it is unclear how exactly it calculates what it calculates…
In the early 2000s, the development of ICON as an icosahedral grid-based, nonhydrostatic model started. It is Germany’s primary model for weather predictions and climate studies (https://www.icon-model.org/). ICON is a flexible, high-performance modelling framework that enhances our understanding of Earth’s climate system, providing critical data for societal use. […] Currently, ICON development impacts approximately 1.5 billion people globally with its numerous applications, and more than 200 developers actively contribute to the project.
A major milestone in January 2024 was the transition of ICON into an open source software.
Out of curiosity I did a line count on ICON,
$ git clone https://gitlab.dkrz.de/icon/icon-model.git
$ cloc icon-model/
6598 text files.
5275 unique files.
1553 files ignored.
github.com/AlDanial/cloc v 2.04 T=9.88 s (533.8 files/s, 255191.0 lines/s)
---------------------------------------------------------------------------------------
Language files blank comment code
---------------------------------------------------------------------------------------
Fortran 90 1904 170893 263613 842419
C 682 57279 48040 266812
Bourne Shell 194 29847 33681 197179
Bourne Again Shell 373 11722 20434 67235
C++ 21 7243 3253 55444
m4 194 3841 7244 47286
Korn Shell 274 7962 14614 43495
Python 230 8691 12215 34060
C/C++ Header 482 8080 18487 29032
...
I’m surprised by the amount of Shell scripts needed.