- HrrrClient.hrrr_url accepts forecast_hour param (wrfsfcfHH.grib2) - PropagationGridWorker fetches all 19 forecast hours per run - Propagation.scores_at/3 queries scores at specific valid_time - Propagation.available_valid_times/1 returns all forecast times for timeline - Pruning keeps scores with valid_time >= now - 2h (forecast-aware) - MapLive: select_time event, timeline data pushed to JS - JS: forecast timeline bar at bottom of map with clickable hour buttons - PubSub broadcast sends list of valid_times instead of single time
5.3 KiB
GOES-R Satellite Data for Propagation Prediction
Summary
Verdict: Low priority. GOES-R data is already baked into HRRR, and the satellite cannot resolve the vertical gradients that cause ducting.
What is "GOES-R Rapid Refresh"?
There is no product called "GOES-R Rapid Refresh" or "GRR." These are two separate systems:
- GOES-R — geostationary satellite series (GOES-16, 17, 18, 19) with the Advanced Baseline Imager (ABI)
- HRRR — High-Resolution Rapid Refresh, a ground-based NWP model
They are complementary: NOAA assimilates GOES-R satellite observations (cloud-top data, satellite winds) into the HRRR model. By consuming HRRR output, we are already indirectly consuming GOES-R data — processed through full 3D physics.
Relevant GOES-R Products
| Product | Resolution | Cadence | Clear Sky Only? | Relevance |
|---|---|---|---|---|
| Derived Stability Indices (K-Index, LI, CAPE) | 10 km | 5 min | Yes | Moderate — but K-index inversely correlated with ducting per our analysis |
| Total Precipitable Water | 10 km | 5 min | Yes | Low — our analysis found PWAT is NOT a ducting discriminator |
| Vertical Temperature Profile | 10 km | 5 min | Yes | Very low — see critical caveat below |
| Vertical Moisture Profile | 10 km | 5 min | Yes | Same limitation as temperature |
| Land Surface Temperature | 2 km | 5 min | Yes | Minor — land-sea contrasts drive coastal ducting |
| Sea Surface Temperature | 2 km | hourly | Yes | Same — coastal ducting indicator |
| Rain Rate | 2 km | 5 min | No | Redundant — HRRR already provides precip |
| Derived Motion Winds | varies | 5 min | Partially | Redundant — HRRR already provides wind fields |
| Cloud Imagery (water vapor) | 2 km | 1-5 min | No | Visual supplement only — moisture plume tracking |
Critical Limitation: Cannot Resolve Ducting
The ABI is an imager with 16 spectral bands, not a hyperspectral sounder. Key problems:
-
The "vertical profiles" lean heavily on the NWP model first guess. The ABI lacks the spectral resolution to independently resolve temperature/moisture structure. The 54-level temperature profile sounds impressive, but with only 16 IR bands, the independent information content is very low. The retrieved profiles "retain features of the first guess" — meaning they're essentially a slightly nudged version of the same NWP model we're already using.
-
Ducting requires detecting gradients over 50-200m vertical scales. The ABI simply cannot resolve this. A 100m-thick temperature inversion looks identical to a smooth profile from the satellite's perspective.
-
Clear-sky only. All the useful derived products (TPW, stability indices, profiles) only work under cloud-free conditions. HRRR gives us data everywhere, always.
Comparison: What GOES-R Adds vs. What We Have
| What We Need | HRRR (current) | GOES-R (proposed) |
|---|---|---|
| Surface temp/dewpoint | 3 km, hourly, all-sky | 10 km, 5 min, clear-sky only |
| Vertical profiles | 8 pressure levels with T/Td/height, all-sky | 54 levels but low information content, clear-sky only |
| Refractivity gradient | Computed from HRRR profiles — our key ducting indicator | Cannot resolve the vertical structure needed |
| Boundary layer depth | HPBL from model physics | No direct product |
| Wind | 10m wind components, all-sky | Cloud-tracked winds at various levels |
| Precipitation | Model physics + radar assimilation | IR-only rain rate (less accurate) |
| Forecast capability | 18-48 hours ahead | None — observation only |
Where GOES-R Could Help (Minor)
Real-time nowcasting between HRRR cycles: HRRR updates hourly with ~60 min latency, meaning displayed data can be up to 2+ hours old. GOES-R's 5-minute cadence could fill the gap for:
- Cloud cover changes (water vapor imagery)
- Rapid destabilization (stability indices flagging convective onset)
- Land-sea temperature contrasts (coastal ducting indicator)
These would be supplementary monitoring products, not improvements to the core scoring algorithm.
Data Access
All GOES-R data is freely available on AWS S3 (no auth):
s3://noaa-goes19/(current GOES-East, operational since April 2025)s3://noaa-goes18/(current GOES-West)- Path:
ABI-L2-{PRODUCT}{REGION}/{YEAR}/{DOY}/{HOUR}/{filename}.nc - Format: NetCDF4
- Also available on Microsoft Planetary Computer (Azure)
Future: GeoXO Hyperspectral Sounder
The upcoming GeoXO satellite series (late 2020s/early 2030s) will carry a true hyperspectral IR sounder (GXS) with ~1,550 spectral bands. This would dramatically improve vertical temperature/moisture profiling from geostationary orbit and could genuinely detect inversion layers relevant to ducting. Worth revisiting when GeoXO data becomes available.
Recommendation
Don't integrate GOES-R now. The HRRR-based approach already consumes better data for ducting prediction than GOES-R can provide directly. The complexity cost (S3 polling, NetCDF parsing, spatial interpolation, handling clear-sky gaps) is not justified by the marginal benefit.
Priority order for improving predictions:
- HRRR forecast hours (f01-f18) — already designed in
prediction.md - Radiosonde data (already partially ingested — better vertical profiles than any satellite)
- GeoXO hyperspectral sounder (when available, late 2020s)
- GOES-R products (low value-add given HRRR already assimilates them)