爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 11093|回复: 9

关于uv2vrdvg,wrf_avo,wrf_pvo的问题

[复制链接]
回帖奖励 4 金钱 回复本帖可获得 2 金钱奖励! 每人限 2 次(中奖概率 50%)
发表于 2014-4-25 17:30:11 | 显示全部楼层 |阅读模式
NCL
系统平台: linux
问题截图:
问题概况: uv2vrdvg求得的涡度和wrf函数求得的涡度差别很大
我看过提问的智慧: 看过
自己思考时长(天): 2

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
我用wrf输出资料求涡度场,分别用了3个不同函数,发现uv2vrdvg和wrf_avo,wrf_pvo差别较大,不知道这是为什么,大家能帮忙看看吗?谢谢!(3幅图取的同一高度、时间)
下面附上脚本:
uv2vrdvg:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
begin
in  = addfile("/home/zssapr/WRF3.5.1/20110710/data/wrf_data/wrfout_d01_2011-07-10_00:00:00","r")                             ; open netcdf file
U = in->U
ua = wrf_user_unstagger(U,U@stagger)
V = in->V
va = wrf_user_unstagger(V,V@stagger)

scale = 1.e05
vort    = new ( dimsizes(ua), typeof(ua), ua@_FillValue )
dv    = new ( dimsizes(ua), typeof(ua), ua@_FillValue )
; copy_VarCoords(ua, vort )
; copy_VarCoords(ua, dv )
vort@long_name  = "vorticity"
vort@units      = ua@units
dv@long_name  = "divergence"
dv@units      = ua@units

uv2vrdvg (ua,va,vort,dv)           ; u,v ==> div and vort

DV    = new ( dimsizes(ua), typeof(ua), ua@_FillValue )
VORT  = new ( dimsizes(ua), typeof(ua), ua@_FillValue )
VORT@long_name  = "vorticity"
VORT@units      = vort@units
DV@long_name  = "divergence"
DV@units      = dv@units
DV = dv*scale
VORT =vort*scale
wks  = gsn_open_wks("ps","vort4")               ; specifies a ps plot
gsn_define_colormap(wks,"BlueWhiteOrangeRed")              ; choose colormap

res                   = True                   ; plot mods desired
res@cnFillOn          = True                   ; turn on color
res@gsnSpreadColors   = True                   ; use full range of color map
res@lbLabelAutoStride = True                   ; nice label bar labels
res@cnLinesOn         = True                  ; no contour lines
res@cnLevelSelectionMode = "ManualLevels"       ; set manual contour levels
res@cnMinLaevelValF       = -4                   ; set min contour level
res@cnMaxLevelValF       =  4                   ; set max contour level
res@cnLevelSpacingF      =  0.5                 ; set contour spacing
printVarSummary(VORT)
plot = gsn_csm_contour(wks,VORT(20,15,:,:),res) ; create plot

end
wrf_avo:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
begin
nc_file = addfile("/home/zssapr/WRF3.5.1/20110710/data/wrf_data/wrfout_d02_2011-07-10_00:00:00","r")
U    = nc_file->U
V    = nc_file->V
MSFU = nc_file->MAPFAC_U
MSFV = nc_file->MAPFAC_V
MSFM = nc_file->MAPFAC_M
COR  = nc_file->F

DX = nc_file@DX
DY = nc_file@DY
wks  = gsn_open_wks("ps","vortnew")
gsn_define_colormap(wks,"BlueWhiteOrangeRed")
avo = wrf_avo( U, V, MSFU, MSFV, MSFM, COR, DX, DY, 0)
res                    =True
res@cnFillOn          =True
res@gsnSpreadColors   = True                   ; use full range of color map
res@lbLabelAutoStride = True                   ; nice label bar labels
res@cnLinesOn         = True                  ; no contour lines
plot = gsn_csm_contour(wks,avo(20,15,:,:),res)
end
wrf_pvo:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
begin
nc_file = addfile("/home/zssapr/WRF3.5.1/20110710/data/wrf_data/wrfout_d02_2011-07-10_00:00:00","r")
U    = nc_file->U
V    = nc_file->V
THETA= nc_file->T
P    = nc_file->P
PB   = nc_file->PB
MSFU = nc_file->MAPFAC_U
MSFV = nc_file->MAPFAC_V
MSFM = nc_file->MAPFAC_M
COR  = nc_file->F
DX   = nc_file@DX
DY   = nc_file@DY
THETA = THETA + 300.    ; potential temperature in K.
P     = P + PB          ; full pressure in Pa.
pvo = wrf_pvo( U, V, THETA, P, MSFU, MSFV, MSFM, COR, DX, DY, 0)

wks  = gsn_open_wks("ps","vortpvo")
gsn_define_colormap(wks,"BlueWhiteOrangeRed")
res                    =True
res@cnFillOn          =True
res@gsnSpreadColors   = True                   ; use full range of color map
res@lbLabelAutoStride = True                   ; nice label bar labels
res@cnLinesOn         = True                  ; no contour lines
plot = gsn_csm_contour(wks,pvo(20,15,:,:),res)
end


密码修改失败请联系微信:mofangbao
发表于 2014-4-29 13:47:20 | 显示全部楼层

回帖奖励 +2 金钱

追风的阳光 发表于 2014-4-29 11:14
uv2vrdvf其实我也试过了。。出图相较dvg没有太大的区别啊,但这个涡度图明显是有问题的,虚假的边界不管 ...

uv2vrdvf和uv2vrdvg这两个过程除了对网格有要求,对输入数据的空间范围也有明确的规定,即必须是全球数据!楼主的wrfout应该是区域的吧,那把这些数据强行铺到全球上,求出的物理量正确么?
建议楼主采用uv2vr_cfd计算出相对涡度,再加上地转参数,然后和wrf_avo的结果进行比较,看看有什么样的差异?
wrf_avo已经编译到ncl中,源码是fortran的,在ncl源码包中很容易找到,代码40行左右,理解起来并不难,楼主如果有兴趣了解wrf_avo到底对边界是怎么处理的,不防研究一下。

评分

参与人数 1金钱 +2 贡献 +1 收起 理由
yusw + 2 + 1 请问,用uv2vr_cfd画涡度是,要求经纬度是.

查看全部评分

密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

发表于 2014-4-25 21:12:37 | 显示全部楼层
楼主要看看这几个函数的帮助,还要了解一下涡度、位涡的概念。
密码修改失败请联系微信:mofangbao
发表于 2014-4-26 09:20:50 | 显示全部楼层

回帖奖励 +2 金钱

为什么第一个你知道要跳网格处理,后面两个为何没有va = wrf_user_unstagger(V,V@stagger)

密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-4-29 10:21:41 | 显示全部楼层
freekiller 发表于 2014-4-26 09:20
为什么第一个你知道要跳网格处理,后面两个为何没有va = wrf_user_unstagger(V,V@stagger)

avo函数我看说明,他就是在交错网格下计算的啊
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-4-29 10:24:55 | 显示全部楼层
longlivehj 发表于 2014-4-25 21:12
楼主要看看这几个函数的帮助,还要了解一下涡度、位涡的概念。

pvo是计算的位我,但是avo和uv2vrdvg计算的为何会差别这么大呢,相对涡度绝对涡度不会有这么大的啊,uv2vrdvg边界上也都是虚假的
密码修改失败请联系微信:mofangbao
发表于 2014-4-29 10:31:19 | 显示全部楼层
追风的阳光 发表于 2014-4-29 10:24
pvo是计算的位我,但是avo和uv2vrdvg计算的为何会差别这么大呢,相对涡度绝对涡度不会有这么大的啊,uv2v ...

哇,楼主还在为此纠结啊!
uv2vrdvg最后一个字符g是gaussian grid的意思,官网这个函数说明的第一句就已经指出了。wrf用的是gaussian grid吗?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-4-29 11:14:30 | 显示全部楼层
longlivehj 发表于 2014-4-29 10:31
哇,楼主还在为此纠结啊!
uv2vrdvg最后一个字符g是gaussian grid的意思,官网这个函数说明的第一句就已 ...

uv2vrdvf其实我也试过了。。出图相较dvg没有太大的区别啊,但这个涡度图明显是有问题的,虚假的边界不管了,中心区域值不会和avo有这么大差别啊,(还有为什么avo边界没有异常呢?他的边界是怎么设置的呢?)
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2014-4-29 15:12:20 | 显示全部楼层
longlivehj 发表于 2014-4-29 13:47
uv2vrdvf和uv2vrdvg这两个过程除了对网格有要求,对输入数据的空间范围也有明确的规定,即必须是全球数据 ...

谢谢!。。。。。。。。。
密码修改失败请联系微信:mofangbao
发表于 2014-5-2 07:40:43 | 显示全部楼层

回帖奖励 +2 金钱

我也想做这样的图,可对ncl不太熟,哎
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表