Projects > Climata
Modules Used


type: informational access: public prototype license: open source

climata is a Python library that facilitates downloading and processing various U.S. climate and streamflow datasets. The Climata Viewer website provides a user-friendly interface for the climata library, and is part of a larger vision to promote the use of climate data in decision making and resource management.

climata is capable of loading time series data from the following agency web services: ACIS (NOAA RCCs), CoCoRaHS, Hydromet/Agrimet (USBR), CNRFC (NWS), SNOTEL AWDB (NRCS/USDA), and NWIS (USGS). This was no small task, as each of these web services uses a different data format. As much as possible, the differences between these formats are invisible to climata users.

Implementation Notes

The climata library is available on PyPI as a pythonic interface for loading and processing time series data from climate and flow monitoring stations and observers. climata is powered by wq.io, and shares its goal of maximizing the reusability of data parsing code, by smoothing over some of the differences between various data formats. Each climata class takes the same initialization arguments (e.g. start date, end date, station id) and returns the result as a simple collection of record objects, with field names automatically derived from the structure of the data.

The Climata Viewer is a wq.db-powered Django application that automatically retrieves climate data via climata and (an early version of) the Django Data Wizard. The ERAV data model provided by vera is used to ensure the same time series can be imported multiple times without causing duplicates. The viewer leverages Django REST Pandas together with wq.app's wq/chart.js and wq/map.js to provide interactive graphical previews of the imported data.


climata-01.png climata-02.png climata-03.png climata-04.png climata-05.png climata-06.png