Cal-Adapt logo
Banner Image (a California landscape)

What makes Cal-Adapt work?

Cal-Adapt has been developed using free and open-source software, hosted on virtual private servers.  Using Django, a Python web framework, we are able to knit together each of the site’s technology components, including PostgreSQL/PostGIS, MapServer, TileCache, Memcached, Google Maps API, and jQuery, to create a cohesive and unified user experience. 

MapServer provides the cartographic engine driving most of the map-based visualizations.  Given the highly temporal nature of the data, MapServer's flexibility via parameter substitutions and support for WMS-T (Web Map Service-Time) have been a tremendous advantage as each HTTP GET request may contain time values, in addition to further optional parameters.  Beyond support for web services such as Web Map Service (WMS), Web Feature Service (WFS) and Web Coverage Service (WCS), request modes provide access to dynamic image tiles or static map output utilized in the local climate snapshots and HTML templates to generate map legends.

NumPy, a Python package for scientific computing, provides the web application with quick access to a wealth of climate data.  To support the graph-based tools, each model-scenario combination is stored as a NumPy binary file and read as a memory-mapped multidimensional array. This format greatly increases efficient querying of individual raster cells and ad-hoc statistics based on arbitrary time slices, as Python's concise array slicing syntax makes it trivial to query 150 years of modeled data.  

To support a responsive and dynamic user interface, data requests and responses are communicated between server and client using Asynchronous JavaScript and XML (AJAX) calls, which in turn populate JavaScript-based visualization controls, such as Google Maps, Google Chart, and other jQuery widgets.  For the time-series animations, these JavaScript controls were extended to support smooth image transitions.

Building upon the wealth of innovation from the FOSS community has made the complex task of providing local access to a huge amount of data, and presenting these data in compelling ways, much more manageable.  These systems will be put further to the test as we develop new tools that incorporate the daily climate layers now available for each model.

Post last edited on: 2011 April 02

Resources

Climate Tools

Data Access

Community

Contributors

Copyright © 2014 California Energy Commission, All Rights Reserved
State of California, Edmund G. Brown Jr., Governor
Privacy Policy | Conditions of Use | Accessibility