prop/lib/microwaveprop/propagation
Graham McIntire d880201713 Cache propagation scores in ETS, broadcast across cluster
- Add ScoreCache GenServer with node-local ETS table keyed by
  {band, valid_time}, subscribed to "propagation:cache" PubSub topic so
  every pod stays in sync with a single hourly compute
- scores_at/3 checks cache first, falls back to DB and populates on miss
- PropagationGridWorker warms and broadcasts the cache for each band
  after every forecast hour upsert; prunes >2h old entries
- Replace per-pixel string-keyed Map with flat Int8Array over the CONUS
  grid in propagation_map_hook.ts to eliminate allocations in the tile
  rasterization hot loop (interpolateScore / propagationReach)
2026-04-12 12:11:26 -05:00
..
band_config.ex Improve light mode contrast for score colors and map controls 2026-04-11 14:55:21 -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
grid_score.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
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 Cache propagation scores in ETS, broadcast across cluster 2026-04-12 12:11:26 -05:00
scorer.ex Fix credo warnings: struct specs, length/1, and test patterns 2026-04-12 10:26:53 -05:00
scorer_diff.ex Phase 9.3, 9.4, and Phase 3 NEXRAD pipeline 2026-04-10 12:48:36 -05:00