# Xarray related projects

Below is a list of existing open source projects that build functionality upon xarray. See also section xarray Internals for more details on how to build xarray extensions. We also maintain the xarray-contrib GitHub organization as a place to curate projects that build upon xarray.

## Geosciences

- aospy: Automated analysis and management of gridded climate data.

- argopy: xarray-based Argo data access, manipulation and visualisation for standard users as well as Argo experts.

- climpred: Analysis of ensemble forecast models for climate prediction.

- geocube: Tool to convert geopandas vector data into rasterized xarray data.

- GeoWombat: Utilities for analysis of remotely sensed and gridded raster data at scale (easily tame Landsat, Sentinel, Quickbird, and PlanetScope).

- infinite-diff: xarray-based finite-differencing, focused on gridded climate/meteorology data

- marc_analysis: Analysis package for CESM/MARC experiments and output.

- MetPy: A collection of tools in Python for reading, visualizing, and performing calculations with weather data.

- MPAS-Analysis: Analysis for simulations produced with Model for Prediction Across Scales (MPAS) components and the Accelerated Climate Model for Energy (ACME).

- OGGM: Open Global Glacier Model

- Oocgcm: Analysis of large gridded geophysical datasets

- Open Data Cube: Analysis toolkit of continental scale Earth Observation data from satellites.

- Pangaea:: xarray extension for gridded land surface & weather model output).

- Pangeo: A community effort for big data geoscience in the cloud.

- PyGDX: Python 3 package for accessing data stored in GAMS Data eXchange (GDX) files. Also uses a custom subclass.

- pyinterp: Python 3 package for interpolating geo-referenced data used in the field of geosciences.

- pyXpcm: xarray-based Profile Classification Modelling (PCM), mostly for ocean data.

- Regionmask: plotting and creation of masks of spatial regions

- rioxarray: geospatial xarray extension powered by rasterio

- salem: Adds geolocalised subsetting, masking, and plotting operations to xarray’s data structures via accessors.

- SatPy : Library for reading and manipulating meteorological remote sensing data and writing it to various image and data file formats.

- Spyfit: FTIR spectroscopy of the atmosphere

- windspharm: Spherical harmonic wind analysis in Python.

- wradlib: An Open Source Library for Weather Radar Data Processing.

- wrf-python: A collection of diagnostic and interpolation routines for use with output of the Weather Research and Forecasting (WRF-ARW) Model.

- xarray-simlab: xarray extension for computer model simulations.

- xarray-spatial: Numba-accelerated raster-based spatial processing tools (NDVI, curvature, zonal-statistics, proximity, hillshading, viewshed, etc.)

- xarray-topo: xarray extension for topographic analysis and modelling.

- xbpch: xarray interface for bpch files.

- xclim: A library for calculating climate science indices with unit handling built from xarray and dask.

- xESMF: Universal regridder for geospatial data.

- 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.

- xmitgcm: a python package for reading MITgcm binary MDS files into xarray data structures.

- xnemogcm: a package to read NEMO output files and add attributes to interface with xgcm.

## Machine Learning

- ArviZ: Exploratory analysis of Bayesian models, built on top of xarray.

- Darts: User-friendly modern machine learning for time series in Python.

- Elm: Parallel machine learning on xarray data structures

- sklearn-xarray (1): Combines scikit-learn and xarray (1).

- sklearn-xarray (2): Combines scikit-learn and xarray (2).

## Other domains

- ptsa: EEG Time Series Analysis

- pycalphad: Computational Thermodynamics in Python

- pyomeca: Python framework for biomechanical analysis

## Extend xarray capabilities

- Collocate: Collocate xarray trajectories in arbitrary physical dimensions

- eofs: EOF analysis in Python.

- hypothesis-gufunc: Extension to hypothesis. Makes it easy to write unit tests with xarray objects as input.

- nxarray: NeXus input/output capability for xarray.

- xarray-compare: xarray extension for data comparison.

- xarray-dataclasses: xarray extension for typed DataArray and Dataset creation.

- xarray_extras: Advanced algorithms for xarray objects (e.g. integrations/interpolations).

- xpublish: Publish Xarray Datasets via a Zarr compatible REST API.

- xrft: Fourier transforms for xarray data.

- xr-scipy: A lightweight scipy wrapper for xarray.

- X-regression: Multiple linear regression from Statsmodels library coupled with Xarray library.

- xskillscore: Metrics for verifying forecasts.

- xyzpy: Easily generate high dimensional data, including parallelization.

## Visualization

- datashader, geoviews, holoviews, : visualization packages for large data.

- hvplot : A high-level plotting API for the PyData ecosystem built on HoloViews.

- psyplot: Interactive data visualization with python.

- xarray-leaflet: An xarray extension for tiled map plotting based on ipyleaflet.

- xtrude: An xarray extension for 3D terrain visualization based on pydeck.

## Non-Python projects

- xframe: C++ data structures inspired by xarray.

- AxisArrays and NamedArrays: similar data structures for Julia.

More projects can be found at the “xarray” Github topic.