首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >数值模式 | 如何对WRF变量场的地形缺测进行填补(二)

数值模式 | 如何对WRF变量场的地形缺测进行填补(二)

作者头像
用户11172986
发布2026-04-24 19:39:32
发布2026-04-24 19:39:32
480
举报
文章被收录于专栏:气python风雨气python风雨

数值模式 | 如何对WRF变量场的地形缺测进行填补(二)

前言

上期gridfill文章一读者留言:wrf-python自带的vinterp函数就可以实现这个功能

talk is cheap,让我们来试试吧

vinterp函数参数

image
image

image

如图所示,wrf.vinterp 是 WRF 专用的垂直插值函数,文档明确将其描述为 wrf.interplevel的"更智能但更慢"的版本:

代码语言:javascript
复制
 "Smarter, albeit slower version of wrf.interplevel()"

它的本职工作是将三维场插值到用户指定的垂直坐标面,如:

代码语言:javascript
复制
 * pressure(等压面)
 * ght_msl / ght_agl(等高度面)
 * theta / theta-e(等位温面)

关键参数

代码语言:javascript
复制
 from wrf import vinterp
 interp_field = vinterp(
     wrfin,                    # WRF NetCDF 文件对象
     field=tk,                 # 待插值的 3D 场
     vert_coord="pres",        # 目标垂直坐标:等压面
     interp_levels=[850, 500], # 目标层(hPa)
     extrapolate=False,        # 是否在地形以下外推
     field_type="tk",          # 变量类型标识
     log_p=True                # 对数气压插值
 )

其中extrapolate就是我们所需要的参数,在需要地形外推时打开即可。通过官方文档我们可以得知:

代码语言:javascript
复制
 1. 它只在垂直方向外推,不是水平方向的空间插值
 2. 有条件限制:只有当 vert_coord 和 field_type 匹配特定组合时才生效
 3. 如果条件不满足或 field_type=None,则直接使用最低模式层值,不做任何外推

另外从 wrf_vinterp.f90 源码可以看出,其地下外推的物理假设是:

代码语言:javascript
复制
 ! 使用美国标准大气递减率 (US Standard Atmosphere lapse rate)
 tlev = tlhsl + (zlhsl - zlev)*USSALR   ! 温度外推

 ! 对压力坐标:
 zlev = zbot + vt/USSALR*(1. - (vlev/pbot)**EXPON)

 ! 对高度坐标:
 plev = pbot*(1. + USSALR/vt*(zbot - zlev))**EXPONI

 * 利用最低模式层温度、气压、湿度和标准大气递减率
 * 在垂直方向上估算地形以下的物理量
 * 本质上是1D的物理外推,不是 2D 的空间插值

代码

代码语言:javascript
复制
from wrf import getvar, vinterp
t850_1 = vinterp(wrf_file, t, 'pressure', [850],extrapolate=True )

仅需将interplevel换为以上即可

效果对比

image
image

image

左侧为vinterp函数,右侧为gridfill函数。 你觉得哪个效果更佳呢

小结

vinterp 的 extrapolate 是在垂直方向基于标准大气外推,避免插值时产生NaN;而 gridfill 是在水平方向基于泊松方程进行空间平滑填补。两者原理和适用场景不同。如果已经产生了二维面上的 NaN(如用 interplevel 插值后),vinterp无法事后填补。

需要拿wrf变量算方程还是更加推荐gridfill一些,你怎么看呢

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 气python风雨 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 数值模式 | 如何对WRF变量场的地形缺测进行填补(二)
    • 前言
    • vinterp函数参数
    • 代码
    • 效果对比
    • 小结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档