Initiated in 1992, the international PILPS project aims to evaluate and intercompare land-surface parameterization packages, destined for embedding into atmospheric general circulation models. The Project for Intercomparison of Landsurface Parameterization Schemes (PILPS) involves 27 numerical submodels to describe the interaction of the land surface with the overlying atmosphere. This project offers the opportunity of not only comparing the physical basis and simulation results of these land-surface codes, but also for collecting software engineering metrics on the codes themselves. The existing PILPS infrastructure supported the data collection of measures of the pieces of FORTRAN code in an organized fashion. A number of questions were included in a data gathering exercise, via questionnaire, regarding the structural complexity of the codes. Even for this parsimonious set of metrics, adequate data were returned for only 7 of the 27 land-surface parameterization schemes involved in the PILPS intercomparison. Results from these seven data sets are analyzed here in terms of control flow complexity and size. A second experiment is also described briefly. This was conducted to evaluate, subjectively, the overall "complexity" of four of the PILPS codes. Eight senior climate researchers, all of whom are also established FORTRAN programmers, were asked to evaluate the code listings using a questionnaire. These data were evaluated and their relationship to the objective measures assessed. A surprisingly good correlation was found between many of the standard, objective metrics and subjective assessments of overall "complexity.".
- Software engineering