好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

气象统计分析与预报 经验正交函数分解.doc

14页
  • 卖家[上传人]:第***
  • 文档编号:31503032
  • 上传时间:2018-02-08
  • 文档格式:DOC
  • 文档大小:444.50KB
  • / 14 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 实验二 经验正交函数分解一、目的和要求:经验正交函数分解(EOF)是统计天气分析中气象要素场最基础的研究模型,是必须理解和掌握的方法之一,是后续课程中许多气象要素场的计算结果的理解的基础理论,也是毕业设计和论文中的基本分析方法该方法用个数较少的几个空间分布模态来描述环流形势,而且基本涵盖环流场的信息,既能作为天气分析模型,其方法的延拓又能作为天气预报模型,在实际工作中也有极强的实用意义通过该实验,深刻理解气象要素场的统计模型的意义,掌握气象要素场分析的基本方法,为实际预报业务和科研工作打下一定的基础二、实验的主要内容:对( - , - )850hPa 高度场进行经验正交展开(EOF.FOR) ,输0No960Eo12W出分析主要参数指标;绘制环流型图和相应的时间系数序列图,并加以分析三、步骤:3.1 熟悉资料方法3.1.1 资料提供的资料为 NCEP/NCAR 60 年(1948 年-2007 年)逐年 1~12 月的 850hPa 高度场资料,资料范围为( - , - ) ,网格距为 2.5*2.5,纬向格点数为 144,90NoS0Eo36经向格点数为 73资料为 NC 格式,资料从南到北、自西向东排列,每月为一个记录,按年逐月排放,注意读取方式以及记录长度。

      本次实验应用 NCEP/NCAR( - , - ) 58 年(1948 年-2005 年)0No960Eo12W逐年 7 月的 850hPa 高度场资料,纬向格点数为 73,经向格点数为 373.1.2 方法(经验正交函数分解 EOF)EOF(经验正交函数分解)是针对气象要素场进行的,其基本原理是把包含 p 个空间点(变量)的场随时间变化进行分解设抽取样本容量为 n 的资料.则场中任一空间点 i 和任一时间点 j 的距平观测值 可看成由 p 个空间函数 和时间函数 (k=1,2,…,p)的线性ijxikvkjy组合,表示成 121pijikjijijipjxvyvyvyLEOF 功能是从一个气象场多次观测资料中识别出主要空间型及其时间演变规律EOF 展开就是将气象变量场分解为空间函数(V)和时间函数(T)两部分的乘积之和:X=VT应用步骤:1) 资料预处理(距平或标准化处理)2) 计算协方差矩阵3) 用 Jacobi 方法或迭代法计算协方差矩阵的特征值与特征向量4) 将特征值从大到小排列5) 计算特征向量的时间系数6) 计算每个特征向量的方差贡献7) 结果输出3.2 编写程序要求编写主程序,其中包括资料读入,范围截取,子程序调用。

      注意: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, STANDERDLIZED 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 COMPONENTS 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 OUTTEVT-输出特征向量文件(二进制) ;c**************************************************************************CHARACTER*50 INFN,OUTERA,OUTTC1,OUTTC2,OUTEVTDATA INFN/'hgt8501948-2005july.grd'/DATA OUTERA/'hgt_XT03ER3.DAT'/DATA OUTTC1/'hgt_XT03TC13.DAT'/DATA OUTTC2/'hgt_XT03TC23.DAT'/DATA OUTEVT/'hgt_XT03VT3.DAT'/C---------------- Read ORIGINAL DATA ----------------------------write(*,*)'Now is reading primative field !'OPEN (8,FILE=INFN,FORM='UNFORMATTED',ACCESS='DIRECT',RECL=N)DO IT=1,MTREAD (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 matrix (F) by using TRANSF !'CALL TRANSF(N,Mt,F,AVF,DF,KS) WRITE(*,*)write(*,*)' STEP 2'write(*,*)' achiving the covariance matrix 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 eigenvectors'WRITE(*,*)' by using 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 time coefficient of the eigenvecters !'CALL OUTVT1(KVT,N,Mt,MNH,S,F,OUTTC1,OUTTC2)WRITE(*,*) WRITE(*,*)' STEP 8'write(*,*)' outputing the eigenvecters !'CALL OUTVT3(KVT,N,Mt,MNH,S,F,OUTEVT)ENDC *************** FINISH THE MAIN PROGRAM *****************************C *C S。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.