- 积分
- 35
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-5-4
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
总说超过数组界限。
厄尔尼诺事件的定义:
Nin3.4指数超过0.5℃持续5个月或以上定义为一次厄尔尼诺事件。其中,若大于0.5的指数间断两个月或以上,则认为两次事件不连续;若间断一个月,并且该月的Nino3.4指数的3个月滑动平均值超过0.5则认为前后事件连续,否则不连续。
根据以上定义,使用CPC提供的1950年以来的Nino3.4指数,共筛选出20次厄尔尼诺事件。
program main
integer::m=0,k=0,i,j
!m用于判断指数大于0.5是否连续有5个月以及以上,k用于表示一共有多少次厄尔尼诺事件
parameter(n=815)
!1950-2017年每个月有1个数据,然后2017年12月的数据任然未出,n=815个数据
dimension::x(n)
open(1,file='D:\nino34.txt')
read(1,*)(x(i),i=1,n)
close(1)
print*,x(i)
open(4,file='D:\jg34.txt')
do i=1,n
write(4,120) x(i)
120 format (1X,f8.2,4x,f8.2,5x,2f8.2)
end do
close(4)
do i=1,814
if(x(i)>0.5) then
m=m+1
else
m=0
end if
if(m==5) then
k=k+1 !因为如果设置“if(m>=5)”时候k可能多算了,因为例如m=6时候,本应该是同一厄尔尼诺事件,但是会算两次,
else if(m>=5) then
Open(8,file='D:\Nino34.txt')
write(*,*)'m=',m,'i=',i !输出一下k大于等于5时候的厄尔尼诺事件的位置,即可以看看是从哪一个数据开始连续累计超过5的?
Close(8)
end if
end do
print*,'一共有',k,'次厄尔尼诺事件'
pause
end
|
|