Exploring Client-Server Data Visualization using IPython and WebGL

- Indicates paper has been withdrawn from meeting
- Indicates an Award Winner
Monday, 5 January 2015: 4:15 PM
129B (Phoenix Convention Center - West and North Buildings)
Ryan M. May, UCAR, Boulder, CO; and S. C. Arms

As a solution to rapidly increasing data volumes, the idea of proximate data analysis, or “analysis in the cloud” has become a popular area of development. The general idea is to move analysis code to the data rather than downloading data locally for analysis. This reduces data bandwidth requirements (some of which are quickly growing impractical), but comes with challenges to the user experience, especially when it comes to visualization.

IPython provides a ready-made client-server architecture for performing remote data analysis and returning the results (eg. images or text). Its notebook interface has proven especially popular, enabling execution of arbitrary code through “cells” in a web-based interface and being able to display arbitrary images, HTML, and Javascript. However, while the notebook is the most widely known interface, IPython can function as a standalone web application, providing a bridge between web-based interfaces and a server executing Python code.

In support of UCAR/Unidata's move towards more cloud-based computing, we are exploring a Web-based Analysis and Visualization Environment (WAVE). This environment is based extensively on WebGL to provide fluid interactions with data, and makes use of IPython to handle bridging between data-proximate Python-based analysis code and the javascript/WebGL based client. This paper will present our experiences in these technologies, both benefits and pitfalls, as well as demonstrate its capabilities for atmospheric data visualization.