Path calculator conditions map was missing :latitude and :best_duct_band_ghz. Scorer read them with bracket-notation so the behaviour was defensively correct but we were leaving signal on the floor: - latitude: midpoint of src/dst so `score_season` picks up the right latitude-based seasonal shift for northern vs southern paths - best_duct_band_ghz: queried via new Weather.nearest_native_duct_ghz/3 at the midpoint so score_refractivity/4 applies the 1.15× boost when a native-resolution duct supports the target band Recalibrator.fit/1 was serialising ~10k per-contact HRRR lookups (5000 positives + 5000 negatives, one Weather.find_nearest_hrrr each). Parallelised both sides with Task.async_stream at 20 concurrency — well under the prod db pool of 30. Cuts a band recalibration from ~minutes of query round-trips to seconds. |
||
|---|---|---|
| .. | ||
| admin | ||
| beacon_live | ||
| contact_live | ||
| user_management_live | ||
| about_live.ex | ||
| algo_live.ex | ||
| contact_map_live.ex | ||
| import_live.ex | ||
| map_live.ex | ||
| path_live.ex | ||
| privacy_live.ex | ||
| rover_live.ex | ||
| status_live.ex | ||
| submit_live.ex | ||
| user_profile_live.ex | ||
| weather_map_live.ex | ||