- 积分
- 7200
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-5-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 haloyang 于 2019-4-5 11:19 编辑
求助:计算高度场指数与海温场之间的相关系数,grads画出的图错了,陆地上缺测的指数设定了缺测,为什么还有东西,麻烦哪位大神帮忙看一下,感谢啊fortran程序:
program ex
parameter(nx=360,ny=180,n=39)
dimension ty(n),tw(nx,ny,n)
real ya,wa(nx,ny),syw(nx,ny),sy,sw(nx,ny),r(nx,ny)
open(1,file='reave.grd',form='binary')
read(1) (ty(it),it=1,n)
close(1)
open(2,file='\sst7.grd',form='binary')
read(2) (((tw(i,j,it),i=1,nx),j=1,ny),it=1,n)
close(2)
do i=1,nx
do j=1,ny
ya=0.0
wa(i,j)=0.0
do it=1,n
ya=ya+ty(it)
wa(i,j)=wa(i,j)+tw(i,j,it)
end do
ya=ya/real(n)
wa(i,j)=wa(i,j)/real(n)
syw(i,j)=0.0
sy=0.0
sw(i,j)=0.0
do it=1,n
syw(i,j)=syw(i,j)+(ty(it)-ya)*(tw(i,j,it)-wa(i,j))
sy=sy+(ty(it)-ya)**2
sw(i,j)=sw(i,j)+(tw(i,j,it)-wa(i,j))**2
end do
!syw(i,j)=syw(i,j)/real(n)
!sy=sy/real(n)
!sw(i,j)=sw(i,j)/real(n)
r(i,j)=0.0
r(i,j)=syw(i,j)/sqrt(sy*sw(i,j))
enddo;enddo
do i=1,nx
do j=1,ny
do it=1,n
if(tw(i,j,it)==-9.99E+08)then
r(i,j)=-9.99E+33
endif
end do
enddo;enddo;
ctl文件:
dset C:\Users\afsl\Desktop\corr.sst.grd
undef -9.99E+33
xdef 360 linear 0.0 1.0
ydef 180 linear -89.5 1.0
zdef 1 levels 1000
tdef 39 linear jan1979 1yr
vars 1
corr 0 99 ql
endvars
|
-
-
指数
|