两周是道墙:天气预报报不准,不怪气象台也不怪超算
- 作者:Bougie
- 创建于:2026-11-08
天气预报报不准,最常听到的解释是气象台偷懒,或者超算还不够快。这两样都不是主因。1961 年冬天,MIT 的一个气象学家为了省一点机时,把一串数少打了三位小数;一杯咖啡之后,机器里那两个月的「天气」就彻底变成了另一副样子。从那天起,「确定地说出某一天下不下雨」这件事,有了一道谁也砌不走、也推不开的墙。
# 那杯咖啡
爱德华·洛伦兹当时在 MIT 用一台 Royal McBee LGP-30 跑一套简化大气模型。那是台真空管机器,慢到每分钟才模拟出一天的虚拟天气,内存小得可怜。模型是十二个微分方程,描写温差驱动的对流;洛伦兹感兴趣的恰好是那种永不重复、又明显不是随机的解。
有天他想把某一段过程看得更细,懒得从头算,就停了机器,把上一次打印出来的一行数直接敲回去当初始条件,然后下楼去喝咖啡。问题就出在那张打印纸上:机器内存里存的是 0.506127,打印为了省纸只留三位,0.506。差 0.000127,万分之一,按当时的常识完全可以忽略。
约一小时后他回来,机器已经跑完了大约两个月的虚拟天气,打印出来的数和旧的那份完全不像。他第一反应是某个真空管坏了——这种事在当时很常见。检查之后机器一切正常。洛伦兹后来自己描述过那个过程:新值起初还重复旧值,随后在末位差一个单位、差几个单位,再往前一位、再往前一位,「差异大致每四天翻一倍,到第二个月里,和原来输出的相似之处全没了」。
不是程序错了,是那万分之一被方程本身放大了。这件事真正推翻的不是一次计算,是「小的原因只会带来小的结果」这条默认假设。方程是确定性的:给定同一个初值,天气必定一模一样地展开。可「同一个初值」在现实里永远拿不到——你量不到,存不下,也算不完。

# 我在自己机器上把它重跑了一遍
转述别人的故事没意思,我把洛伦兹 1963 年那三个方程写了一遍:σ=10、ρ=28、β=8/3,四阶龙格–库塔,步长 0.005。先跑二十个时间单位让轨迹落到吸引子上,把那一刻的状态当作那张「打印纸」,然后照他的做法,给 x 分量人为加 0.000127——正好是 0.506127 与 0.506 的差——另起一条轨迹。
得说清楚:这里的「时间」是模型自己的无量纲单位,不是天。
实测下来:
- 前五个时间单位,两条轨迹的三维距离一直没超过
0.02; - 第 7 个单位,距离
0.053; - 第 8 个单位,跳到
4.6; - 到第 7.75 个单位,距离越过
9.2——吸引子上随便两次状态的平均距离是18.45,一半就是9.2——两者已经和两次毫不相干的天气一样了。
一杯咖啡换两个月,在这里压缩成了不到八个单位。
再量它长得有多快。用 Benettin 重整化(每半个单位把扰动拉回 1e-8,累计对数增长)跑两百个单位,得到最大李雅普诺夫指数 λ≈0.93,也就是误差平均 0.75 个模型时间单位翻一倍。换一条独立路线交叉验证:把初值精度从 1e-2 一路提到 1e-12,看距离涨到 1 各要多久,回归给出 λ≈0.86。有限时间指数本来就会随起点和窗口飘,两条路线落在 0.86~0.93 就够了。
最值得看的其实是那条精度阶梯:
| 初值扰动 | 距离涨到 1 的时刻 |
|---|---|
1e-2 | 4.29 |
1e-4 | 7.53 |
1e-6 | 12.67 |
1e-8 | 20.30 |
1e-10 | 24.24 |
1e-12 | 30.16 |
初值精度提高了 一百亿倍,也只多买到 25.87 个时间单位;平均每提高一百倍只多约五个(ln100/λ≈4.97)。误差不是一点一点攒起来的,是按倍数翻上去的;于是能多报几天,只取决于你多量出了几位有效数字,而且是这层数字取过对数之后。写成一句话就是:
多买到的预报时间 ≈ log₂(精度提高的倍数) × 误差翻倍时间。
买机器、加卫星、把网格切细,买的都是「精度」;而精度进到式子里要过一道对数。这是整篇文章里我最想留下的一句。

# 误差不是从大处来,是往大处去
初值永远有误差。探测站稀疏,海洋和沙漠上空几乎没有探空,卫星测到的是辐射而不是温度本身,把连续的大气塞进网格必然要插值,计算机的浮点数也只有有限位。这些误差小到完全配得上「噪声」两个字。
混沌的要害不是噪声大,是噪声会从小的尺度往大的尺度爬。ECMWF 的说法很直白:误差先在中小尺度上生长,最终污染到天气尺度;模式对大气描述得越粗糙,这个传染越快。庞加莱 1902 年在《科学与假设》里已经写过这层意思,洛伦兹给了它一个能算的形式。
顺便把蝴蝶效应讲清楚。它从来不是「一只蝴蝶扇了翅膀,于是在得州引起一场龙卷风」的因果链。洛伦兹 1963 年发在《大气科学杂志》上的《决定性的非周期流》,说的是对初始条件的敏感依赖:两条几乎一样的起点会指数分开,系统确定,长期却不可预测。1972 年他把这件事写成一个问句式的演讲标题——巴西一只蝴蝶扇动翅膀,会不会在得州掀起一场龙卷风——诗意留下来了,因果被读反了。一个混沌系统里,「蝴蝶引发了飓风」是个关于因果的故事,真正发生的却是一件关于精度的事。
确定性不等于可预测。这两件事被混了六十多年。

# 两周那道墙
大气里误差到底多久翻一倍,有人一代一代量过:
- Charney 等 1966 年给约 5 天,Smagorinsky 1969 年给约 3 天;配上当时的初值误差,直接推出「约两周」的可预报上限。
- 洛伦兹 1969 年翻高空资料找「近邻」的相似天气,观测到的差异约八天翻倍、外推到小误差约 2.5 天;他在某个构型里算出有限可预报期 16.8 天,还写过一句很克制的话:把两周的目标延长到一个月「几乎没什么希望」。
- 洛伦兹 1982 年拿 ECMWF 一百天的分析和预报做相似对,小误差约 2 天翻倍,结论是「将近两周的、优于瞎猜的瞬时天气型预报似乎是可能的」。
- Simmons 与 Hollingsworth 2002 年复算,北半球冬季 500 hPa 位势高度的翻倍时间低到 1.5 天。
有意思的是越往后量出来越短。不是大气变坏了,是模式终于分辨得出更小的尺度,而尺度越小,误差长得越快。当年那个「四天」来自只有十二个变量的粗模型,它根本看不见后来模式里那些长得飞快的小尺度。
把翻倍时间代回上一节那条式子:按两天翻一倍,初值精度提高十倍(约 3.3 次翻倍)只多买约 6.6 天,提高一百倍也只多约 13.3 天。观测网密十倍、超算快一千倍、模式细一倍,换回来的都是几天,不是几个月。半个世纪里,确定性预报从两三天一步步推到一周多,之后就贴着两周这层顶很难再往前——不是气象界没努力,是努力的方向上立着一道对数天花板。
既然单条预报注定要散,就干脆一次跑很多条。ECMWF 1992 年 12 月把集合预报业务化,第一套 33 个成员、水平分辨率约 210 公里;今天同一套模式跑 51 个成员,连模式方程本身也做轻微扰动。给出来的是概率和离散度,不是「下周三有雨」。集合预报的用处不是撞破墙,是告诉你离墙还有多远:成员散得越开,这一天的答案就越不该被当成一个日期。

# 墙有形状
「两周」说的从来是具体到某一天、某个地方的瞬时天气。把预报对象换成又大又慢的东西,墙就往后退。Rossby 波、季节内振荡(MJO)、ENSO,还有海温、土壤湿度、海冰这些长寿的异常,本身比一场雷暴可预测得多。
数字也摆在那儿:ECMWF 2013 年版的月集合对 MJO 有技巧到约 27 天,比 2004 年业务化以来大约每年多赚一天;北大西洋涛动(NAO)到约第 13 天,十年前还只有第 9 天。Buizza 和 Leutbecher 2015 年干脆把「技巧地平线」定义成集合预报不再优于气候平均的那一刻,按越来越粗的时空尺度去量,它确实长于两周。ECMWF 自己的说法挺好:我们学会了和蝴蝶一起过日子。
别把这读成「其实能报一个月」。能报的是「下个月偏暖、MJO 处在第几相位」这类倾向,不是「15 号下午三点下不下雨」。把概率说成日期,才是真正的不诚实。
还有个挺妙的旁证:现在拿深度学习天气模型去撞这道墙,反而成了检验它有没有学到物理的试金石。有研究给极小的初值扰动,物理模式 ICON 会按该有的速度把误差迅速放大,Pangu-Weather 不会;扩散式的 GenCast 集合在高波数上留着噪声状伪影,行星尺度的误差增长偏弱。一个不会把小误差放大的模型,不是更强,是没学会大气的脾气。 这句我挺喜欢,也算是给「AI 会不会取代数值预报」一个不太讨好的注脚。

回到开头那杯咖啡。洛伦兹想省的是一点机时,结果省出来的不是时间,是天气预报的边界。下次看到十天后的「局部有雨」没应验,别急着骂预报员:那不是失职,是大气把答案锁在了初值的第几位小数里。我们真正能做的,是把「明天」说得越来越准,把「下下周」诚实地写成一个概率,而不是一个日期。
# 图片版权
本文配图来自 Wikimedia Commons,均裁切或缩放为 1200×675,按各自许可证署名:
- 封面 Lorenz attractor yb.svg (opens new window):Wikimol、Dschwen,CC BY-SA 3.0 (opens new window)(基于 Wikimol 的
Lorenz system r28 s10 b2-6666.png与 Dschwen 的Lorenz attractor.svg)。 - 图 1 LGP-30.jpg (opens new window):Marcin Wichary,CC BY 2.0 (opens new window),来源 Flickr。
- 图 2 TwoLorenzOrbits.jpg (opens new window):Hellisp(assumed),CC BY 2.5 (opens new window)。
- 图 3 Turbulent gust front - NOAA.jpg (opens new window):NOAA Photo Library / NOAA Central Library OAR/ERL/NSSL,Public domain,无需署名。
- 图 4 Nov192001h5spaghetti5640m.png (opens new window):Environmental Modeling Center,Public domain,无需署名。
- 图 5 500mb geopotential height wavenumber 4 Rossby wave, 2010-10-09~21 daily average.jpg (opens new window):Puncinus,CC BY-SA 4.0 (opens new window)。
# 资料与复现
- Lorenz, Deterministic Nonperiodic Flow, Journal of the Atmospheric Sciences 20(2), 1963。
- 1961 年事故的自述转引自 Physics Today「Chaos at fifty」;LGP-30 与 12 变量模型的细节见 APS News 2003。
- 误差翻倍时间与集合预报沿革:ECMWF《The Forecast Skill Horizon》(2015)、ECMWF Newsletter 145 (2015)、Roots of Ensemble Forecasting(Monthly Weather Review, 2005)。
- 文中洛伦兹吸引子部分的数字均为本机实跑结果;大气误差翻倍时间、集合预报与 MJO/NAO 的数字来自上列公开资料。