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

Awesome Open Atmospheric, Ocean, and Climate Science

Atmospheric, ocean, and climate science are awesome.

Awesome Build Status Contributions Commits License

This is a curated list of open source software packages that make our lives as scientists, hackers and data wranglers easier or just more awesome. This list is intended to be the fluid-earth counterpart of awesome open geoscience, although there is inevitably some overlap. It is not just climate science! We use the word "climate" in the repo name just as shorthand for the fluid part of the earth. Packages from atmospheric science, oceanography, climate science, and hydrology are all welcome.

In accordance with the awesome manifesto, we add awesome repositories. We are wide open to contributions of course! Don't hesitate to add your favorite packages by making a [pull request]



Awesome software projects sub-categorized by focus.

General Purpose


While packages are not technically specific to AOCH science, they are so essential for scientific workflows that we can't not include them

  • Pandas - Python Data structures and computational tools for working with tabular datasets
  • Xarray - Python Data structures and computational tools for multidimensional arrays, inspired by netCDF data model
  • Numpy - Python NumPy is a library for the Python programming language, adding support for large, multi-dimensional arrays and matrices, along with a large collection of high-level mathematical functions to operate on these arrays.
  • Matplotlib - Python Matplotlib is a comprehensive library for creating static, animated, and interactive visualizations in Python. Several other libraries, including many mentioned in the lists below, use Matplotlib by default under the hood for creating data visualizations.


  • Iris - Python Expressive analysis and visualization of multi-dimensional datasets based on the CF conventions
  • CDMS - Python Object-oriented data management system for multidimensional, gridded data used in climate analysis and simulation


  • MetPy - Python Collection of tools for reading, visualizing, and performing calculations with weather data
  • windspharm - Python Spherical harmonic wind analysis
  • wrf-python - Python A collection of diagnostic and interpolation routines for use with output of the Weather Research and Forecasting (WRF-ARW) Model


  • GSW-Python - Python Thermodynamic equation of state for seawater
  • WAVEWATCH III - Fortran NOAA's Ocean wave model
  • UMWM - Fortran University of Miami's wave model
  • rnoaa - R An R interface to many NOAA data sources
  • pyoos - Python A Python library for collecting Met/Ocean observations
  • PyCO2SYS - Python A Python toolbox for solving the marine carbonate system and calculating related seawater properties


  • climlab - Python Process-oriented climate modeling
  • aospy - Python Automated analysis and management of gridded climate data
  • Oocgcm - Python Analysis of large gridded geophysical datasets
  • Pangaea - Python xarray extension for gridded land surface & weather model output
  • xgcm - Python Extends the xarray data model to understand finite volume grid cells (common in General Circulation Models) and provides interpolation and difference operations for such grids
  • OpenClimateGIS - Python Geospatial manipulation, subsetting, computation, and translation of spatiotemporal climate data
  • climpredPython xarray wrapper for analysis of ensemble forecast models for climate prediction
  • pyOWM - Python PyOWM is a client Python wrapper library for OpenWeatherMap (OWM) web APIs

Remote Sensing

  • SatPy - Python Read and manipulate meteorological remote sensing data and write it to various image and data file formats
  • Open Data Cube - Python Analysis toolkit for continental scale Earth Observation data from satellites
  • Earthdata Search - User interface for searching against the CMR (Common Metadata Repository). Supports data download, visualization, and subsetting in some cases.
  • Sentinelsat - Python Search and download data from the European Copernicus Sentinel satellites


  • OGGM - Python Open Global Glacier Model

Spatiotemporal Statistics

  • EOFs - Python EOF analysis
  • rasterstats - Python summarizing geospatial raster datasets based on vector geometries


  • xESMF - Python Regridding for numpy and Xarray datasets based on the Earth Systems Modeling Framework (ESMF) library
  • Pyresample - Python Resample/reproject earth observing satellite data


  • geopandas - Python Spatial GIS operations on geometric types.
  • salem - Python Adds geolocalised subsetting, masking, and plotting operations to xarray's data structures via accessors
  • Regionmask - Python plotting and creation of masks of spatial regions
  • xshape - Python Tools for working with shapefiles, topographies, and polygons in xarray
  • Collocate - Python Collocate xarray trajectories in arbitrary physical dimensions
  • QGIS - C++ GIS platform to visualize, manage, edit, analyse data, and compose printable maps
  • GeoPHP - PHP The world's most popular geospatial library for PHP that works with WKT (including EWKT), WKB (including EWKB), GeoJSON, KML, GPX, GeoRSS and more

Data Storage

  • netCDF - Python C++ C Java Fortran NetCDF (Network Common Data Form) is a set of interfaces for array-oriented data access and a freely distributed collection of data access libraries for C, Fortran, C++, Java, Python, and other languages
  • HDF5 - Python C++ C Java Fortran HDF5 is a high-performance data management data storage format. HDF interfaces are available in C, Fortran, C++, Java, Python, and other languages
  • Zarr - Pyton chunked, compressed, N-dimensional arrays.
  • xmitgcm - Python Read MITgcm binary MDS files into xarray data structures.
  • xbpch - Python Xarray interface for bpch files
  • PyGDX - Python Access data stored in GAMS Data eXchange (GDX) files
  • rasterio - Python Reads and writes GeoTIFF and provides a Python API based on Numpy N-dimensional arrays and GeoJSON
  • netcdf4-python - Python Python/numpy interface to the netCDF C library


  • Do we list all the open source climate model codes? Are they awesome enough?
  • xarray-simlab - Python xarray extension for computer model simulations


  • PyViz - Python A coordinated effort to make data visualization in Python easier to use, easier to learn, and more powerful. Sub-components include:

    • HoloViews - Python Library designed to make data analysis and visualization seamless and simple
    • GeoViews - Python Library that makes it easy to explore and visualize geographical, meteorological, and oceanographic datasets, such as those used in weather, climate, and remote sensing research
    • Datashader - Python graphics pipeline system for creating meaningful representations of large datasets quickly and flexibly
    • Panel - Python Create custom interactive web apps and dashboards by connecting user-defined widgets to plots, images, tables, or text
    • hvPlot - Python A high-level plotting API for the PyData ecosystem built on HoloViews
  • EarthSim -Python Tools for working with and visualizing environmental simulations

  • Cartopy - Python Easy cartographic (maps) data visualization.

  • Geoviews - Python Explore and visualize geographic data using HoloViews.

Data Repositories

  • Quantarctica - user-configurable QGIS basemap for Antarctica with high-quality, peer-reviewed, free and open Antarctic scientific data
  • Common Metadata Repository - Search API for NASA's remote-sensed earth science metadata
  • UCI Machine Learning Repository – Popular hub for machine learning datasets, featuring "physical sciences" data on air quality, ozone level detection, greenhouse gas concentrations, aquatic toxicity, and more
  • National Data Buoy Center - The premier source of meteorological and oceanographic measurements for the marine environment.


Cheat Sheets



How to Contribute

Contributions welcome! Read the contribution guidelines first




To the extent possible under law, all contributors have waived all copyright and related or neighboring rights to this work


Awesome Open Atmospheric, Ocean, and Climate Science



Code of conduct





No releases published


No packages published