首尔/釜山机场报文优先使用 AMOS(更新更快)

- analysis_service.py:AMOS 数据覆盖 airport_current 的 raw_metar、wind、pressure
- source_label 设为 "AMOS"(区别于 aviationweather.gov METAR)
- stale_for_today 强制 false(AMOS 数据本身证明了时效性)
- observation_time 优先使用 AMOS 时间戳
- AI 读取的 city_snapshot.current.raw_metar 来自 AMOS 跑道传感器

优先级:AMOS raw_metar > aviationweather.gov METAR(首尔/釜山)

Reason: AMOS 直连韩国机场系统,延迟更低,更新更快
This commit is contained in:
2569718930@qq.com
2026-05-10 18:18:40 +08:00
parent 04b2f0e4a3
commit ba352feb34
+8 -4
View File
@@ -1819,6 +1819,10 @@ def _analyze(
)
except Exception:
obs_time_str = str(obs_t)[:16]
if not obs_time_str and current_source == "amos":
amos_obs_time = amos_data.get("observation_time")
if amos_obs_time:
obs_time_str = _format_observation_time_local(amos_obs_time, int(utc_offset or 0))
if not obs_time_str and current_source == "nmc":
nmc_fallback = _fetch_nmc_current_fallback(city, use_fahrenheit=is_f)
obs_time_str = _format_observation_time_local(
@@ -2458,15 +2462,15 @@ def _analyze(
"report_time": metar.get("report_time") if metar else None,
"receipt_time": metar.get("receipt_time") if metar else None,
"obs_time_epoch": metar.get("obs_time_epoch") if metar else None,
"wind_speed_kt": _sf(live_mc.get("wind_speed_kt")),
"wind_speed_kt": _sf(amos_data.get("wind_kt")) if current_source == "amos" else _sf(live_mc.get("wind_speed_kt")),
"wind_dir": _sf(live_mc.get("wind_dir")),
"humidity": _sf(live_mc.get("humidity")),
"cloud_desc": metar.get("cloud_desc") if metar else None,
"visibility_mi": _sf(live_mc.get("visibility_mi")),
"wx_desc": live_mc.get("wx_desc"),
"raw_metar": live_mc.get("raw_metar"),
"source_label": "METAR",
"stale_for_today": bool(metar) and not metar_current_is_today,
"raw_metar": amos_data.get("raw_metar") if current_source == "amos" else live_mc.get("raw_metar"),
"source_label": "AMOS" if current_source == "amos" else "METAR",
"stale_for_today": False if current_source == "amos" else (bool(metar) and not metar_current_is_today),
"last_observation_local_date": metar.get("observation_local_date") if metar else None,
"current_local_date": local_date_str,
},