观潮 · 模式预报与气象 AI 观察
WRF 输出里没有 MSLP 和雨强:prec_acc_dt=60 与 AFWA 诊断量怎么补
> 一位新手用 Panoply 打开 wrfout,找不到海平面气压、雨量和雨强。这篇帖子把 WRF 输出里最容易踩的三个认知偏差一次说清了:wrfout 给的是「扰动气压 + 静力气压 + 基本态气压」三件套而不是海平面气压;RAINC 与 RAINNC 是从模拟起始时刻算起的累积量,总降水是两者相加;雨强和滚动累积要靠 prec_acc_dt 或 AFWA 诊断量自己开出来。发帖人最后靠 AFWA 诊断成功拿到了海平面气压和过去一小时雨量。需要提醒的是:他关于「total pressure 是什么」「为什么这些量不直接进输出」的追问,帖子里始终没有人回答。
wrfout 里到底有什么
发帖人做的是飓风 Matthew 单域教程,想换成 GFS 分析场跑另一个热带气旋,重点关注风、气压和降水。他先撞上了工具链问题:GrADS 不能直接读 wrfout,ARWpost 反复编译失败。
然后他发现,用 Panoply 打开的 wrfout 里没有海平面气压、雨量、雨强这三项。他列出的是另一组量:
wrfout 里实际有的 · 含义(按发帖人的转述)
`P` · 扰动气压
`P_HYD` · 静力气压
`PB` · 基本态气压
`RAINC` · 从模拟初始时刻起累积的总积云降水
`RAINNC` · 从模拟初始时刻起累积的总网格尺度降水
`RAINSH` · 累积的浅积云降水
他当时不知道怎么把前三个气压量合成海平面气压,也对后三个降水量的口径有误解。
三个容易搞错的地方
第一,总降水是 RAINNC 加 RAINC,不是 RAINNC 单独一项。 发帖人原话是自己一直误以为 RAINNC 已经包含了积云和非积云降水的总和,实际不是,要两者相加。
第二,它们都是从模拟起始时刻算起的累积量。 这意味着它们既不是雨强(毫米每小时),也不是「过去 1 小时 / 3 小时 / 6 小时」这种滚动时段雨量。想要时段雨量,得另外开诊断或者自己做时间差分。
第三,海平面气压不在默认输出里。 发帖人确认过用户手册的输出章节后,得出结论:即便在各种 WRF 输出诊断里,海平面气压也没有直接给出——他对此相当失望,因为这是最基础的气象变量之一。
能开的选项
帖子里实际给出的可调项有三个:
选项 · 加到哪一段 · 取值与作用
`prec_acc_dt = 60` · `&physics` · 给降水变量(积云与微物理方案的雨、微物理方案的雪)设定输出时间间隔,单位为分钟
`do_radar_ref = 1` · `&physics` · 用微物理方案的参数计算雷达反射率;适用于 `mp_physics = 2, 4, 6, 7, 8, 10, 14, 16, 17, 18, 19, 21, 24, 26, 28`
AFWA 天气诊断 · namelist 诊断段 · 发帖人查阅 `registry.AFWA` 后发现可以输出海平面气压和若干降水相关变量
关于 prec_acc_dt = 60,发帖人追问得很到位:它到底能让 wrfout 输出逐小时雨量,还是仍然输出从初始时刻起的累积、只是每小时写一次? 这个问题在帖子里没有明确答案。
工具方面,有回复指出 ARWpost 已经多年不再开发,建议改用 NCL,因为 NCL 上已经有一批现成脚本可用。
发帖人最后怎么解决的
他自己去翻了 registry.AFWA,发现 AFWA 天气诊断允许输出海平面气压和一些降水相关变量,于是照着配置。最后一次回帖确认:
> 成功在 wrfout 里生成了额外变量,包括海平面气压和过去一小时雨量。WRF 输出诊断确实帮了大忙。
也就是说,真正打通这条路的是输出诊断(AFWA),而不是 prec_acc_dt。
帖子里没人回答的问题与限制
这篇帖子留下了四个悬空的问题,读的时候要分清楚哪些是结论、哪些只是提问:
total pressure与海平面气压有什么区别? 发帖人问了这个 WRF 特殊输出变量的含义,没有人回答。prec_acc_dt = 60的输出口径是什么? 是逐小时雨量,还是累积量按小时写出?帖子里没有正面回答。- 为什么海平面气压、雨强、滚动时段雨量这些基础量不直接进输出? 发帖人问了两次,一次问是不是 WRF 现有局限、一次问未来版本会不会补上,都没有人回应。
- 后来有人追问「你怎么算的海平面气压」,也没有答复。
另外,帖子最后一条回复是第三方自荐:WRF-GPU v0.4.0 内置一个降水后处理器,可以直接从 WRF 输出算雨强和区间或滚动累积。它自称是免费开源、独立于 UCAR/NCAR 的 WRF-ARW 移植,大部分功能针对 WRF-ARW v4 做过逐位或统计一致性测试但不保证完美,且需要较新的 NVIDIA GPU(Ampere 及以上)。这条回复没有经过论坛官方确认。
一句话判断
想在 wrfout 里拿到海平面气压和时段雨量,路径是开 AFWA 诊断而不是等默认输出;prec_acc_dt 只管降水变量的输出间隔,do_radar_ref 只管雷达反射率,两者都替代不了诊断量——而总降水必须记住是 RAINC 与 RAINNC 相加。