Precip v4 nowcast archive

Every real-time run of Precip's precip-rate-v4 5-minute precipitation nowcast over CONUS, published 24 hours after initialization for independent evaluation.

Data is available from 2026-09-27 13:55 UTC (the first real-time run) up to 24 hours before now.

Read it in Python

pip install -U icechunk "xarray>=2025.6" matplotlib
import icechunk, xarray as xr

repo = icechunk.Repository.open(icechunk.http_storage("https://api.precip.ai/icechunk/precip-rate-v4/5min"))
ds = xr.open_zarr(repo.readonly_session("main").store, group="mrms_native", consolidated=False)
rate = ds.precipitation_rate   # mm/h, dims (init_time, lead_time, latitude, longitude)

Reads are lazy and fetch only the 128×128-pixel chunks you touch. No account or credentials are needed. Older xarray releases (2025.4 and earlier) fail on current zarr with AttributeError: 'UInt16' object has no attribute 'value'; upgrade xarray to fix it.

Example: 15-minute rain loop

The first 3 leads (0, 5 and 10 min) of the 2026-09-30 18:00 UTC run over a 256×256-pixel box in Nebraska and Kansas.

import matplotlib.pyplot as plt
from PIL import Image

box = rate.sel(init_time="2026-09-30T18:00", latitude=slice(40.92, 38.36), longitude=slice(-99.28, -96.72))
frames = box[:3].fillna(0).values   # 3 leads x 5 min = 15 min, 256 x 256 px
imgs = [Image.fromarray(plt.cm.turbo(f / 30, bytes=True)) for f in frames]
imgs[0].save("rain.gif", save_all=True, append_images=imgs[1:], duration=400, loop=0)
Three 5-minute frames of forecast rain over Nebraska and Kansas

Example: forecast at a rain gauge

The 2026-10-01 02:00 UTC run at USCRN station Lincoln 11 SW, Nebraska, which recorded 42 mm of rain between 03:00 and 04:00 UTC.

run = rate.sel(init_time="2026-10-01T02:00").sel(latitude=40.6954, longitude=-96.8541, method="nearest")
run.plot(x="valid_time", marker="o")
plt.title("USCRN Lincoln 11 SW, run 2026-10-01 02:00 UTC")
plt.savefig("lincoln.png")
Forecast precipitation rate at Lincoln 11 SW for each 5-minute lead

Dataset

URLhttps://api.precip.ai/icechunk/precip-rate-v4/5min (Icechunk repo, branch main, group mrms_native)
Variableprecipitation_rate: liquid-water-equivalent rate in mm/h, the probability-matched mean of a 4-member ensemble. Stored as uint16 × 0.01; xarray decodes it, and missing values become NaN.
GridNative MRMS 0.01° lat/lon (EPSG:4326), 3500 × 7000. Cell centers run 54.995°N–20.005°N and 129.995°W–60.005°W.
RunsEvery 5 minutes from 2026-09-27 13:55 UTC. Only runs produced in real time are included; gaps in init_time are operational outages.
Leads24 leads at 5-minute steps, 0–115 min. valid_time = init_time + lead_time.
InputsThe newest radar frame is at init_time − 5 min, so lead 0 is already a forecast.
DelayA run appears once its init_time is at least 24 hours old. The archive is append-only, with one Icechunk snapshot per run.
FormatIcechunk 2 / Zarr v3 with CF-1.11 metadata. Readable with icechunk ≥ 2.0 and any Zarr v3 client.

Reproducibility

Pin your analysis to an exact archive state with the snapshot id you read:

session = repo.readonly_session("main"); print(session.snapshot_id)
# later: repo.readonly_session(snapshot_id="...")

Terms of use

Free for non-commercial scientific research, publication, and forecast verification or benchmarking, with attribution to Precip (precip.ai). Commercial or operational use, and redistribution as a data product, require written permission from Precip.