爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2741|回复: 4

[求助] 求大神们 强人们帮助呀~~

[复制链接]

新浪微博达人勋

发表于 2013-5-8 21:45:14 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
求助~~好奇怪 我计算指数与场的相关 如果用原始场没有问题 可是把场进行谐波分析后,再用如下程序运行发现好多格点方差变为零啦~~好不理解,然后相关系数就变成NA啦~~~求大神解答~~~!!!!       

parameter (nx=180,ny=89,m=54)
    real sst(nx,ny,m),in(m),rxy(nx,ny),t(nx,ny)
        do k=1,m
        read(1)((sst(i,j,k),i=1,nx),j=1,ny)
        enddo
        open(2,file='inslow.grd',form='binary')
        read(2)(in(i),i=1,m)
enddo

    call xiangguan(sst,in,rxy,t)

        open(3,file='slow-index.grd',form='binary')
        open(4,file='slow-t.grd',form='binary')
        write(3)((rxy(i,j),i=1,nx),j=1,ny)
        write(4)((t(i,j),i=1,nx),j=1,ny)
end

subroutine xiangguan(a,b,r,t)
parameter (nx=180,ny=89,m=54,undef=32767)
real a(nx,ny,m),b(m),sa(nx,ny),sb,sab(nx,ny),r(nx,ny),avea(nx,ny),aveb,t(nx,ny)


do k=1,m
aveb=aveb+b(k)/m
enddo

do j=1,ny
do i=1,nx
do k=1,m
if(a(i,j,k)/=undef)then
avea(i,j)=avea(i,j)+a(i,j,k)/real(m)
else
avea(i,j)=undef
endif
enddo
enddo
enddo


do k=1,m
do j=1,ny
do i=1,nx
if(a(i,j,1)/=undef)then
sa(i,j)=sa(i,j)+(a(i,j,k)-avea(i,j))**2/real(m)
sab(i,j)=sab(i,j)+(a(i,j,k)-avea(i,j))*(b(k)-aveb)/real(m)
else
sa(i,j)=undef
sab(i,j)=undef
endif
enddo
enddo
sb=sb+(b(k)-aveb)**2/real(m)
enddo

open(100,file='test.txt')
write(100,*)((sa(i,j),i=1,nx),j=1,ny)

do j=1,ny
do i=1,nx
if(sa(i,j)/=undef.and.sa(i,j)/=0)then
r(i,j)=sab(i,j)/sqrt(sa(i,j))/sqrt(sb)
else
r(i,j)=undef
endif
!if(abs(r(i,j))>=1)then
!write(*,*)r(i,j)
!endif
enddo
enddo




do j=1,ny
do i=1,nx
if(r(i,j)/=undef)then
!if(abs(r(i,j))<=1)then
t(i,j)=r(i,j)/sqrt(1-r(i,j)**2)*sqrt(real(m-2))
!endif
else
t(i,j)=undef
endif
enddo
enddo

end



密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2013-5-9 09:00:31 | 显示全部楼层
这么长的程序贴上来很少有人能耐心看完
楼主自己先找错  至少要缩小错误区间
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-9 09:48:20 | 显示全部楼层
楼主还是到处stop一下,很快就知道哪儿有错误了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-9 19:47:53 | 显示全部楼层

求管理员强人讲解~为什么我对海温处理时候,一些格点经过标准化处理后方差为零啦???而且我已经剔除了缺测值了 自习看发现原始的数据计算据平和方差这些格点的值就很小,但是标准化后貌似都变成1或者-1啦,您遇到过类似问题吗??
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-9 19:48:04 | 显示全部楼层
loftydongshi 发表于 2013-5-9 09:48
楼主还是到处stop一下,很快就知道哪儿有错误了

求强人讲解~为什么我对海温处理时候,一些格点经过标准化处理后方差为零啦???而且我已经剔除了缺测值了 自习看发现原始的数据计算据平和方差这些格点的值就很小,但是标准化后貌似都变成1或者-1啦,您遇到过类似问题吗??
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表