Jump to content

Recommended Posts

Posted

This is a really neat project:

 

http://clearclimatecode.org/about/

 

Their goal is an open source global surface temperature analysis tool, similar to what is used by NASA GISS for GISTEMP. They're writing it in Python.

 

So far they've come very close to duplicating NASA GISS's results. They've also discovered a few bugs in NASA GISS (although no major ones).

  • 4 months later...
Posted

I just saw this on the Clear Climate Code blog:

 

http://clearclimatecode.org/nasa-giss-wants-to-use-our-code/

 

NASA GISS wants to switch from their archaic GISTEMP codebase written in Fortran to the new Clear Climate Code reimplementation of GISTEMP, which is written in Python with an emphasis on good software design practices and clarity of implementation.

 

It seems to me this is a really great example of "citizen science" in action, and perhaps an example for scientists in general.

 

My distinct impression of scientists in general is, well, they suck at being computer "scientists". The way they generally develop software runs diametrically opposite to best practices. Things like software testing, source control, and general software design and architecture practices are generally lost on them. No offense to the scientists here, they have larger issues to worry about than how to be good programmers.

 

However, one thing any scientific research group whose work centers around a computer model might consider is producing a reference implementation in the language of their choice (e.g. Fortran) then hiring on a small staff of computer scientists who can directly translate the Fortran code into a more modern language such as Python, employing software engineering best practices as they perform the translation. They can test their implementation against the reference and determine if they produce the same output. And hey, maybe they'll find a few bugs in the original implementation along the way.

 

When the clearer, more modern reimplementation is complete, they can continue to improve it, and as CCC has shown modern dynamic languages like Python offer all sorts of opportunities for adding data visualization to the output quickly and easily.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.