-
Notifications
You must be signed in to change notification settings - Fork 0
Alerting Authority & NWWS OI
full-bars edited this page May 3, 2026
·
1 revision
SPCBot's primary mission is delivering severe weather information with the lowest possible latency. To achieve this, it utilizes a tiered hierarchy of data sources.
The National Weather Service Weather Wire Service Open Interface is a satellite-sourced XMPP push feed.
- Latency: Near-zero. Products often arrive in Discord before they appear on the NWS API or IEM.
-
Reliability: By connecting directly to
nwws-oi.weather.gov, the bot receives raw text products as they are issued. -
Usage: Primarily used for
TOR,SVR, andFFWwarnings, as well asSVSupdates andPNSdamage surveys.
The Iowa Environmental Mesonet (IEM) provides a robust real-time feed of NWS products via their iembot service.
- Latency: Low (1–5s).
- Fallback: Acts as the primary source for Mesoscale Discussions (MDs) and a redundant path for warnings if NWWS-OI is unreachable.
- Formatting: SPCBot leverages IEM's pre-parsed product text and autoplot maps for warnings.
Traditional polling via the NWS API (api.weather.gov) and spc.noaa.gov.
- Latency: Moderate (30–60s+).
- Role: Used for "Aggressive Checking" during Moderate/High risk days and for rehydrating state at startup.
- Persistence: ETag and Last-Modified headers are used to minimize bandwidth and detect updates efficiently.
SPCBot implements Circuit Breakers for all upstream HTTP endpoints.
- If an endpoint (e.g., SPC website) fails multiple times, the bot "opens the circuit," stopping requests for a cooldown period to prevent loop starvation.
- Graceful Degradation: If the SPC website is down, the bot will attempt to serve cached MD images or fall back to text-only summaries from IEM.
- Watchdog: A background loop monitors feed health and proactively alerts administrators if both NWWS and IEM paths are down.