Models Methods Software

Dan Hughes

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):

  • A GISS ModelE code fragment
  • Coding Guidelines and Inline Documentation
  • Another NASA/GISS ModelE Code Fragment
  • an extra thousand coe checkers
  • Pattern Matching in NASA/GISS ModelE Coding
  • Yet Even More NASA/GISS ModelE Coding
  • 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.

    Advertisement

    November 8, 2010 Posted by | Uncategorized | , , , , , | 4 Comments

    Viscous Dissipation in the NASA/GISS ModelE Code is Wrong …

    it is not even viscous dissipation. There is also an energy imbalance in the NASA/GISS ModelE code due to the error in the ‘viscous dissipation’. The energy imbalance is about the same magnitude as the imbalance associated with increased concentrations of CO2 in the atmosphere.

    Updated January 14, 2009, down near the end.

    Continue reading

    January 13, 2009 Posted by | Verification | , , | 17 Comments

    More on NASA/GISS ModelE Viscous Dissipation: The Units

    This post is a continuation of discussions of the modeling of viscous dissipation in GCMs. The issue has recently come up again over at Lucia’s Blog in this thread. The thread at Lucia’s is related to the posts on this Blog here, here, and here. I have also in the past commented on the issue at Climate Audit, Professor Pielke Sr.’s Climate Science, and Real Climate. The dissipation questions come up now and then in several Blogs.

    Continue reading

    January 10, 2009 Posted by | Uncategorized | , | 4 Comments

    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

    January 10, 2009 Posted by | Verification | , , , | 1 Comment

    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.

    Continue reading

    October 31, 2008 Posted by | Verification | , , , , | 7 Comments

    “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.

    Continue reading

    September 10, 2008 Posted by | Uncategorized | , , , | 8 Comments

    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.

    Continue reading

    January 7, 2008 Posted by | Uncategorized | , , , | 15 Comments

    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.

    August 9, 2007 Posted by | Uncategorized | , , , | 2 Comments

    A GISS ModelE code fragment

    The several Global Climate Model or General Circulation Model (GCM) codes around the world are the work horses for the ‘what-if’ studies relative to the Global Average Temperature (and many, many other things) that appear in the IPCC Assessment Reports. There are about 20 of these codes, more or less. The actual models in the codes vary considerably from code-to-code and as a function of time with a given code. The GISS ModelE code is the NASA versions of GCMs.

    Some GISS/NASA information about the ModelE GCM code is available here. There you will find information about the documentation of the model and code along with access to download the source and and an online HTML-based code viewer.

    Continue reading

    December 11, 2006 Posted by | Uncategorized | | 25 Comments