预测因子的选择(短期气候预测实习报告)_短期气候实习报告
预测因子的选择(短期气候预测实习报告)由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“短期气候实习报告”。
短期气候预测实习报告
实习4 预测因子的选择
南京信息工程大学短期气候预测实习报告
实验名称预测因子的选择日期2016年11月22日得分指导教师 系大气科学专业大气科学年级班次 姓名学号 实习目的:掌握短期气候预测因子的分析和选择,加深对夏季降水分布、环流异常在短期气候预测中物理机制的认识。
实习要求:熟悉资料和方法程序(提供部分子程序);使用GRADS对结果进行绘图输出和文字分析,完成实习报告。
实习资料:
①NCEP/NCAR 再分析资料1948-2012年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-2010年雨型分类表0 0 一类雨型
0 1 0 二类雨型 0 0 1 三类雨型
实习方法:
降水距平百分率:
RPiRiR100% RRi 某年夏季降水量
R为19712000年夏季降水多年平均值?
实习步骤:
用FORTRAN编写相关程序(程序见附件3和附件4)
利用绘图软件绘制1951-2010年夏季三类雨型年合成图;
绘制前期冬季500hPa高度场距平合成图,指出可能存在的遥相关型环流特征。
实习结果及讨论:
图1 1951-2005年夏季一类雨型年合成图
从图1可以看出一类雨型主要多雨带位于黄河流域及其以北地区,江淮流域大范围少雨,梅雨偏弱并常有较明显的伏旱,江南南部至华南一般为次要多雨区。
图2 1951-2005年夏季二类雨型年合成图
从图2可以看出二类雨型主要多雨带位于黄河至长江之间,雨带中心一般在淮河流域一带,黄河以北及长江以南大部地区少雨。
图3 1951-2005年夏季三类雨型年合成图
从图3可以看出三类雨型主要多雨带位于长江流域或江南一带,淮河以北大部及东南沿海地区少雨。
图4 第一类雨型前期冬季500hPa高度场的距平图
图4显示为中太平洋和北太平洋有显著的反相关性,或者说是副高的高压和阿留申低压之间关系,副高增强的同时,低压也同时增强。出现这种前期冬季500hPa高度场和今年的一类雨型北方性有显著关系。这种相关可能是WP型要相关。
图5 第二类雨型前期冬季500hPa高度场的距平图
图5显示为北太平洋和北美洲出现的以北美州西海岸为界限的类轴对称图形。当北太平洋的高压脊增强时,北美大槽也同样增强。而与两个系统对应的低纬度地区呈现与之相反的变化关系。我认为这是一种PNA和WP的杂交型。
图6 第三类雨型和前期冬季500hPa高度场的距平图
图6显示为副热带太平洋高压加强,位于阿留申地区的气压加深,当北太平洋的高压脊增强时,北美大槽也同样增强,这造成了美国的严寒天气,也造成了我国的降水主要集中在江淮地区的类型。这是典型的PNA型,但低纬地区没有很显著。
附件:
附件1 program EP integerind(160)real a(160,65),r(144,73),aa(65),bb(65),lat(160),lon(160)real hgt(144,73,12,65),h1(144,73,65),eu(65)character*8 id(160)open(1,file='i:duanqi3hgt500.grd',form='binary')open(3,file='i:duanqi3ind.grd',form='binary')open(4,file='i:duanqi3lat_lon.txt')open(5,file='i:duanqi3r.grd',form='binary')dokk=1,65 do n=1,12 read(1)((hgt(i,j,n,kk),i=1,144),j=1,73)enddo enddo
dokk=1,65 do j=1,73 doi=1,144 h1(i,j,kk)=hgt(i,j,1,kk)enddo enddo eu(kk)=-h1(9,59,kk)/4.0+h1(31,59,kk)/2.0-h1(59,53,kk)/4.0 enddo write(3)(eu(i),i=1,65)close(3)
do j=1,73 doi=1,144 r(i,j)=0.0 dokk=1,65 aa(kk)=eu(kk)bb(kk)=h1(i,j,kk)enddo call Normalized_1D(aa,65)call Normalized_1D(bb,65)dokk=1,65 r(i,j)=r(i,j)+aa(kk)*bb(kk)/65.0 enddo enddo enddo write(*,*)r do j=1,73 doi=1,144 write(5)r(i,j)enddo enddo
end SUBROUTINE Normalized_1D(BZH,NUM)REAL BZH(NUM),AVE,VAR AVE=0.0 VAR=0.0
DO K=1,NUM AVE=AVE+BZH(K)/NUM ENDDO DO K=1,NUM VAR=VAR+(BZH(K)-AVE)**2 ENDDO VAR=SQRT(VAR/NUM)DO K=1,NUM BZH(K)=(BZH(K)-AVE)/VAR ENDDO END
附件2 program EP integerind(160)real a(160,62),r(160),aa(62),bb(62),lat(160),lon(160)real hgt(144,73,12,65),h1(144,73,62),eu(62)character*8 id(160)open(1,file='i:duanqi3hgt500.grd',form='binary')open(2,file='i:duanqi3t1601.txt')open(4,file='i:duanqi3lat_lon.txt')open(5,file='i:duanqi3r160.grd',form='binary')dokk=1,65 do n=1,12 read(1)((hgt(i,j,n,kk),i=1,144),j=1,73)enddo enddo close(1)dokk=1,62 do j=1,73 doi=1,144 h1(i,j,kk)=hgt(i,j,1,kk+3)enddo enddo eu(kk)=-h1(9,59,kk)/4.0+h1(31,59,kk)/2.0-h1(59,53,kk)/4.0 enddo read(2,*)((a(i,j),i=1,160),j=1,62)close(2)doi=1,160 read(4,*)id(i),lat(i),lon(i)enddo close(4)doi=1,160 r(i)=0.0 dokk=1,62 aa(kk)=eu(kk)bb(kk)=a(i,kk)enddo call Normalized_1D(aa,62)call Normalized_1D(bb,62)dokk=1,62 r(i)=r(i)+aa(kk)*bb(kk)/62.0 enddo enddo write(*,*)r do j=1,160 id(j)=char(j)tim=0.0 nlev=1 nflag=1 write(5)id(j),lat(j),lon(j),tim,nlev,nflag,r(j)enddo tim=0.0 nlev=0 nflag=1 write(5)id(j-1),lat(j-1),lon(j-1),tim,nlev,nflag close(5)end SUBROUTINE Normalized_1D(BZH,NUM)REAL BZH(NUM),AVE,VAR AVE=0.0 VAR=0.0
DO K=1,NUM AVE=AVE+BZH(K)/NUM ENDDO DO K=1,NUM VAR=VAR+(BZH(K)-AVE)**2 ENDDO VAR=SQRT(VAR/NUM)DO K=1,NUM BZH(K)=(BZH(K)-AVE)/VAR ENDDO END
附件3 program EP reala6(160,60),a7(160,60),a8(160,60),lat(160),lon(160),rap1(160),rap2(160),rap3(160),ddi(60,3),rsum(160),r(160,60),rp(160,60)character*8 id(160)open(3,file='i:duanqi4r1606.txt')open(4,file='i:duanqi4r1607.txt')open(5,file='i:duanqi4r1608.txt')open(6,file='i:duanqi4lat_lon.txt')open(7,file='i:duanqi4ddi')open(8,file='i:duanqi4rap1.grd',form='binary')open(9,file='i:duanqi4rap2.grd',form='binary')open(10,file='i:duanqi4rap3.grd',form='binary')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)doi=1,160 read(6,*)lat(i),lon(i)enddo do it=1,60 read(7,*)(ddi(it,j),j=1,3)enddo doi=1,160 rsum(i)=0.0 do it=1,60 rsum(i)=rsum(i)+(a6(i,it)+a7(i,it)+a8(i,it))/3 enddo rsum(i)=rsum(i)/60.0 do j=1,60 rp(i,j)=(a6(i,j)+a7(i,j)+a8(i,j))/3-rsum(i)enddo do j=1,60 rp(i,j)=rp(i,j)/rsum(i)enddo enddo doi=1,160 rap1(i)=0 rap2(i)=0 rap3(i)=0 do j=1,60 rap1(i)=rap1(i)+rp(i,j)*ddi(j,1)/22 rap2(i)=rap2(i)+rp(i,j)*ddi(j,2)/19 rap3(i)=rap3(i)+rp(i,j)*ddi(j,3)/19 enddo rap1(i)=rap1(i)*100 rap2(i)=rap2(i)*100 rap3(i)=rap3(i)*100 enddo do j=1,160 id(j)=char(j)tim=0.0 nlev=1 nflag=1 write(8)id(j),lat(j),lon(j),tim,nlev,nflag,rap1(j)enddo tim=0.0 nlev=0 nflag=1 write(8)id(j-1),lat(j-1),lon(j-1),tim,nlev,nflag do j=1,160 id(j)=char(j)tim=0.0 nlev=1 nflag=1 write(9)id(j),lat(j),lon(j),tim,nlev,nflag,rap2(j)enddo tim=0.0 nlev=0 nflag=1 write(9)id(j-1),lat(j-1),lon(j-1),tim,nlev,nflag do j=1,160 id(j)=char(j)tim=0.0 nlev=1 nflag=1 write(10)id(j),lat(j),lon(j),tim,nlev,nflag,rap3(j)enddo tim=0.0 nlev=0 nflag=1 write(10)id(j-1),lat(j-1),lon(j-1),tim,nlev,nflag end 附件4 program height real h(144,73,12,65),ha(144,73,60),ddi(60,3),ave(144,73),ave1(144,73),ave2(144,73),ave3(144,73),i,j,mo,it open(1,file='i:duanqi4gdhgt500.grd',form=“binary”)open(2,file='i:duanqi4gdddi')open(3,file='i:duanqi4gd1h1.grd',form=“binary”)open(4,file='i:duanqi4gd2h2.grd',form=“binary”)open(5,file='i:duanqi4gd3h3.grd',form=“binary”)read(1)((((h(i,j,mo,it),i=1,144),j=1,73),mo=1,12),it=1,65)do it=1,60 read(2,*)(ddi(it,j),j=1,3)enddo doi=1,144 do j=1,73 do it=1,60 ha(i,j,it)=(h(i,j,12,it+2)+h(i,j,1,it+3)+h(i,j,2,it+3))/3 enddo enddo enddo doi=1,144 do j=1,73 do it=1,60 ave(i,j)=ave(i,j)+ha(i,j,it)/60 enddo enddo enddo doi=1,144 do j=1,73 do it=1,60 if(ddi(it,1)==1)then ave1(i,j)=ave1(i,j)+ha(i,j,it)/22 elseif(ddi(it,2)==1)then ave2(i,j)=ave2(i,j)+ha(i,j,it)/19 else ave3(i,j)=ave3(i,j)+ha(i,j,it)/19 endif enddo ave1(i,j)=ave1(i,j)-ave(i,j)ave2(i,j)=ave2(i,j)-ave(i,j)ave3(i,j)=ave3(i,j)-ave(i,j)enddo enddo write(3)((ave1(i,j),i=1,144),j=1,73)write(4)((ave2(i,j),i=1,144),j=1,73)write(5)((ave3(i,j),i=1,144),j=1,73)end