A small utility for generating ND array pyramids using Xarray and Zarr.
Ndpyramid can be installed in three ways:
Using the conda package manager that comes with the Anaconda/Miniconda distribution:
conda install ndpyramid --channel conda-forge
Using the pip package manager:
python -m pip install ndpyramid
To install a development version from source:
git clone https://github.com/carbonplan/ndpyramid
cd ndpyramid
python -m pip install -e .
Depending on your use case you can specify optional dependencies on install.
python -m pip install "ndpyramid[xesmf]" # Install optional dependencies for regridding with ESMF
python -m pip install "ndpyramid[dask]" # Install optional dependencies for resampling with pyresample and Dask
python -m pip install "ndpyramid[complete]" # Install all optional dependencies
Ndpyramid provides a set of utilities for creating pyramids with standardized metadata.
The example below demonstrates the usage of the pyramid_coarsen
and pyramid_reproject
utilities. Check out the examples gallery
for more complete demonstrations.
import xarray as xr
import rioxarray
from ndpyramid import pyramid_coarsen, pyramid_reproject
# make a reprojected (EPSG:3857) pyramid
ds = ds.rio.write_crs('EPSG:4326')
pyramid = pyramid_reproject(ds, levels=2)
# write the pyramid to zarr
pyramid.to_zarr('./path/to/write')
See the docstrings and API documentation for more details about input parameters and options.
All the code in this repository is MIT-licensed, but we request that you please provide attribution if reusing any of our digital content (graphics, logo, articles, etc.).
CarbonPlan is a nonprofit organization that uses data and science for climate action. We aim to improve the transparency and scientific integrity of climate solutions with open data and tools. Find out more at carbonplan.org or get in touch by opening an issue or sending us an email.