机场天气的"广播系统":三种报文一次讲明白

一张总览 :机场天气的"广播系统"------观测 · 报现在 :METAR(每小时一条)、SPECI(突变即插播);预报 · 说未来:TAF(管未来 24/30 小时)。

上一篇我们用十行代码,把全中国 39 个机场的实时天气画上了地图。地图上的每个圆点背后,都是一条这种模样的电码:

yaml 复制代码
METAR ZUCK 221000Z VRB01MPS 5000 -RA BR FEW002 SCT006 OVC030 21/21 Q1016 NOSIG

这一篇不写代码。我们蹲到电码的身后去,看这套系统本身。

想象你守着一个机场的气象发布频道,看一整天:整点一到,例行天气报准时到来,一天二十四班按点发;两班之间天气突变,插播随时插进来;固定的几个时刻,还会送来一份未来一整天的预报"剧本";天气要是敢不按剧本走,新的剧本随时重写一份再发。

这就是机场气象的全部通知系统------METAR、SPECI、TAF 三种报文。语法骨架全球统一,这套骨架用了半个多世纪;每个整点都有上千条例行报在全球同时发出。这一篇把它们一次讲明白:谁发、何时发、怎么读。

一、先分清:观测与预报,对内与对外

三种报文的分工,先看一条主线:观测报"现在是什么",预报报"接下来会怎样"。METAR 和 SPECI 属于前者,是观测员和自动观测设备对当下天气的抄录;TAF 属于后者,是气象台对未来 9 到 30 小时的预判------为什么是个区间,第四节细说。

再补一层多数人不知道的结构------每种观测报其实都有"对内""对外"两个版本:

报告 发给谁 主要用途
本场例行报告 仅本场内部 进出港航空器;塔台循环播放的 ATIS 语音情报(自动终端情报服务)取自它
METAR 全世界 飞行计划、气象广播
本场特殊报告 仅本场内部 同例行------事件触发的突发版
SPECI 全世界 同 METAR:飞行计划、气象广播

你平时能免费拿到的,永远是对外版。对内对外有个小差别可以当冷知识记着:本场版多一个场面气压 QFE(跑道面上的气压),对外版给的是修正海压 QNH(统一换算到海平面,全球可比)------对外传播要的是可比性。

规矩由两家组织的三份文件分着管:国际民航组织(ICAO)的附件三管"发什么、何时发",世界气象组织(WMO)的 306 号电码手册管"长什么样"、49 号技术规则管观测与发布的细节------全是公开文件,谁都可以查。统一语法之下,各国还有自家编报细则(美国 FMH-1、中国 AP-117),也就是后面要出场的"方言字典"。

二、METAR:像钟表一样的例行报

METAR(Aviation Routine Weather Report,例行航空天气报告)是这套系统的钟摆。全球几千个机场,全天 24 小时,至少每小时一条,整点准时发布;有些区域协议改成每半小时一条。开头那条重庆江北(ZUCK)的报文,就是 22 日 10:00 的例行班------报文里的时间一律是世界时 UTC,北京时加 8,下文不再重复。逐组怎么拆,上一篇的 90 秒对照表讲过,这里不重播------没读过的读者记住一条就够:每个组各管一个要素,位置固定,全文到处都在用。本篇补三件上一篇没讲的:

它是给电传打字机时代设计的。 报文诞生在按字符计费的电报线路上:能省一个字符就省一个字符。所以它没有标点、全是缩写、每个组固定位置固定含义------21/21 不需要任何说明,在温度位置就是温度:斜杠前是气温、后是露点(空气凉到开始结水的温度,两个数越近,空气越湿;21/21 就是湿透了)。省字符的另一面是人读机读两用:人眼按位置认,程序按位置切,半个多世纪下来两边都没换过格式。

自动站也发报。 全自动观测设备发布的报文带 AUTO 标志,告诉你这条不是人工观测------读数时心里多留一分:它出自机器之手。

要素顺序就是读法。 风向风速、能见度、跑道视程(RVR,沿跑道能看多远------低能见度时它比气象能见度更关键)、现在天气、云、温度露点、气压------从左到右一路读下去就是标准的读报顺序,最后可以挂一段未来两小时的趋势(第五节揭底)。其中云那一组值得多看一眼:云量分四档------FEW 少量、SCT 疏云、BKN 成片、OVC 铺满------档位翻转正是第三节插播的触发条件之一,先把这四个词混个脸熟。

这条报文的读法:报头三组------METAR(类型)、ZUCK(站名)、221000Z(时刻);要素四组------VRB01MPS(风)、5000(能见度)、21/21(温度露点)、Q1016(气压)。固定位置,固定含义。

三、SPECI:天气不等整点

看这条真实报文,注意时间:

ruby 复制代码
SPECI KJFK 131714Z 36008KT 10SM -RA FEW006 BKN010 BKN023 BKN140 OVC250 23/21 A2988 RMK AO2 RAB13 P0000 T02280211 $

17:14------不在整点上。备注段(RMK,第七节细说)里的 RAB13 说明雨是 17:13 开始下的:这一条,雨开始一分钟后插播就发出去了 (10SM 是能见度 10 英里,美国报文用英里不用米;RMK 后面的 AO2、P0000 是美国自动站的记号------设备型号、小时降水量 0.0 英寸,第七节再看它;结尾那个孤零零的 $ 是维护指示符------自动站自检说该检修了,数据要留个心眼)。这就是 SPECI(Aviation Special Weather Report,特殊航空天气报告):例行报按钟点走,特殊报按事件走,天气什么时候达标,报文什么时候插进来。

时间轴 :17:00 例行 METAR 照常发布 → 17:13 开始下雨 → 17:14 SPECI 插播发出 → 18:00 例行照常。

达标标准是一张公开的清单,条目分两级:"应发"(标准里的强制条款,达到就必须发)和"宜发"(标准里的建议条款,各国可自行采用、调整阈值)。翻译成大白话:

变化 触发线(较最近一份报告) 级别
风向 转了 60° 以上,且变化前和/或后风速 ≥10KT(约 5 米/秒) 应发
风速 变化 ≥10KT 应发
天气现象 冻降水、中到大降水、雷暴的开始、停止或变强度 应发
低云 450 米以下云层的量级档翻转(SCT 疏云 ↔ BKN 多云 / OVC 阴天) 应发
能见度 穿越 800 / 1500 / 3000 米档 宜发

上一篇埋的伏笔在这里兑现:CB 是雷暴母体,而雷暴的开始、停止、变强度正是"应发"级的插播理由------CB 现身,常常伴随一场插播。表里那句"变化前和/或后"也别被绕晕:变化前后有一边风速达标,就算数。最后要交代的是这张表的出身:它节选自国际标准,各国的清单可以定得更宽------美国任何降水一开始就够发 SPECI,上面那条 KJFK 的小雨就是这么来的。

两个容易被忽略的点。其一,SPECI 和 METAR 的语法一模一样------同样的组、同样的顺序,区别只在发布时机。所以上面那条 KJFK,内容上你按 METAR 的读法读就行。其二,有个例外照顾班次密的站:已经每半小时发一次 METAR 的机场,可以不再对外发 SPECI(本场特殊报告照发)。这就是为什么有些机场的数据流里你永远见不到 SPECI------不是天气好,是班次密。

恶化和好转的待遇还不一样:代表天气恶化的 SPECI,观测完立即发出;代表好转的,标准做法是等变化持续 10 分钟再发。坏消息立即、好消息等十分钟------系统优先保证坏消息跑得快。

(抓数据时会撞上一个坑:上面这条按原始发布形态带着 SPECI 头;IEM 这类存档源会把开头的类型词剥掉,剩下的正文和 METAR 毫无差别------那时你主要靠"时刻不在整点"这类指纹反推它是插播。当然,这招只对整点发例行的机场灵,半小时制的站本来就不在整点发。)

四、TAF:未来 9--30 小时的剧本

TAF(Terminal Aerodrome Forecast,机场预报)是三种报文里唯一整份都在说未来的。把它当一份剧本来读,所有语法就都通了------剧本只有四种时间动作:

动作 电码 语义
整段重写 FM 到点翻页,此前一切作废
过渡变化 BECMG 窗口内某刻切换,此后新况接棒,没提到的要素沿用旧值
短暂波动 TEMPO 窗口内间歇发作,每次不到一小时,基况不变
备选剧本 PROB30/PROB40 三成/四成概率成立的备选情节

拿一条真实的上海浦东预报逐段过一遍:

yaml 复制代码
TAF ZSPD 182127Z 1900/1924 12004MPS 6000 BKN013 TX26/1906Z TN21/1920Z

BECMG 1916/1918 07004MPS PROB30 TEMPO 1904/1910 2500 SHRA BR BKN007 FEW030CB OVC040
段落 原文 人话
发布时刻 182127Z 18 日 21:27(世界时)发出------例行班点在 21 点,发出时刻滞后班点几十分钟属常态,仍是例行
有效期 1900/1924 管 19 日 00:00 到 24:00 整整一天------这是一份 24 小时有效期的预报
基况 12004MPS 6000 BKN013 东南偏东风 4 米/秒,能见度 6 公里,多云 1300 英尺
气温极值 TX26/1906Z TN21/1920Z 最高 26°(19 日 06 时)、最低 21°(19 日 20 时)
过渡 BECMG 1916/1918 07004MPS 19 日 16--18 时之间风向转东北偏东、风速不变量级------只列风,其他沿用
备选 PROB30 TEMPO 1904/1910 ... 三成概率:19 日 04--10 时间歇阵雨,2500 米、多云压到 700 英尺、带 CB

顺带一条读法规律:云组的末三位是云底高,按百英尺读------BKN013 就是 1300 英尺,BKN007 就是 700 英尺。

和 METAR 比着看,结构差异一目了然:多一节有效期组 (METAR 是即时的,不需要);没有温度露点和气压,只报 TX/TN 最高最低气温;没有备注段;结尾常带一个 = 作终止符(它为什么是个句号,第七节揭底)。

有效期有 24 小时和 30 小时两种,同一个机场用哪种,是随着民航局的部署一批批切过来的------中国一线大机场已经陆续切到 30 小时,这是个仍在推进的切换。国际标准还允许最短 6 小时的短预报(中国不发,中国最短 9 小时)。发多勤也跟着有效期走:短于 12 小时的预报每 3 小时一班、更长的每 6 小时一班------中国的 24/30 小时都在长报这一档。发长报的中国机场,例行班在世界时 03/09/15/21 点,换算成北京时是 11 点、17 点、23 点、凌晨 5 点,发出后 3 小时生效------你早上出门前查到的那份管全天的剧本,是凌晨 5 点写好的。

五、METAR 尾巴上的"迷你 TAF"

还记得第一条例文末尾的 NOSIG 吗?现在可以揭底了:METAR 和 SPECI 的尾巴上,可以挂一段趋势预报 ------未来两小时内的显著变化,语法和 TAF 的变化组是同一家族。NOSIG(No Significant Change)就是趋势预报里的"没戏可加,维持现状"。

再看一条带剧情的:

objectivec 复制代码
METAR OMDB 140927Z 30010KT CAVOK 40/20 Q1007 BECMG 30013KT

迪拜的观测:现在 300 度风(西北偏西)、风速 10KT------KT 是节,10 节合 5 米/秒左右;CAVOK 是一组顶三组的好天气简报:能见度、天气、云全部合格;40/20 是气温露点。然后 BECMG 30013KT:两小时内风向不变,风速渐增到 13 节。观测说的是现在,尾巴上捎了一句未来。

把三种报文放到同一条时间轴上,这套系统的设计就完整了:

观测每小时一格地记录现在,趋势预报把每格向前延伸两小时,TAF 把剧本铺到 9--30 小时外------过去有档可查,现在有报可读,未来有据可循。三种报文,接力覆盖整条时间轴。

六、报文也返工:COR、AMD、CNL、NIL

人和系统都会出错,天气更会------剧本再稳,也有跑偏的时候。四种修正词各有分工:

词 全称 语义 真实例文
COR Correction 发错了,改字重发(观测、预报两侧通用) TAF COR ZLLL 200315Z 2006/2106 16003MPS 6000 NSC BECMG 2010/2011 3000 FU BECMG 2102/2103 6000
AMD Amended 天气变了,预报重写 TAF AMD ZBSJ 042231Z 0500/0524 33004MPS 5000 BR NSC TX30/0506Z TN15/21Z
CNL Cancelled 这份预报整份作废------取消也算一次修订动作,所以例文头上还挂着 AMD TAF AMD ZBAD 030800Z 0306/0406 CNL=
NIL Nil 这个时段没有报 TAF ZSAM NIL=

两个语法彩蛋:NIL 站在有效期组 的位置上,CNL 站在风组 的位置上------连"没内容"都要按格式占座;作废的 CNL 甚至把有效期原样保留着(看上面那条例文)。对了,AMD 那条例文里的 TN15/21Z 少了日期,不是抄漏------那是中国预报的一种短形态"方言",第七节细说。而 TAF 的修订不走例行钟点,天气什么时候够得上修订标准,AMD 什么时候发------所以报文头的 AMD/COR 才是"返工过"的铁证,发布时刻只能当辅助线索。

七、进阶:报文里藏了什么

以上是标准语法。真实世界里流转的报文,还藏着不少标准里读不出来的东西------每一件都是解析器的坑,也是这套系统的年轮。

晴,有四种晴法。 SKC(美国人工观测,天全空)、NSC(没有够格上报的云------1500 米以下无云、也没有 CB/TCU(雷暴家族的积雨云和浓积云),更高处可能有)、NCD(自动站没探测到云)、CLR(美国自动站口径:只对 12000 英尺以下负责)------四个码都表示"没报云",语义互不等价。同一片天空,换个观测方式换个国家,报文就不一样。

斜线是语言,不是乱码。 看这条挪威站的实录:

ruby 复制代码
METAR ENSL 120850Z AUTO 18020KT //// NSC ///// Q//// W///S4

//// 能见度缺测、Q//// 气压缺测------斜线的个数 决定它替谁占座(两位是天气、三位是云高、四位是能见度);这条里 /////(五位)连温度露点也缺了,W///S4 则是海边站加报的海况组。云还有半缺的形态,比如 BKN///------有云,但高度测不到。缺测不等于"没这项"------是"这项测不到"。明说缺什么,本身就是信息。

RMK 是各国的外挂槽。 国际标准管到正文为止,RMK 往后是各国自加的备注段------多数国家的报文根本没有这一段。看 KJFK 那条的尾巴:正文报 23/21(整度),备注里 T02280211 是 22.8/21.1(T 后前四位气温、后四位露点,末位藏小数);第三节的 AO2、P0000 也停在这个槽里。这是设计出来的双轨:正文用粗精度换全球互操作,高精度细节塞进本国备注------改国际语法要走全球协调,外挂槽谁想加谁加。

单位跟组走,不跟报文走。 美国报文气压写 A3011(英寸汞柱,隐含小数点:30.11 inHg),世界其余地方写 Q1005(百帕);风速有 KT 有 MPS;跑道视程默认米、北美后缀 FT;能见度一边是 4 位千米制、一边是英里分数档。同一份报文里单位可以混着来,读每组前先看它的单位后缀。

方言与磨损。 真实数据里什么都有:美国把混分数能见度 1 1/4SM 写成带空格的一个组;抄录噪声能把气压抄成 Q10054(多一位);俄罗斯站的跑道状态组带自家后缀 CLRD62;中国机场的预报也偶尔发"方言"------有效期不带斜杠、气温组省日期的短形态。花样见得越多,标准的边界反而看得越清。

= 是句号。 报尾那个等号是电传线路的报文终止符。今天它还在,纯惯性------一个电报时代的技术细节,成了每条报文的落款。

八、自己读一条报文:三步心法

讲了这么多系统,收个实用的尾。拿到任何一条报文,三步走:

  1. 定身份:报头看类型词和修正词(TAF?AMD?COR?)、站名四字码、发布时刻;

  2. 定时间:一切时刻都是世界时,北京时加 8;预报先看有效期,再谈内容;

  3. 读要素:按固定顺序从左到右------风、能见度、跑道视程、天气现象、云、温度露点、气压------每个组先认位置再看单位。

标准文本全部公开:ICAO 附件三、WMO 306 电码手册、WMO 49 技术规则,网上都能找到;历史报文在 IEM(Iowa Environmental Mesonet)等存档机构免费躺着二十多年,上一篇取数讲过,不再展开。

最后把一条边界说清楚:这一篇教你读懂报文说了什么,不教你研判天气------报文是载体,预报的解读和使用是另一门课。

九、收尾

上一篇的地图圆点、这一篇的三种报文,中间差的只是一层翻译------把电码翻成人话,正是 metweave 在做的事。SPECI 怎么插进实况、TAF 的剧本怎么画成时间线,系列后面的应用篇逐个展开。

下一篇:METAR/SPECI 实况应用------看这套翻译机怎么把两种观测报变成界面上的卡片。系列路线在第一篇开头,我们篇篇见。


YaoJaro · 独立开发者,正在造 metweave------把公开气象数据编织成可嵌入产品的图。

系列会一直写下去,欢迎在掘金关注 @MetWeave。

相关推荐
xieter1 小时前
【技术精选】深入浅出现代前端渲染与性能优化实践指南 (2026-10-04)
前端·javascript
计算机魔术师1 小时前
Anthropic 密会宗教领袖谈 Claude 意识,OpenAI 为什么急眼
前端
xieter1 小时前
【硬核实战】TypeScript Compiler API: Preserving Child Node Narrowing in Reusable Type Guards 🔧 (2026-10-03)
前端·javascript
xieter1 小时前
【硬核实战】React 19 useFormStatus Returning False? I Built a SubmitButton That Fixes It (2026-10-03)
前端·javascript
Data analyse4563 小时前
Cookie过期引发UV上涨的复核方法
服务器·前端·数据分析·uv
Highcharts.js3 小时前
图表开发实战总结| 7 条“黄金法则”与“性能铁律”
前端·javascript·vue.js·编辑器·时序数据库·highcharts
Helix2503 小时前
Electron、WebView 框架与 HTA 对比:桌面应用选型、安全性与现代替代方案
前端·javascript·electron·webview·vbscript·hta·本地html应用
开开心心就好3 小时前
办公软件卸载不干净?专用工具一键清残留
java·前端·人工智能·智能手机·kafka·excel·memcache
静默回滚4 小时前
图片能显示,画进canvas却空白:像素面积上限
前端