diff --git a/lib/microwaveprop_web/live/path_live.ex b/lib/microwaveprop_web/live/path_live.ex index f03ca3a5..807d9296 100644 --- a/lib/microwaveprop_web/live/path_live.ex +++ b/lib/microwaveprop_web/live/path_live.ex @@ -347,17 +347,16 @@ defmodule MicrowavepropWeb.PathLive do # midpoint. Resolves thin trapping layers HRRR's 13 pressure levels # miss; feeds the 1.15× boost in Scorer.score_refractivity, gated on # Richardson so turbulent duct readings don't inflate the score. + # + # `:not_found` is the documented fallback when no native sample is + # within ±0.07° / ±1 h of the midpoint — the native profile table + # is sparsely populated (only points the per-QSO worker has + # touched). The empty-map fallback is correct behavior, not a + # failure, so we don't log it. native_duct = case Weather.nearest_native_duct_info(midlat, midlon, now) do - {:ok, info} -> - info - - {:error, reason} -> - Logger.warning( - "PathLive nearest_native_duct_info failed: midpoint=#{midlat},#{midlon} reason=#{inspect(reason)}" - ) - - %{best_duct_band_ghz: nil, bulk_richardson: nil} + {:ok, info} -> info + {:error, :not_found} -> %{best_duct_band_ghz: nil, bulk_richardson: nil} end # Build conditions and score