蒙古高压与中国气温关系分析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,,...,n x x x 和12,,...,n y y y ,则样本的相关系数rxy 可以这样计算:1()()nt t x x y y rxy ----=∑ (6.1)6.6 实验实习程序编写6.6.1 计算1951-2010年1月蒙古高压强度与中国气温同期相关programshixiinteger,parameter::n=60,start=1951character*10 char1integeri,jinteger(4) station,nstationreal a(n),b(n),c(160,n),d(n),e(n),coopen(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)doi=1,160do j=1,60b(j)=c(i,j)end docallbiaozhunhua(n,a)callbiaozhunhua(n,b)do j=1,60co=co+a(j)*b(j)end doco=co/60write(3,'(f12.5)') cowrite(4) coend doclose(3)close(4)endsubroutinebiaozhunhua(nn,ss)realss(nn),ave,varave=0.0var=0.0do j=1,nnave=ave+ss(j)end doave=ave/nndo j=1,nnvar=var+(ss(j)-ave)**2end dovar=sqrt(var)do j=1,nnss(j)=(ss(j)-ave)/varend doend6.6.2 站点数据转换成格点数据program mainrealcor(160)open(1,file='i:\shixi\2\mh-t-1.dat',form='formatted') doi=1,160read(1,*)cor(i)end doclose(1)callstntogrd(cor)endSubroutine stntogrd(x)reallat(160),lon(160),x(160)character*8 stid(160)open(2,file='i:\shixi\2\china.dat')do 20 k=1,16020 read(2,'(f5.2,2x,f6.2)') lat(k),lon(k)close(2)do 2 i=1,1602 stid(i)=char(i)open(9,file='i:\shixi\2\mh-t-gr.grd',form='binary') TIM=0.0NLEV=1NFLAG=1do 40 i=1,160write(9) stid(i),lat(i),lon(i),TIM,NLEV,NFLAG,x(i) 40 continueNLEV=0write(9) stid(i-1),lat(i-1),lon(i-1),TIM,NLEV,NFLAG close(9)returnend6.6.3 生成160站的格点文件program mainparameter (nx=71,ny=41)reallat(ny),lon(nx)open(1,file='i:\shixi\2\grid.grd',form='binary')lat(1)=15.0lon(1)=70.0do j=1,ny-1lat(j+1)=lat(j)+1.0end dodoi=1,nx-1lon(i+1)=lon(i)+1.0end dodoi=1,nxdo j=1,nys(i,j)=1end doend dowrite(1) sclose(1)end6.6.4 编写“mh-t-gr.grd”的数据描述文件dset i:\shixi\2\mh-t-gr.grddtype stationstnmap i:\shixi\2\china.mapundef -999.0title Correlation of t and mhtdef 1 linear jan1951 1movars 1r 0 99endvars6.6.5 编写“grid.grd”的数据描述文件dset i:\shixi\2\grid.grdundef -999.0title Sample GRID Dataxdef 71 linear 70 1ydef 41 linear 15 1zdef 1 linear 1000 1tdef 1 linear jan1951 1movars 1gd 0 99endvars6.6.6 绘制1951-2010年1月蒙古高压强度与中国气温同期相关图'reinit''open i:\shixi\2\grid.ctl''open i:\shixi\2\mh-t-gr.ctl''enable print i:\shixi\2\ptcor.gmf''set map 1 1 1''setlon 72.5 137.5''setlat 17.5 55''sett 1''setmpdset hires china''set grid off''set grads off''define a=oacres(gd,r.2,1.5)''define a1=maskout(a,gd-0.5)''define aa=smth9(a1)''setgxout shaded''setxlopts 1 6 0.15''setylopts 1 6 0.15''setclopts 0 6 0.12''setclevs -0.418 -0.333 -0.256 0.256 0.333 0.418' 'setccols 4 3 7 0 7 3 4''d aa''setgxout contour''setclab forced''setcthick 8''d aa''run i:\shixi\2\southsea.gs''setmpdset river''set map 2 1 8''draw map''print''disable';6.7 实验实习结果图1 1951-2010年1月蒙古高压强度与中国气温的同期相关图6.8 实验实习结果分析从图1可以看出,1月蒙古高压强度与我国冬季气温整体呈负相关的关系,即蒙古高压强度变强时,我国气温变低,与中国东部地区负相关关系较明显负相关指数达到-0.55,与西南地区和中国东北地区负相关关系不太明显。