prop/lib/microwaveprop/propagation
Graham McIntire 11617e730b
Sync map progress chip to what's actually loadable
The "Updating propagation +Nh" chip was double-misleading in prod:
the label's +Nh was relative to the HRRR run time (which lags wall
clock by ~2h), and the progress broadcast fired before the hour was
fetched + persisted — so the chip could read "+8h" while the map
timeline only extended to +4h.

Reframe the label as "through now" / "through +Nh" / "through Nh ago"
by computing the offset from valid_time → now in PipelineStatus.
running_detail, so it matches the semantic the user reads off the
timeline. Move the PubSub broadcast in PropagationGridWorker to fire
after Propagation.replace_scores/2 succeeds, so the chip only
advances once that forecast hour is readable from ScoresFile.
2026-04-15 09:05:03 -05:00
..
band_config.ex Refresh propagation algo against expanded prod corpus (2026-04-13) 2026-04-13 10:59:01 -05:00
duct.ex Fix all remaining credo --strict issues (0 issues) 2026-04-12 10:26:53 -05:00
freshness_monitor.ex Add dialyzer specs and types across the codebase 2026-04-12 08:55:04 -05:00
grid.ex Add dialyzer specs and types across the codebase 2026-04-12 08:55:04 -05:00
inversion.ex Add dialyzer specs and types across the codebase 2026-04-12 08:55:04 -05:00
pipeline_status.ex Sync map progress chip to what's actually loadable 2026-04-15 09:05:03 -05:00
profiles_file.ex Persist weather grid for every forecast hour via ProfilesFile 2026-04-14 16:30:40 -05:00
rain_scatter.ex Add dialyzer specs and types across the codebase 2026-04-12 08:55:04 -05:00
recalibrator.ex Fix all 12 dialyzer warnings 2026-04-11 18:08:18 -05:00
region.ex Phase 7: Regionalized seasonal scoring 2026-04-10 08:39:01 -05:00
score_cache.ex Add more caching to make the map feel instant 2026-04-12 12:26:25 -05:00
scorer.ex Wire NEXRAD, native ducts, and commercial links into scoring 2026-04-13 12:08:15 -05:00
scores_file.ex Run PropagationGridWorker hourly, retain only the current chain's window 2026-04-14 15:26:58 -05:00