CoWIN 6087 历史持久化 + 跑道曲线聚合 + 模型区间修复 + HKO 曲线对调 + 毛玻璃加载层
- weather_sources: CoWIN 1min 观测写入 official_intraday_observations_store - country_networks: cowin_obs 源从 DB 回读 1min 历史,不复用 VHHH METAR - analysis_service: 跑道实测 36h 历史按跑道分组,透传至前端 - scan_terminal_city_row: model_cluster_sources fallback 修复 + runway_plate_history - 前端: CoWIN 6087 升级为主轴实线,HKO 退为虚线,VHHH METAR 轻虚线 - 前端: Loading 升级为毛玻璃全卡蒙层
This commit is contained in:
@@ -114,7 +114,7 @@ def _build_terminal_row(
|
||||
"distribution_bias": scan.get("distribution_bias"),
|
||||
"distribution_preview": scan.get("distribution_preview") or row.get("distribution_preview") or [],
|
||||
"distribution_full": scan.get("distribution_full") or scan.get("distribution_preview") or row.get("distribution_preview") or [],
|
||||
"model_cluster_sources": daily_entry.get("models") if isinstance(daily_entry.get("models"), dict) else data.get("multi_model"),
|
||||
"model_cluster_sources": daily_entry.get("models") if isinstance(daily_entry.get("models"), dict) else data.get("multi_model", {}).get("forecasts"),
|
||||
"window_phase": row.get("window_phase") or scan.get("window_phase"),
|
||||
"window_score": row.get("window_score") if row.get("window_score") is not None else scan.get("window_score"),
|
||||
"signal_status": scan.get("signal_status"),
|
||||
@@ -129,6 +129,7 @@ def _build_terminal_row(
|
||||
"amos": data.get("amos") or None,
|
||||
"top_buckets": scan.get("top_buckets") or [],
|
||||
"all_buckets": scan.get("all_buckets") or [],
|
||||
"runway_plate_history": data.get("runway_plate_history") or {},
|
||||
}
|
||||
|
||||
|
||||
@@ -215,6 +216,7 @@ def _build_quick_row(
|
||||
"is_primary_signal": True,
|
||||
"accepting_orders": False,
|
||||
"row_id": row_id,
|
||||
"runway_plate_history": data.get("runway_plate_history") or {},
|
||||
}
|
||||
# Compute a simple edge: model top probability vs neutral
|
||||
best_model_prob = max(
|
||||
|
||||
Reference in New Issue
Block a user