- 积分
- 235
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-7-25
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
各位高手好,我用书上的公式计算地转风,资料是北纬10-90度,经度0-360的500hpa的位势高度场计算地转风,不知道为何地转风计算出来的范围在0-200之间,有的风速直接等于0.有的200度,明显不对,哪位高手帮忙看看,这个程序哪里错了??点击图片无法上传
!计算地转风,公式就是天元书上的公式,ua=-1/f*偏fai/偏y
!数据范围是纬度10-90度,经度0-360 ,格距2.5度
parameter(m=144,n=33,it1=365,unavl=-9999.0,b=10.0) !北半球格点数
integer m,n,i,j,it
real*8 a,w,r,f1,f2,b1 !地球自转角速度
!地转风u、v分量,h位势高度场,f地转参数
real ua(m,n,it1),va(m,n,it1),h(m,n,it1)
real*8 f,fai
real*8 pi
open(1,file='hgt-500hpa.dat',form='binary')
do it=1,it1
read(1)((h(i,j,it),i=1,m),j=1,n)
! write(*,*)((h(i,j,it),i=1,m),j=1,n)
!pause
enddo
close(1)
w=0.0000729 !地球自转角速度
pi=3.1415926
r=6371000.0 !地球半径
open(2,file='1ua-500hpa.dat',form='binary')
do it=1,1
!先将所有值都赋值成缺测,然后边界条件不管,直接从i=2,j=2,开始计算,边界赋值为缺测
do i=1,m
do j=1,n
ua(i,j,it)=unavl
va(i,j,it)=unavl
enddo !j
enddo ! i
!求格点的fai值,便于求f
do j=2,n-1
fai=3.14*(b+2.5*(j-1))/180.0 !每个格点纬度值所对应的弧度值
f=2*w*sin(fai) !科氏参数
!扇形的弧长=2πr×角度/360
b1=r*cos(fai)*2*3.14*2.5/360.0 !纬度上2.5°角度对应的弧长
b2=r*2*3.14*2.5/360.0 !经度上2.5°角度对应的弧长
f1=b1*f
f2=b2*f
pause
do i=2,m-1
pause
ua(i,j,it)=-180*(h(i,j,it)-h(i,j-1,it))/f2
va(i,j,it)=180*(h(i,j,it)-h(i-1,j,it))/f1
write(*,*)va(i,j,it),j,i,f1,f,fai,b1,b,(b+2.5*(j-1))
enddo ! i
enddo ! j
! write(2)((ua(i,j,it),i=1,m),j=1,n)
! write(*,*)((ua(i,j,it),i=1,m),j=1,n)
pause
enddo !it
!close(2)
end
|
|