Earth System Models (ESMs) play a vital role in understanding and assessing climate change and other earth system-related issues. They are complex and long-living software systems, mainly programmed in Fortran, that undergo changes as science progresses. They have a myriad of variants that must be maintained to support reproducing experiment results. In a research context, often with contributions from scientists on non-tenured contracts and without a formal software engineering education, this can lead to architecture erosion, hampering further development and, therefore, scientific progress. Furthermore, it harms code comprehension, introducing risks for the quality of the earth system models. To address these challenges, our goal is to design and study methods for improving the maintainability of ESMs implemented in Fortran. In this paper, we assess two widely used earth system models—namely UVic and MITgcm—combining dynamic software profiling with static code analysis for reverse engineering. We introduce a new approach to module interface discovery in Fortran systems. We provide a detailed analysis of the ESMs’ architectures and report quantitative properties.
KeywordsEarth System ModelsSoftware ArchitectureDynamic AnalysisStatic AnalysisArchitecture Evaluation
Johanson, A. and Hasselbring, W. (2018) Software Engineering for Computational Science: Past, Present, Future. Computing in Science & Engineering , 20, 90-109. https://doi.org/10.1109/mcse.2018.021651343
Jung, R., Gundlach, S. and Hasselbring, W. (2022) Software Development Processes in Ocean System Modeling. International Journal of Modeling , Simulation , and Scientific Computing , 13, Article ID: 2230002. https://doi.org/10.1142/s1793962322300023
Reussner, R., Goedicke, M., Hasselbring, W., Vogel-Heuser, B., Keim, J. and Märtin, L. (2019) Managed Software Evolution. Springer. https://link.springer.com/book/10.1007/978-3-030-13499-0
Hasselbring, W. (2018) Software Architecture: Past, Present, Future. In: Gruhn, V. and Striemer, R., Eds., The Essence of Software Engineering , Springer International Publishing, 169-184. https://doi.org/10.1007/978-3-319-73897-0_10
Weaver, A.J., Eby, M., Wiebe, E.C., Bitz, C.M., Duffy, P.B., Ewen, T.L., et al . (2001) The Uvic Earth System Climate Model: Model Description, Climatology, and Applications to Past, Present and Future Climates. Atmosphere - Ocean , 39, 361-428. https://doi.org/10.1080/07055900.2001.9649686
Artale, V., Calmanti, S., Carillo, A., Dell’Aquila, A., Herrmann, M., Pisacane, G., et al . (2009) An Atmosphere-Ocean Regional Climate Model for the Mediterranean Area: Assessment of a Present Climate Simulation. Climate Dynamics , 35, 721-740. https://doi.org/10.1007/s00382-009-0691-8
Brévière, E.H.G., Bakker, D.C.E., Bange, H.W., Bates, T.S., Bell, T.G., Boyd, P.W., et al . (2015) Surface Ocean-Lower Atmosphere Study: Scientific Synthesis and Contribution to Earth System Science. Anthropocene , 12, 54-68. https://doi.org/10.1016/j.ancene.2015.11.001
Pahlow, M., Chien, C., Arteaga, L.A. and Oschlies, A. (2020) Optimality-Based Non-Redfield Plankton-Ecosystem Model (OPEM V1.1) in Uvic-ESCM 2.9—Part 1: Implementation and Model Behaviour. Geoscientific Model Development , 13, 4663-4690. https://doi.org/10.5194/gmd-13-4663-2020
Chien, C., Pahlow, M., Schartau, M. and Oschlies, A. (2020) Optimality-Based Non-Redfield Plankton-Ecosystem Model (OPEM V1.1) in UVic-ESCM 2.9—Part 2: Sensitivity Analysis and Model Calibration. Geoscientific Model Development , 13, 4691-4712. https://doi.org/10.5194/gmd-13-4691-2020
Mengis, N., Keller, D.P., MacDougall, A.H., Eby, M., Wright, N., Meissner, K.J., et al . (2020) Evaluation of the University of Victoria Earth System Climate Model Version 2.10 (UVic ESCM 2.10). Geoscientific Model Development , 13, 4183-4204. https://doi.org/10.5194/gmd-13-4183-2020
Stocker, T.F., et al . (2014) Climate Change 2013—The Physical Science Basis: Working Group I Contribution to the Fifth Assessment Report of the Intergovernmental Panel on Climate Change. Cambridge University Press.
Jung, R., Schnoor, H. and Hasselbring, W. (2024) Replication Package for: Software Architecture Evaluation of Earth System Models. https://zenodo.org/records/11371816
van Hoorn, A., Waller, J. and Hasselbring, W. (2012) Kieker: A Framework for Application Performance Monitoring and Dynamic Software Analysis. Proceedings of the 3 rd ACM / SPEC International Conference on Performance Engineering , Boston, 22-25 April 2012, 247-248. https://doi.org/10.1145/2188286.2188326
Hasselbring, W. and van Hoorn, A. (2020) Kieker: A Monitoring Framework for Software Engineering Research. Software Impacts , 5, Article ID: 100019. https://doi.org/10.1016/j.simpa.2020.100019
Overbey, J.L., Negara, S. and Johnson, R.E. (2009) Refactoring and the Evolution of Fortran. 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering , Vancouver, 23 May 2009, 28-34. https://doi.org/10.1109/secse.2009.5069159
Bogner, J., Wagner, S. and Zimmermann, A. (2017) Automatically Measuring the Maintainability of Service-and Microservice-Based Systems. Proceedings of the 27 th International Workshop on Software Measurement and 12 th International Conference on Software Process and Product Measurement , Gothenburg, 25-27 October 2017, 107-115. https://doi.org/10.1145/3143434.3143443
Candela, I., Bavota, G., Russo, B. and Oliveto, R. (2016) Using Cohesion and Coupling for Software Remodularization: Is It Enough? ACM Transactions on Software Engineering and Methodology , 25, 1-28. https://doi.org/10.1145/2928268
Allen, E.B. (2002) Measuring Graph Abstractions of Software: An Information-Theory Approach. Proceedings 8 th IEEE Symposium on Software Metrics , Ottawa, 4-7 June 2002, 182-193. https://doi.org/10.1109/metric.2002.1011337
Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1996) Design Patterns—Elements of Reusable Object-Oriented Software. Addison-Wesley.
Kieker Project (2021) Kieker Development Tools.
Adcroft, A., et al . (2022) MITgcm’s User Manual.
Alexander, K. and Easterbrook, S.M. (2015) The Software Architecture of Climate Models: A Graphical Comparison of CMIP5 and EMICAR5 Configurations. Geoscientific Model Development , 8, 1221-1232. https://doi.org/10.5194/gmd-8-1221-2015
Simm, W.A., Samreen, F., Bassett, R., et al . (2018) SE in ES: Opportunities for Software Engineering and Cloud Computing in Environmental Science. Proceedings of the 40 th International Conference on Software Engineering : Software Engineering in Society , Gothenburg, 27 May-3 June 2018, 61-70. https://dl.acm.org/doi/10.1145/3183428.3183430
Collins, W.J., Bellouin, N., Doutriaux-Boucher, M., Gedney, N., Halloran, P., Hinton, T., et al . (2011) Development and Evaluation of an Earth-System Model-HadGEM2. Geoscientific Model Development , 4, 1051-1075. https://doi.org/10.5194/gmd-4-1051-2011
Giorgetta, M.A., Jungclaus, J., Reick, C.H., Legutke, S., Bader, J., Böttinger, M., et al . (2013) Climate and Carbon Cycle Changes from 1850 to 2100 in MPI‐ESM Simulations for the Coupled Model Intercomparison Project Phase 5. Journal of Advances in Modeling Earth Systems , 5, 572-597. https://doi.org/10.1002/jame.20038
Hurrell, J.W., Holland, M.M., Gent, P.R., Ghan, S., Kay, J.E., Kushner, P.J., et al . (2013) The Community Earth System Model: A Framework for Collaborative Research. Bulletin of the American Meteorological Society , 94, 1339-1360. https://doi.org/10.1175/bams-d-12-00121.1
Riva, C. and Rodríguez, J.V. (2002) Combining Static and Dynamic Views for Architecture Reconstruction. 6 th European Conference on Software Maintenance and Reengineering ( CSMR 2002), Budapest, 11-13 March 2002, 47. https://ieeexplore.ieee.org/document/995789
Jung, R., Gundlach, S. and Hasselbring, W. (2022) Thematic Domain Analysis for Ocean Modeling. Environmental Modelling & Software , 150, Article ID: 105323. https://doi.org/10.1016/j.envsoft.2022.105323
Schnoor, H. and Hasselbring, W. (2020) Comparing Static and Dynamic Weighted Software Coupling Metrics. Computers , 9, Article No. 24. https://doi.org/10.3390/computers9020024
Levenshtein, V.I. (1966) Binary Codes Capable of Correcting Deletions, Insertions and Reversals. Soviet Physics Doklady , 10, 707-710.