Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

gaia-cli

gaia stages the data a hazard analysis needs for one event, an area of interest (AOI) and a time window, into a single cloud-friendly Zarr store.

gaia stage --config conus-precip -i basin.geojson -s 2025-12-01 -e 2025-12-20 -o skagit

Each data source has its own API, file format, grid, time convention and units. gaia handles those differences once, so every workflow can start from the same analysis-ready store and open it with xarray:

import xarray as xr

tree = xr.open_datatree("skagit/skagit.zarr", engine="zarr")
tree["rasters/prism"].precipitation

gaia-cli is new and changes often. The documentation describes the latest commit on main.

Design

Output

-o names an output folder, local or s3://:

skagit/
  skagit.zarr/   # the store, one group per dataset
  skagit.json    # STAC Item for the store
  stage.yaml     # the resolved stage file: rerun with `gaia stage --config skagit/stage.yaml`

Install

gaia-cli is not yet on PyPI. Run it from a clone with pixi:

git clone https://github.com/gaia-hazlab/gaia-cli
cd gaia-cli
pixi run gaia --help

To write to an S3-compatible object store, set AWS_PROFILE (or AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY), and the store’s endpoint in ~/.aws/config.