短期气候预测实习报告四
南京信息工程大学实验(实习)报告南京信息工程大学实验(实习)报告 实验(实习)名称 短期气候预测实习 日期 11.15 得分指导教师 系 ~ 专业 ~ 年级 ~ 班次~姓名 Trichtu 学号~ 实习目的实习目的:掌握短期气候预测因子的分析和选择, 加深对夏季降水分布、 环流异常在短期气 候预测中物理机制的认识 。 实习要求实习要求; ; 熟悉资料和方法程序(提供部分子程序) ;使用 GRADS 对结果进行绘图输出和文 字分析,完成实习报告。 实习内容:实习内容: 计算 1951-2005 年夏季三类年雨型合成图; 计算各类雨型的前期冬季高度场距平合成图,指出可能出现的遥相关型。 资料:NCEP/NCAR 再分析资料 1948-2008 年 1~12 月的 500 百帕月平均高度场资料 范围(90°S-90°N,0-360°E) 网格距 2.5°×2.5°,纬向格点数 144,经向格点数 73 资料为 GRD 格式,资料从南到北、自西向东排列,每月为一个记录,按年逐月排放。 、 实习资料:实习资料: 国家气候中心整编的 6、7、8 月降水量资料(时间段:1951~2010 年,资料的格式参见 readme.txt 文件) 1951~2005 年雨型分类表 1 0 0一类雨型 0 1 0二类雨型 0 0 1三类雨型 实习方法及步骤:实习方法及步骤: (1)降水距平百分率: R i R 100%RP i R R i 为某年夏季降水量, R 为 1971-2000 年夏季降水多年平均值 (2)总体均值的 t 统计量: 0 x t s n X,s分别代表样本均值和标准差, 0 为总体均值,n 为样本量 根据公式及资料, 一、二、三类雨型的样本数分别为 20、17 和 18。我们认为简单认为 它们通过 0.01 显著性水平的 t 值分别为 2.86,2.92,2.90,通过 0.05 显著性水平的 t 值 都为 2.09,2.12,2.11。 (3)编写程序 program EP real a6(160,60),a7(160,60),a8(160,60),lat(160),h_y(144,73,12,61) real lon(160),rap(160,3),ddi(55,3),rsum(160),r(160,55) real h_m(144,73,12*61),h_p(144,73,3),aa,have(144,73) real ave_p(144,73,3),std(144,73,3),h_p2(144,73,3),sig(144,73,3) integer i,j,k,it character*8 id(160) open(2,file= e:\copy4\data\hgt500.grd ,= binary ) open(3,file= e:\copy4\data\r1606.txt ) open(4,file= e:\copy4\data\r1607.txt ) open(5,file= e:\copy4\data\r1608.txt ) open(6,file= e:\copy4\data\lat_lon.txt ) open(7,file= e:\copy4\data\ddi ) open(8,file= e:\copy4\rap.grd ,= binary ) open(9,file= e:\copy4\hp.grd ,= binary ) open(10,file= e:\copy4\sig.grd ,= binary ) !ccccccccccccccc 读数据(经纬度、160 站降水 1948-2008、雨型、height(1948-2008)) !CCCCCCCCCCCCCCCCCCCC一类 20,二类 17,三类 18CCCCCCCCCCCCCCCCCCc do it=1,61 do k=1,12 do j=1,73 do i=1,144 read(2) h_y(i,j,k,it) h_m(i,j,12*(it-1)+k)=h_y(i,j,k,it) enddo enddo enddo enddo read(3,*)((a6(i,j),i=1,160),j=1,60) read(4,*)((a7(i,j),i=1,160),j=1,60) read(5,*)((a8(i,j),i=1,160),j=1,60) do i=1,160 read(6,*)lat(i),lon(i) enddo !CCCCCCCC t=1951-2005 do it=1,55 read(7,*)(ddi(it,j),j=1,3) enddo write(*,*) read data ok !ccccccccccccccc 编程求合成 do i=1,160 rsum(i)=0.0 do it=21,50 rsum(i)=rsum(i)+a6(i,it)+a7(i,it)+a8(i,it) enddo rsum(i)=rsum(i)/30.0 do it=1,55 r(i,it)=(a6(i,it)+a7(i,it)+a8(i,it)-rsum(i))*100/rsum(i) enddo enddo do i=1,160 do j=1,3 num=0 do it=1,55 num=num+ddi(it,j) rap(i,j)=rap(i,j)+r(i,it)*ddi(it,j) enddo rap(i,j)=rap(i,j)/real(num) enddo;enddo !ccccccccccccc 前期高度场 do k=1,3 do i=1,144 do j=1,73 aa=.0 bb=.0 num=0 do it=1,55 num=num+ddi(it,k) aa=aa+(h_m(i,j,12*(it+1)+12)+h_m(i,j,12*(it+2)+1)+h_m(i,j,12*(it+2)+2))*ddi(it, k) h_p(i,j,k)=aa/3.0 bb=bb+h_m(i,j,12*(it+1)+12)+h_m(i,j,12*(it+2)+1)+h_m(i,j,12*(it+2)+2) have(i,j)=bb/3.0 end do ave_p(i,j,k)=h_p(i,j,k)/num num=0 do it=1,55 num=num+ddi(it,k) aa=(h_m(i,j,12*(it+1)+12)+h_m(i,j,12*(it+2)+1)+h_m(i,j,12*(it+2)+2))*ddi(it,k)/ 3.0-ave_p(i,j,k)*ddi(it,k) std(i,j,k)=std(i,j,k)+aa**2 end do have(i,j)=have(i,j)/55.0 h_p(i,j,k)=h_p(i,j,k)/num-have(i,j) h_p2(i,j,k)=h_p(i,j,k)/sqrt(std(i,j,k)/num)*sqrt(num/1.0) !write(*,*) h_p2(i,j,k) end do end