# PolyWeather TAF 信号说明(TAF_SIGNAL_ZH) 本文档说明 PolyWeather 当前如何把 `TAF`(机场终端预报)接入“今日日内分析”,以及这些信号在交易判断里到底代表什么。 本文档只描述**当前实现**,不夸大、不脑补。 --- ## 一、TAF 在项目中的定位 在 PolyWeather 里,`TAF` 不是主温度模型,也不是结算源。 它的定位是: 1. **机场侧确认层** - 用来补充说明机场在峰值窗口附近会不会出现云、雨、雷暴或风向切换。 2. **压温 / 扰动风险提示层** - 用来判断“机场最高温是否可能因为天气扰动被压低”。 3. **走势图时间轴联动层** - 用来在温度走势图上标出 `FM / TEMPO / BECMG / PROB30/40` 对应的时段。 它**不负责**: 1. 直接提供多模型最高温数值 2. 替代 `DEB` 3. 替代机场实况 `METAR` 4. 替代官方结算源 --- ## 二、后端当前怎么解析 TAF 后端入口在: - [web/analysis_service.py](/E:/web/PolyWeather/web/analysis_service.py) 核心函数: - `_build_taf_signal(...)` 当前会解析这些时间片: 1. `BASE` 2. `FM` 3. `TEMPO` 4. `BECMG` 5. `PROB30` 6. `PROB40` 7. `PROB30 TEMPO` 8. `PROB40 TEMPO` 并且只聚焦于: - **峰值窗口前后** 当前窗口定义是: - `peak.first_h - 2h` - 到 - `peak.last_h + 1h` 也就是说,TAF 不是整段报文全量平铺,而是会优先关注**和今天高温兑现最相关的时段**。 --- ## 三、当前后端真正产出的核心字段 ### 1. `suppression_level` 表示机场端的**压温风险等级**。 当前逻辑来自: 1. 降水 / 雷暴关键词 - `TSRA` - `TS` - `VCTS` - `SHRA` - `SHSN` - `SHGS` - `RA` - `DZ` - `SN` 2. 低云底 - 只对 `BKN / OVC` 生效 - 如果最低云底 `<= 4000 ft` - 会把原本 `low` 的压温风险至少抬到 `medium` 注意: - 不是所有 `FEW / SCT / BKN / OVC` 都会直接把风险打到 `high` - 当前实现里,**低云主要是把风险从 `low` 抬到 `medium`** - 真正更容易触发 `high` 的,还是阵雨 / 雷暴类关键词 ### 2. `disruption_level` 表示峰值窗口附近的**扰动程度**。 当前逻辑: 1. 这些时间片会至少把扰动抬到 `medium` - `TEMPO` - `BECMG` - `PROB30` - `PROB40` - `PROB30 TEMPO` - `PROB40 TEMPO` 2. 这些情况会把扰动抬到 `high` - `PROB30 TEMPO` - `PROB40 TEMPO` - 或者该时段本身就出现强降水/雷暴类关键词 注意: - **`TEMPO` 本身不等于 `high`** - **`PROB40` 也不等于“确定发生”** --- ## 四、前端怎么展示 前端主要在: - [frontend/components/dashboard/FutureForecastModal.tsx](/E:/web/PolyWeather/frontend/components/dashboard/FutureForecastModal.tsx) - [frontend/lib/dashboard-utils.ts](/E:/web/PolyWeather/frontend/lib/dashboard-utils.ts) 当前会通过三种方式展示 TAF: ### 1. 图表时间轴标记 在日内温度走势图上,当前会显示: - `TAF 时段 / TAF Timing` tooltip 会显示该时段摘要,例如: - `基础时段 13:00-19:00 以稳定为主` - `明确切换 15:00-21:00 以稳定为主` - `临时波动 14:00-17:00 有云雨扰动` ### 2. 今日日内结构信号里的 `机场预报` 会显示类似: - `防压温` - `看云雨` - `暂稳` ### 3. 顶部摘要与交易动作 系统会把: 1. 近地面结构 2. 高空结构 3. `TAF` 4. `market_signal / edge_percent / bucket crowding` 合并成更贴近交易的提示,例如: - `偏暖侧` - `偏谨慎` - `先观察` --- ## 五、TAF 关键词当前在项目里的真实含义 | TAF 关键词 | 当前展示词 | 当前项目含义 | | :-- | :-- | :-- | | `BASE` | 基础时段 | 在第一个显式变化组出现前的默认背景天气段 | | `FM` | 明确切换 | 从某个明确时刻开始,机场预报进入一套新的天气阶段 | | `TEMPO` | 临时波动 | 一段短时、非整段主导的扰动窗口 | | `BECMG` | 逐步转变 | 天气在该窗口内逐步过渡,不是立刻硬切 | | `PROB30/40` | 30% / 40% 风险窗 | 有概率触发的扰动窗口,不等于确定发生 | 注意: - `FM` 不是由 `valid_match` 触发,它是按 `FMddhhmm` 独立解析出来的明确切换段 - `PROB40` 不是“确定性信号”,仍然只是概率窗口 --- ## 六、怎么理解“机场端压温风险偏高” 这句话的意思不是: - 城区一定更冷 - 一定会结算更低 真正意思是: **在机场这个结算相关站点上,峰值窗口附近更容易因为云、阵雨或雷暴,导致最终最高温冲不上去。** 对于很多按机场报文或机场相关站点结算的市场,这一点很关键。 一句话: - `TAF` 提示压温高 - 不代表一定下雨 - 但代表“机场高温可能被压低”的概率更值得防 --- ## 七、怎么和图表一起看 ### 情况 A:模型还偏热,但 TAF 给出压温高 这表示: 1. 数值模型仍给出较高高温 2. 但机场端预报提示云雨/雷暴会打断峰值兑现 这种情况下,更适合理解成: - **机场侧高温兑现有风险** - 追更高温区间要谨慎 ### 情况 B:TAF 没有新增压温,但总判断仍偏降温 这表示: 1. `TAF` 没有提供新的云雨压温利空 2. 但近地面窗口本身已经在走弱 比如: - 温度走弱 - 风场切换 - 气压回升 - 露点回落 所以: - `TAF 无压温` - **不等于** - `一定继续升温` 当前系统已经会在摘要里把这层关系解释清楚。 --- ## 八、当前实现边界 这套 `TAF` 逻辑当前是**交易导向的轻量解码**,不是完整航空专业解码器。 当前做得到: 1. 识别主要时间片 2. 找出峰值窗口附近的扰动 3. 识别云雨压温和风向切换 4. 联动图表时间轴 5. 联动交易动作 当前还没有做: 1. 对全部 TAF 语法做完整航空级严格解释 2. 对每个时段都做完整的逐字段人工预报学解释 3. 把 TAF 当成温度主预测模型 --- ## 九、产品口径总结 最重要的一句: **在 PolyWeather 里,TAF 是“机场侧扰动确认层”,不是主模型,也不是结算源。** 它最值钱的地方是: - 帮你判断峰值窗口附近,机场高温会不会被云雨、雷暴、低云或风向切换打断。 对交易来说,更适合把它理解成: - “机场这边有没有额外的压温风险” 而不是: - “TAF 直接告诉我今天结算温度是多少” --- _PolyWeather 文档中心_