Common Climate Project demonstration

This guest post is written by Hannah Aizenman, who worked all summer on the Common Climate Project, thanks to the excellent Google Summer of Code. The summer is now past, and Hannah has built a useful demonstrator website. This is her third post, here are the first and second.

Since the last blog post, the project has gained a (very) barebones web interface, so you can test out the functionality here. So please go and play with the project, and if you end up thinking “hmm, this could work for a dataset I have”, grab the code. And if instead you think “hmm, this could work, but …” file a ticket, contribute a patch, or email the mailing list and see if it can get sorted out. The project has been tested with GISTEMP and CCSM-C, and should work out of the box on any NetCDF dataset using float coordinates and unidate time (assuming an “x since y” unit is given for time). I’m currently sorting out how to support non-gridded data, with a focus on the Mann temperature reconstructions.

I hope that by giving people a simple little toolset to play with datasets, it’ll simplify dataset exploration so that anyone (even somebody who doesn’t understand climate/geophysical dataset conventions) can just join in and play. All the plotting is still handled server side using ccplib, so if you’ve got local data and don’t really want or need the web aspect, just grab that code, run setup.py, and go. There’s one demo already, and I’d love contributions of more!

I’ve also added support for making time series graphs, and I hope to add support for more visualization tasks as this project grows. I’m also including an example of a spatial graph for anyone who missed the last blog post:

CCP example time series chart with GISTEMP dataCCP example map using GISTEMP data

I had originally intended this project to lay done the framework for building a flexible toolkit for visualizing data, and I hope I’ve at least accomplished that much. Adding new visualizations and file types mostly boils down to hooking into an existing class (CCPData or Graph respectively) and the client side HTML, CSS, and JavaScript is heavily separated so that the form can easily be styled to fit within a larger website. Adding more content to the web is a matter of adding another JavaScript function, HTML element, and pyramid view. The backend web architecture tries to be RESTful (though it doesn’t yet conform to the HTML RFC), so the URLs for the images contain all the user defined attributes of the graph and the graphs can be created and manipulated directly from the URL. I hope to maintain the flexibility of the project so that it can grow into something really useful for all sorts of scientists. I very much hope my project will simplify the current chore of getting data on the web, because I think making the data public friendly is key to improving public data literacy.

This entry was posted in News and tagged , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *