当前位置:文档之家› 气象统计方法实习BD

气象统计方法实习BD

实习一:气候场、距平场、均方差场编程如下:parameter(ii=37,jj=17,mon=12,year=4)real var(ii,jj,mon,year),ave(ii,jj,mon),jp(ii,jj,mon,year)real s(ii,jj,mon)integer i,j,iy,mopen(5,file='d:\ex1\h500.dat')open(6,file='d:\ex1\ave.grd',form='binary')open(7,file='d:\ex1\jp.grd',form='binary')open(8,file='d:\ex1\s.grd',form='binary')open(12,file='d:\ex1\outall.grd',form='binary'open(9,file='d:\ex1\ave.txt')open(10,file='d:\ex1\jp.txt')open(11,file='d:\ex1\s.txt')!读数据DO iy=1,4do m=1,12!ccc read h500read(5,1000)read(5,2000) ((var(i,j,m,iy),i=1,ii),j=1,jj)enddoenddo!计算气候场do j=1,jjdo i=1,iido m=1,12ave(i,j,m)=var(i,j,m,1)+var(i,j,m,2)+var(i,j,m,3)+var(i,j,m,4)ave(i,j,m)=ave(i,j,m)/4.0enddoenddoenddo!计算距平场do iy=1,4do m=1,12do j=1,jjdo i=1,iijp(i,j,m,iy)=var(i,j,m,iy)-ave(i,j,m)enddoenddoenddoenddo!计算均方差场do j=1,jjdo i=1,iido m=1,12s(i,j,m)=jp(i,j,m,1)*jp(i,j,m,1)+jp(i,j,m,2)*jp(i,j,m,2)+jp(i,j /,m,3)*jp(i,j,m,3)+jp(i,j,m,4)*jp(i,j,m,4)s(i,j,m)=s(i,j,m)/4.0s(i,j,m)=sqrt(s(i,j,m))enddoenddoenddodo iy=1,4do m=1,12write(6)((ave(i,j,m),i=1,ii),j=1,jj)write(7)((jp(i,j,m,iy),i=1,ii),j=1,jj)write(8)((s(i,j,m),i=1,ii),j=1,jj)write(9,2000)((ave(i,j,m),i=1,ii),j=1,jj)write(10,2000)((jp(i,j,m,iy),i=1,ii),j=1,jj)write(11,2000)((s(i,j,m),i=1,ii),j=1,jj)write(12)((ave(i,j,m),i=1,ii),j=1,jj)write(12)((jp(i,j,m,iy),i=1,ii),j=1,jj)write(12)((s(i,j,m),i=1,ii),j=1,jj)enddoenddo1000 format(2i7) 2000 format(37f8.1) close(5)close(6)close(7)close(8)close(9)close(10)close(11)close(12)end给ave配的ctl文件:dset ^d:\ex1\ave.grdundef -9.99E+33title NCEP/NCAR REANALYSIS PROJECT xdef 37 linear 60.000 2.500 ydef 17 linear 0.000 2.500zdef 1 levels 500tdef 12 linear JAN1982 12mo vars 1ave 1 99 H500endvars给ave配的gs文件:'reinit''open d:\ex1\ave.ctl''enable print d:\ex1\ave.gmf'mon=1while(mon<=12)'set t 'mon'''d ave''draw title qihouchang of 'mon' ''print''c'mon=mon+1endwhile'disable print';气候场图:一月份高度的气候场呈现南高北低的状态,陆地上的高度场比较稀疏,而在西太平洋上高度场比较密集。

八月份高度的气候场呈现东高西低的状态,在我国东北部以北以及印度东北部出现低压中心,而在赤道西太平洋地区出现高压中心。

35°N以北高度分布很密集,而35°N以南比较稀疏。

给jp配的ctl文件:dset ^d:\ex1\jp.grdundef -9.99E+33title NCEP/NCAR REANALYSIS PROJECTxdef 37 linear 60.000 2.500ydef 17 linear 0.000 2.500zdef 1 levels 500tdef 48 linear JAN1982 1movars 1jp 1 99 H500endvars给jp配的gs文件:'reinit''open d:\ex1\jp.ctl''enable print d:\ex1\jp.gmf'year=1982while(year<=1985)mon=1while(mon<=12)'set t 'mon'''d jp''draw title jupingchang of 'year'.'mon'''print''c'mon=mon+1endwhileyear=year+1endwhile'disable print';距平场图:1983年6月距平场在日本地区出现低压中心,在我国南部出现高压中心,在亚洲西北部也有高压中心。

赤道至25°N间以及25°N-40°N,60°E-100°E间基本都是正距平,而在25°N-40°N,100°E-150°E间基本都是负距平。

1984年7月距平场在亚洲大陆西部、日本地区、赤道西太平洋地区形成低压中心,太平洋西北部形成高压中心。

给s配的ctl文件:dset ^d:\ex1\s.grdundef -9.99E+33title NCEP/NCAR REANALYSIS PROJECTxdef 37 linear 60.000 2.500ydef 17 linear 0.000 2.500zdef 1 levels 500tdef 12 linear JAN1982 12movars 1s 1 99 H500endvars给s配的gs文件:'reinit''open d:\ex1\s.ctl''enable print d:\ex1\s.gmf'mon=1while(mon<=12)'set t 'mon'''d s''draw title junfangchachang of 'mon' ' 'print''c'mon=mon+1endwhile'disable print';均方差场图:一月份高度的均方差场整体呈现南小北大的状态。

说明低纬地区高度的波动幅度比较小,而中高纬地区高度的波动比较大。

八月份高度的均方差场在亚洲大陆西部有极大值,在30°N处包括赤道-30°N 、60°E-85°E这些区域高度的波动幅度比较小,30°N以南以北地区高度的波动幅度较大。

实习二:相关系数Fortran程序如下:program ex2integer,parameter::n=20,p=10integer i,j,t1,t2,t3real a(n),b(n),jpa(n),jpb(n),zxfc1(p),zxgxs1(p),zxfc2(p),zxgxs2(p),lhxfc(p),lhxgxs(p) real::s1=0.0,s2=0.0,sum1=0.0,sum2=0.0,sum3=0.0,ave1,ave2,r,fc1,fc2dataa/3.40,3.30,3.20,2.90,3.40,2.80,3.60,3.00,2.80,3.00,3.10,3.00,2.90,2.70,3.50,3.20,3.10, 2.80,2.90,2.90/datab/3.24,3.14,3.26,2.38,3.32,2.71,2.84,3.94,2.75,1.83,2.80,2.81,2.63,3.20,3.60,3.40,3.07, 1.87,2.63,2.47/data jpa/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/data jpb/0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0/data zxfc1/0,0,0,0,0,0,0,0,0,0/data zxgxs1/0,0,0,0,0,0,0,0,0,0/data zxfc2/0,0,0,0,0,0,0,0,0,0/data zxgxs2/0,0,0,0,0,0,0,0,0,0/data lhxfc/0,0,0,0,0,0,0,0,0,0/ data lhxgxs/0,0,0,0,0,0,0,0,0,0/!求均值do i=1,ns1=s1+a(i)enddoave1=s1/ndo i=1,ns2=s2+b(i)enddoave2=s2/n!求距平do i=1,njpa(i)=a(i)-ave1enddodo i=1,njpb(i)=b(i)-ave2enddo!求相关系数do i=1,nsum1=sum1+jpa(i)*jpa(i)sum2=sum2+jpb(i)*jpb(i)sum3=sum3+jpa(i)*jpb(i)enddor=sum3/(sqrt(sum1*sum2))print*,'中国1970-1989年年平均和冬季平均气温的相关系数为r=',r !求方差fc1=sum1/nfc2=sum2/n!求自协方差do j=1,pdo i=1,n-jzxfc1(j)=zxfc1(j)+jpa(i)*jpa(i+j)enddozxfc1(j)=zxfc1(j)/(n-j)enddodo j=1,pdo i=1,n-jzxfc2(j)=zxfc2(j)+jpb(i)*jpb(i+j)enddozxfc2(j)=zxfc2(j)/(n-j)!自相关系数do i=1,pzxgxs1(i)=zxfc1(i)/fc1zxgxs2(i)=zxfc2(i)/fc2enddo!落后交叉协方差do j=1,pdo i=1,n-jlhxfc(j)=lhxfc(j)+jpa(i)*jpb(i+j)enddolhxfc(j)=lhxfc(j)/(n-j)enddo!落后相关系数do i=1,plhxgxs(i)=lhxfc(i)/(sqrt(fc1*fc2))enddoprint*,'年平均气温不同滞后时刻所对应的自相关系数为:' print *,((zxgxs1(i),','),i=1,P)print*,'冬季平均气温不同滞后时刻所对应的自相关系数为:'print *,((zxgxs2(i),','),i=1,P)print *print*,'年平均气温和冬季平均气温之间不同滞后时刻所对应的落后交叉相关系数为:' print *,((lhxgxs(i),','),i=1,P)print *!最大绝对值t1=1t2=1t3=1do i=2,pif(abs(zxgxs1(i))>abs(zxgxs1(t1)))t1=iif(abs(zxgxs2(i))>abs(zxgxs2(t2)))t2=iif(abs(lhxgxs(i))>abs(lhxgxs(t3)))t3=ienddoprint *,'中国1970-1989年年平均气温自相关系数绝对值最大的滞后时间长度为:',t1,zxgxs1(t1)print *,'中国1970-1989年冬季平均气温自相关系数绝对值最大的滞后时间长度为:',t2,zxgxs2(t2)print *,'中国1970-1989年平均气温和冬季平均气温之间落后相关系数绝对值最大的滞后时间长度为:',t3,lhxgxs(t3) end程序运行如下:中国1970-1989年年平均气温自相关系数绝对值最大的滞后时间长度是7,自相关系数是-0.3724,说明在这些年的数据中,滞后7年的序列与原序列的相关系数绝对值最大,呈反相关。

相关主题