Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Build Status

For documentation:

For additional project information:

For questions or to file a bug report, please create a GitHub issue.


OpenClimateGIS (OCGIS) is a Python package designed for geospatial manipulation, subsetting, computation, and translation of spatiotemporal datasets stored in local NetCDF files or files served through THREDDS data servers. OpenClimateGIS has a straightforward, request-based API that is simple to use yet complex enough to perform a variety of computational tasks. The software is built entirely from open source packages.

OpenClimateGIS supports many file formats and NetCDF metadata conventions:

  • Climate & Forecast (CF) Grid
  • Unstructured Grid (UGRID)
  • ESMF Unstructured
  • GDAL-supported vector formats (ESRI Shapefiles, File Geodatabases, GeoPackage, GeoJSON, etc.)
  • Comma-Separated Value (CSV)

GIS Capabilities

  • Subsetting (intersects and intersection) of climate datasets by bounding box, Shapely geometries, or shapefiles (city centroid, river reach, a single county or watershed, state boundaries).
  • Time and level range subsetting. Also allows for arbitrary label-based slicing.
  • Single or multi-dataset requests (concatenation).
  • Area-weighted aggregation (spatial averaging) to selection geometries.
  • Handles CF-based coordinate systems with full support for coordinate transformations (including the rotated pole coordinate system)
  • Geometry wrapping and unwrapping to maintain logically consistent longitudinal domains.
  • Polygon, line, and point geometric abstractions.
  • ESMPy regridding

Data Conversion

  • Access to local NetCDF data or data hosted remotely on a THREDDS (OPeNDAP protocol) data server. Only the piece of data selected by an area-of-interest is transferred from the remote server.
  • Stream climate data to multiple formats.
  • Extensible converter framework to add custom formats.
  • Automatic generation of request metadata.
  • Push data to a familiar format to perform analysis or keep the data as NumPy arrays, perform analysis, and dump to a supported format.


  • Extensible computational framework for arbitrary inclusion of NumPy-based calculations.
  • Apply computations to entire data arrays or temporal groups.
  • Computed data may be streamed to any supported formats.