Source Clients
Each source has a namespace on the client — client.era5, client.hrrr,
client.noaa. These predate the unified
download() method and are kept so
existing scripts keep working.
Note
New code should use client.download(). These wrappers just translate their
arguments and call it. Everything they can do, it can do — usually with less
ceremony.
All of them accept the same keyword arguments as download(), so time_start,
time_end, show_progress, and local_crop work here too:
client.hrrr.download_region(
days=["2026-07-21"],
type="hourly_current",
region_ids=["TX"],
region_layer="states",
time_start="2026-07-21T06:00",
dest="./data",
)
Argument mapping
The wrappers use the older region_ids + region_layer pair; download() uses
region and iso:
Wrapper |
Unified equivalent |
|---|---|
|
|
|
|
|
|
ERA5
- class TeamOverbyeWeather.sources.era5.ERA5Client(client)[source]
Bases:
objectAccess ERA5 quarterly reanalysis datasets via
WeatherClient.era5.- Parameters:
client (WeatherClient)
- list_quarters(region='north_america')[source]
List available quarters like
["2026-Q3", "2026-Q2"], newest first.
- download(quarters, region='north_america', dest='.', **kwargs)[source]
Download ERA5 quarterly
.pwwfiles, one per quarter.
- download_region(quarters, *, region='north_america', region_ids=None, region_layer=None, bbox=None, dest='.', **kwargs)[source]
Download ERA5 quarters cropped to a region or bbox.
- Parameters:
region (str) – Which ERA5 dataset —
"north_america"or"texas".region_ids (list[str] | None) – State postal codes or ISO zone ids to crop to.
region_layer (str | None) –
"states"or"iso"(required with region_ids).bbox (tuple | None) –
(lat_max, lon_min, lat_min, lon_max).dest (str) – Destination directory.
**kwargs – Passed to
WeatherClient.download().
- Return type:
HRRR
- class TeamOverbyeWeather.sources.hrrr.HRRRClient(client)[source]
Bases:
objectAccess HRRR historical and forecast datasets via
WeatherClient.hrrr.HRRR history comes in four flavours; pass type to pick one:
type
date keys
contents
currentYYYY-MM-DDthis year, 15-minute steps
archiveYYYY-MMpast years, 15-minute steps
hourly_currentYYYY-MM-DDthis year, hourly steps
hourly_archiveYYYY-MMpast years, hourly steps
- Parameters:
client (WeatherClient)
- list_forecast_cycles()[source]
List available forecast cycles like
["2026-07-22T12Z"], newest first.
- download_history(months=None, dest='.', *, days=None, type=None, **kwargs)[source]
Download HRRR history files, one per date key.
- Parameters:
- Raises:
ValueError – If both or neither of months and days are given.
- Return type:
- download_forecast(cycles, dest='.', **kwargs)[source]
Download HRRR forecast files, one ZIP per cycle.
- download_region(*, months=None, days=None, cycles=None, type=None, region_ids=None, region_layer=None, bbox=None, dest='.', **kwargs)[source]
Download HRRR data cropped to a region or bbox.
CONUS-scale archive requests are cropped locally, since the server refuses them to protect its memory budget.
- Parameters:
type (str | None) – Explicit sub-type; inferred from the date argument when omitted.
region_ids (list[str] | None) – State postal codes or ISO zone ids.
region_layer (str | None) –
"states"or"iso".bbox (tuple | None) –
(lat_max, lon_min, lat_min, lon_max).dest (str) – Destination directory.
**kwargs – Passed to
WeatherClient.download()(time_start, …).
- Raises:
ValueError – If not exactly one of months/days/cycles is given.
- Return type:
- download_latest_forecast(dest='.', **kwargs)[source]
Download the most recent HRRR forecast cycle.
- Raises:
ValueError – If no forecast cycles are available.
- Parameters:
dest (str)
- Return type:
NOAA / GFS
- class TeamOverbyeWeather.sources.noaa.NOAAClient(client)[source]
Bases:
objectAccess NOAA/GFS forecast datasets via
WeatherClient.noaa.recentandarchiveare separate Drive folders, not a date split — a cycle in one will not appear in the other.- Parameters:
client (WeatherClient)
- download_forecast(cycles, dest='.', *, type='recent', **kwargs)[source]
Download NOAA/GFS forecast
.pwwfiles, one per cycle.
- download_region(cycles, *, type='recent', region_ids=None, region_layer=None, bbox=None, dest='.', **kwargs)[source]
Download NOAA/GFS cycles cropped to a region or bbox.
- Parameters:
type (str) –
"recent"or"archive".region_ids (list[str] | None) – State postal codes or ISO zone ids.
region_layer (str | None) –
"states"or"iso".bbox (tuple | None) –
(lat_max, lon_min, lat_min, lon_max).dest (str) – Destination directory.
**kwargs – Passed to
WeatherClient.download()(time_start, …).
- Return type:
- download_latest(dest='.', **kwargs)[source]
Download the most recent NOAA/GFS forecast cycle.
- Raises:
ValueError – If no forecast cycles are available.
- Parameters:
dest (str)
- Return type:
Extreme events
Unlike the others, this namespace is not a legacy wrapper — event browsing,
animations and coverage maps have no equivalent on download(). See
Extreme Temperature Events.
- class TeamOverbyeWeather.sources.extreme.ExtremeClient(client)[source]
Bases:
objectAccess curated extreme-weather events via
WeatherClient.extreme.62 historical events spanning 1899-2023, selected per ISO zone as the three hottest and three coldest on record, plus additional notable scenarios such as ERCOT’s February 2011 rolling outages. Each event has weather data and a matching animation.
Events are identified by a key that carries the date, title and zone:
2021-02-14_Winter_Storm_Uri_Texas
- Parameters:
client (WeatherClient)
- events(zone=None)[source]
List events, newest first.
- Parameters:
zone (str | None) – Restrict to one ISO zone; omit for every zone.
- Returns:
Dicts with
key,date,title,zoneandhas_video.- Raises:
ValueError – If zone is not a known zone.
- Return type:
- find(text)[source]
Search events by title, case-insensitively.
client.extreme.find("uri")finds Winter Storm Uri.
- download(keys, *, region_ids=None, region_layer=None, bbox=None, dest='.', **kwargs)[source]
Download event weather data as
.pww, one file per event.- Parameters:
keys – One event key or a list of them.
region_ids (list[str] | None) – State postal codes or ISO zone ids to crop to.
region_layer (str | None) –
"states"or"iso"(required with region_ids).bbox (tuple | None) –
(lat_max, lon_min, lat_min, lon_max).dest (str) – Destination directory.
**kwargs – Passed to
WeatherClient.download()(time_start, …).
- Return type:
- video(key, dest='.', show_progress=None)[source]
Download an event’s animation as
.mp4.- Raises:
WeatherAPIError – If the event has no animation.
- Parameters:
- Return type: