注释

本文在 Claude 的辅助下编写完成。

xue 的点位面板在模式 2 m 气温旁边有一行「TMP 2M · DEM」,把模式格点上的 2 m 气温换算到点位的 DEM 高度。原来的算法是:

1
T = T2m + 0.0065 K/m × (模式格点地形高度 − DEM 高度)

0.0065 K/m 即 6.5 K/km,是国际标准大气对流层的平均递减率。

2026-10-05 我把点位放在富士山顶,和山顶 AMeDAS 观测(3775 m)对照,GFS 0.25°、GFS sflux 和 ECMWF IFS 0.25° 订正后的值都比实测低约 5 °C,当天各个时次的差值都很接近。

为了确定这是富士山一处的偏差还是订正方法本身的偏差,我取了四个季节各一周的历史预报,对全球约 3000 个站做了同样的比较,并试了几种替代做法。最后 xue 的这一行改成了用模式等压面温度订正、近地层距平随高度衰减的做法,已经上线。下面记录这个过程。

下文记 Δz = 站点海拔 − 模式格点地形高度。


富士山个例

2026-10-05 的 GFS 06Z、sflux 06Z 和 ECMWF 00Z 预报中,富士山顶所在最近格点的模式地形高度分别为 643 m、976 m 和 754 m,周围格点中最高的也只有 1100–1240 m。0.25° 网格(约 25 km × 28 km)的格点地形是格内平均并经过平滑的结果,富士山底径约 40 km,山顶附近的高度在网格上不存在。因此订正需要从 600–1000 m 外推约 3 km,订正量为 −18 至 −20 K。

订正后减去实测,GFS 为 −6.1 ± 0.3 K(9 个时次),sflux 为 −6.0 ± 0.4 K,ECMWF 为 −4.6 ± 0.5 K(5 个时次)。

2026-10-05 09Z 富士山上空的温度廓线

2026-10-05 09Z 富士山上空的温度廓线

图中实线是模式等压面温度,菱形是两个模式在格点地形高度上的 T2m,点线是从 T2m 按 6.5 K/km 外推到 3775 m 的结果,星号是山顶实测。等压面廓线在 3775 m 处与实测相差不到 1 K,6.5 K/km 外推线在同一高度偏冷约 6 K。

把偏差拆成三项(时次平均):

项目GFSECMWF
T2m 与格点地形高度上等压面插值温度之差−1.3 K+1.4 K
6.5 K/km 与模式柱实际递减率之差乘以 Δz−5.9 K−5.5 K
3775 m 处等压面插值温度与实测之差+1.0 K−0.5 K
合计−6.1 K−4.6 K

当天模式柱从格点地形高度到 3775 m 的递减率为 4.6–4.7 K/km。用周边 15 个 AMeDAS 山麓站(平均海拔 319 m)和山顶实测计算的递减率在 24 小时内为 4.0–5.0 K/km,平均 4.45 K/km。山顶相对湿度在大部分时次为 98–100 %,930 hPa、20 °C 和 650 hPa、5 °C 的湿绝热递减率分别约为 4.1 和 5.0 K/km。

当天的偏差稳定,是因为 Δz 由格点决定,而同一气团内的递减率一天中只变化约 ±0.5 K/km。后文四季的数据表明,富士山的偏差符号会随季节改变。


数据与方法

单日的检验只有一个预报时次,因此另外取了历史预报和历史观测:

项目内容
时段2024-10-08..14、2025-01-08..14、2025-04-09..15、2025-07-09..15,每 3 小时一个有效时次,共 224 个
预报GFS 0.25° 与 ECMWF IFS 开放数据 0.25°,取最近一个 00Z/12Z 起报的 0、3、6、9 h 预报;从 AWS 上的 GRIB2 归档按 .idx / .index 做字节范围读取
预报字段2 m 气温、地形高度、1000/925/850/700/600/500 hPa 温度与位势高度
观测NOAA ISD(SYNOP 与 METAR),GHCNh 与 IEM 补缺,有效时次 ±30 min 内最近的一份报告
站点所有 |Δz| ≥ 200 m 的活跃站(1624 个)加随机 1500 个平地对照站
剔除海拔或坐标与 Mapterhorn DEM 相差超过 600 m 的站,以及坐标重复的站,共 55 个
样本量2968 个站,约 57 万对预报与观测

ISD 站表停在 2025-08,NCEI 正在把这份数据迁移到 GHCNh,所以时段取在 2024-10 至 2025-07。ECMWF 开放数据在 2024-10 没有发布地面位势,这一周沿用 2025-01 的地形场,其余三周的地形场逐周比较完全一致。

比较的订正方法:

代号名称做法
M0不订正直接使用最近格点的 T2m
M16.5 K/kmT2m − 6.5 K/km × Δz,即 xue 原来的做法
M1b5.5 K/km同 M1,递减率为 5.5 K/km(ECMWF 在 2024 年的同化升级中改用这个值)
M8双线性 + 6.5 K/km同 M1,T2m 和地形取周围 4 个格点的双线性插值
M2等压面插值等压面温度按位势高度线性插值到站点海拔,不使用 T2m
M7RTMA 式Δz > 0 时用模式柱递减率外推,但不高于 T2m
M5衰减混合Δz > 0 时为等压面插值温度加上随 Δz 指数衰减的近地层距平,Δz ≤ 0 时同 M1
M9双线性 + 衰减混合M8 的双线性插值加 M5,衰减高度 H = 800 m,xue 现在使用的做法

M5 和 M9 的公式:

1
T = T_free(z_站点) + exp(−Δz / H) × [T2m − T_free(z_格点地形)]

T_free(z) 为模式等压面温度在高度 z 处的线性插值。Δz 接近 0 时结果接近 T2m,Δz 远大于 H 时结果接近等压面插值。H 用留一周交叉验证选取:在三周上选 H,用于第四周。

正文的数字默认取 GFS,ECMWF 的结果规律相同,差别较大的地方单独说明。


误差随 Δz 的变化

各 Δz 区间的平均绝对误差

各 Δz 区间的平均绝对误差

GFS 各 Δz 区间的平均绝对误差(K):

Δz (m)站数M1 6.5 K/kmM2 等压面插值M9 双线性 + 衰减混合
< −1000682.792.882.62
−1000…−6001292.552.602.44
−600…−3004722.322.432.20
−300…−1505812.162.352.09
±15014091.671.861.61
150…3001082.001.711.60
300…6001172.321.811.65
600…1000592.401.551.33
1000…1500232.891.591.42

M0(不订正)在 Δz 为 1000–1500 m 和 −1000 m 以下的误差分别为 6.5 K 和 8.0 K。

|Δz| ≤ 150 m 时,M2 以外各方法的差值在 0.1 K 以内,误差主要来自预报本身。Δz 为 150–300 m 时,M9 比 M1 低 0.4 K。Δz > 300 m 的 201 个站上,M1 的平均绝对误差为 2.42 K,M9 为 1.53 K;平均偏差从 −1.30 K 变为 −0.21 K。全部站合计,M1 为 1.99 K,M9 为 1.85 K。ECMWF 在 Δz > 300 m 的 189 个站上从 2.40 K 降到 1.58 K,全部站从 1.72 K 降到 1.58 K。

M2(等压面插值)在 |Δz| ≤ 150 m 时比 M1 差 0.2 K,ECMWF 上差 0.8 K;Δz < 0 时 ECMWF 差 0.9–1.0 K。模式地面以下的等压面温度是外推值,TopoSCALE 的论文中也有同样的说明。


站点高于模式地形时的昼夜差异

Δz > 300 m 站点按季节与昼夜的平均偏差

Δz > 300 m 站点按季节与昼夜的平均偏差

Δz > 300 m 的站,按地方太阳时 09–17 时为白天、21–05 时为夜间分组,GFS 的平均偏差(K):

季节M1 白天M1 夜间M5 白天M5 夜间
2024-10+0.05−2.39−0.54+0.09
2025-01−0.69−2.81−0.30+0.19
2025-04+0.22−2.57−0.92−0.12
2025-07+0.71−2.49−0.52−0.32

M1(6.5 K/km)在四个季节的夜间都偏冷,两个模式合计为 2.1–2.9 K,白天偏差在 ±1 K 以内。M5(衰减混合)的昼夜偏差都在 ±1 K 以内。M2(等压面插值)的夜间偏差符号相反,为 +0.8 至 +1.7 K。M7(RTMA 式)在夜间仍偏冷 0.8–2.2 K。

等效递减率

等效递减率

图中的等效递减率定义为 (T2m − 实测) / Δz,即让 M1 零偏差所需的递减率。Δz 为 300–1500 m 的站,白天的中位数为 6.3–7.4 K/km,夜间为 1.5–4.1 K/km,Δz 越小夜间值越低。Δz < −300 m 的站,昼夜都在 6.4–7.8 K/km 之间。

Δz > 300 m 站点夜间偏差与云量

Δz > 300 m 站点夜间偏差与云量

按观测云量分组,Δz > 300 m 站点夜间 M1 的偏差为:0–2 okta −3.32 K,3–5 okta −2.26 K,6–8 okta −1.70 K。M5 在三组中为 −0.71、+0.08、+0.08 K。按观测风速分为 0–2、2–5、5–10、> 10 m/s 四组,M1 的偏差依次为 −2.2、−2.9、−2.7、−2.2 K,与风速没有单调关系。

这些结果与以下过程一致:模式格点地形上的 T2m 包含近地层在白天被加热、夜间形成辐射逆温的信号,固定递减率外推把这个信号带到了高出模式地面数百米以上的站点,而这些站点处于近地层之上。晴夜偏差最大与辐射逆温的强度对应。这一机制没有用边界层观测直接验证。


衰减高度

衰减高度 H 与 RMSE

衰减高度 H 与 RMSE

留一周交叉验证选出的 H,GFS 四周为 1000、1000、1000、1500 m,ECMWF 为 600、600、800、600 m。全部样本的 RMSE 随 H 变化平缓:GFS 在 800–1500 m 之间为 2.21–2.22 K,ECMWF 在 600–800 m 之间为 2.40 K。H 取 800 m 时,两个模式与各自最优值的差都在 0.01 K 以内。分昼夜设置不同的 H,RMSE 的改善不超过 0.05 K。


山顶与自由大气的温差

代表山顶站的平均绝对误差(ECMWF)

代表山顶站的平均绝对误差(ECMWF)

富士山、Jungfraujoch、Säntis、Sonnblick、Kredarica、Mount Washington、黄山、华山、Piz Corvatsch 这 9 个山顶站在 2025-01 一周,M9 的平均偏差为 +1.6 K,其他三周在 0.0 至 +0.4 K 之间。为了区分这部分误差来自模式自由大气还是山顶站本身,我取了 IGRA2 探空,插值到山顶海拔,与山顶实测和模式等压面插值温度比较:

山顶站探空站实测 − 探空,全部实测 − 探空,2025-01
Mount WashingtonGray, ME−3.09 °C−5.42 °C
SäntisPayerne−1.67 °C−3.42 °C
富士山Tateno−1.43 °C−1.83 °C
黄山安庆−1.30 °C−2.13 °C
KredaricaLjubljana(06Z)−0.87 °C−3.12 °C
泰山济南章丘−0.37 °C−0.48 °C
Mauna LoaHilo+0.34 °C+0.04 °C

在探空站所在位置取模式柱,GFS 和 ECMWF 与探空的差值在各季节都在 ±0.3 °C 以内,最大为 2025-01 的 Payerne,−0.7 °C。山顶站在冬季比同高度的自由大气冷 2–5 °C,夏季的差值在 0 至 −1 °C 之间。富士山与 Tateno 相距较远,两地冬季存在水平温度梯度;与富士山格点上的模式自由大气相比,富士山 2025-01 的实测低约 4.3 °C。Mauna Loa 在 00Z(当地 14 时)比自由大气暖 3.3 °C,在 12Z(当地 02 时)冷 2.65 °C。

这部分差异的成因(积雪面辐射冷却、气流过山时的绝热冷却等)没有在这次的数据中区分。Sheridan 等(2018)的摘要中写到山顶温度高于平地、低于同高度的自由大气,与这里的观测方向一致。

富士山四个季节的 M1 偏差(ECMWF)为:2025-01 白天 +3.5 K、夜间 −0.5 K,2025-04 白天 +1.2 K、夜间 −1.8 K,2025-07 白天 −5.8 K、夜间 −5.0 K。2024-10 一周 ISD 和 GHCNh 都没有富士山的观测。开头提到的约 −5 °C 偏差只在暖湿季节出现。


谷地

Δz < −300 m 的站,M1 在四周的平均偏差在 −0.9 至 +0.9 K 之间。常数递减率取 4.5、5.0、5.5、6.0、6.5 K/km 时,ECMWF 的平均绝对误差依次为 2.62、2.49、2.39、2.31、2.26 K,6.5 K/km 最小。M1b(5.5 K/km)在 Δz > 300 m 的站上比 M1 好 0.14–0.16 K,在谷地差 0.08–0.13 K。

M2 和模式柱递减率在谷地都比 M1 差。M8 的双线性插值在谷地把平均绝对误差降低 0.06–0.25 K,Δz 越负降幅越大。0.25° 网格不解析谷地冷池,REDCAPP 和 Lundquist 等(2008)这类改善谷地的方法都使用了 DEM 地形指数,这次没有测试。


xue 中的做法

xue 现在用的是 M9:

  • 点位高于模式地面时,用衰减混合。自由大气温度取当前时次已发布的 1000–500 hPa 温度与位势高度,在点位的 DEM 高度上插值;再加上模式地面处 T2m 与自由大气温度之差,乘以 exp(−Δz / 800 m)。
  • 点位低于模式地面时,仍用 6.5 K/km。

T2m 和模式地形取点位周围 4 个格点的双线性插值,与地图上着色器的过滤方式一致;等压面温度柱取最近格点,与检验时的设置一致。某个时次的等压面数据少于两层时,退回 6.5 K/km。

打开地形后,地图对视口内每个像素做同样的订正;点位面板的「TMP 2M · DEM」行用同一个公式。冬季暴露的山顶比同高度自由大气冷,这部分偏差这个方法没有去掉,在这些站上订正值仍偏暖。


与已有方法的关系

M5 的结构与 REDCAPP 相同,都是站点高度上的自由大气温度加上从模式地面带上来的近地层距平;REDCAPP 的权重由 DEM 地貌指数拟合,这里的权重只取决于 Δz。M2 即 TopoSCALE 的做法。Gao 等(2012)在约 1500 m 以上改用 T850 作为外推起点,相当于在 1500 m 处把权重从 1 切换到 0。CHELSA-W5E5 和 ERA5-Land(Dutra 等,2020)用模式柱的逐日递减率。M7 即 RTMA 的做法,它的网格为 5 km,站点与模式地面的高差一般为数十至数百米,站点多数处于近地层逆温之内;这里 Δz > 300 m 的站多数高于近地层逆温,这可能是 M7 在 0.25° 网格上夜间仍偏冷的原因,未验证。Met Office IMPROVER 在邻域内回归 T2m 与模式地形得到递减率,这次没有测试。

检索到的文献中,REDCAPP、TopoSCALE、CHELSA 的检验基于再分析的日值,Sheridan 等的检验基于 Met Office UM 4 km 模式。按 Δz 分档、逐小时检验 0.25° GFS 与 IFS 的工作没有检索到。


数据问题记录

  • AWC 站表 stations.cache.json 和 metars.cache.csv 中约 20 个美国小机场的海拔为英尺值,例如 KO26 Lone Pine 为 3680(实际 1122 m),KC24 Creede 为 8680(实际约 2646 m)。xue 的机场产品直接使用了这个字段。
  • ISD 站表中,北海的多个海上平台海拔为 470 m,Herbert Island、Inguincho、Lahsh、Gupis、Jorhat、Mestia 等站的海拔或坐标与 DEM 相差超过 600 m。Snezka 11653 与 Sniezka 12510 等 13 对站坐标相同。
  • ISD 中多数山顶站的坐标精度约为 0.01°,换算后可能落在山坡上,与 DEM 比较时相差 200–400 m。
  • 法国高山站的传感器高度常为离地约 7 m(Préaux 等,2025)。这次使用的中国、日本山顶站的传感器高度没有核对。

数据来源

  • NOAA GFS、NOAA ISD / GHCNh、AWC METAR、IGRA2:美国公有领域数据。
  • ECMWF 开放数据:Copyright © ECMWF,CC BY 4.0。文中对数据做了插值和统计处理。
  • AMeDAS:出典:気象庁ホームページ(PDL 1.0),文中做了统计加工。
  • IEM ASOS 归档:Iowa Environmental Mesonet。
  • Mapterhorn DEM:© Mapterhorn。
  • 预报数据从 AWS 的 noaa-gfs-bdp-pds 与 ecmwf-forecasts 存储桶读取,读取日期为 2026-10-06。