Climate Models: A Software Engineering Approach
Autor
Tinetti, Fernando Gustavo
Méndez, Mariano
Resumen
Climate Simulation and Weather Forecasting are amongst the most representative examples of scientific software, which has evolved through- out the past sixty years. In this paper, a set of Global Climate Models (GCM) have been analysed from a Software Engineering perspective, analysing the composition of their internal structure and programming constructs which have been used in the building process. We have implemented a set of software metrics such as Cyclomatic Complexity, Lines of Code, Number of Fortran Obsolete Language Features, among others.We have followed a compiler like approach, collecting information based on traversing the Abstract Syntax Tree (AST). The obtained data can be used for different purposes at different stages of the software life cycle such as: maintenance tasks, parallelization, and optimization. The results suggest that some programming techniques used for building scientic software have fallen into disuse because they are now considered obsolete and error-prone. In addition, GCM's internal structure seems to evolve at a slower pace than programming techniques. The analysis methodology can be used to update and enhance the scientific software in order to make simpler other tasks such as optimization and parallelization for specic new hardware such as multi/many-core processors and co-processors, distributed memory parallel hardware, etc.