Awesome Open Atmospheric, Ocean, and Climate Science
Atmospheric, ocean, and climate science are awesome.
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.
While packages are not technically specific to AOCH science, they are so essential for scientific workflows that we can't not include them
- Pandas - Data structures and computational tools for working with tabular datasets
- Xarray - Data structures and computational tools for multidimensional arrays, inspired by netCDF data model
- Iris - Expressive analysis and visualization of multi-dimensional datasets based on the CF conventions
- CDMS - Object-oriented data management system for multidimensional, gridded data used in climate analysis and simulation
- MetPy - Collection of tools for reading, visualizing, and performing calculations with weather data
- windspharm - Spherical harmonic wind analysis
- wrf-python - A collection of diagnostic and interpolation routines for use with output of the Weather Research and Forecasting (WRF-ARW) Model
- GSW-Python - Thermodynamic equation of state for seawater
- WAVEWATCH III - NOAA's Ocean wave model
- UMWM - University of Miami's wave model
- climlab - Process-oriented climate modeling
- aospy - Automated analysis and management of gridded climate data
- Oocgcm - Analysis of large gridded geophysical datasets
- Pangaea: - xarray extension for gridded land surface & weather model output
- xgcm - 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 - Geospatial manipulation, subsetting, computation, and translation of spatiotemporal climate data
- SatPy - Read and manipulate meteorological remote sensing data and write it to various image and data file formats
- Open Data Cube - Analysis toolkit for continental scale Earth Observation data from satellites
- OGGM - Open Global Glacier Model
- xESMF - Regridding for numpy and Xarray datasets based on the Earth Systems Modeling Framework (ESMF) library
- Pyresample - Resample/reproject earth observing satellite data
- geopandas - Spatial GIS operations on geometric types.
- salem - Adds geolocalised subsetting, masking, and plotting operations to xarray's data structures via accessors
- Regionmask - plotting and creation of masks of spatial regions
- xshape - Tools for working with shapefiles, topographies, and polygons in xarray
- Collocate - Collocate xarray trajectories in arbitrary physical dimensions
- QGIS - GIS platform to visualize, manage, edit, analyse data, and compose printable maps
- netCDF - 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 - HDF5 is a high-performance data management data storage format. HDF interfaces are available in C, Fortran, C++, Java, Python, and other languages
- Zarr - chunked, compressed, N-dimensional arrays.
- xmitgcm - Read MITgcm binary MDS files into xarray data structures.
- xbpch - Xarray interface for bpch files
- PyGDX - Access data stored in GAMS Data eXchange (GDX) files
- Do we list all the open source climate model codes? Are they awesome enough?
- xarray-simlab - xarray extension for computer model simulations
PyViz - A coordinated effort to make data visualization in Python easier to use, easier to learn, and more powerful. Sub-components include:
- HoloViews - Library designed to make data analysis and visualization seamless and simple
- GeoViews - 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 - graphics pipeline system for creating meaningful representations of large datasets quickly and flexibly
- Panel - Create custom interactive web apps and dashboards by connecting user-defined widgets to plots, images, tables, or text
- hvPlot - A high-level plotting API for the PyData ecosystem built on HoloViews
EarthSim - Tools for working with and visualizing environmental simulations
Cartopy - Easy cartographic (maps) data visualization.
Geoviews - Explore and visualize geographic data using HoloViews.
How to Contribute
- Quantarctica - user-configurable QGIS basemap for Antarctica with high-quality, peer-reviewed, free and open Antarctic scientific data
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