Migrate from data.dynamical.org
data.dynamical.orgis going away — plan on August 31, 2026. In practice we will turn URLs off dataset by dataset over the following months rather than all at once, so nothing breaks the morning of September 1.- The replacement datasets are stored as Icechunk Zarr repositories.
- Only how they are opened needs to change. The Icechunk versions are identical in structure, naming, attributes, chunking/sharding, and content — drop-in replacements for the deprecated Zarrs.
Replace each hard-coded https://data.dynamical.org/.../latest.zarr
URL with one of the two supported ways to open a dataset. Dataset IDs replace
data.dynamical.org paths:
https://data.dynamical.org/noaa/gfs/forecast/latest.zarr becomes
noaa-gfs-forecast. Both need Icechunk 2, and both resolve the
current repository from our
STAC catalog, so your code
does not need to track storage locations or version changes.
dynamical-catalog
Option 1: open using dynamical-catalog, a thin STAC and Icechunk
wrapper that ensures minimum dependency versions.
Install dynamical-catalog>=0.8.0 on Python 3.12 or newer, and
pass the dataset ID from its catalog page.
import dynamical_catalog
ds = dynamical_catalog.open("noaa-gfs-forecast", chunks=None)
STAC and Icechunk
Option 2: load the STAC and open directly with Icechunk. Resolve the
icechunk-https asset from the dataset's STAC Collection
each time your application opens a repository. Do not copy and permanently
hard-code the asset URL. The example below uses pystac, but any
HTTP client can read the Collection.
import icechunk
import pystac
import xarray as xr
catalog = pystac.Catalog.from_file("https://stac.dynamical.org/catalog.json")
collection = catalog.get_child("noaa-gfs-forecast")
asset = collection.assets["icechunk-https"]
repo = icechunk.Repository.open(icechunk.http_storage(asset.href))
session = repo.readonly_session("main")
ds = xr.open_zarr(session.store, chunks=None)
Option 2 is not Python-specific. Icechunk publishes a
JavaScript/TypeScript client
(@earthmover/icechunk, paired with zarrita) and a
Rust crate
(icechunk), both of which open the same icechunk-https
asset over HTTPS.
Have an agent do it
Paste this into a coding agent running in your repository.
Help
If you have any questions or run into trouble migrating, we want to help. Email us at [email protected].