System health

The conditions model's external data feeds and the ingest pipeline — is the data flowing, and how fresh?

Conditions data sources

Every external feed the trail-conditions model depends on. A source can read “OK” yet have a fallback in effect — that degraded state (e.g. running on forecast rain because the radar is down) is flagged here instead of being buried in logs.

SourceStatusLast success FailsCadenceNotes
Open-Meteo hourly weather
Hourly temp/rain/wind/cloud history per peak — the model's required dynamic input. No fallback: if this is down, the conditions build returns a 502.
src/conditions/weather.py
Down — no fallback; model can't run 2h ago 529 per peak · 1 h cache fetch failed for (44.4326,-71.4171)
429 Client Error: Too Many Requests for url: https://api.open-meteo.com/v1/forecast?latitude=44.43259&longitude=-71.4171&hourly=temperature_2m%2Cdew_point_2m%2C
MRMS 1 km radar rain
Observed per-point radar+gauge precipitation. On any fetch failure the model silently falls back to the Open-Meteo forecast — the headline silent-degradation case.
src/conditions/radar.py
OK 2h ago hourly grids · disk-cached 355 hour(s), 0/278320 cells missing
GOES cloud / solar clearness
Observed per-cell cloud optical depth (GOES-East ABI, 2 km) → solar clearness, so a summit socked in cloud dries slower than the valley in sun. On any fetch failure the model silently falls back to the single-point Open-Meteo clearness — the cloud analogue of the MRMS case.
src/conditions/solar_obs.py
OK 2h ago hourly grids · disk-cached · daytime only 220 hour(s), 2484/172480 cells missing
USGS 3DEP elevation
~10 m (1 m lidar in the ADK) elevation for honest grade / aspect / flow. Falls back to the Open-Meteo ~90 m DEM, which smears steep terrain.
src/trails/dem.py
OK 1h ago static · per trail 3DEP, 256 points
SSURGO soil
Per-point hydrologic group + depth-to-bedrock. Unmapped or failed points fall back to a default HSG C / 1 m bedrock, which the mud layer reads as middling drainage.
src/trails/terrain.py
OK 1h ago static · per trail 18/18 mapped, 0 unmapped, 0 errored
Overpass / OSM trails
Trail geometry. No fallback: a peak whose Overpass query fails has no mapped trail and drops out of the grid.
src/trails/discover.py
OK 2h ago static · disk-cached near (44.2495,-71.2236)
Hourly precompute
The in-process job that recomputes + stores the grid and overview snapshots so common opens are instant. A stalled job means the served views age (live compute still backfills).
src/conditions/precompute.py
OK 30m ago hourly 0/181 peaks ok, 0 snapshots, 3 region grid(s)

Model build & cache

What's building right now, what's warm in cache, and how much the hourly precompute has preloaded. A peak page that seems to hang is almost always a live build on a cold cache — it shows here while it runs. (JSON: /api/status.)

Builds in progress (0)

No builds in progress.

Cache warmth

MRMS radar grids · disk
355
OSM trail discovery · disk
181
Terrain · in-process
238
Weather · in-process
0

Disk caches survive a restart — a cold MRMS pull (~2 weeks of hourly grids) is the slow part of a first build; once on disk that peak is fast. In-process caches are wiped on restart and on every --reload file save.

Disk caches

Every on-disk cache and its state: how much is stored, how old, and — for the static terrain/elevation caches — how many entries were built on a fallback input (3DEP→90 m DEM, SSURGO→default soil). A degraded entry is cached on a short TTL so the next precompute cycle rebuilds and upgrades it once the provider recovers; a stale entry is past its TTL and rebuilds on next access.

CacheStateEntriesSize NewestOldest DegradedStaleAction
OSM trail discovery
static geometry · a total Overpass failure raises and is never cached
OK 181 1.4 MB 2h 4h
Trail terrain · 3DEP + SSURGO
static · a 3DEP/SSURGO fallback build caches short-TTL and rebuilds next cycle
OK 238 2.7 MB 1h 4h 0
Grid elevation field · 3DEP
static · a 90 m-DEM fallback build caches short-TTL and rebuilds next cycle
OK 40 4.2 MB 2h 4h 0
Per-cell MRMS + GOES resample
derived · invalidated when the 14-day window rolls
OK 39 169.3 MB 2h 4h
Open-Meteo weather
hourly per peak
OK 50 2.9 MB 2h 4h 50
MRMS radar hours
raster · pruned >16 days · a failed hour is never cached (retried)
OK 355 430.1 MB 3h 4h
GOES cloud hours
raster · pruned >16 days · daytime only
OK 220 818.2 MB 3h 4h

Preloaded snapshots

KindPeaksNewest (UTC)Oldest (UTC)
conditions 11 2026-06-27 17:04 2026-06-27 16:42
grid 11 2026-06-27 17:04 2026-06-27 16:42
overview 11 2026-06-27 17:04 2026-06-27 16:42
region_grid 3 2026-06-27 20:43 2026-06-27 19:28

Ingest pipeline

Text-source classification — failures, off-topic items, queue depth.

Pending
0
Failed
0
Off-topic
279
Processed
524

Failed items (0)

No failures.

Off-topic by reason

ReasonCount
llm:Other208
filter:title-listicle23
filter:gear-list9
filter:how-to-basics8
filter:food5
filter:best-of5
filter:title-vs4
filter:commerce4
filter:quiz3
filter:app-tech3
filter:title-review2
filter:safety-tips1
filter:recipe1
filter:photo1
filter:opinion-philosophy1
filter:gear-review1