《气象统计分析与预报经验正交函数分解》由会员分享,可在线阅读,更多相关《气象统计分析与预报经验正交函数分解(12页珍藏版)》请在金锄头文库上搜索。
1、-实验二 经历正交函数分解一、目的和要求:经历正交函数分解EOF是统计天气分析中气象要素场最根底的研究模型,是必须理解和掌握的方法之一,是后续课程中许多气象要素场的计算结果的理解的根底理论,也是毕业设计和论文中的根本分析方法。该方法用个数较少的几个空间分布模态来描述环流形势,而且根本涵盖环流场的信息,既能作为天气分析模型,其方法的延拓又能作为天气预报模型,在实际工作中也有极强的实用意义。通过该实验,深刻理解气象要素场的统计模型的意义,掌握气象要素场分析的根本方法,为实际预报业务和科研工作打下一定的根底。二、实验的主要容:对-,-850hPa高度场进展经历正交展开EOF.FOR,输出分析主要参数
2、指标;绘制环流型图和相应的时间系数序列图,并加以分析。三、步骤:3.1 熟悉资料方法 资料提供的资料为NCEP/NCAR 60年1948年-2007年逐年112月的850hPa高度场资料,资料围为-,-,网格距为2.5*2.5,纬向格点数为144,经向格点数为73。资料为NC格式,资料从南到北、自西向东排列,每月为一个记录,按年逐月排放,注意读取方式以及记录长度。本次实验应用NCEP/NCAR-,- 58年1948年-2005年逐年7月的850hPa高度场资料,纬向格点数为73,经向格点数为37。 方法经历正交函数分解EOFEOF经历正交函数分解是针对气象要素场进展的,其根本原理是把包含p个空
3、间点变量的场随时间变化进展分解。设抽取样本容量为n的资料.则场中任一空间点i和任一时间点j的距平观测值可看成由p个空间函数和时间函数(k=1,2,p)的线性组合,表示成EOF功能是从一个气象场屡次观测资料中识别出主要空间型及其时间演变规律。EOF展开就是将气象变量场分解为空间函数V和时间函数T两局部的乘积之和:*=VT。应用步骤:1) 资料预处理(距平或标准化处理)2) 计算协方差矩阵3) 用Jacobi方法或迭代法计算协方差矩阵的特征值与特征向量4) 将特征值从大到小排列5) 计算特征向量的时间系数6) 计算每个特征向量的方差奉献7) 结果输出3.2 编写程序要求编写主程序,其中包括资料读入
4、,围截取,子程序调用。注意:EOF的资料输入,时间场一维,空间场一维。*附程序,对关键局部标志出*EOF程序C*C *C PROGRAM NOTES *C *C THIS PROGRAM USES EOF TO ANALYSIS TIME SERIES *C OF METEOROLOGICAL FIELD *C *C*C *C * Parameter Table * *C *C Mt=LENTH OF TIME SERIES *C N =NUMBER OF GRID-POINTS ( or STATIONS ) *C KS=-1, SELF; KS=0, DEPATURE; KS=1, STA
5、NDERDLIZED DEPATURE *C KV = NUMBER OF EIGENVALUES WILL BE OUTPUT *C KVT = NUMBER OF EIGENVECTORS AND TIME SERIES WILL BE OUTPUT *C MNH = Minimum(Mt,N) *C EGVT=EIGENVECTORS, ECOF=TIME COEFFICIENTS FOR EGVT *C ER(KV,1)=LAMDA; LAMDA=EIGENVALUE *C ER(KV,2)=ACCUMULATE LAMDA *C ER(KV,3)=THE SUM OF PONENTS
6、 VECTORS PROJECTED ONTO *C EIGENVACTOR. *C ER(KV,4)=ACCUMULATE ER(KV,3) *C *C* PARAMETER(N=73*37, MT=58, MNH=58) PARAMETER(KS=1, KV=10, KVT=10) REAL F(N,MT),AVF(N),DF(N),ER(MNH,4) REAL A(MNH,MNH),S(MNH,MNH),V(MNH)c*c INFN输入数据文件名;OUTERA输出特征值及方差奉献、累积方差奉献的文件名文本;c OUTTC1输出时间系数文件文本;OUTTC2输出时间系数文件二进制;c OU
7、TTEVT输出特征向量文件二进制;c*CHARACTER*50 INFN,OUTERA,OUTTC1,OUTTC2,OUTEVTDATA INFN/hgt8501948-2005july.grd/DATA OUTERA/hgt_*T03ER3.DAT/DATA OUTTC1/hgt_*T03TC13.DAT/DATA OUTTC2/hgt_*T03TC23.DAT/DATA OUTEVT/hgt_*T03VT3.DAT/C- Read ORIGINAL DATA - write(*,*)Now is reading primative field ! OPEN (8,FILE=INFN,FOR
8、M=UNFORMATTED,ACCESS=DIRECT,RECL=N) DO IT=1,MT READ (8,REC=IT)(F(IS,IT),IS=1,N) END DO pauseC* START TO RUN EOF PROGRAM * WRITE(*,*) write(*,*) FIRST STEP write(*,*) forming the initial matri* (F) by using TRANSF ! CALL TRANSF(N,Mt,F,AVF,DF,KS) WRITE(*,*) write(*,*) STEP 2 write(*,*) achiving the co
9、variance matri* by using the FORMA ! CALL FORMA(N,Mt,MNH,F,A) WRITE(*,*) write(*,*) STEP 3 write(*,*) caculating the eigenvalue and eigenvectors WRITE(*,*) by using Jacob method ! CALL JCB(MNH,A,S,0.001) WRITE(*,*) write(*,*) STEP 4 write(*,*) arrange the eigenvalue and eigenvectorsWRITE(*,*) by usi
10、ng ARRANG ! CALL ARRANG(MNH,A,ER,S) WRITE(*,*) write(*,*) STEP 5 write(*,*) the caculation of standard eigenvectors WRITE(*,*) by using TCOEFF !CALL TCOEFF(KVT,N,Mt,MNH,S,F,V,ER) write(*,*) write(*,*) STEP 6 write(*,*) outputing eigenvalue and accumulation using OUTER ! CALL OUTER(MNH,ER,OUTERA) WRITE(*,*) WRITE(*,*) STEP 7 write(*,*) outputing the tim