DocumentCode :
235731
Title :
Climate Models: Challenges for Fortran Development Tools
Author :
Mendez, Mariano ; Tinetti, Fernando G. ; Overbey, Jeffrey L.
Author_Institution :
Fac. de Inf., Univ. Nac. de La Plata, La Plata, Argentina
fYear :
2014
fDate :
21-21 Nov. 2014
Firstpage :
6
Lastpage :
12
Abstract :
Climate simulation and weather forecasting codes are among the most complex examples of scientific software. Moreover, many of them are written in Fortran, making them some of the largest and most complex Fortran codes ever developed. For companies and researchers creating Fortran development tools -- IDEs, static analyzers, refactoring tools, etc. -- it is helpful to study these codes to understand the unique challenges they pose. In this paper, we analyze 16 well-known global climate models and collect several syntactic metrics, including lines of code, McCabe cyclomatic complexity, presence of preprocessor directives, and numbers of obsolescent Fortran language constructs. Based on these results, we provide some guidelines for people wishing to develop software development tools for Fortran. Notably, such tools must scale to million-line code bases, they must handle constructs that the ISO Fortran standard has deemed obsolescent, and they must work fluently in the presence of C preprocessor directives.
Keywords :
FORTRAN; climatology; geophysics computing; C preprocessor directives; Fortran codes; Fortran development tools; Fortran language constructs; ISO Fortran standard; climate model; climate simulation; software development tools; syntactic metrics; weather forecasting codes; Analytical models; Complexity theory; Computational modeling; Meteorology; Predictive models; Software; Standards;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Engineering for High Performance Computing in Computational Science and Engineering (SE-HPCCSE), 2014 Second International Workshop on
Conference_Location :
New Orleans, LA
Type :
conf
DOI :
10.1109/SE-HPCCSE.2014.7
Filename :
7017326
Link To Document :
بازگشت