您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > GrADS实习报告4资料
1南京信息工程大学实验(实习)报告实验(实习)名称蒙古高压特征分析日期2016.9得分指导教师孙晓娟系大气科学专业大气科学班次长望实验班姓名夏新露一、实验目的(1)掌握气象要素气候异常特征的基本方法。(2)进一步巩固Fortran顺序结构和循环结构的程序设计方法,重点掌握文件、变量、函数、数组的使用方法、数据的有格式输入输出方法。(3)了解并掌握GrADS的使用流程。(4)学习并掌握数据描述文件(*.ctl文件)的书写方法。(5)学习书写简单的“*.gs”文件。(6)掌握GrADS中open,reinit,d,c,quit,q,run等基本命令的使用方法。(7)掌握GrADS维数环境设置方法。(8)掌握GrADS绘制“line”、“bar”图形类型的方法,绘制1951-2010年蒙古高压强度异常的时间序列图。(9)掌握保持GrADS绘制图形的一种方法。二、实验内容2.1问题描述已知1951-2010年1月蒙古高压强度、面积、经度、维度指数序列,计算蒙古高压各指数的气候值、变率和距平,绘制蒙古高压强度、面积、位置指数距平的时间序列图,分析冬季蒙古高压的异常规律。2.2问题分析已知:1951-2010年1月蒙古高压强度、面积、经度、维度指数序列资料p.dat、s.dat、lon.dat、lat.dat。计算:蒙古高压各指数的气候值、变率和距平值。绘制:1948-2010年1月蒙古高压强度、面积、位置指数距平的时间序列图。通过分析,根据公式求得蒙古高压1月环流指数气候及异常值。根据GrADS中line和bar两种图形格式绘制方法,绘制蒙古高压环流指数距平的时间序列图。2三、实验步骤3.1蒙古高压环流指数的气候和异常值计算1.分析问题,理清算法和程序,设计程序流程图并编写程序。2.启动软件开发环境MicrosoftDeveloperStudio。3.在D盘上创建新工作区shixi04。4.在工作区shixi3内创建新项目shixi04。5.在项目shixi04内创建源程序文件“mh.f90”,编辑输入源程序文本。6.在源程序文本中打开数据文件“p.dat”、“s.dat”、“lon.dat”、“lat.dat”,并将其值读入到相应的数组中。7.编写计算均值、变率和距平的子程序。8.调用子程序分别计算强度、面积、经度、纬度环流指数的均值、变率和距平。9.将蒙古高压环流指数的均值和变率写入到“mh1.dat”和“mh1.grd”两个文件中。将蒙古高压环流指数的距平值写入到“mh2.dat”和“mh2.grd”两个文件中。10.编译、构建、运行、调试Fortran程序。3.2蒙古高压环流指数距平时间序列图绘制1.为蒙古高压环流指数距平数据文件“mh2.grd”书写数据描述文件“mh2.ctl”,在此文件中定义四个变量p、s、lo、la。2.编写“mh2.gs”可执行文件,利用GrADS基本操作命令和line、bar两种绘图类型的绘图要素设置,以不同颜色和线形显示蒙古高压强度和面积时间序列图(曲线),分别以不同颜色显示蒙古高压经度和纬度时间序列图(柱状)。3.将蒙古高压强度和面积时间序列图(曲线)保存到“mhline.gmf”,将蒙古高压经度和纬度时间序列图(柱状)分别保存到“mhlonbar.gmf”和“mhlatbar.gmf”中。4.启动GrADS,调试、执行“mh2.gs”。5.分析蒙古高压气候及其异常特征。33.3实习关键技术及方法某数据资料时间序列距平x’为数据资料tx与其平均值x11niixxn之差',1,2,3,txxxtn某数据资料的变率为其均方差,反映变量围绕平均值的平均变化程度,其计算公式为:21niixxn3.4实验程序编写以下FORTRAN程序用于蒙古高压环流指数气候及异常值计算。programmhimplicitnoneinteger,parameter::ny=60!p(ny)、pa(ny)、pav和pd分别为强度指数原序列、距平序列、均值和标准差,其他参数量类似定义realp(ny),s(ny),lon(ny),lat(ny),pa(ny),sa(ny),lona(ny),lata(ny),pav,sav,lonav,latav,pd,sd,lond,latdintegeri,j,k!利用open语句打开强度、面积、经度、纬度指数数据open(1,file='D:\GrAdsshixi\GrAds\chap4\p.dat')open(2,file='D:\GrAdsshixi\GrAds\chap4\s.dat')open(3,file='D:\GrAdsshixi\GrAds\chap4\lon.dat')open(4,file='D:\GrAdsshixi\GrAds\chap4\lat.dat')!将打开数据保存到对应数组中doi=1,nyread(1,*)p(i)read(2,*)s(i)read(3,*)lon(i)4read(4,*)lat(i)enddoclose(1)close(2)close(3)close(4)!调用气候及异常值计算函数callcha(ny,p,pa,pav,pd)callcha(ny,s,sa,sav,sd)callcha(ny,lon,lona,lonav,lond)callcha(ny,lat,lata,latav,latd)!用open语句打开文件open(5,file='D:\GrAdsshixi\GrAds\chap4\mh1.dat')write(5,100)pav,pdwrite(5,100)sav,sdwrite(5,100)lonav,londwrite(5,100)latav,latdclose(5)!将蒙古高压环流指数气候值写入到mh1.grd中open(6,file='D:\GrAdsshixi\GrAds\chap4\mh1.grd',form='binary')write(6)pav,pdwrite(6)sav,sdwrite(6)lonav,londwrite(6)latav,latdclose(6)!将蒙古高压环流指数距平值写入到mh2.grd中,要求按pa(60)、sa(60)、lona(60)、lata(60)顺序存放open(7,file='D:\GrAdsshixi\GrAds\chap4\mh2.dat')write(7,200)(pa(i),i=1,ny)write(7,200)(sa(i),i=1,ny)5write(7,200)(lona(i),i=1,ny)write(7,200)(lata(i),i=1,ny)close(7)!将蒙古高压环流指数距平值写入到mh2.grd中,要求利用do循环按pa(i)、sa(i)、lona(i)、lata(i)顺序存放open(8,file='D:\GrAdsshixi\GrAds\chap4\mh2.grd',form='binary')doi=1,nywrite(8)pa(i)write(8)sa(i)write(8)lona(i)write(8)lata(i)enddoclose(8)!上面两种书写数据的数据结构不同,注意区分100format(2f10.2)200format(f10.2)end!求特征值subroutinecha(ny,x,xa,xav,xd)integer::nyintegeri!x(ny)为原序列值,xa,xav和xd分别保存序列距平、均值和标准差值real::x(ny),xa(ny),xav,xd,sum=0xd=0doi=1,nysum=sum+x(i)enddoxav=sum/nydoi=1,nyxa(i)=x(i)-xav6xd=xa(i)*xa(i)+xdenddoxd=sqrt(xd/ny)returnend以下程序用于蒙古高压环流指数距平值绘图。(GrADS程序编写)“mh2.ctl”dsetE:\daqi\GrADS\gradsSHIXI\shixi4\mh2.grdundef-9.99E+33title蒙古高压环流指数距平图xdef1linear12.500ydef1linear12.500zdef1levels1tdef60linearJAN19511yrvars4pa199pressureanomaly(Pa)sa199area(m^2)lona199longitudelata199latitudeendvars“mh2.gs”'reinit''openE:\daqi\GrADS\gradsSHIXI\shixi4\mh2.ctl''enableprintE:\daqi\GrADS\gradsSHIXI\shixi4\mhpsline.gmf''setlat1''setlon1''setlev1''sett160''setgxoutline''setccolor1'7'setcstyle1''setcthick5''setcmark2''dpa''setccolor4''setcstyle1''setcthick2''setcmark2''dsa''print''disableprint''c''enableprintE:\daqi\GrADS\gradsSHIXI\shixi4\mhlonbar.gmf''setgxoutbar''setbarbase2''setbargap2''setccolor4''dlona''print''disableprint''c''enableprintE:\daqi\GrADS\gradsSHIXI\shixi4\mhlatbar.gmf''setgxoutbar''setbarbase2''setbargap2''setccolor4''dlata''print''disableprint';8四、实验结果蒙古高压纬度时间序列如图1所示:分析:蒙古高压纬度距平异常变化周期约为10年,变化范围在12°左右,呈上下震荡模式,其中,1968-1978年间的负距平较大。总的来看,负距平要大于正距平。蒙古高压强度和面积时间序列如图2所示图2蒙古高压强度和面积时间序列(幅度小的是面积)图1蒙古高压纬度时间序列9注:面积扩大了10倍分析:蒙古高压的强度距平变化幅度远大于面积距平变化,且二者距平分布均没有明显规律和周期。1951-2010折60年强度距平年际变化正距平大于负距平,面积距平正负距平基本持恒。蒙古高压经度时间序列如图3图3蒙古高压经度时间序列分析:由1951-2010这60年的经度距平图可以明显看出,负距平时间多于正距平,但是负距平达到-4及以上的很少,正距平数量值大于负距平,其中有半数以上年份超过了4,幅度较大。表明蒙古高压移动位置大多数时间偏西,偶尔出现大范围偏东的情况五、实验总结这次实验课的学习,我了解并掌握GrADS的使用流程。我掌握气象要素气候异常特征的基本方法。并进一步巩固Fortran顺序结构和循环结构的程序设计方法,重点掌握文件、变量、函数、数组的使用方法、数据的有格式输入输出方法。此外还进一步巩固Fortran顺序结构和循环结构的程序设计方法,重点掌握文件、变量、函数、数组的使用方法、数据的有格式输入输出方法。
本文标题:GrADS实习报告4资料
链接地址:https://www.777doc.com/doc-5426308 .html