Refresh Busan snapshots and prefer populated nearby stations
This commit is contained in:
@@ -183,3 +183,6 @@
|
||||
{"city": "seoul", "timestamp": "2026-04-14T03:30:00.000Z", "date": "2026-04-14", "temp_symbol": "°C", "raw_mu": 23.3, "raw_sigma": 0.6666666666666673, "deb_prediction": 18.7, "ensemble": {"p10": 17.7, "median": 18.2, "p90": 19.3}, "multi_model": {"Open-Meteo": 16.3, "ECMWF": 22.3, "GFS": 14.7, "ICON": 21.0, "GEM": 21.8, "JMA": 16.3}, "max_so_far": 23.0, "observation": {"current_temp": 23.0, "humidity": null, "wind_speed_kt": 5.0, "visibility_mi": null, "local_hour": 12.966666666666667}, "peak_status": "before", "prob_snapshot": [{"v": 23, "p": 0.569}, {"v": 24, "p": 0.391}, {"v": 25, "p": 0.04}], "shadow_prob_snapshot": [{"v": 23, "p": 0.498}, {"v": 24, "p": 0.398}, {"v": 25, "p": 0.104}], "probability_engine": "legacy", "probability_mode": "emos_shadow", "calibration_version": "emos-20260402162744", "calibration_source": "artifacts\\probability_calibration\\default.json", "calibrated_mu": 23.3, "calibrated_sigma": 0.9000000000000009}
|
||||
{"city": "tokyo", "timestamp": "2026-04-14T03:30:00.000Z", "date": "2026-04-14", "temp_symbol": "°C", "raw_mu": 22.7, "raw_sigma": 1.3499999999999996, "deb_prediction": 22.3, "ensemble": {"p10": null, "median": null, "p90": null}, "multi_model": {"Open-Meteo": 20.6, "ECMWF": 22.9, "GFS": 22.7, "ICON": 21.7, "GEM": 23.3, "JMA": 20.6}, "max_so_far": 20.0, "observation": {"current_temp": 20.0, "humidity": null, "wind_speed_kt": 7.0, "visibility_mi": null, "local_hour": 12.966666666666667}, "peak_status": "before", "prob_snapshot": [{"v": 23, "p": 0.285}, {"v": 22, "p": 0.257}, {"v": 24, "p": 0.188}, {"v": 21, "p": 0.137}], "shadow_prob_snapshot": [{"v": 23, "p": 0.294}, {"v": 22, "p": 0.263}, {"v": 24, "p": 0.188}, {"v": 21, "p": 0.134}], "probability_engine": "legacy", "probability_mode": "emos_shadow", "calibration_version": "emos-20260402162744", "calibration_source": "artifacts\\probability_calibration\\default.json", "calibrated_mu": 22.7, "calibrated_sigma": 1.3014441113240975}
|
||||
{"city": "tokyo", "timestamp": "2026-04-14T03:30:00.000Z", "date": "2026-04-14", "temp_symbol": "°C", "raw_mu": 23.089999999999996, "raw_sigma": 1.2890624999999998, "deb_prediction": 22.3, "ensemble": {"p10": 21.8, "median": 24.0, "p90": 25.0}, "multi_model": {"Open-Meteo": 20.6, "ECMWF": 22.9, "GFS": 22.7, "ICON": 21.7, "GEM": 23.3, "JMA": 20.6}, "max_so_far": 20.0, "observation": {"current_temp": 20.0, "humidity": null, "wind_speed_kt": 7.0, "visibility_mi": null, "local_hour": 12.966666666666667}, "peak_status": "before", "prob_snapshot": [{"v": 23, "p": 0.303}, {"v": 24, "p": 0.24}, {"v": 22, "p": 0.216}, {"v": 25, "p": 0.107}], "shadow_prob_snapshot": [{"v": 23, "p": 0.313}, {"v": 24, "p": 0.244}, {"v": 22, "p": 0.218}, {"v": 25, "p": 0.103}], "probability_engine": "legacy", "probability_mode": "emos_shadow", "calibration_version": "emos-20260402162744", "calibration_source": "artifacts\\probability_calibration\\default.json", "calibrated_mu": 23.089999999999996, "calibrated_sigma": 1.2428312132581776}
|
||||
{"city": "busan", "timestamp": "2026-04-15T05:00:00.000Z", "date": "2026-04-15", "temp_symbol": "°C", "raw_mu": 22.3, "raw_sigma": 0.5699999999999995, "deb_prediction": 21.9, "ensemble": {"p10": null, "median": null, "p90": null}, "multi_model": {"Open-Meteo": 21.9}, "max_so_far": 22.0, "observation": {"current_temp": 21.0, "humidity": null, "wind_speed_kt": 11.0, "visibility_mi": null, "local_hour": 14.866666666666667}, "peak_status": "past", "prob_snapshot": [{"v": 22, "p": 0.606}, {"v": 23, "p": 0.375}, {"v": 24, "p": 0.019}], "shadow_prob_snapshot": [{"v": 22, "p": 0.602}, {"v": 23, "p": 0.377}, {"v": 24, "p": 0.021}], "probability_engine": "legacy", "probability_mode": "emos_shadow", "calibration_version": "emos-20260402162744", "calibration_source": "artifacts\\probability_calibration\\default.json", "calibrated_mu": 22.3, "calibrated_sigma": 0.5797635451114579}
|
||||
{"city": "busan", "timestamp": "2026-04-15T05:00:00.000Z", "date": "2026-04-15", "temp_symbol": "°C", "raw_mu": 23.4, "raw_sigma": 0.5699999999999995, "deb_prediction": 23.0, "ensemble": {"p10": null, "median": null, "p90": null}, "multi_model": {"Open-Meteo": 21.9, "ECMWF": 24.7, "GFS": 23.4, "ICON": 21.2, "GEM": 24.9, "JMA": 21.9}, "max_so_far": 22.0, "observation": {"current_temp": 21.0, "humidity": null, "wind_speed_kt": 11.0, "visibility_mi": null, "local_hour": 14.866666666666667}, "peak_status": "past", "prob_snapshot": [{"v": 23, "p": 0.513}, {"v": 24, "p": 0.404}, {"v": 22, "p": 0.057}, {"v": 25, "p": 0.027}], "shadow_prob_snapshot": [{"v": 23, "p": 0.518}, {"v": 24, "p": 0.405}, {"v": 22, "p": 0.053}, {"v": 25, "p": 0.024}], "probability_engine": "legacy", "probability_mode": "emos_shadow", "calibration_version": "emos-20260402162744", "calibration_source": "artifacts\\probability_calibration\\default.json", "calibrated_mu": 23.4, "calibrated_sigma": 0.5587884763366653}
|
||||
{"city": "busan", "timestamp": "2026-04-15T05:00:00.000Z", "date": "2026-04-15", "temp_symbol": "°C", "raw_mu": 23.939999999999998, "raw_sigma": 0.6621236111111106, "deb_prediction": 23.1, "ensemble": {"p10": 23.5, "median": 23.8, "p90": 24.3}, "multi_model": {"Open-Meteo": 21.9, "ECMWF": 24.7, "GFS": 24.0, "ICON": 21.2, "GEM": 24.9, "JMA": 21.9}, "max_so_far": 22.0, "observation": {"current_temp": 21.0, "humidity": null, "wind_speed_kt": 11.0, "visibility_mi": null, "local_hour": 14.866666666666667}, "peak_status": "past", "prob_snapshot": [{"v": 24, "p": 0.553}, {"v": 23, "p": 0.241}, {"v": 25, "p": 0.191}, {"v": 22, "p": 0.015}], "shadow_prob_snapshot": [{"v": 24, "p": 0.565}, {"v": 23, "p": 0.236}, {"v": 25, "p": 0.186}, {"v": 22, "p": 0.013}], "probability_engine": "legacy", "probability_mode": "emos_shadow", "calibration_version": "emos-20260402162744", "calibration_source": "artifacts\\probability_calibration\\default.json", "calibrated_mu": 23.939999999999998, "calibrated_sigma": 0.6441124755606287}
|
||||
|
||||
@@ -233,6 +233,18 @@ function hasMeaningfulDailyModelMap(
|
||||
);
|
||||
}
|
||||
|
||||
function pickPreferredNearbyStations(
|
||||
currentValue: CityDetail["official_nearby"] | CityDetail["mgm_nearby"],
|
||||
incomingValue: CityDetail["official_nearby"] | CityDetail["mgm_nearby"],
|
||||
) {
|
||||
const currentList = Array.isArray(currentValue) ? currentValue : [];
|
||||
const incomingList = Array.isArray(incomingValue) ? incomingValue : [];
|
||||
if (incomingList.length > 0) {
|
||||
return incomingList;
|
||||
}
|
||||
return currentList;
|
||||
}
|
||||
|
||||
function mergeCityDetail(
|
||||
current: CityDetail | undefined,
|
||||
incoming: CityDetail,
|
||||
@@ -264,8 +276,14 @@ function mergeCityDetail(
|
||||
}
|
||||
: current.multi_model_daily,
|
||||
forecast: current.forecast || incoming.forecast,
|
||||
official_nearby: current.official_nearby || incoming.official_nearby,
|
||||
mgm_nearby: current.mgm_nearby || incoming.mgm_nearby,
|
||||
official_nearby: pickPreferredNearbyStations(
|
||||
current.official_nearby,
|
||||
incoming.official_nearby,
|
||||
),
|
||||
mgm_nearby: pickPreferredNearbyStations(
|
||||
current.mgm_nearby,
|
||||
incoming.mgm_nearby,
|
||||
),
|
||||
network_lead_signal:
|
||||
current.network_lead_signal || incoming.network_lead_signal,
|
||||
airport_vs_network_delta:
|
||||
|
||||
Reference in New Issue
Block a user