- 积分
- 229
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-7-19
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
搜了好久,论坛里边只搜到了很久以前@yuejun0026发的一个关于水汽收支的程序http://bbs.06climate.com/forum.php?mod=viewthread&tid=18534。但是这位大神貌似已经不关注这个帖子,有很多疑问,不知道坛里各位大神们有没有做过这方面的计算。
1.程序中计算水汽通量垂直积分的部分是不是可以用grads中的vint函数直接计算呢?@yuejun0026大神的源代码如下:
c 计算水汽通量垂直积分
40 do z=bz,lev-1
c print*,'zz',z
allfuq(i,j,t)=allfuq(i,j,t)+0.5*((fuq(i,j,z,t)+fuq(i,j,z+1,
$t))*(p(z)-p(z+1)))
allfvq(i,j,t)=allfvq(i,j,t)+0.5*((fvq(i,j,z,t)+fvq(i,j,z+1,
$t))*(p(z)-p(z+1)))
enddo
allfuq(i,j,t)=allfuq(i,j,t)*100*0.001
allfvq(i,j,t)=allfvq(i,j,t)*100*0.001
enddo
enddo
enddo
2.最后计算东西南北边界水汽收支的时候,南、北边界 为什么要*cos((alat-90)/180*pi)呢?源代码如下:
c 计算四个边界的水汽收支
open(20,file="H:\data\fnl\gs\bjsqsz\water_incoming.txt")
write(20,'(a)')'day,W_boundary,E_boundary,S_boundary,N_boundary,
$WE_incoming,SN_incoming,total_incoming'
bj=0
do t=1,tim
do j=alat,blat
bj(t,1)=bj(t,1)+allfuq(alon,j,t)
bj(t,2)=bj(t,2)+allfuq(blon,j,t)
enddo
do i=alon,blon
bj(t,3)=bj(t,3)+allfvq(i,alat,t)
bj(t,4)=bj(t,4)+allfvq(i,blat,t)
enddo
c 考虑边界长度
bj(t,1)=bj(t,1)*l
bj(t,2)=bj(t,2)*l
bj(t,3)=bj(t,3)*l*cos((alat-90)/180*pi)
bj(t,4)=bj(t,4)*l*cos((blat-90)/180*pi)
enddo3.据这位大神说这个程序他计算出来的效果还不错,想问一下有没有人知道计算结果的单位是什么呢?而且结果的正、负值跟水汽流入、流出的对应关系是什么呢?因为我根据这个程序计算出来的结果竟然是东、西边界同是负值,南、北边界同是正值,这个结果不太对呀~
希望有做过水汽收支方面的大神进来指导,再搞不懂头发就要掉光了~
|
|