| 
 
	积分2729贡献 精华在线时间 小时注册时间2015-10-7最后登录1970-1-1 
 | 
 
| 
看了一篇文献,里面有一个波活动通量公式,计算出来画图可以表示波能量的传播方向,所以应该算出来是一个和风场类似的矢量。根据他的公式我自己用grads编写计算过程,不知道哪里有错,是二阶导数的地方吗?求指导!公式如下:
x
登录后查看更多精彩内容~您需要 登录 才可以下载或查看,没有帐号?立即注册 
  
   说说我对公式的理解: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'
 求指导啊~~~~~~~~~~~~~~~~~~~~~~~~~~
 
 | 
 |