This is the first in a series of short posts about the talks given at the Second Symposium on Advances in Modeling and Analysis Using Python, held at the 92nd AMS Annual Meeting, from January 23–24, 2012, in New Orleans, LA. The full program of the Symposium, with links to abstracts and presentation screencasts are available online.
Let’s say you want to embed an x-y plot or contour map of climate or meteorological values on a web page. How to go about it? The tried-and-true method, of course, is to use images, but this makes your web page static and non-interactive. How to do this dynamically and/or interactively? Here I briefly describe two Python tools presented at the 2012 AMS Python Symposium that do just this.
In her talk “Web Based Visualization Tool for Climate Data Using Python,” Hannah Aizenman of City College of New York describes the CCPviz tool (Common Climate Visualization Web Application) which enables you to embed a dynamic, GUI-enabled plot of climate data in a web page using not too many lines of code. Here is a schematic of how the plot would look on a page (Aizenman et al. 2012):
The tool is hosted on Google Code at https://code.google.com/p/ccp-viz-toolkit/ and an online demonstration of the CCPviz tool in action is available here; take a look at the HTML source and you’ll see how quick and easy the embed is!
Andrew Charles of the Australian Bureau of Meteorology, in his talk “Dynamic generation of contour images from DAP data sources using Python based web services,” describes the contour-wms package that enables you to generate atmospheric and oceanic sciences (AOS) dataset plots that can be integrated in geospatial mapping mashups. Thus, AOS data quantities can easily be dynamically integrated with other information sources via web map services (WMS). Here is an example of an application using contour-wms (Charles et al. 2012):
where the data is from DAP but the continental outlines are obtained from MapServer; the plot is generated dynamically, integrating the two. Charles’s talk is online here.
Dynamic and/or interactive web services utilizing visualizations of our products will only grow, and tools like these two illustrate how Python offers a powerful platform to make dynamic product generation and integration possible.