观潮 · 模式预报与气象 AI 观察
real.exe 报错与10449 米假地形:一次没有闭环的排障
> 这个帖子最值得注意的地方:它没有结论。
>
> 四轮对话之后,官方还在追问"你到底改了什么选项",然后帖子就结束了。读的时候要注意:
> - 官方回复方向是 IFS 垂直层数太粗(num_metgrid_levels = 15,对 3km 案例不够)
> - 用户自己找到的解法是关掉地形平滑,但选项名始终没说出来
> - 官方最后一条回复(08-12)是在追问"你具体设了哪个选项?",之后没有再回复
>
> 也就是说:"关掉地形平滑"是报告人的经验,未被官方确认;日志里的"10449 米假地形"是他观察到的现象,不是已定位的根因。
---
这篇帖子在讲什么事
一次 real.exe 失败的排查,报错信息很普通,但日志里出现了一个物理上不可能的数字——地形高度 10449 米。
而这个帖子最有价值的地方在于:它没有结论。
四轮对话之后,官方还在追问"你到底改了什么选项",然后帖子就结束了。这恰好成了一份很好的"排障方法论"素材——不给标准答案,教你怎么自己定位。
---
完整的四轮对话
第一轮(08-04):报告人求助
配置:WRF-V4.7.1,dx=3km 单域,覆盖印度旁遮普地区的一部分(喜马拉雅西段),用 ECMWF IFS 业务数据。
报错日志:
```
p_top = 1000. Pa, dzbot = 50.0 m, dzstretch_s/u = 1.30 1.10
----- ERROR: The reference pressure is not monotonically decreasing
This tends to be caused by very high topography
(i,j) = 239 76 , topography = 10449.6875 m
k = 12 , reference pressure = 22399.3789 Pa
k = 13 , reference pressure = 22417.9219 Pa
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: <stdin> LINE: 1249
In the dynamics namelist record, reduce etac from 9.99999978E-03
-------------------------------------------
```
他已经试过的(全部无效):
- 把
etac从 0.01 大幅降低 - 调
p_top - 增加
e_vert垂直层数
他的困惑很合理:报错信息让他降 etac,他已经降了,为什么还报?
第二轮(08-04):官方指向输入数据的垂直分辨率
官方看他的 namelist.input 后发现:num_metgrid_levels = 15。
意思是输入数据的垂直层数只有 15 层,对 3km 分辨率的 WRF 案例来说太粗了。
官方建议:
- 换别的输入数据试试(比如 GFS)
etac保持 0.01
第三轮(08-11):用户找到了自己的解法
用户反馈:
- 换 GFS 能跑通
- 但 IFS 还是报错
- 关掉地形平滑之后,IFS 也能跑通(保持
etac = 0.01)
第四轮(08-12):官方没接受这个答案
官方回复很直接:
> 我不知道关掉地形平滑会带来这么大的差异。你具体设了哪个选项? 另外,能不能上传平滑前后的地形差异图?
然后帖子就没有然后了。
---
为什么这个帖子值得写
因为它把排障里最常见的两个误区都暴露了:
误区一:报错信息给的建议不一定管用
报错说"降 etac"。这是通用建议,基于"高地形会导致气压层错位"这个原理。
但 etac 只是症状层面的旋钮。真正的问题可能在输入数据本身:垂直层数不够、地形数据有伪值、或者前处理把尖峰放大了。
参数调不动的时候,问题往往不在参数层。
误区二:现象不是根因
10449 米这个数字是用户观察到的现象,不是根因。
- 它可能是 IFS 原始地形数据的异常值
- 也可能是 geogrid 插值产生的伪尖峰
- 还可能是 WPS 的地形平滑处理反而放大了它
帖子里没有任何人确认过是哪一个。
---
一个可复用的排查路径
```
real.exe 报 "reference pressure not monotonically decreasing"
│
├─ ① 先读日志里的 topography 值
│ └─ 超过 9000 m(珠峰 8849 m)→ 物理不可能 → 这是数据问题,不是参数问题
│ → 这一步是最快的入口。多数人直接从改参数开始,方向就错了
│
├─ ② 检查输入数据的垂直层数
│ └─ num_metgrid_levels
│ 3km 及以下的高分辨率案例,15 层明显不够
│ → 换更高垂直分辨率的数据(GFS 通常比 IFS 更适配)
│
├─ ③ 追地形数据的来源和处理链
│ └─ 10449 m 从哪来?
│ ├─ 原始数据的 Terrain / SHADOW 参数本身就异常?
│ ├─ geogrid 插值产生的伪尖峰?
│ └─ WPS 的地形平滑反而放大了尖峰? ← 本帖的未解疑点
│
└─ ④ 最后才动参数
└─ etac / p_top / e_vert 层数
→ 本帖中这些全部无效
```