登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 wmlydia 于 2014-7-25 17:16 编辑
最近在用NOAA的标准确定ENSO事件,标准如下:
美国NOAA以Niño 3.4区SSTA的3个月滑动平均值连续5个月≥0.5℃(≤—0.5℃)定义为一次El Niño(La Niña)事件 然后我就编了下面的程序,出来的结果编制成下表,但是发现和文献中有所区别,文献里面也是按照NOAA标准来的, 不知道是什么原因,也知道不能盲目将文献中的结果当做权威,但是又发现另一篇中63/64年是作为厄尔尼诺年的, 回头再看看我的表格里面63年是厄尔尼诺,但是64年是拉尼娜年了,是我程序出错了么? 还有就是像5/72-1/73是一次厄尔尼诺事件的话,那么对于厄尔尼诺年是怎么定义的呢?4/73-3/76又是拉尼娜事件,那么73年到底应该化到拉尼娜年?厄尔尼诺年?
厄尔尼诺
6/63-12/63 5/65-2/66 10/68-4/69 5/72-1/73 9/76-1/77 4/82-5/83 8/86-12/87 4/91-5/92 6/94-2/95 4/97-3/98 4/02-2/03 6/04-1/05 8/06-12/06 5/09-3/10 3/64-12/64 11/67-3/68 6/70-12/71 4/73-3/76 9/84-8/85 4/88-4/89 8/95-1/96 6/98-5/00 7/07-4/08 6/10-2/11 8/11-1/12 !!!!!!!!去除季节变化!!!!!!!!!!!!!!!!!!!!!!!!!
do imo=1,mo
do iyr=1,yr
avenino(imo)=avenino(imo)+nino34(imo,iyr)
enddo
avenino(imo)=avenino(imo)/yr
enddo
do iyr=1,yr
do imo=1,mo
anomly(imo,iyr)=nino34(imo,iyr)-avenino(imo)
anino((iyr-1)*12+imo)=anomly(imo,iyr)
enddo
enddo
!!!!!!!!!三个月滑动平均!!!!!!!!!!!!!!!!
do itt=1,ntt-3+1
do j=1,3
hdz(itt)=hdz(itt)+anino(itt+j-1)
enddo
hdz(itt)=hdz(itt)/3.0
enddo
print*,hdz(13)
k=1
j=1
do itt=1,ntt-3+1
if(mod(itt,12)/=0)then
imo=mod(itt,12)
iyr=(itt-mod(itt,12))/12+1
else
imo=12
iyr=itt/12
endif
!print*,imo,iyr
!pause
if(hdz(itt)>=0.5)then
yerz(k)=year(imo,iyr)
monz(k)=month(imo,iyr)
k=k+1
elseif(hdz(itt)<=-0.5)then
yerf(j)=year(imo,iyr)
monf(j)=month(imo,iyr)
j=j+1
endif
enddo
|