北太平洋SST(1980-1992)的EOF分解及初步分析
- 格式:doc
- 大小:1.72 MB
- 文档页数:13
fid=fopen('','r');Num=360;data=zeros(360,180,Num);for i=1:Numaaa=fscanf(fid,'%s',7);data(:,:,i)=fscanf(fid,'%f',[360,180]);endsst1=data(1:90,11:70,1:Num); % 选取所需要区域的数据sst2=data(311:360,11:70,1:Num);sst3=zeros(140,60,Num);sst3(90:-1:1,1:60,1:Num)=sst1;sst3(140:-1:91,1:60,1:Num)=sst2;sst=sst3;for i=1:140for j=1:60for k=1:Numif(sst(i,j,k)==-1000)||((sst(i,j,k)==-32768))sst(i,j,k)=NaN;endendendendsst_area1=zeros(Num,8400); % zeros全零数组for i=1:Num;squ=squeeze(sst(:,:,i)); % 执行该指令后sst数据转换为二维数组sst_area1(i,:)=reshape(squ,1,8400); % 将数据转变为二维endsst_nan=isnan(sst_area1);i=0;for j=1:8400if sum(sst_nan(:,j))==0;i=i+1;sst_region(:,i)=sst_area1(:,j);endend% 求距平~注意季节的变换X=zeros(size(sst_region)); % 学者给的程序for i=1:12X(i:12:Num-12+i,:)=sst_region(i:12:end,:) - repmat( mean(sst_region(i:12:end,:),1) , size(sst_region(i:12:end,:),1), 1);endR=X*X'; % 协方差矩阵R=X*X'是8400*8400的方阵~现定义矩阵R=X'*X是156*156的矩阵[v,d]=eig(R); % 进行EOF分解~因为X'*X 与X*X'的秩相同所以特征值相同~d为x的特征值组成的对角阵~v为X*X'的特征向量~[diagonal,I]=sort(diag(d),'descend');v=v(:,I);G=diagonal/sum(diagonal);Gs=0;for i=1:length(G)Gs(i)=sum(G(1:i));if Gs(i)> break;endendN=length(Gs)%v=fliplr(v); % 矩阵作左右翻转%d=rot90(d,2); % 矩阵上下翻转后再左右翻转(查看生成的对角阵是由小到大排列的~此指令可使其由大到小排列~fliplr(flipud(d))=rot90(d,2))%diagonal=diag(d);spacef=X'*v;for i=1:Num;spacef(:,i)=spacef(:,i)/sqrt(diagonal(i)); % 空间本征函数endtimef=X*spacef; % 时间本征函数sum_d=sum(diagonal);count=0;for i=1:Num;count=count+diagonal(i);G1(i)=count/sum_d; % G1(i)是累积方差贡献率endfor i=1:Num;G2(i)=diagonal(i)/sum_d; % G2(i)是方差贡献率end%**************************************************************************% 将删去的陆地与冰点的填充值补回sst_area2=zeros(Num,8400);sst_area2(:,:)=NaN;i=1;spacef2=spacef';for j=1:8400if sum(sst_nan(:,j))==0;sst_area2(:,j)=spacef2(:,i);i=i+1;endendsst_area3=sst_area2';%************************************************************************** % 画图% subplot(2,1,2) % 将绘图窗口划分为2*1个子窗口,并在第2个子窗口中绘图figure(1)x=1:Num;plot(x,timef(:,1),'g');%ylim([ -80 80 ]);% xlabel('1980-1992年156个月','fontsize',15,'fontname','隶书')ylabel('INDEX','fontsize',12,'fontname','黑体')set(gca,'xtick',(1:6:Num))set(gca,'xticklabel',{'1980','','1981','','1982','','1983','','1984','','1985','','1986','','1987','','1988','','1989','','1990','','1991','','1992','','1993'})title('北太平洋第1模态1980至1992年SST时间序列', 'color','k','fontsize',15,'fontname','幼圆')grid onhold off% %subplot(2,1,1)% lon=[:];% lat=[:];% m_proj('Equidistant Cylindrical','lat',[ ],'lon',[ ]);%m_contourf(lon,lat,rot90(reshape(sst_area3(:,6),140,60)',2),30,'linestyle','none');% colorbar% m_coast('patch',[.95 .95 .95]);% m_coast('color','k');% m_grid('linestyle','none','tickdir','out','linewidth',;% % xlabel('longitude','fontsize',15,'fontname','comic sans ms');% % ylabel('latitude','fontsize',15,'fontname','comic sans ms');% title(['北太平洋第6模态填色图'],'fontsize',15,'fontname','幼圆');lon=[:];lat=[:];figure(2)m_proj('lambert','lat',[ ],'lon',[ ]);m_contourf(lon,lat,rot90(reshape(sst_area3(:,1),140,60)',2));% colorbar;m_coast('patch',[1 .85 .7]);%m_elev('contourf',[500:500:6000]);m_grid('box','fancy','tickdir','in');%colormap(flipud(copper));% xlabel('longitude','fontsize',15,'fontname','幼圆');% ylabel('latitude','fontsize',15,'fontname','幼圆');title(['北太平洋第1模态填色图'],'fontsize',15,'fontname','幼圆'); colorbar。
20世纪80年代中期以来东亚大槽和东中国海海温关系的年代际减弱和成因分析王国松;侯敏;李琰;牟林;尚建设;宋军;高佳;李程;李欢【摘要】基于HadlSST (Hadley Centre Sea-ice and Sea surface Temperature Data Set)的月平均海温(SST)资料,对1960-2012年中国近海冬季SST的长期变化趋势进行了详细分析.结果显示冬季SST经历了一个显著的升温过程,增幅达0.018℃/年,在80年代末期发生了显著的气候增暖过程.对东亚冬季风子系统与冬季东中国海SST关系的年代际变化进行了分析.结果发现在1960-2012年间,东亚冬季风5个关键子系统中,东亚大槽与东中国海冬季SST年际变率上关系最为密切.进一步研究发现,自20世纪80年代中期以来,东亚大槽和东中国海冬季SST都发生了明显的年代际变化,其中东亚大槽为年代际减弱,而东中国海冬季SST发生了年代际增暖.尽管1960-2012年间东亚大槽与东中国海冬季SST有显著的负相关关系,但这种统计相关在1989-2012年期间显著减弱.这种相关减弱的原因很可能是由于NPO (North Pacific Oscillation)的年代际变化背景下的东亚大槽的强度减弱有关.【期刊名称】《海洋通报》【年(卷),期】2016(035)006【总页数】8页(P649-656)【关键词】海温;东亚冬季风;东亚大槽;中国近海;年季变化【作者】王国松;侯敏;李琰;牟林;尚建设;宋军;高佳;李程;李欢【作者单位】国家海洋信息中心,天津300171;国家海洋局海洋-大气化学与全球变化重点实验室,福建厦门361005;天津市滨海新区气象局,天津300457;国家海洋信息中心,天津300171;国家海洋局海洋-大气化学与全球变化重点实验室,福建厦门361005;国家海洋信息中心,天津300171;山东省商河县气象局,山东济南251600;国家海洋信息中心,天津300171;国家海洋信息中心,天津300171;国家海洋信息中心,天津300171;国家海洋信息中心,天津300171【正文语种】中文【中图分类】P732.5从地理位置上看,渤、黄、东海紧密相连,海水交换频繁,因此东中国海SST长期变化有比较一致的趋势。
eof分解海温的意义
EOF分解是一种信号分解的方法,也称为经验正交函数分解法(Empirical Orthogonal Function, EOF)。
它是一种用于分析气候和海洋数据的方法,用来分解多个变量之间的相关性和变化。
EOF分解的意义在于,它可以将一个复杂的变量(例如海温)分解成多个简单的变量,即EOF模态。
这些EOF模态可以用来解释不同时间尺度和空间尺度上的变化,从而提高我们对海洋和气候变化现象的理解。
通过分析和研究这些EOF模态,我们可以揭示海洋和气候变化的机理和规律,并对未来的变化进行预测和评估。
对于海洋温度数据,EOF分解可以提取出不同时间尺度上的变化,比如年际、年代际和多年际的变化。
这些变化可以对应不同的海洋现象,如厄尔尼诺南方涛动(ENSO)和北极涛动(AO)。
通过对这些现象的研究,我们可以更好地理解全球气候系统的运作,并预测未来的变化。
同时,EOF分解也可以帮助我们了解海洋温度在空间尺度上的变化。
例如,它可以识别出海温异常发生的区域,如东太平洋暖池和西北太平洋冷涡,从而提高我们对区域海洋环境变化的认识,有助于制定相关的保护和管理措施。
总之,EOF分解是一种强大的工具,能够帮助我们更好地了解海洋和气候变化现象的本质和规律。
通过对不同时间尺度和空间尺度上海洋温度的分解和分析,我们可以为海洋环境的保护和管理作出更加全面准确的预测和决策。
太平洋次表层海温距平的立体EOF分析及其与ENSO的关系张立峰;许建平;何金海【期刊名称】《海洋预报》【年(卷),期】2005(22)4【摘要】应用太平洋次表层海温距平资料构造了一个立体的西低东高的四级阶梯模型,使用EOF方法对此模型进行时空分解,并讨论与ENSO循环的关系.结果表明,EOF分解的前两个主分量方差贡献达到42.58%,其中第一主分量代表了暖池-厄尔尼诺(拉尼娜)模态;第二主分量代表了次表层温度距平的东西运移模态.后者存在着突变和渐变两个过程,在赤道及其附近,由冷位相变暖位相为渐变过程,暖位相变冷位相是突变过程,在赤道外南北纬10°附近则反之,厄尔尼诺正是东西运移模态突变的结果.时滞相关分析估算,一次ENSO循环的平均周期约为41个月,即3.42a,厄尔尼诺、拉尼娜模态与温度距平的东西运移模态的位相差平均约为9.7个月.运用逐步回归法求得一个对nino3指数预报效果比较理想的预报方程,其中EOF分解的第一时间系数对nino3距平指数有重要的预报价值,第二时间系数对nino3距平指数预报意义虽然不如第一时间系数明显,但仍具有一定的参考价值.【总页数】9页(P27-35)【作者】张立峰;许建平;何金海【作者单位】南京气象学院大气科学系,江苏,南京,210044;国家海洋局海洋动力过程与卫星海洋学重点实验室,浙江,杭州,310012;国家海洋局第二海洋研究所,浙江,杭州,310012;国家海洋局海洋动力过程与卫星海洋学重点实验室,浙江,杭州,310012;南京气象学院大气科学系,江苏,南京,210044【正文语种】中文【中图分类】P731【相关文献】1.热带太平洋次表层三维海温距平场的EOF分析 [J], 张立峰;许建平;何金海2.赤道太平洋次表层海温距平的EEOF分析及与厄尔尼诺的关系 [J], 杜华栋;李婧;叶志敏;兰伟仁3.西太平洋暖池次表层海温异常与ENSO关系的CGCM模拟结果 [J], 周广庆;李崇银4.ENSO事件中次表层海温距平在10°N附近向西传播的机理 [J], 巢纪平;蔡怡5.ENSO—7赤道西太平洋异常纬向风所驱动的热带太平洋次表层海温距平的循环[J], 李崇银;穆明权因版权原因,仅展示原文概要,查看原文内容请购买。
北太平洋SST(1980-1992)的EOF分解及初步分析北太平洋SST(1980-1992)的EOF分解及初步分析数据来源:本⽂利⽤来⾃英国⽓象局Hadley⽓候预测和研究中⼼的HadISST海温资料,对北太平洋(20N-80N 130E-90W)1980⾄1992年156个⽉的SST进⾏研究,。
本⽂选取下载了1870年1⽉⾄2011年3⽉的全球SST数据,数据格式为*.netcdf,分辨率为1°。
以下给出了数据下载的途径和链接:①/doc/8249cd8783d049649b66585f.html /hadobs/hadisst/index.html点击页⾯中⼼处蓝⾊“main data page”:图1②/doc/8249cd8783d049649b66585f.html /hadobs/hadisst/data/download.html选择SST数据下载:图2数据处理:本⽂选取下载了1870年1⽉⾄2011年3⽉的全球SST数据,数据格式为*.netcdf,数据名为HadISST_sst.nc,截取北太平洋(20N-80N 130E-90W)1980年1⽉⾄1992年12⽉156个⽉份的SST数据进⾏经验正交函数(Empirical Othorgnal Function)分解,简记为EOF分解,得到该区域该时段的海温时空特征。
在编写Matlab程序过程中,应特别注意:⑴剔除与其它站点相关系数⼩的站点的数据~简单的认为剔除陆地和冬季结冰点的数据;⑵求距平值的协⽅差矩阵时,要进⾏逐⽉平均求距平,⽽不能是156个⽉的平均值,否则会导致第1模态的⽅差贡献率很⼤;⑶当变量数m远⼤于观测样本数n时,导致协⽅差矩阵mRm=(nXm’)*(nXm)的阶数较⼤,可先求(nXm)*(nXm’)矩阵的特征值和特征向量,再求(nXm’)*(nXm)的特征值和特征向量,这叫做时空转换;⑷M⽂件编写时要尽量减少循环量,提⾼运算速度;⑸EOF分析能够有效地体现物理场主要信息,保留次要信息,并排除外来的随机⼲扰。
热带太平洋上层洋流异常的复EOF分析卢姁;包赟;吕庆平【摘要】采用复EOF分析方法,对全年热带太平洋海域的上层洋流异常做了统计动力诊断,主要结论有:热带太平洋上层洋流异常复EOF分解第一、二模态的空间场均为赤道所俘获,并在赤道南北方向均呈迅速衰减的态势,其表现为赤道陷波的形式.第一、二模态时间系数为复数,其辐角均集中在两个状态,其模则表示了流场异常的大小.该时间系数均有年际变化和年代际变化,其年际变化的周期均与ENSO相同;在冬季,其年代际变化周期分别与北太平洋主要气候模态PDO和NPGO,以及热带外北太平洋流场异常复EOF分解前两模态的周期相同或相近,这反映了热带与中纬度各大气、海洋系统之间的相互耦合.由各模态流场异常可得相应的垂直运动异常,从而可估计SSTA的动力变化;第一模态在赤道东、西太平洋处呈现东西向的跷跷板变化;第二模态则在西太平洋赤道上以及其北侧的西太平洋暖池处,呈现南北向的跷跷板变化.第一模态的性质为海洋赤道Kelvin波的异常,可称之为ENSO的主要模态;第二模态的性质为海洋混合Rossby-重力惯性波的异常,可称之为ENSO的次要模态.【期刊名称】《海洋预报》【年(卷),期】2014(031)002【总页数】11页(P56-66)【关键词】复EOF分析;热带太平洋;大洋环流异常【作者】卢姁;包赟;吕庆平【作者单位】中国人民解放军61741部队,北京100094;中国人民解放军61741部队,北京100094;中国人民解放军东海舰队海洋水文气象中心,浙江宁波315122【正文语种】中文【中图分类】P732.61 引言海洋,尤其是热带海洋,是大气运动的重要能源,对气候变化有着不可忽视的影响。
大洋环流既影响海洋热含量的分布,也影响到海洋向大气的热量输送过程。
低纬度海洋获得了较多的太阳辐射能,通过大洋环流可将其中一部分输送到中高纬度海洋,然后再提供给大气。
前人对热带太平洋海洋状态的异常多集中在表层温度异常(SSTA)上,并探讨了其与东亚冬、夏季风异常和长江中下游及华北降水、温度异常之间的关系[1]。
最近做了一些数据分析,用到EOF分解,但是并没有发现网上有中文的相关资源,个人认为这个东西的理解对搞物理海洋和大气科学的人还是非常重要的,这里谈点自己的理解,也请大家多批评指正。
EOF Decomposition 即正交经验函数分解,英文也常用PCA(Pri ncipal Components Analysis)即主成分分析。
撒一把芝麻在地上,让你用个尽可能小的椭圆把它们圈起来。
这个椭圆的长轴,就是这堆芝麻的第一主成分,所谓first leading EOF,也叫Mode-1,短轴呢,就是第二主成分了。
如果这群芝麻撒得特听话,基本排成一条线,你的椭圆就会特别扁,这时候长轴就特别能描述这群芝麻的特点。
理想化一下,芝麻们就排成一直线,椭圆就理想成Ax+B了。
长轴和短轴差别越大,即长轴的“方差贡献”越大,描述地越好。
这是最简单的对EOF的理解。
说起将EOF用在大气海洋,不可不提的一个人就是John Kutzbach,U niv. Wisconsin-Madison 的senior scientist。
以前的EOF是一个纯数学概念,和海洋大气并不搭界,而Kutzbach 第一个把EOF引入海洋大气界,开始彻底改变人们对数据分析和物理现象的认识。
Kutzbach 是个很有传奇色彩的人物,有很多开创性的工作。
比如虽然大家公认Wallace 是Arctic Oscillation 的提出者,其实Kutzbach 很早就发现了AO的存在。
再比如Earth's Climate System 概念的提出及学科系统的完善,他也是功不可没。
Ruddiman 著Earth's Climate: Past and Future 的时候,第一句话就是献给Kutzbach,极高地评价他headedthe effort to make the study of Earth's climate a science. 还有很多鲜为人知的故事,在此不表。
北太平洋SST的EOF分解及初步分析北太平洋SST (Sea Surface Temperature) 是指北太平洋地区水面温度的分布情况。
EOF (Empirical Orthogonal Function) 分解是一种统计方法,用于分析数据中的空间变异性。
在北太平洋SST的EOF分解中,通常会得到一组空间模态(EOF模态),以及对应的时间系数(PC)。
首先,需要确定北太平洋SST的观测数据集。
可以使用卫星遥感数据或从海洋观测站获取的实测数据。
这些数据需要具有时间和空间信息。
接下来,对北太平洋SST数据进行预处理。
通常会进行平滑、去趋势、去季节性等处理,以减少噪音和随机变异。
然后,进行EOF分解。
EOF分解是一种通过计算协方差矩阵的特征值和特征向量,来确定主要变化模式的方法。
特征向量描述了空间分布模态,特征值表示相应变量的能量。
得到EOF模态后,可以通过分析每个EOF模态所解释的方差百分比,来确定每个模态的重要性。
通常选择方差百分比较高的模态,作为主要的空间变化模式。
在得到主要模态后,可以计算每个模态的时间系数(PC)。
时间系数表示每个模态在不同时间点上的变化幅度。
通过分析时间系数,可以了解每个模态在不同时间尺度上的重要性。
接下来,对每个主要模态进行初步分析。
可以对每个模态进行时空分析,找出与其他变量(如气候因子)的关联性,以及对气候事件(如厄尔尼诺事件)的响应等。
需要注意的是,北太平洋SST的EOF分解及初步分析是基于统计方法,因此结果可能受到数据质量、预处理方法和分解参数等因素的影响。
对结果进行稳健性检验是非常重要的。
综上所述,北太平洋SST的EOF分解及初步分析是一种用于揭示海洋表面温度场的主要变化模式及其与其他因素的关联性的方法。
通过分析EOF模态和时间系数,可以了解北太平洋SST在不同时间和空间尺度上的特征和变化规律。
这对于理解北太平洋海洋环境的变化,并预测气候事件的发生具有重要意义。
东海黑潮流量的年际和年代际变化齐继峰;尹宝树;杨德周;徐振华【摘要】本文基于日本气象厅1956-2005年间在东海PN断面获得的观测资料,结合NCEP风场资料,研究了东海黑潮流量的年际和年代际变化特征,并探讨了西北太平洋风场和太平洋年代际振荡(PDO)对黑潮流量年际和年代际变化的影响.结果表明,东海黑潮流量基本服从正态分布,主要集中在19-33Sv范围内,其多年平均值为24.30 Sv(1 Sv=106m3/s);季平均、冬、夏季黑潮流量都存在着显著的年际和年代际变化.东海黑潮流量输送具有长期的线性增强趋势,在1956-2005年间它们分别增加了8.73Sv、9.86Sv和9.38Sv.相关与合成分析结果表明,黑潮源区和东海黑潮流域上空的经向风异常是黑潮流量年际变化的重要影响因素,而PDO则对黑潮流量的年代际变化有重要作用.【期刊名称】《海洋与湖沼》【年(卷),期】2014(045)006【总页数】7页(P1141-1147)【关键词】东海;黑潮;经向风;年际变化;年代际变化【作者】齐继峰;尹宝树;杨德周;徐振华【作者单位】中国科学院海洋研究所青岛266071;中国科学院海洋环流与波动重点实验室青岛266071;中国科学院大学北京100049;中国科学院海洋研究所青岛266071;中国科学院海洋环流与波动重点实验室青岛266071;中国科学院海洋研究所青岛266071;中国科学院海洋环流与波动重点实验室青岛266071;中国科学院海洋研究所青岛266071;中国科学院海洋环流与波动重点实验室青岛266071【正文语种】中文【中图分类】P731黑潮是北太平洋的西边界流, 也是世界著名的洋流之一。
它起源于菲律宾以东海域, 沿台湾以东流向东北进入东海, 然后穿越吐噶喇海峡流出东海, 最终经日本以南海域汇入北太平洋。
黑潮具有流速强、流量大、高温、高盐等特性, 将低纬度海域的高温、高盐水输送到中纬度区域, 从而成为影响北太平洋海洋环境和气候变化的重要因素。
北太平洋SST(1980-1992)的EOF分解及初步分析数据来源:本文利用来自英国气象局Hadley气候预测和研究中心的HadISST海温资料,对北太平洋(20N-80N 130E-90W)1980至1992年156个月的SST进行研究,。
本文选取下载了1870年1月至2011年3月的全球SST数据,数据格式为*cdf,分辨率为1°。
以下给出了数据下载的途径和链接:①点击页面中心处蓝色“main data page”:图1②选择SST数据下载:图2数据处理:本文选取下载了1870年1月至2011年3月的全球SST数据,数据格式为*cdf,数据名为,截取北太平洋(20N-80N 130E-90W)1980年1月至1992年12月156个月份的SST数据进行经验正交函数(Empirical Othorgnal Function)分解,简记为EOF分解,得到该区域该时段的海温时空特征。
在编写Matlab程序过程中,应特别注意:⑴剔除与其它站点相关系数小的站点的数据~简单的认为剔除陆地和冬季结冰点的数据;⑵求距平值的协方差矩阵时,要进行逐月平均求距平,而不能是156个月的平均值,否则会导致第1模态的方差贡献率很大;⑶当变量数m远大于观测样本数n时,导致协方差矩阵mRm=(nXm’)*(nXm)的阶数较大,可先求(nXm)*(nXm’)矩阵的特征值和特征向量,再求(nXm’)*(nXm)的特征值和特征向量,这叫做时空转换;⑷M文件编写时要尽量减少循环量,提高运算速度;⑸EOF分析能够有效地体现物理场主要信息,保留次要信息,并排除外来的随机干扰。
数据分析:用主成分分析(Principal Component Analysis)的方法,即PCA对结果进行分析:主成分分析是多元统计分析中一个非常重要的内容,它是一种从多个变量化为少数变量的统计方法。
由于多个变量之间是相互影响的,它们之间的关系是非常复杂的,为简化分析又不损失信息,并提取它们之间相互关系的主要特征,主成分分析利用多个变量之间的相互关系构造一些新变量,这些新变量不仅能综合反映原来多个变量的信息,而且彼此之间是相互独立的,同时是按方差贡献大小排列的。
方差贡献率小的变量通常规律性很差,其实际物理意义也不清晰,因此在实际分析过程中常常视为误差量或噪声而忽略,只取方差贡献率大的变量来研究,从而达到降维分析的目的。
通过对相应数据处理分析,前13个主成分的累积方差贡献率占总方差的,对前13个主模态的方差贡献率和累积方差贡献率列表格:图3现仅列出北太平洋前5个主模态的空间分布填色图及时间序列,并对第1和第3模态进行分析:北太平洋第1模态填色图及时间序列图4北太平洋第2模态填色图及时间序列图5北太平洋第3模态填色图及时间序列图6北太平洋第4模态填色图及时间序列图7北太平洋第5模态填色图及时间序列图8对第1主模态进行分析:北太平洋洋流图9图10(a)图10(b)图10(a)是第1模态空间分布型,它解释海温场总方差的%,此型在北太平洋西、中部被一片强负值控制,负中心约在170°E,40°N和150°W,40°N附近,而北太平洋东部和北美沿岸为较弱的正值区,说明北太平洋西、中部海温与东部海温是反相关关系,负区与北太平洋西风漂流区(如图9)吻合。
由美国海洋学家斯蒂文•黑尔于1996年发现的太平洋年代际振荡(PDO)被科学研究的初步结果表明其与厄尔尼诺(El Niño)和拉尼娜(La Nina)现象有着极其密切的关系。
该型可以反映和PDO有关的大尺度分布特征,因此这种分布型是全球海洋与大气相互作用的一个重要组成部分,它是北太平洋海温非季节变化的最重要的型式。
Monthly values for the PDO index: 1900—January2008 图11图10(c)观察发现图11(Monthly values for the PDO index: 1900—January2008)1980年至1992年时间段的指数和第1模态的时间序列图10(c)有很好的对应关系,可以验证北太平洋海表面温度第1模态空间分布型确实与PDO有很强的相关性。
资料显示,近100多年来,PDO已出现了两个完整的周期:第一周期的“冷位相”发生于1890年至1924年,而1925年至1946年为“暖位相”;第二周期的“冷位相”出现于1947年至1976年,1977年至90年代后期为“暖位相”。
当PDO现象以“暖位相”形式出现时,北美大陆附近海面的水温就会异常升高,而北太平洋洋面温度却异常下降。
并且,在20-30年的冷、暖位相中,会存在短期的反向指数。
由时间序列可知:1980年至1988年底,时间序列指数基本为正值,说明图10(a)中蓝色区域海表面温度低于红色区域海表面温度,即北太平洋西、中部海温低于东部海温;1989年初至1992年初,时间序列指数为负值,说明10(a)中蓝色区域海表面温度高于红色区域海表面温度,即北太平洋西、中部海温高于东部海温。
此分析和历史资料相吻合。
对第3主模态进行分析:图12(a)图11(a)是第3模态空间分布型,它解释海温场总方差的%,此型在北太平洋阿留申群岛南部被一片强正值控制,正值中心约在150°W,40°N附近,而其西南部和日本海海域为一片较强的负区与之相互补偿,其东南部北美洲沿岸为较弱的负值区,说明北太平洋中部海表面温度与东、西两侧海表面温度呈反相关。
正、负中心基本上与北太平洋大气活动中心(阿留申低压与西太平洋高压)对应。
表明正、负区域是海气相互作用最活跃的区域。
查阅资料可知,这种模态的变化,对我国的天气与气候有明显的影响。
图12(b)结合第3模态的时间序列可知:1980年至1983年6月、1987年6月至1988年底及1990年,时间序列指数基本为负值,说明图10(a)中蓝色区域海表面温度高于红色区域海表面温度,即北太平洋西、中部海温高于东部海温;1983年7月至1987年初、1989年及1991年初至1992年底,时间序列指数为正值,说明10(a)中蓝色区域海表面温度低于红色区域海表面温度,即北太平洋西、中部海温高于东部海温。
总结:本文通过对北太平洋1980年至1992年SST数据处理、EOF分解和初步分析,掌握了主成分分析、时空转换的原理和方法,提高了Matlab的编程和绘图技巧并对主模态和时间序列的分析进行了联系。
在此过程中克服了很多困难,受益匪浅。
但和很多同学相比,仍然有很大差距,将会更加虚心请教,刻苦钻研,以取得不断进步。
参考文献:[1]左军成.海洋水文环境要素的分析方法和预报[2]胡基福.气象统计原理与方法[3]黄嘉佑.气象统计分析与预报方法[4]杜凌.海洋要素计算(2011)PPT[5]姜霞.气象统计原理与方法(2011)PPTM文件:clear;clc;close alladdress='E:\oceanelement\';fid=(address,'NC_NOWRITE');sstid = (fid,'sst');sst=(fid,sstid); % 读取nc格式数据%**************************************************************************sst1=sst(1:90,11:70,1320:1475); % 选取所需要区域的数据sst2=sst(311:360,11:70,1320:1475);sst3=zeros(140,60,156);sst3(90:-1:1,1:60,1:156)=sst1;sst3(140:-1:91,1:60,1:156)=sst2;sst=sst3;%**************************************************************************sst_area1=zeros(156,8400); % zeros全零数组for i=1:156;squ=squeeze(sst(:,:,i)); % 执行该指令后sst数据转换为二维数组sst_area1(i,:)=reshape(squ,1,8400); % 将数据转变为二维end%**************************************************************************% 剔除与其它站点相关系数小的站点的数据~简单的认为剔除陆地和冬季结冰点的数据sst_area1(sst_area1<-10000)=NaN; % 陆地和冰点的填充值为+30~将此值定义为NaN% i=1;% for j=1:8400% if sst_area1(i,j)==% sst_area1(i,j)=NaN; % 冰点的填充值为% i=i+1;% end% endsst_nan=isnan(sst_area1);i=0;for j=1:8400if sum(sst_nan(:,j))==0;i=i+1;sst_region(:,i)=sst_area1(:,j);endend%**************************************************************************% 求距平~注意季节的变换X=zeros(size(sst_region)); % 学者给的程序for i=1:12X(i:12:144+i,:)=sst_region(i:12:end,:) - repmat( mean(sst_region(i:12:end,:),1) , size(sst_region(i:12:end,:),1), 1);end% s=0; % 自己的~很多循环计算慢% for k=1:12;% for j=1:4344;% for i=k:12:144+k% s=s+sst_region(i,j);% end% s_ave=s/13;% for i=k:12:144+k% ave_region(i,j)=s_ave;% end% s=0;% end% end% X=sst_region-ave_region; % X1是156*8400的矩阵%**************************************************************************% 由于变量数(8400)>观测样本数~协方差矩阵的阶数较大~因此可用时空转换的方法提高计算速度R=X*X'; % 协方差矩阵R=X*X'是8400*8400的方阵~现定义矩阵R=X'*X是156*156的矩阵[v,d]=eig(R); % 进行EOF分解~因为X'*X与X*X'的秩相同所以特征值相同~d为x的特征值组成的对角阵~v为X*X'的特征向量~v=fliplr(v); % 矩阵作左右翻转d=rot90(d,2); % 矩阵上下翻转后再左右翻转(查看生成的对角阵是由小到大排列的~此指令可使其由大到小排列~fliplr(flipud(d))=rot90(d,2))diagonal=diag(d);spacef=X'*v;for i=1:156;spacef(:,i)=spacef(:,i)/sqrt(diagonal(i)); % 空间本征函数endtimef=X*spacef; % 时间本征函数sum_d=sum(diagonal);count=0;for i=1:156;count=count+diagonal(i);G1(i)=count/sum_d; % G1(i)是累积方差贡献率endfor i=1:156;G2(i)=diagonal(i)/sum_d; % G2(i)是方差贡献率end%**************************************************************************% 将删去的陆地与冰点的填充值补回sst_area2=zeros(156,8400);sst_area2(:,:)=NaN;i=1;spacef2=spacef';for j=1:8400if sum(sst_nan(:,j))==0;sst_area2(:,j)=spacef2(:,i);i=i+1;endendsst_area3=sst_area2';%**************************************************************************% 画图% subplot(2,1,2) % 将绘图窗口划分为2*1个子窗口,并在第2个子窗口中绘图x=1:156;plot(x,timef(:,6),'g');ylim([ -80 80 ]);% xlabel('1980-1992年156个月','fontsize',15,'fontname','隶书')ylabel('INDEX','fontsize',12,'fontname','黑体')set(gca,'xtick',(1:6:162))set(gca,'xticklabel',{'1980','','1981','','1982','','1983','','1984','','1985','','1986','','1987','','1988','','1 989','','1990','','1991','','1992','','1993'})title('北太平洋第6模态1980至1992年SST时间序列', 'color', 'k','fontsize',15,'fontname','幼圆')grid onhold off% %subplot(2,1,1)% lon=[:];% lat=[:];% m_proj('Equidistant Cylindrical','lat',[ ],'lon',[ ]);% m_contourf(lon,lat,rot90(reshape(sst_area3(:,6),140,60)',2),30,'linestyle','none'); % colorbar% m_coast('patch',[.95 .95 .95]);% m_coast('color','k');% m_grid('linestyle','none','tickdir','out','linewidth',;% % xlabel('longitude','fontsize',15,'fontname','comic sans ms');% % ylabel('latitude','fontsize',15,'fontname','comic sans ms');% title(['北太平洋第6模态填色图'],'fontsize',15,'fontname','幼圆');lon=[:];lat=[:];m_proj('lambert','long',[ ],'lat',[ ]);m_contourf(lon,lat,rot90(reshape(sst_area3(:,1),140,60)',2));% colorbar;m_coast('patch',[1 .85 .7]);m_elev('contourf',[500:500:6000]);m_grid('box','fancy','tickdir','in');colormap(flipud(copper));% xlabel('longitude','fontsize',15,'fontname','幼圆');% ylabel('latitude','fontsize',15,'fontname','幼圆');title(['北太平洋第1模态填色图'],'fontsize',15,'fontname','幼圆');。