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.
Yet Even More NASA/GISS ModelE Coding
While pursing the NASA/GISS ModelE coding as part of getting back to the dissipation questions that have come up on Lucia’s Blog in this thread, I ran across yet even more interesting coding. The thread at Lucia’s is related to the posts on this Blog here, here, and here. The dissipation questions come up now and then in several Blogs.
But first, a short diversion.
Continue reading
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.
Coding Guidelines and Inline Documentation: GISS ModelE
Here’s an example of what a lack on coding guidelines (or ignoring them) can lead to. From the NASA/GISS ModelE online source code browser:
SUBROUTINE SURFCE 1,30
!@sum SURFCE calculates the surface fluxes which include
!@+ sensible heat, evaporation, thermal radiation, and momentum
!@+ drag. It also calculates instantaneous surface temperature,
!@+ surface specific humidity, and surface wind components.
!@auth Nobody will claim responsibilty
This is the entire header information for a 1228-line routine.
The last line says it all.