Coding Standards Finally Appear
Steve Easterbrook has provided a list of coding standards that are associated with some of the climate models. The first one is for the NASA / GISS ModelE model and code.
Professor Easterbrook states,
Two followup tasks I hope to get to soon – (1) analyze how much these different standards overlap/differ, and (2) measure how much the model codes adhere to the standards.
Here are a few leads relative to Task (2):
The first of these posts was written almost four years ago. The date on the NASA / GISS ModelE document is February 2010. I’m not hopeful that Better late than never will work out in this case. It’s very difficult to retro-fit coding standards to code that is several decades old.
V&V and SQA: Part 3, Verification
Verification Activities
The focus of verification is the actual coding of the software with objectives to determine: (1) that the coding corresponds to the equations given in the specification document, (2) the order of accuracy of the numerical methods, and (3) the order of convergence of the numerical methods. In general, the latter two objectives are purely mathematical and go to the heart of the coding of the solution methods. Several of the procedures that are used to pursue these objectives are given in the following discussions.
Continue reading
V&V and SQA: Part 5, SQA
Software Quality Assurance Procedures
Continue reading
V&V and SQA: Part 2, Requirements for Production-Grade Software
The requirements for release of software for production-grade applications include:
Continue reading
Royal Meteorological Society V&V and SQA
Some time ago it was suggested to me something to the effect that most of the people in the Climate Change Community to whom I suggest V&V and SQA issues are critical and require significant attention don’t even know what I’m talking about. Here’s some information that lends support to that observation.
Pattern Matching in GISS/NASA ModelE Coding
In a previous post I gave an illustration of how GISS/NASA employees have implemented new and innovative ways to produce inactive code using the capabilities provided by F90/95. I had run across the following statements in routine DIAG.f:
EWATER(J)=EWATER(J)+EL !+W*(SHV*T(I,J,L)*PK(L,I,J)+GRAV
! * *HSCALE*LOG(P(I,J)/PMID(L,I,J)))
The ‘!’ in the first line is going to be very difficult to remember it exists and correctly maintain. Someone might come along and say, “I wonder what that’s doing in the middle of an executable statement.” and promptly un-do the comment. Or un-do the comment of the second line while overlooking the comment in the first line. That would make a screw up on several levels.
Today I have found many more examples of innovative coding by employees of GISS/NASA. It is clear that the NASA Software Quality Assurance procedures are ignored by GISS/NASA. It is equally clear that there are no Software Quality Assurance procedures being applied to the GISS/NASA ModelE code. None.
Update November 2, 2008 down near the end.
Discussion of RealClimate Comments: Part 0
The persons in charge of the GISS/NASA RealClimate Web site have made it clear that continued discussions of this issue are not welcomed over there. So I’ve moved over here.
“an extra thousand code checkers”
Well, GISS/NASA employee Dr. Gavin Schmidt has done it again. He has given direct proof that the fundamental concepts of software Verification and Validation and other Software Quality Assurance procedures are not in the work universe of GISS/NASA.
Another NASA/GISS ModelE Code Fragment
Using the NASA/GISS ModelE code browser I ran across the MODULE CONSTANT in which several constants are setup as parameters.