爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10002|回复: 13

如此求涡度平流对吗?

[复制链接]
发表于 2017-4-4 16:57:48 | 显示全部楼层 |阅读模式

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

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

x
500hpa垂直方向涡度平流:
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
begin
addr="I:/meteology_data/FNL_data/fnl_20151231_18_00.grib2"
f=addfile(addr,"r")
U=f->UGRD_P0_L100_GLL0({50000},:,:)
V=f->VGRD_P0_L100_GLL0({50000},:,:)
vort = uv2vrF_Wrap(U,V)          ;vort:涡度
vort_grad_x = vort                ;定义x方向涡度梯度
vort_grad_y = vort                ;定义y方向涡度梯度                             
gradsf (vort, vort_grad_x, vort_grad_y)   ;求x,y方向涡度梯度
vort_adv=U*vort_grad_x+V*vort_grad_y
end



当然,这样求出来的vort_adv(涡度平流)是丢失了元数据的。
首先请帮我看看我如此求涡度平流对不对,我说说我的其他疑问:
FNL等资料是不是fixed格点?
求涡度,我看到uv2vrF_Wrap函数,但这个函数的官网说明是[size=13.3333px]Computes the vorticity via spherical harmonics, given the u and v wind components on a [size=13.3333px]fixed grid
[size=13.3333px] .我搜过wiki,但还是看不懂fixed格点,NCL官网对fixed的部分描述为[size=13.3333px]Some examples include: 1x1, 2x5, 2.5x2.5 degree grids.[size=13.3333px]”  FNL和NCEP/NCAR的2.5×2.5°资料都是fixed格点吗?
grid.png

密码修改失败请联系微信:mofangbao
发表于 2017-5-8 22:10:31 | 显示全部楼层
楼主解决问题了嘛?
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2017-5-9 18:53:37 | 显示全部楼层

我这么求是不对的。 不知道为什么,uv2vrF_Wrap, uv2dvF_Wrap,即使在全球范围计算,我算出来的结果远不如uv2dv_cfd,uv2vr_cfd准确.
经证实,有限网格内,计算散度涡度用uv2dv_cfd,uv2vr_cfd是绝对正确的。至于差分距离dx  dy,可参考NCL的中央差函数,center_finite_diff_n的使用。
密码修改失败请联系微信:mofangbao
发表于 2017-5-10 14:54:39 | 显示全部楼层
happymgj 发表于 2017-5-9 18:53
我这么求是不对的。 不知道为什么,uv2vrF_Wrap, uv2dvF_Wrap,即使在全球范围计算,我算出来的结果远不 ...

谢谢楼主!
密码修改失败请联系微信:mofangbao
发表于 2017-5-18 00:03:38 | 显示全部楼层
楼主你好,请问温度梯度也可以用gradsf?我用center_finite_diff_n 计算,
do nt=0,m-1   
                do nl=0,nnlat-1                                                               ; loop over each latitude
                    dX = 6378388.*cos(0.0174533*lat(nl))*dlon                         ; constant at this latitude
           dTdX(nt,nl,:)= center_finite_diff_n (TAvg(nt,nl,:),dX,True,0,0)
        end do
         
        do nY=0,nnlon-1
                    dY = doubletofloat(6378388.*dlat)
          dTdY(nt,:,nY)= center_finite_diff_n (TAvg(nt,:,nY),dY,True,0,0)
        end do
     
g=sqrt(dTdX^2+dTdY^2)*100000

最后怎么把梯度矢量表示出来?
密码修改失败请联系微信:mofangbao
发表于 2017-5-18 13:33:48 | 显示全部楼层
tiangaoyundan 发表于 2017-5-18 00:03
楼主你好,请问温度梯度也可以用gradsf?我用center_finite_diff_n 计算,
do nt=0,m-1   
                do nl=0,nnl ...

dlon应该是角度把
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2017-5-18 19:08:09 | 显示全部楼层
tiangaoyundan 发表于 2017-5-18 00:03
楼主你好,请问温度梯度也可以用gradsf?我用center_finite_diff_n 计算,
do nt=0,m-1   
                do nl=0,nnl ...

我看gradsf函数有input grid must be in ascending latitude order (S==>N),global fixed grid等苛刻条件,没用过。目前我只会用中央差函数,悲催的是FNL资料是先lat后lon,所以 center_finite_diff_n (q, r, rCyclic, opt,dim)的dim一定得对应好。。要不然就算混了,很绕
密码修改失败请联系微信:mofangbao
发表于 2017-6-8 19:11:41 | 显示全部楼层
请问 为什么最后要*100000???
密码修改失败请联系微信:mofangbao
发表于 2017-6-8 20:15:59 | 显示全部楼层
qq469015280 发表于 2017-6-8 19:11
请问 为什么最后要*100000???

一个尺度,平流的数值很小。
密码修改失败请联系微信:mofangbao
发表于 2017-6-8 20:31:43 | 显示全部楼层
打翻醋瓶的猫 发表于 2017-6-8 20:15
一个尺度,平流的数值很小。

请问 最后温度梯度的单位是  °C/m???  还是    10*-5°C/m  ???
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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