Welcome to CCC

Clear Climate Code is an open project created by Ravenbrook; we aim to write and maintain software for climate modelling and analysis, with an emphasis on clarity and correctness. Our goals are:

  1. To produce clear climate science software;
  2. To encourage the production of clear climate science software;
  3. To increase public confidence in climate science results;
  4. To promote Ravenbrook’s software consultancy services.

[Updated to add: of course, these are the goals of Ravenbrook's internal project, out of which this open project has grown.  We don't expect third parties to sign up to goal 4, and of course they may have other goals of their own. - Nick B]

We are not new, but our blog is. Nick Barnes had the idea for the project in 2007 and he and David Jones started work on it at Ravenbrook in 2008. We talked about at PyCon UK 2008. Since then we have been joined by some contributors (on our mailing list), including John Keyes who has provided hosting for this blog.

Currently we are working on ccc-gistemp which is a reimplementation of the GISTEMP algorithm in Python. We are nearing the end of “step 1″ of that project, at which point we will have a Python program that uses exactly the same inputs as GISTEMP, and produces the same intermediate files, and the same outputs (right now, we have such a program but bits of it still use some of the Fortran code from GISS).

9 Responses to “Welcome to CCC”

  1. John Keyes Says:

    You’re very welcome. Looking forward to seeing this project developing further.

    Is there a ticket/issue/bug tracker or a TODO list where people can see where help is needed?

  2. Nick.Barnes Says:

    The GoogleCode project has an issue system, here. It’s not very populated yet.

  3. mathew Says:

    I can’t help wondering if a language that was amenable to formal proofs of correctness wouldn’t be a better choice.

  4. Nick.Barnes Says:

    I did think of that, mathew, and as you probably recall I have a particular affinity for SML. But:
    1. As far as I know there is no formal mathematics around GISTEMP, to which a proof could relate. Scientists basically don’t do formal mathematics (with some exceptions in physics);
    2. Fewer people would understand an SML implementation;
    3. Fewer people could contribute to an SML implementation;
    4. (weaker) Fewer people could run an SML implementation;
    5. Python comes with a bunch of stuff out of the box which is pretty useful (e.g. a BSD-DB interface).

    If we want a formalism, we can certainly write theorems about a Python implementation.

  5. Paul Says:

    What are you planning to do about the statistics used? When reviewing the “Harry readme” (not for gis-temp, of course, but others have said similar things about gis-temp) I felt there were several issues – coding was one of them, but one of the others was the statistical validity of the things done to the data – do you have access to a statistician?

  6. Richard Hendricks Says:

    Happy to contribute my time between Windows CE compiles. I’ll try and go through a typical “user experience” first and see what kinds of issues they would run in to and file tickets.

  7. Nick.Barnes Says:

    Paul: Yes, we do have access to a statistician. We’re not going to start looking at that until after we’ve finished the first part of the project (i.e. producing a clear working re-implementation of the existing algorithm).
    I see our critical job as exposing the algorithms to public view and understanding. When it’s all in old Fortran, the algorithms are too obscure for anyone to understand.
    So although I do have plenty to say about the particular algorithms in GISTEMP (and why I prefer the simpler alternative here: http://ds.data.jma.go.jp/tcc/tcc/products/gwp/temp/ann_wld.html ), that’s not a job for today.

  8. drj Says:

    @Richard That’s excellent thanks. I see you’ve been filling in issues already. Thanks for that!

  9. drj Says:

    [drat: didn't see Nick's reply before posting this. Sorry to sound like a repetitive bore]

    @mathew: That’s an interesting point, but I don’t see how a formally verifiable language would contribute to any of the goals. Especially goal 1: “To produce clear climate science software”.

    Ravenbrook in general like to stress the importance of clarity. For this project clarity is paramount. The clearer it is, the more people will look and understand it. And thereby hopefully achieve goal 3.

    Did you have any particular language in mind?

Leave a Reply