An open dataset of dynamic AlphaEarth embeddings for the 671 CAMELS-US basins
Foundation models for the Earth have started landing as open assets. AlphaEarth Foundations, from Google DeepMind, ships a 64-dimensional per-pixel embedding of the planet at roughly 10-metre resolution, refreshed annually since 2017. It's the kind of asset that quietly rewrites what counts as a "basin attribute" in hydrology.
A recent arXiv preprint showed something striking: take the mean AlphaEarth vector inside each CAMELS-US basin polygon (one 64-vector per basin), feed it to a standard CAMELS-LSTM as a static catchment attribute, and you outperform Addor et al.'s 2017 hand-crafted attributes — NSE 0.61 vs 0.55 — using literally no other change. The paper reported numbers but didn't publish the embeddings, and they used the time-averaged static mean. That's a tiny seam to slip through, and it's what this post is about.
What we made
We extracted the per-basin AlphaEarth mean for every CAMELS-US basin (671 catchments) and every year 2017–2025, and packaged the result as an open dataset on Zenodo with a permanent DOI and a small Python tool. The tensor shape is (671, 9, 64) — 671 basins × 9 years × 64 dimensions. So instead of one static vector per basin, you get a yearly stack you can use as a dynamic LSTM input. Land-use change, vegetation phenology, slow climate signals — they're all in there, and the time-average smears them away.
Using it
The companion Python package, alphacamels, gives you three functions:
from alphacamels import get_basin_mean, get_basin_static_mean, get_basin_embedding_grid
# (9, 64) xarray DataArray, loaded from disk -- no network call.
yearly = get_basin_mean("06614800")
# (64,) -- the Qu-et-al.-style static input.
static = get_basin_static_mean("06614800")
# (year, band, y, x) -- the full polygon-clipped pixel grid,
# pulled on demand from the public GeoZarr mosaic.
spatial = get_basin_embedding_grid("06614800", years=[2020])
The get_basin_embedding_grid piece is the part I want to highlight. The full per-basin pixel grid for all 671 CAMELS basins would be far too large to publish. So we publish the basin means and ship a tool that pulls the spatial grid for the basins you actually need. A small thing, but it changes who can use this.
How we know it's right
The reconstruction from the public mosaic is non-trivial: it's int8-quantized with a square-law dequantization, the chunks are sharded zarr v3, the mosaic is in EPSG:4326 (so cos-latitude weighting matters for the spatial mean), and the polygon mask has to be center-based to match Earth Engine's reduceRegion semantics. We validated end-to-end against Earth Engine on the median CAMELS basin: cosine similarity 0.99999996, max per-band absolute difference 2.3 × 10⁻⁵ on values of magnitude ~0.1. We also confirmed bit-identical outputs across two different machines. Everything checked.
Where to grab it
- Dataset (with DOI): 10.5281/zenodo.20763674
- Code & tool: github.com/rehsani/alphacamels
- Preprint: arXiv (link coming once it clears moderation)
If you build something with this, send me a note via the contact link in the header. I'd love to see where it ends up.