From aa6ed309877d47f11d3e28110b51df805ec0a095 Mon Sep 17 00:00:00 2001 From: "2569718930@qq.com" <2569718930@qq.com> Date: Wed, 15 Apr 2026 15:14:14 +0800 Subject: [PATCH] Add Guangzhou city support and prewarm defaults --- .env.example | 2 +- config/config.yaml | 5 +++++ src/data_collection/city_registry.py | 20 ++++++++++++++++++++ src/data_collection/country_networks.py | 1 + src/data_collection/weather_sources.py | 1 + src/utils/prewarm_dashboard.py | 1 + web/routes.py | 1 + 7 files changed, 30 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 4688132d..ff3fa9a8 100644 --- a/.env.example +++ b/.env.example @@ -109,7 +109,7 @@ GROQ_API_KEY= POLYWEATHER_GROQ_COMMENTARY_MODEL=openai/gpt-oss-20b POLYWEATHER_GROQ_COMMENTARY_TIMEOUT_SEC=8 POLYWEATHER_GROQ_COMMENTARY_CACHE_TTL_SEC=1800 -POLYWEATHER_PREWARM_CITIES=ankara,istanbul,shanghai,beijing,shenzhen,wuhan,chengdu,chongqing,hong kong,taipei,singapore,tokyo,seoul,busan,london,paris,madrid +POLYWEATHER_PREWARM_CITIES=ankara,istanbul,shanghai,beijing,shenzhen,guangzhou,wuhan,chengdu,chongqing,hong kong,taipei,singapore,tokyo,seoul,busan,london,paris,madrid # Weekly reward / leaderboard POLYWEATHER_WEEKLY_REWARD_ENABLED=true diff --git a/config/config.yaml b/config/config.yaml index 09ef9015..5d04c2c4 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -81,6 +81,11 @@ cities: country: China latitude: 22.6393 longitude: 113.8107 +- id: guangzhou + city: Guangzhou + country: China + latitude: 23.3924 + longitude: 113.2988 - id: beijing city: Beijing country: China diff --git a/src/data_collection/city_registry.py b/src/data_collection/city_registry.py index 32514080..5dff285b 100644 --- a/src/data_collection/city_registry.py +++ b/src/data_collection/city_registry.py @@ -637,6 +637,24 @@ CITY_REGISTRY = { "distance_km": 32.0, "warning": "市场现按 Wunderground 深圳宝安国际机场站整度°C口径结算;以历史页当日最终完成后的最高整度摄氏值为准。", }, + "guangzhou": { + "name": "Guangzhou", + "lat": 23.3924, + "lon": 113.2988, + "icao": "ZGGG", + "settlement_source": "wunderground", + "settlement_station_code": "ZGGG", + "settlement_station_label": "Guangzhou Baiyun International Airport Station", + "settlement_url": "https://www.wunderground.com/history/daily/cn/guangzhou/ZGGG", + "tz_offset": 28800, + "use_fahrenheit": False, + "is_major": True, + "risk_level": "medium", + "risk_emoji": "🟡", + "airport_name": "广州白云国际机场", + "distance_km": 28.0, + "warning": "市场现按 Wunderground 广州白云国际机场站整度°C口径结算;珠三角海陆风与午后对流会让峰值兑现时间出现摇摆。", + }, "beijing": { "name": "Beijing", "lat": 40.0801, @@ -828,11 +846,13 @@ ALIASES = { "ctu": "chengdu", "cd": "chengdu", "ckg": "chongqing", "cq": "chongqing", "szx": "shenzhen", "sz": "shenzhen", + "can": "guangzhou", "gz": "guangzhou", "zggg": "guangzhou", "pek": "beijing", "bjs": "beijing", "bj": "beijing", "wuh": "wuhan", "wh": "wuhan", "成都": "chengdu", "重庆": "chongqing", "深圳": "shenzhen", + "广州": "guangzhou", "北京": "beijing", "武汉": "wuhan", } diff --git a/src/data_collection/country_networks.py b/src/data_collection/country_networks.py index 5200322e..8a61416e 100644 --- a/src/data_collection/country_networks.py +++ b/src/data_collection/country_networks.py @@ -10,6 +10,7 @@ CHINA_CMA_CITIES = { "beijing", "chengdu", "chongqing", + "guangzhou", "shanghai", "shenzhen", "wuhan", diff --git a/src/data_collection/weather_sources.py b/src/data_collection/weather_sources.py index 8a498e20..0a03886e 100644 --- a/src/data_collection/weather_sources.py +++ b/src/data_collection/weather_sources.py @@ -53,6 +53,7 @@ class WeatherDataCollector(OpenMeteoCacheMixin, SettlementSourceMixin, MetarSour "taipei": ["RCSS", "RCTP"], "chengdu": ["ZUUU", "ZUTF"], "chongqing": ["ZUCK", "ZUPS"], + "guangzhou": ["ZGGG", "ZGSZ"], "shenzhen": ["ZGSZ", "ZGGG"], "beijing": ["ZBAA", "ZBAD"], "wuhan": ["ZHHH", "ZHES"], diff --git a/src/utils/prewarm_dashboard.py b/src/utils/prewarm_dashboard.py index f023ee79..27f92944 100644 --- a/src/utils/prewarm_dashboard.py +++ b/src/utils/prewarm_dashboard.py @@ -20,6 +20,7 @@ DEFAULT_CITIES = [ "shanghai", "beijing", "shenzhen", + "guangzhou", "wuhan", "chengdu", "chongqing", diff --git a/web/routes.py b/web/routes.py index 2e71db8d..62660c7b 100644 --- a/web/routes.py +++ b/web/routes.py @@ -76,6 +76,7 @@ DEFAULT_PREWARM_CITIES = [ "shanghai", "beijing", "shenzhen", + "guangzhou", "wuhan", "chengdu", "chongqing",