爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2889|回复: 7

[求助] 到底哪个数组边界溢出了呢?

[复制链接]

新浪微博达人勋

发表于 2013-12-3 16:43:31 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 TWiligHT 于 2013-12-3 20:56 编辑

资料是1948到2012年的月平均高度场计算eU遥相关指数的已经正确,可是计算eu遥相关指数与同期环流场相关系数出了问题,说我数组溢出,而且为什么我write高度场平均值时后二十几年的值竟然是一样的,求大神帮助!!!
program ex1118
real h(144,73,12,65),eu1(65),eu2(65),eu3(65),eu(65),euu(65),ave(144,73),a(144,73),&
     b(65),c(144,73),d(144,73),r1(144,73),m(65)
real mean,s,total,s1,sum1
open(10,file='e:\dqsx\swx3\h500.grd',form='binary',status='old')
    do it=1,65
do k=1,12
do j=1,73
do i=1,144
read(10)h(i,j,k,it)
enddo;enddo;enddo;enddo
      write(*,*)'read data ok'
  do it=1,65
       eu1(it)=-0.25*h(9,59,1,it)
       eu2(it)=0.5*h(31,59,1,it)
    eu3(it)=-0.25*h(59,53,1,it)
    eu(it)=eu1(it)+eu2(it)+eu3(it)
    write(*,*) eu(it)
   total=total+eu(it)
    enddo
mean=total/65.0  !65年遥相关指数平均值
do it=1,65
m(it)=(eu(it)-mean)**2
s=s+m(it)
enddo
s1=sqrt(s/65.0)
do it=1,65
euu(it)=(eu(it)-mean)/s1  !标准化后的1月份遥相关指数时间序列
      write(*,*) euu(it)
enddo
!!!!!!!!!!!!!!!!!!EU遥相关指数与同期环流场的相关系数
do j=1,73
do i=1,144
do it=1,65
ave(i,j)=ave(i,j)+h(i,j,1,it)!65年高度场的累加,正确
enddo
enddo
enddo
do j=1,73
do i=1,144
ave(i,j)=ave(i,j)/65.0  !65年高度场平均值,错误
!write(*,*) ave(i,j)
enddo;enddo
do j=1,73
do i=1,144
do it=1,65
a(i,j)=h(i,j,1,it)-ave(i,j)  !高度场距平
!write(*,*) a(i,j)
enddo;enddo;enddo
do it=1,65
b(it)=eu(it)-mean !求指数距平   
enddo
do it=1,65
do j=1,144
do i=1,73
c(i,j)=c(i,j)+a(i,j)*b(it)
d(i,j)=d(i,j)+a(i,j)**2
!write(*,*) c(i,j)
!write(*,*) d(i,j)
enddo;enddo
sum1=sum1+b(it)**2
enddo
sum1=sqrt(sum1)
do j=1,73
do i=1,144
d(i,j)=sqrt((d(i,j)))
enddo;enddo
do j=1,73
do i=1,144
r1(i,j)=c(i,j)/(sum1*d(i,j))
enddo;enddo
open(12,file='e:\dqsx\swx3\euu.grd',form='binary')
do it=1,65
write(12) euu(it)
end do
open(14,file='e:\dqsx\swx3\r1.grd',form='binary')
write(14) ((r1(i,j),i=1,144),j=1,73)
end
2W3(Z9H6(S6(9YGX@HV0R6N.jpg
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-3 17:47:13 | 显示全部楼层
错误提示呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-12-3 19:13:15 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-3 20:47:11 | 显示全部楼层
TWiligHT 发表于 2013-12-3 19:13
啊?啥意思?是程序自己出现的错误提示并不是我编程错了是吗?

你说数组溢出,你怎么看出来的?还不就是运行以后说数组溢出么,把那个截图发上来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-12-3 20:57:25 | 显示全部楼层
river 发表于 2013-12-3 20:47
你说数组溢出,你怎么看出来的?还不就是运行以后说数组溢出么,把那个截图发上来

我重新发了图片,反正我就是错了,还不知道怎么错了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-12-4 11:15:34 | 显示全部楼层
TWiligHT 发表于 2013-12-3 20:57
我重新发了图片,反正我就是错了,还不知道怎么错了。

这个就只能把每一步的结果输出到屏幕上,来确定到底是那一步有问题了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-12-4 12:53:41 | 显示全部楼层
river 发表于 2013-12-4 11:15
这个就只能把每一步的结果输出到屏幕上,来确定到底是那一步有问题了

我改好啦!这次真的是逻辑错误了。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-6-23 21:16:03 | 显示全部楼层
楼主能不能把改好的程序发一个啊,我最近也在做遥相关,图一直出不来,也不知道拿一步错了。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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