Every dataset on one grid. Read only what you need.
Reanalyses, climate model output, campaign data and satellite products, remapped once onto the same equal-area HEALPix grid and served as multi-resolution Zarr pyramids over S3. Nothing to download and nothing to regrid. Explore at a coarse level, analyse at a fine one, and compare datasets cell by cell.
On the hub
Section titled “On the hub”Collections published so far. The Data Browser searches them by variable, level and frequency and gives you the store URL.
- CMIP6Coupled Model Intercomparison Project Phase 6
s3://cmip6/healpix/ - CORDEXCoordinated Regional Climate Downscaling Experiment
s3://cordex/healpix/ - DYAMONDGlobal storm-resolving intercomparison
s3://dyamond/healpix/ - EERIEEddy-Rich Earth System Models
s3://eerie/healpix/ - ICDCIntegrated Climate Data Center
s3://icdc/healpix/ - ICON-DREAMDWD ICON Reanalysis
s3://icon-dream/healpix/ - nextGEMSnext Generation Earth Modelling Systems
s3://nextgems/healpix/ - ObservationsVarious observational datasets, grid and swath products
s3://obs/healpix/ - PalModPaleoclimate Modelling initiative
s3://palmod/healpix/ - ReanalysisReanalysis data for Ocean and Atmosphere
s3://reanalysis/healpix/ - XSpiescoming soonkm scale flagship ICON simulations
s3://xspies/healpix/
Compare datasets cell by cell
Section titled “Compare datasets cell by cell”Two stores on the same grid line up cell for cell, so a model bias against ERA5 is a subtraction. Every dataset is written at a range of levels and frequencies: develop against a coarse monthly store, then change two parts of the URL.
reanalysisproject/healpixgrid/era5dataset/P1Mfrequency/level_5.zarrlevelFor high levels and small regions, read the tips on chunking and selection first.
import xarray as xr
S3 = {"anon": True, "endpoint_url": "https://s3.waterpark.dkrz.de"}
era5 = xr.open_zarr( "s3://reanalysis/healpix/era5/P1M/level_5.zarr", storage_options=S3, chunks=None)model = xr.open_zarr( "s3://nextgems/healpix/ngc4008/P1D/level_5.zarr", storage_options=S3, chunks=None)
bias = ( model["tas"].sel(time="2021").mean("time") - era5["tas"].sel(time="2021").mean("time"))
What you can count on
Section titled “What you can count on”- No regridding
- Everything is HEALPix, nested, on one sphere.
- Equal-area cells
- A global mean is
field.mean(“cell”), with nocos(lat)weights. - Only the bytes you ask for
- Zarr chunks over HTTP, fetched as you select.
- A pyramid in space and time
- Coarse and monthly, or fine and hourly.
- No mounted filesystem
- The same URL from a laptop, Levante or a batch job.
Each source grid is remapped once, conservatively, with grid-doctor. Coarser levels come from coarsening that result, not from remapping again. The reasoning is in Why HEALPix?, Why Zarr and S3? and Remapping decisions.