Troubleshooting

“No file for … “ (HTTP 404)

WeatherAPIError: [HTTP 404] No file ID for era5_tx 2026-Q3

The date key does not exist for that source and type. Two usual causes:

The date is not in that collection. List first:

client.list("era5", "texas")     # []  -> nothing published for Texas yet
client.list("era5")              # ['2026-Q3', '2026-Q2', ...]

Wrong type. NOAA recent and archive are different folders, and HRRR has four separate history collections. A key present in one will 404 in another.

Empty list from list()

The collection genuinely has no files, or the catalog is stale. Force a rebuild:

client.catalog(refresh=True)
client.list("hrrr", "archive")

The server caches the catalog for 30 minutes; newly uploaded data may not appear until it refreshes.

Empty ISO zone list

client.region_ids("iso")    # []

ISO zones load from a shapefile on the server. If it is missing, or in a projected rather than geographic coordinate system, the server logs the problem and serves an empty list instead of crashing. States are unaffected. Report it — this needs a server-side fix.

“Server queue full, retrying…”

Server queue full, retrying in 5s (1/3)...

Normal. Downloads run behind a bounded queue so heavy requests cannot exhaust the server’s memory, and the client waits and retries automatically. If it gives up you get ServerBusyError; wait a minute and retry.

Reduce your load by requesting fewer dates at once, or by cropping to a smaller region so each request is cheaper.

“Server can’t crop … downloading in full”

Server can't crop hrrr_history_hourly_archive 2014-11 at this scale —
downloading in full and cropping locally.

Expected for large-area requests against HRRR monthly archives. The server refuses (HTTP 413) rather than run out of memory, and the client downloads the whole archive and crops on your machine. The result is identical; the transfer is much bigger.

To avoid it:

  • Ask for a smaller area (under 2380 square degrees)

  • Use current / hourly_current per-day files instead of a month

  • Pass keep_raw=True if you will crop the same month more than once

To turn it into an error instead:

client.download(..., local_crop=False)   # raises RegionTooLargeError

“No time steps in requested range”

ValueError: No time steps in requested range [2026-08-20T00:00Z, 2026-08-21T00:00Z];
file covers [2026-07-22T12:00Z, 2026-08-07T12:00Z]

Your window falls outside the file. The message reports what the file actually covers — pick a window inside it. Remember times are UTC.

Downloaded file will not open in PowerWorld

Check the extension matches the contents. ERA5 and NOAA files are bare .pww; HRRR forecast and 15-minute history files are .zip archives containing .pww files. If you renamed a .zip to .pww it will not open — unzip it first.

Every cropped download is a flat .pww regardless of source, so this only comes up with uncropped downloads.

Cropped file has fewer time steps than expected

A 15-minute HRRR day should have 96 steps. If you see 24, you are looking at a single quarter rather than the stitched day — the daily zip holds four six-hour .pww files. Both the server and localcrop.crop_file stitch them automatically; hand-written code that reads only the first member will silently lose three quarters of the day.

from TeamOverbyeWeather import pww_io
header, _, arr = pww_io.read_pww(open(path, "rb").read())
print(arr.shape[0], "steps every", header["sample_sec"], "s")   # 96 steps every 900 s

Wrong region in the output

Check the bounding box ordering. It is (lat_max, lon_min, lat_min, lon_max) — north, west, south, east — and western longitudes are negative. See Cropping to a Region.

Also remember that multiple states crop to their union rectangle, not to the state outlines.

AttributeError: 'WeatherClient' object has no attribute 'extreme'

You have a version older than 0.4.0. The error does not say so, and plain pip install TeamOverbyeWeather will not fix it — pip sees the requirement as already satisfied and leaves the old version in place. You need --upgrade:

pip install --upgrade TeamOverbyeWeather
import TeamOverbyeWeather
print(TeamOverbyeWeather.__version__)     # 0.4.0 or newer

In a notebook, restart the kernel afterwards — an already-imported module is not replaced by installing over it.

ImportError: No module named numpy

Version 0.3.0 added numpy as a dependency. Upgrade:

pip install --upgrade TeamOverbyeWeather

Connection timeouts

Large downloads can take several minutes. The client allows 15 minutes per transfer. If you are on a slow link, crop harder — the whole point of the region and time arguments is to move less data.

Status shows unknown for everything

Cosmetic. The pipeline health file is produced by the ingest machines and is not present on the hosted API. Data downloads are unaffected — check list() instead.

Still stuck

The two debug endpoints tell you what the server can actually see:

GET /api/debug/folders               which Drive folders are in use
GET /api/debug/folder?folder_id=...  raw filenames in a folder

Use them before guessing — a “no data” problem is almost always a folder permission or filename issue, and these show which.