当前位置:文档之家› 蒙古高压与中国气温关系分析

蒙古高压与中国气温关系分析

; ’. 蒙古高压与中国气温关系分析 6.1 实验实习目的 (1)掌握气象要素相互影响研究的基本方法。 (2)进一步巩固FORTRAN顺序结构和循环结构的程序设计方法和变量、函数、数组的使用方法,重点掌握外部文件对数据进行输入输出操作的方法。 (3)掌握站点资料的数据结构。 (4)掌握站点资料数据描述文件和站点映射文件的建立方法。 (5)掌握站点资料生成格点资料的方法。 (6)学习并掌握GrADS函数的使用方法,加强对oacres()、maskout()、amth9()等函数的理解。 (7)掌握GrADS变量的定义和使用方法。 (8)巩固GrADS数据处理流程、绘图要素设置、基础绘图命令的使用方法,进一步掌握描述语言的应用方法。

6.2 实验实习内容

6.2.1 问题描述 利用1951-2010年1月蒙古高压标准化强度指数(p.dat)和1951-2010年1月中国160站气温资料(t1601.dat),根据6.5节相关系数的计算方法计算1951-2010年蒙古高压强度与中国160站气温的同期相关系数,绘制1951-2010年1月蒙古高压强度与中国气温的同期相关图,分析冬季蒙古高压强度与中国气温的相互影响关系。要求以“*.dat”和“*.grd”两种格式保存1951-2010年1月蒙古高压强度与中国同期气温的相关等值线图,写上标题,画出黄河、长江,并用阴影标记出相关区,分析之。

6.2.2 问题分析 已知1951-2010年一月蒙古高压标准化强度指数序列和1951-2010年中国160站1月气温站点资料。 计算:1951-2010年1月蒙古高压强度与中国160站气温同期相关系数。 绘制:1951-2010年1月蒙古高压强度与中国160站气温同期相关系图,写上标题,并用阴影标记显著相关区。 通过分析,首先用FORTRAN打开1951-2010年中国160站1月气温数据“t1601.dat” 和1951-2010年蒙古高压强度指数“p.dat”,根据6.5节中同期相关系数的计算方法,编写计算相关系数的函数计算1951-2010年1月蒙古高压强度与中国160站气温同期相关系数,并保存为“ptcor1.dat”和“ptcor1.grd”文件。根据教材中站点资料数据描述文件和站点映射文件的建立方法,结合rain.map建立站点资料“ptcor1.grd”的数据描述文件和站点映射文件;生成中国160站的格点文件“grid.grd”,注意“grid.grd”的数据描述文件中的时间描述说明一定要与“ptcor1.grd”的数据描述文件一致。 用GrADS编写.gs文件,完成将二进制站点资料文件“ptcor1.grd”插值到格点文件“grid.grd”的格点上,并按照要求显示和保存图片。 ; ’. 6.3 实验实习要求 (1)分析问题,理解所给出的方法与技术,理清问题思路,分解任务,设计算法。 (2)输出数据采用有格式输入输出,使输出数据规范、醒目、简洁。 (3)用注释的方法指出程序中函数调用的起始和结束位置,并为函数进行注释。 (4)巩固顺序结构和循环结构的程序设计方法和变量、函数、数组的使用方法,重点掌握外部文件对数据进行输入输出操作的方法。 (5)学习并掌握同期相关系数的求解方法,利用函数求1951-2010年1月蒙古高压强度与中国气温同期相关的160个相关系数,并以*.dat和*.grd两种格式保存。 (6)掌握站点资料处理为二进制资料及其数据描述文件的建立方法,将相关系数资料处理为“ptcor.grd”,并为其书写数据描述文件“ptcor.ctl”。 (7)结合“rain.map”,掌握二进制站点资料的站点映射文件的建立方法。 (8)掌握与站点资料配备的格点资料的生成办法,生成“grib.grd”文件及其数据描述文件“grib.ctl”。 (9)掌握二进制站点资料文件插值到格点文件的网格点上的方法,用GrADS创建“ptcor.gs”文件,按照要求显示和保存1948-2010年1月蒙古高压强度与中国160个气温同期相关系数图“ptcor.gmf”,用红色和蓝色标识出显著正负相关区域。

6.4 实验实习步骤 (1) 编辑FORTRAN程序,生成“mh-t-1.dat”和“mh-t-1.grd”文件。 (2) 编辑FORTRAN将站点资料“mh-t-1.dat”转换成格点数据“mh-t-gr.grd”. (3) 将站点资料插值到格点上,首先建立“grid.grd”文件。 (4) 在GrADS中运行“!stnmap”命令,生成映射文件“mh-t-gr.map”。 (5) 利用插值函数编写“ptcor1.gs”,并按照要求绘制1951-2010年1月蒙古高压强度与我国气温同期相关图。 (6) 启动GrADS,运行、绘制并保存1951-2010年1月蒙古高压强度与我国气温同期相关图“ptcor.gmf”。

6.5 实验实习关键技术

X,y的n对观测资料12,,...,nxxx 和12,,...,nyyy ,则样本的相关系数rxy可以这样计算:

122111()()11()()ntttnnttttxxyynrxyxxyynn





 (6.1)

6.6 实验实习程序编写 6.6.1 计算1951-2010年1月蒙古高压强度与中国气温同期相关 ; ’. program shixi integer,parameter::n=60,start=1951 character*10 char1 integer i,j integer(4) station,nstation real a(n),b(n),c(160,n),d(n),e(n),co open(1,file='i:\shixi\2\p.dat',form='formatted') open(2,file='i:\shixi\2\t1601.txt',form='formatted') open(3,file='i:\shixi\2\mh-t-1.dat',form='formatted') open(4,file='i:\shixi\2\mh-t-1.grd',form='binary')

read(1,*)(a(i),i=1,n) close(1) read(2,*)((c(i,j),i=1,160),j=1,n) close(2)

do i=1,160 do j=1,60 b(j)=c(i,j) end do call biaozhunhua(n,a) call biaozhunhua(n,b) do j=1,60 co=co+a(j)*b(j) end do co=co/60 write(3,'(f12.5)') co write(4) co end do close(3) close(4) end

subroutine biaozhunhua(nn,ss) real ss(nn),ave,var ave=0.0 var=0.0 do j=1,nn ave=ave+ss(j) end do ave=ave/nn do j=1,nn var=var+(ss(j)-ave)**2 end do ; ’. var=var/nn var=sqrt(var) do j=1,nn ss(j)=(ss(j)-ave)/var end do end

6.6.2 站点数据转换成格点数据 program main real cor(160) open(1,file='i:\shixi\2\mh-t-1.dat',form='formatted') do i=1,160 read(1,*)cor(i) end do close(1) call stntogrd(cor) end

Subroutine stntogrd(x) real lat(160),lon(160),x(160) character*8 stid(160) open(2,file='i:\shixi\2\china.dat') do 20 k=1,160 20 read(2,'(f5.2,2x,f6.2)') lat(k),lon(k) close(2) do 2 i=1,160 2 stid(i)=char(i) open(9,file='i:\shixi\2\mh-t-gr.grd',form='binary') TIM=0.0 NLEV=1 NFLAG=1 do 40 i=1,160 write(9) stid(i),lat(i),lon(i),TIM,NLEV,NFLAG,x(i) 40 continue NLEV=0 write(9) stid(i-1),lat(i-1),lon(i-1),TIM,NLEV,NFLAG close(9) return end

6.6.3 生成160站的格点文件 program main parameter (nx=71,ny=41) real lat(ny),lon(nx)

相关主题