NCL在WRF模式的后处理中,有很多强大的函数以及现成易用的脚本,因此即使NCL官方不再继续更新,但NCL在WRF模式后处理中仍然不失为最合适的语言之一。本文以NCL为例,介绍如何将WRF模拟结果插值到站点,包括特定的高度层和气压层。
一 将u10, v10风插值到站点
in = addfile("wrfout_d02","r")
target_pres = 500 ; 目标气压层500hPa
lon_sta = 116 ; 站点经纬度
lat_sta = 35
u = wrf_user_getvar(in, "ua", it) ; it时刻质量点的u风
v = wrf_user_getvar(in, "va", it) ; it时刻质量点的v风
p = wrf_user_getvar(in, "pressure",it) ; 气压hPa
;;; 返回站点经纬度对应的索引x, y
wres = True
wres@returnInt = True
point = wrf_user_ll_to_xy(in, lon_sta, lat_sta, wres)
x = point(0)
y = point(1) ;;; 3维u, v风插值到850hPa高度
u_plane = wrf_user_intrp3d(u, p, "h", target_pres, 0., False)
v_plane = wrf_user_intrp3d(v, p, "h", target_pres, 0., False)
;;;根据索引读取站点的数据
u500_sta = u_plane(y, x)
v500_sta = v_plane(y, x)
二 提取站点距地面100m高度的U, V风
in = addfile("wrfout_d02","r")
target_hgt = 100.0 ; 目标高度100m
lon_sta = 116 ; 站点经纬度
lat_sta = 35
u = wrf_user_getvar(in, "ua", it) ; it时刻质量点的u风
v = wrf_user_getvar(in, "va", it) ; it时刻质量点的v风
height = wrf_user_getvar(in, "z", it) ; 3D高度数据
ter = wrf_user_getvar(in, "ter",it) ; 地形高度2D
;;; Conform data to Terrain Height
nheight = conform(height,ter,(/1,2/)) ; 将地形高度拓展至3D
height = height - nheight; 高度扣除地形高度 ;;; 返回站点经纬度对应的索引x, y
wres = True
wres@returnInt = True
point = wrf_user_ll_to_xy(in, lon_sta, lat_sta, wres)
x = point(0) y = point(1) ;;; 3维u, v风插值到100m高度
u_plane = wrf_user_intrp3d(u, height, "h", target_hgt, 0., False)
v_plane = wrf_user_intrp3d(v, height, "h", target_hgt, 0., False)
;;;根据索引读取站点的数据 u
u100_sta = u_plane(y, x)
v100_sta = v_plane(y, x)
三 提取站点500hPa高度的U, V风
in = addfile("wrfout_d02","r")
target_pres = 500 ; 目标气压层500hPa
lon_sta = 116 ; 站点经纬度
lat_sta = 35
u = wrf_user_getvar(in, "ua", it) ; it时刻质量点的u风
v = wrf_user_getvar(in, "va", it) ; it时刻质量点的v风
p = wrf_user_getvar(in, "pressure",it) ; 气压hPa
;;; 返回站点经纬度对应的索引x, y
wres = True
wres@returnInt = True
point = wrf_user_ll_to_xy(in, lon_sta, lat_sta, wres)
x = point(0)
y = point(1) ;;; 3维u, v风插值到850hPa高度
u_plane = wrf_user_intrp3d(u, p, "h", target_pres, 0., False)
v_plane = wrf_user_intrp3d(v, p, "h", target_pres, 0., False)
;;;根据索引读取站点的数据
u500_sta = u_plane(y, x)
v500_sta = v_plane(y, x)
以上源代码可以扫描下方二维码,关注气海同途,后台回复"ncl站点"关键字获取,遍历获取所有时间的数据。