- 积分
- 2729
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2015-10-7
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
看了一篇文献,里面有一个波活动通量公式,计算出来画图可以表示波能量的传播方向,所以应该算出来是一个和风场类似的矢量。根据他的公式我自己用grads编写计算过程,不知道哪里有错,是二阶导数的地方吗?求指导!公式如下:
说说我对公式的理解:U V为基本流场,文献里取的2010年4-6月的平均,我做冬季,我取的某年12-2月平均。
ψ是扰动流函数,即距平。我算出了某年冬季逐日流函数,用的fish_psi函数,然后用逐日流函数减去冬季平均得到距平值。
计算公式之前,我已经准备好了里面 U V 和ψ扰动流函数的数据。
以下是我的gs文件,用来计算这个公式,W分为Wx方向和Wy方向两部分;(psi即流函数(这里是其距平值))
'reinit'
'open E:\data\psijp.ctl'
'open E:\data\upj.ctl'
'open E:\data\vpj.ctl'
'set fwrite E:\waf.grd'
'set gxout fwrite'
'set x 1 144'
'set y 1 73'
i=1
while(i<=90)
'set t 'i''
'define dpx=cdiff(psi,x)'
'define dpy=cdiff(psi,y)'
'define dx=cdiff(lon,x)*3.1416/180'
'define dy=cdiff(lat,y)*3.1416/180'
'define psix=dpx/(cos(lat*3.1416/180)*dx)/6.37e6'*扰动流函数对x求导
'define psiy=dpy/dy/6.37e6'*扰动流函数对y求导
'define dpxx=cdiff(psix,x)'
'define psixx=dpxx/(cos(lat*3.1416/180)*dx)/6.37e6'**扰动流函数对x求二阶导
'define dpxy=cdiff(psix,y)'
'define psixy=dpxy/dy/6.37e6'*扰动流函数对x求导后对y求二阶导(不知道求二阶导出错没,应该就是把一阶导的结果再次求导)
'define wx=((u.2)*(psix*psix-psi*psixx)+(v.3)*(psix*psiy-psi*psixy))/(2*(u.2))'
'define wy=((u.2)*(psix*psiy-psi*psixy)+(v.3)*(psiy*psiy-psi*psixy))/(2*(u.2))'
'd wx'
'd wy'
i=i+1
endwhile
'disable fwrite'
求指导啊~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|