1、绘制: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”的数据描述文件和站点映射文件;
2、生成中国160站的格点文件“grid.grd”,注意“grid.grd”的数据描述文件中的时间描述说明一定要与“ptcor1.grd”的数据描述文件一致。用GrADS编写.gs文件,完成将二进制站点资料文件“ptcor1.grd”插值到格点文件“grid.grd”的格点上,并按照要求显示和保存图片。6.3 实验实习要求(1)分析问题,理解所给出的方法与技术,理清问题思路,分解任务,设计算法。(2)输出数据采用有格式输入输出,使输出数据规、醒目、简洁。(3)用注释的方法指出程序中函数调用的起始和结束位置,并为函数进行注释。(4)巩固顺序结构和循环结构的程序设计方法和变量、函数、数组的使用方法,重
3、点掌握外部文件对数据进行输入输出操作的方法。(5)学习并掌握同期相关系数的求解方法,利用函数求1951-2010年1月蒙古高压强度与中国气温同期相关的160个相关系数,并以*.dat和*.grd两种格式保存。(6)掌握站点资料处理为二进制资料及其数据描述文件的建立方法,将相关系数资料处理为“ptcor.grd”,并为其书写数据描述文件“ptcor.ctl”。(7)结合“rain.map”,掌握二进制站点资料的站点映射文件的建立方法。(8)掌握与站点资料配备的格点资料的生成办法,生成“grib.grd”文件及其数据描述文件“grib.ctl”。(9)掌握二进制站点资料文件插值到格点文件的网格点上
4、的方法,用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) 利用插值函数编写“ptco
5、r1.gs”,并按照要求绘制1951-2010年1月蒙古高压强度与我国气温同期相关图。(6) 启动GrADS,运行、绘制并保存1951-2010年1月蒙古高压强度与我国气温同期相关图“ptcor.gmf”。6.5 实验实习关键技术 X,y的n对观测资料和,则样本的相关系数rxy可以这样计算: (6.1)6.6 实验实习程序编写6.6.1 计算1951-2010年1月蒙古高压强度与中国气温同期相关program shixiinteger,parameter:n=60,start=1951character*10 char1integer i,jinteger(4) station,nstatio
6、nreal a(n),b(n),c(160,n),d(n),e(n),coopen(1,file=i:shixi2p.dat,form=formatted)open(2,file=shixi2t1601.txtopen(3,file=shixi2mh-t-1.datopen(4,file=shixi2mh-t-1.grdbinaryread(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) ca
7、ll biaozhunhua(n,b) co=co+a(j)*b(j) co=co/60 write(3,(f12.5) co write(4) coend doclose(3)close(4)endsubroutine biaozhunhua(nn,ss)real ss(nn),ave,varave=0.0var=0.0do j=1,nn ave=ave+ss(j)ave=ave/nn var=var+(ss(j)-ave)*2var=var/nnvar=sqrt(var) ss(j)=(ss(j)-ave)/var6.6.2 站点数据转换成格点数据program mainreal cor(
8、160) do i=1,160 read(1,*)cor(i)call stntogrd(cor)Subroutine stntogrd(x)real lat(160),lon(160),x(160)character*8 stid(160)shixi2china.datdo 20 k=1,16020 read(2,(f5.2,2x,f6.2) lat(k),lon(k)do 2 i=1,1602 stid(i)=char(i)open(9,file=shixi2mh-t-gr.grd TIM=0.0 NLEV=1 NFLAG=1 do 40 i=1,160 write(9) stid(i),
9、lat(i),lon(i),TIM,NLEV,NFLAG,x(i)40 continueNLEV=0write(9) stid(i-1),lat(i-1),lon(i-1),TIM,NLEV,NFLAGclose(9)return6.6.3 生成160站的格点文件parameter (nx=71,ny=41)real lat(ny),lon(nx)real s(nx,ny)shixi2grid.grdlat(1)=15.0lon(1)=70.0do j=1,ny-1 lat(j+1)=lat(j)+1.0do i=1,nx-1 lon(i+1)=lon(i)+1.0do i=1,nx do j
10、=1,ny s(i,j)=1write(1) s6.6.4 编写“mh-t-gr.grd”的数据描述文件dset i:shixi2mh-t-gr.grddtype stationstnmap i:shixi2china.mapundef -999.0title Correlation of t and mhtdef 1 linear jan1951 1movars 1r 0 99endvars6.6.5 编写“grid.grd”的数据描述文件shixi2grid.grdtitle Sample GRID Dataxdef 71 linear 70 1ydef 41 linear 15 1zde
11、f 1 linear 1000 1gd 0 996.6.6 绘制1951-2010年1月蒙古高压强度与中国气温同期相关图reinitopen i:shixi2grid.ctlshixi2mh-t-gr.ctlenable print i:shixi2ptcor.gmfset map 1 1 1set lon 72.5 137.5set lat 17.5 55set t 1set mpdset hires chinaset grid offset grads offdefine a=oacres(gd,r.2,1.5)define a1=maskout(a,gd-0.5)define aa=smth9(a1)set gxout shadedset xlopts 1 6 0.15set ylopts 1 6 0.15set clopts 0 6 0.12set clevs -0.418 -0.333 -0.256 0.256 0.333 0.418set ccols 4 3 7 0 7 3 4d aaset gxout c
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1