92nd American Meteorological Society Annual Meeting (January 22-26, 2012)

Monday, 23 January 2012: 11:00 AM
Web Based Visualization Tool for Climate Data Using Python
Room 346/347 (New Orleans Convention Center )
Hannah Aizenman, City College of New York , New York, NY; and M. Grossberg, D. Jones, N. Barnes, J. Smerdon, K. Anchukaitis, and J. E. Geay
Manuscript (588.0 kB)

Many scientists need to provide public visualization and exploration tools for the datasets they create. For instance, the Common Climate Project's (CCP) mission of building a website for sharing climate data required a widget to visualize that data. Unfortunately, although there are web sites that have custom built solutions, there are no widely available simple tools for deploying a widget to facilitate exploring time series and spatial components of climate data online. So, as part of a Google Summer of Code Project, we developed an Open Source web based embeddable visualization widget that extracts data from NetCDF les and then displays it in a variety of user speci ed ways. The widget has a highly modular architecture to maintain its exibility because it was designed to handle many di erent types of data (paleoclimate, proxy, reanalysis, etc), and meant to be embedded in various websites. Data extraction, processing, and visualization are handled separately in an underlying library that relies on NumPy, SciPy, and Matplotlib. The server side code, which is written using the Pyramid web framework, then provides a RESTful interface to this library so that each URL can map to an image and so that the user has exibility in how the images are generated. The tool also provides a minimal HTML/JavaScript GUI interface so that scientists can embed the viewer in their websites, but even the HTML, CSS, and JavaScript are heavily separated so that the interface can easily be styled to t within a larger website. The software was developed using standard software tools on hosted Internet servers, making new code easily and frequently available for review and release. Python was used because the prevalence of Open Source libraries and frameworks for scienti c computing, data visualization, and web development greatly simpli ed integrating the various layers of the project. Python was also used because the diversity of Python software facilitates the incorporation of new features or tools in the same family as this widget. A demonstration of this tool is available at

Supplementary URL: https://code.google.com/p/ccp-viz-toolkit/