`Scorer.aurora_boost(score, kp, band_config)` is a terminal boost applied after `composite_score` in the same shape as the existing `commercial_link_boost`. It tracks the NOAA G-scale (Kp 5+ opens auroral E-region paths up to ~2500 km) and is freq-gated to ≤ 432 MHz — auroral propagation is observed almost exclusively on 50/144/222, occasionally on 432, and never at microwave. Boost magnitudes: * Kp < 4 (quiet) — pass-through * Kp 4 — +5 * Kp 5 (G1) — +15 * Kp 6 (G2) — +25 * Kp ≥ 7 (G3+) — +35, clamped to 100 Wired into `Propagation.score_grid_point/4` via the existing `hrrr_profile` map: callers populate `:kp_index` once per cycle so the per-grid-point band loop never queries the DB. The UI fallback path (`factors_from_profile/5`) sources Kp from `SpaceWeather.latest_kp/0` directly. Other call sites (GEFS forecast, path-compute, contact-show) can opt in by adding `:kp_index` to their profile map. Diagnostic factor `:kp_index` is stashed on VHF/low-UHF results so the operator-facing factor breakdown can show why a band scored above its quiet-conditions baseline. Microwave bands don't carry the diagnostic — they're never affected by the boost. Refactored `score_with_algorithm/7` to delegate band-level finalization to `finalize_band_result/5`, keeping the parent function under credo's cyclomatic-complexity limit. NOTE: this only affects the Elixir scoring path — the live grid served by `prop_grid_rs` (Rust) does its own scoring and does not yet honor Kp. Adding aurora to the Rust side is follow-up work. |
||
|---|---|---|
| .. | ||
| microwaveprop | ||
| microwaveprop_web | ||
| mix/tasks | ||
| microwaveprop.ex | ||
| microwaveprop_web.ex | ||