全部 标题 作者
关键词 摘要

OALib Journal期刊
ISSN: 2333-9721
费用:99美元

查看量下载量

相关文章

更多...

Software Architecture Evaluation of Earth System Models

DOI: 10.4236/jsea.2025.183008, PP. 113-138

Keywords: Earth System Models, Software Architecture, Dynamic Analysis, Static Analysis, Architecture Evaluation

Full-Text   Cite this paper   Add to My Lib

Abstract:

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.

References

[1]  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
[2]  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
[3]  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
[4]  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
[5]  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
[6]  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
[7]  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
[8]  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
[9]  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
[10]  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
[11]  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.
[12]  Jung, R., Schnoor, H. and Hasselbring, W. (2024) Replication Package for: Software Architecture Evaluation of Earth System Models.
https://zenodo.org/records/11371816
[13]  van Hoorn, A., Waller, J. and Hasselbring, W. (2012) Kieker: A Framework for Application Performance Monitoring and Dynamic Software Analysis. Proceedings of the 3rd ACM/SPEC International Conference on Performance Engineering, Boston, 22-25 April 2012, 247-248.
https://doi.org/10.1145/2188286.2188326
[14]  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
[15]  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
[16]  Bogner, J., Wagner, S. and Zimmermann, A. (2017) Automatically Measuring the Maintainability of Service-and Microservice-Based Systems. Proceedings of the 27th International Workshop on Software Measurement and 12th International Conference on Software Process and Product Measurement, Gothenburg, 25-27 October 2017, 107-115.
https://doi.org/10.1145/3143434.3143443
[17]  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
[18]  Allen, E.B. (2002) Measuring Graph Abstractions of Software: An Information-Theory Approach. Proceedings 8th IEEE Symposium on Software Metrics, Ottawa, 4-7 June 2002, 182-193.
https://doi.org/10.1109/metric.2002.1011337
[19]  Gamma, E., Helm, R., Johnson, R. and Vlissides, J. (1996) Design Patterns—Elements of Reusable Object-Oriented Software. Addison-Wesley.
[20]  Kieker Project (2021) Kieker Development Tools.
[21]  Adcroft, A., et al. (2022) MITgcm’s User Manual.
[22]  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
[23]  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 40th 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
[24]  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
[25]  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
[26]  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
[27]  Riva, C. and Rodríguez, J.V. (2002) Combining Static and Dynamic Views for Architecture Reconstruction. 6th European Conference on Software Maintenance and Reengineering (CSMR 2002), Budapest, 11-13 March 2002, 47.
https://ieeexplore.ieee.org/document/995789
[28]  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
[29]  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
[30]  Levenshtein, V.I. (1966) Binary Codes Capable of Correcting Deletions, Insertions and Reversals. Soviet Physics Doklady, 10, 707-710.

Full-Text

Contact Us

service@oalib.com

QQ:3279437679

WhatsApp +8615387084133