气象统计实习_气象统计实习报告
气象统计实习由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“气象统计实习报告”。
《气象统计方法课程实习》
学生姓名
x
x
学
号
xxxxxxxxxxxx
院
系
大气科学
专
业
大气科学
任课教师
x
x
二O一四年十二月二十日
实习一 求500hPa高度场气候场、距平场和均方差场
(1)气候场
二月份高度场的气候场呈现南高北低的状态,陆地上的高度场比较稀疏,而在西太平洋上高度场比较密集。
7月份高度场的气候场总体呈现东高西低的状态,在印度半岛出现低压中心,而在赤道西太平洋地区出现高压中心,位置在130°E,25°N附近。35°N以北高度分布很密集,而35°N以南比较稀疏。
(2)距平场
1982年5月距平场在我国华东地区出现负距平,在亚洲西南部也出现低压中心,在青藏高原处为正距平。
1984年4月距平场在日本东部海洋地区形成低压中心,印度半岛的西部有一低压中心,在35°N-40°N基本都为正距平。
(3)均方差场 三月份高度的均方差场整体呈现南小北大的状态。说明低纬地区高度的波动幅度比较小,而中高纬地区高度的波动比较大。在太平洋北部波动最大。
十月份高度的均方差场在西太平洋有极大值,其余地区波动都较小。
实习二 计算给定数据资料的简单相关系数和自相关系数
单相关系数和自相关系数程序:
program main
parameter(n=20,m=10)integer i,j,t,max1,max2 real r,s1,s2 real a(n),b(n),ano1(n),ano2(n),bzh1(n),bzh2(n),r1(m),r2(m)real ave1,ave2,sum12,sum11,sum22 data a/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/ data b/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/
!求平均
!求距平
ano1(n)=0.0 ano2(n)=0.0 do i=1,n ano1(i)=a(i)-ave1 ano2(i)=b(i)-ave2
ave1=0.0 ave2=0.0 do i=1,n ave1=ave1+a(i)ave2=ave2+b(i)enddo ave1=ave1/n ave2=ave2/n Enddo
!求标准差
s1=0.0
s2=0.0
do i=1,n
!标准化
!求相关系数
sum12=0.0 sum11=0.0 bzh1(n)=0.0 bzh2(n)=0.0 do i=1,n bzh1(i)=ano1(i)/s1 bzh2(i)=ano2(i)/s2 s1=s1+ano1(i)*ano1(i)
s2=s2+ano2(i)*ano2(i)enddo s1=sqrt(s1/n)s2=sqrt(s2/n)enddo
sum22=0.0 do i=1,n
sum12=sum12+ano1(i)*ano2(i)sum11=sum11+ano1(i)*ano1(i)sum22=sum22+ano2(i)*ano2(i)enddo r=sum12/sqrt(sum11*sum22)print* print*,'中国1970-1989年年平均和冬季平均气温的相关系数为r=',r print*!求自相关系数
r1(m)=0.0 r2(m)=0.0 do t=1,m
do j=1,n-t r1(t)=bzh1(j)*bzh1(j+t)+r1(t)r2(t)=bzh2(j)*bzh2(j+t)+r2(t)enddo r1(t)=r1(t)/(n-t)r2(t)=r2(t)/(n-t)enddo
!比较自相关系数绝对值大小
max1=1 max2=1 do t=2,m
if(abs(r1(t))>abs(r1(max1)))max1=t if(abs(r2(t))>abs(r2(max2)))max2=t enddo print*,'年平均气温自相关系数绝对值最大的滞后时间长度为:',max1,r1(max1)print* print*,'冬季平均气温自相关系数绝对值最大的滞后时间长度为:',max2,r2(max2)print* end
t
t分析:中国1970-1989年年平均和冬季平均气温相关系数为0.47,为正相关;年平均气温自相关系数绝对值最大的滞后时间长度为7,自相关系数为负,呈负相关;冬季平均气温自相关系数绝对值最大的滞后时间长度为4,自相关系数为负,呈负相关
实习三(附加)
计算给定数据的落后交叉相关系数和偏相关系数
程序:
program main
parameter(n=30,m=10)integer i,j,t real ave1,ave2,ave3,r12,r13,r23,ry1,ry2,ry3 real a(n),b(n),c(n),ano1(n),ano2(n),ano3(n),bzh1(n),bzh2(n),bzh3(n)real rt12(m),rt13(m)!a-12月;b-1月;c-2月--(30个数据)data a/1.0,-5.3,-2.0,-5.7,-0.9,-5.7,-2.1,0.6,-1.7,-3.6,-3.0,0.1,-2.6,-1.4,-3.9,-4.7,-6.0,-1.7,-3.4,-3.1,-3.8,-2.0,-1.7,-3.6,-2.7,-2.4,-0.9,-2.7,-1.6,-3.9/ data b/-2.7,-5.9,-3.4,-4.7,-3.8,-5.3,-5.0,-4.3,-5.7,-3.6,-3.1,-3.9,-3.0,-4.9,-5.7,-4.8,-5.6,-6.4,-5.6,-4.2,-4.9,-4.1,-4.2,-3.3,-3.7,-7.6,-3.5,-4.2,-4.5,-4.8/ data
c/-4.3,-3.5,-0.8,-1.1,-3.1,-5.9,-1.6,0.2,2.0,1.3,-0.8,-1.1,-5.2,-1.7,-2.5,-3.3,-4.9,-5.1,-2.0,-2.9,-3.9,-2.4,-2.0,-2.0,0.1,-2.2,-2.3,-0.5,-2.9,-1.4/!求平均
ave1=0.0 ave2=0.0 ave3=0.0 do i=1,n
ave1=ave1+a(i)ave2=ave2+b(i)ave3=ave3+c(i)enddo
ave1=ave1/n ave2=ave2/n ave3=ave3/n!求距平
!求标准差
s1=0.0 s2=0.0 s3=0.0 do i=1,n
s1=s1+ano1(i)*ano1(i)s2=s2+ano2(i)*ano2(i)s3=s3+ano3(i)*ano3(i)ano1(n)=0.0
ano2(n)=0.0
ano3(n)=0.0
do i=1,n
ano1(i)=a(i)-ave1
ano2(i)=b(i)-ave2 ano3(i)=c(i)-ave3 enddo
enddo s1=sqrt(s1/n)s2=sqrt(s2/n)s3=sqrt(s3/n)!标准化
bzh1(n)=0.0 bzh2(n)=0.0 bzh3(n)=0.0 do i=1,n
bzh1(i)=ano1(i)/s1 bzh2(i)=ano2(i)/s2 bzh3(i)=ano3(i)/s3 enddo!求落后交叉相关系数(滞后长度τ最大取10)12月与1月rt12;12月与2月rt13
rt12(m)=0.0 rt13(m)=0.0 do t=1,m
do i=1,n-t rt13(t)=bzh1(i)*bzh3(i+t)+rt13(t)rt12(t)=bzh1(i)*bzh2(i+t)+rt12(t)enddo
rt12(t)=rt12(t)/(n-t)rt13(t)=rt13(t)/(n-t)enddo
print*,'12月气温与1月气温的落后交叉相关系数依次为(1-10年):' print '(10f6.2)',rt12 print* print*,'12月气温与2月气温的落后交叉相关系数依次为(1-10年):' print '(10f6.2)',rt13 print*!求相关系数,12月和1月r12;12月和2月r13,1月和2月r23
r12=0.0 r13=0.0 r23=0.0 do i=1,n
r12=r12+bzh1(i)*bzh2(i)r13=r13+bzh1(i)*bzh3(i)r23=r23+bzh2(i)*bzh3(i)enddo r12=r12/n r13=r13/n r23=r23/n
!求偏相关系数,12月和2月(消除1月)ry1;1月和2月(消除12月)ry2;12月和1月(消除2月)ry3
ry1=(r13-r12*r23)/sqrt((1-r23*r23)*(1-r12*r12))ry2=(r23-r12*r13)/sqrt((1-r13*r13)*(1-r12*r12))ry3=(r12-r13*r23)/sqrt((1-r23*r23)*(1-r13*r13))print*,'消除1月影响,12月与2月气温的偏相关系数:',ry1 print* print '(a,f11.7)',' 消除12月影响,1月与2月气温的偏相关系数:',ry2 print* print*,'消除2月影响,12月与1月气温的偏相关系数:',ry3 print* end
分析:消除1月影响,12月与2月气温的偏相关系数为正,呈正相关;消除12月影响,1月与2月气温的偏相关系数为正,呈正相关;消除2月影响,12月与1月气温的偏相关系数为正,呈正相关
实习四 求给定数据的一元线性回归方程
程序
program main
!x为环流指标(预报因子),y为气温(预报量)
real x(n),y(n)real ave1,ave2,s12,s1,s2,b,b0,r,F data x/32,25,20,26,27,24,28,24,15,16,24,30,22,30,24,33,26,20,32,35/ data parameter(n=20)integer i y/0.9,1.2,2.2,2.4,-0.5,2.5,-1.1,0,6.2,2.7,3.2,-1.1,2.5,1.2,1.8,0.6,2.4,2.5,1.2,-0.8/!求平均 ave1=0.0
ave2=0.0 do i=1,n ave1=ave1+x(i)ave2=ave2+y(i)enddo ave1=ave1/n ave2=ave2/n!求协方差、预报因子预报量的方差 s12=0.0
s1=0.0
!求b,b0 s2=0.0 do i=1,n
s12=s12+(x(i)-ave1)*(y(i)-ave2)s1=s1+(x(i)-ave1)*(x(i)-ave1)s2=s2+(y(i)-ave2)*(y(i)-ave2)enddo s12=s12/n s1=s1/n s2=s2/n b=s12/s1 b0=ave2-b*ave1!求回归方程
print*,'气温和环流指标之间的一元线性回归方程为:' print'(a,f5.2,f5.2,a)',' y=',b0,b,'x' print*!检验F r=sqrt(s1/s2)*b F=r*r/((1-r*r)/(n-2))print'(a,f8.4)',' F =',F end
分析F=20.40>Fα=4.41,回归方程显著
实习五(附加)求给定数据的多元线性回归方程
:实习六(附加)分析中国夏季降水线性趋势的分布特征
程序:
program main
parameter(m=160,n=25)integer i,t(n),avet integer sta(m)!站号 real lon(m),lat(m),f(m,n)
!经,维,记录
real ave(m),ano(m,n),anot(n)real b(m),sxy(m),st real time
integer level format(3a,25i)format(25f8.1)1000 2000
!读数据
open(5,file='d:qxtj6160zhan-rainfall-summer.txt')read(5,1000)do i=1,m read(5,*),sta(i),lon(i),lat(i),(f(i,j),j=1,n)enddo
!计算数据平均,距平,得到距平数组ano(m,n)
ave(m)=0.0
ano(m,n)=0.0 do i=1,m
do j=1,n ave(i)=ave(i)+f(i,j)
end do ave(i)=ave(i)/n do j=1,n ano(i,j)=f(i,j)-ave(i)
end do
enddo
!计算时间距平anot(n)
t(n)=0 avet=0 anot(n)=0 do i=1,n t(i)=1981+i avet=t(i)+avet enddo avet=avet/n do i=1,n
anot(i)=t(i)-avet enddo!计算b(m)(160个)
b(m)=0
sxy(m)=0.0 st=0.0 do j=1,n st=anot(j)*anot(j)+st
Enddo
do i=1,m
do j=1,n
sxy(i)=ano(i,j)*anot(j)+sxy(i)enddo b(i)=sxy(i)/st enddo print* print*,'160站夏季降水线倾向率:' print '(10f7.2)',(b(i),i=1,m)print* End
分析:b(m)为正时,降水有随时间增多的 趋势;b(m)为负时,降水有随时间减小的趋势
实习七 计算给定数据的11年滑动平均和累积距平
程序:
program main
parameter(n=85,k=11,nyear=1922)real dat(n),ano(n),h(n-k+1),l(n)real ave 1000 format(f3.1)2000 format(f5.1)3000 format(10f5.1)4000 format(5f5.1)!读文件
!求距平
!滑动平均
h(n-k+1)
h(n-k+1)=0
do i=1,n-k+1
ave=0.0 ano(n)=0.0 do i=1,n ave=ave+dat(i)open(5,file='d:qxtj7ma.dat')do i=1,n read(5,*)dat(i)enddo enddo ave=ave/n do i=1,n ano(i)=dat(i)-ave
enddo
do j=i,i-1+k h(i)=h(i)+dat(j)enddo h(i)=h(i)/k enddo!累计距平l(n)
l(n)=0.0 do i=1,n
do j=1,i l(i)=l(i)+ano(j)enddo Enddo
!输出
open(6,file='d:qxtj7h.dat')
open(7,file='d:qxtj7l.dat')
write(6,1000)(h(i),i=1,n-k+1)
write(7,2000)(l(i),i=1,n)close(6)close(7)
write(*,'(“11年滑动距平为”)')write(*,3000)(h(i),i=1,n-k+1)print* write(*,'(“累计距平为”)')write(*,4000)(l(i),i=1,n)print* End
分析:数据从1922年到2006年共85年。在922-1953年之间呈波动下降的趋势,在1953-1963年呈波动上升趋势,上升幅度较大,在1963 年后大致在同一水平上波动,没有升降的趋势。
分析:1922年至1931年间数据呈整体偏高的状态,从1932年开始,数据年左右结束,1967年至2006年间,数据距平存在波动,但是整体呈现偏高状态。
实习八 对给定的海温数据进行EOF分析
程序截图:
第一特征向量: 第一特征向量对应的时间系数:
分析:由上面两个图综合得知,在时间系数为正的年份,如1955-1957、1974-1976等年,赤道太平洋中部至东部的海温是较正常水平偏低的,海温在1976年最低。
而在时间系数为负的年份,如1958、1966、1983-1984、1987等这些年份,赤道太平洋中部至东部的海温是较正常水平偏高的,1983年左右海温最高
*排版有些问题,请见谅。
*实习五太麻烦,没有写;实习六只做了一半; *仅作参考