Grads综合实习报告

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Grads综合实习报告姓名:吉学号:0班级:长望一班一、第一问问题重述:用Fortran编写corr.grid.f90文件,计算1951-2013年1月Nino34海温指数与海平面气压相关系数,计算结果保存于corr.slp.txt和corr.slp.grd文件中;书写corr.slp.grd的数据描述文件corr.slp.ctl;编写corr.slp.gs文件,绘制1951-2013年1月Nino34海温指数与海平面气压相关系数图。首先,用Fortran编写corr.grid.f90文件,计算1951-2013年1月Nino34海温指数与海平面气压相关系数,计算结果保存于corr.slp.txt(.txt文件见附录,.grd是其二进制文件)和corr.slp.grd文件中,程序如下:programfirstimplicitnoneintegeri,j,x,y,t,kparameter(x=144,y=73,t=63)real::sp(x,y)=0,p(x,y,t),avep(x,y)=0,cor(x,y)=0integerNparameter(N=63)realnino34(N),nino342(N),avenino342,stavenino342=0st=0open(1,file='d:\grads\zongheshixi\nino34.txt')doi=1,Nread(1,*)nino34(i),nino342(i)enddoclose(1)doi=1,63avenino342=avenino342+nino342(i)enddoavenino342=avenino342/63doi=1,63st=st+(nino342(i)-avenino342)**2enddost=sqrt(st/62)open(15,file='d:\grads\zongheshixi\slp.jan.grd',form='binary')open(16,file='d:\grads\zongheshixi\slp.jan.txt')dok=1,63read(15)((p(i,j,k),i=1,x),j=1,y)write(16,*)((p(i,j,k),i=1,x),j=1,y)enddoclose(15)close(16)doj=1,ydoi=1,xdok=1,63avep(i,j)=avep(i,j)+p(i,j,k)enddoavep(i,j)=avep(i,j)/63enddoenddodoj=1,ydoi=1,xdok=1,tsp(i,j)=sp(i,j)+(p(i,j,k)-avep(i,j))**2enddosp(i,j)=sqrt(sp(i,j)/62)enddoenddodoj=1,ydoi=1,xdok=1,63cor(i,j)=cor(i,j)+(nino342(k)-avenino342)/st*(p(i,j,k)-avep(i,j))/sp(i,j)enddoenddoenddoopen(18,file='d:\grads\zongheshixi\cor.slp.txt')write(18,*)((cor(i,j)/63,i=1,x),j=1,y)close(18)open(19,file='d:\grads\zongheshixi\cor.slp.grd',form='binary')write(19)((cor(i,j)/63,i=1,x),j=1,y)close(19)end接着,书写corr.slp.grd的数据描述文件corr.slp.ctl,如下:dsetG:\grads2\zongheshixi\cor.slp.grdUNDEF-2.56E33TITLE21XDEF144LINEAR0.02.5YDEF73LINEAR-90.02.5ZDEF1LEVELS500TDEF1LINEARJAN19511yrvars1cor099GeopotentialHeightsENDVARS最后编写gs文件,画图。'reinit''openg:\grads2\zongheshixi\result.ctl''setlat-6060''setlon0360''setgxoutshaded''dcor''setgxoutcontour''dcor''drawtitlejidenghui20131301072''printimg:\grads2\model.pngwhite';结果如图:二、问题二问题重述:用Fortran编写corr.station.f90文件,计算1951-2013年1月Nino34海温指数与7月160站降水相关系数,计算结果保存于corr.7.txt和corr.7.grd文件中;书写corr.7.grd的数据描述文件corr.7.ctl;准备corr.7.grd的站点映射文件corr.7.map;首先,写程序,我写了两个程序:第一个求海温与160个站点的降水相关系数,第二个程序将上面的相关系数写到coor.7.txt和grd里面。程序如下:programfirstimplicitnoneintegeri,j,x,y,t,kparameter(x=160,t=63)real::sr(x)=0,r(x,t),aver(x)=0,cor(x)=0integerNparameter(N=63)realnino34(N),nino342(N),avenino342,stavenino342=0st=0open(1,file='d:\grads\zongheshixi\nino34.txt')doi=1,Nread(1,*)nino34(i),nino342(i)enddoclose(1)doi=1,63avenino342=avenino342+nino342(i)enddoavenino342=avenino342/63doi=1,63st=st+(nino342(i)-avenino342)**2enddost=sqrt(st/62)open(15,file='d:\grads\zongheshixi\r1607.txt')dok=1,63read(15,*)(r(i,k),i=1,x)enddoclose(15)doi=1,xdok=1,63aver(i)=aver(i)+r(i,k)enddoaver(i)=aver(i)/63enddodoi=1,xdok=1,tsr(i)=sr(i)+(r(i,k)-aver(i))**2enddosr(i)=sqrt(sr(i)/62)enddodoi=1,xdok=1,63cor(i)=cor(i)+(nino342(k)-avenino342)/st*(r(i,k)-aver(i))/sr(i)enddoenddoopen(18,file='d:\grads\zongheshixi\corr7.txt')write(18,*)(cor(i)/63,i=1,x)close(18)open(19,file='d:\grads\zongheshixi\corr7.grd',form='binary')write(19)(cor(i)/63,i=1,x)close(19)end第二个程序将上面的相关系数以及台站的信息按照台站、纬度、经度、tim、nlev、nflag、cor的顺序写到coor.7.txt和grd里面。programsecondimplicitnoneintegeri,nlev,nflagcharacter*8stid(160)reallat(160),lon(160),cor(160),timopen(1,file='d:\grads\zongheshixi\id.txt')doi=1,160read(1,*)stid(i),lat(i),lon(i)enddoclose(1)open(16,file='d:\grads\zongheshixi\corr7.txt')read(16,*)(cor(i),i=1,160)close(16)open(3,file='d:\grads\zongheshixi\corr.7.grd',form='binary')tim=0.0nlev=1nflag=1doi=1,160write(3)stid(i),lat(i),lon(i),tim,nlev,nflag,cor(i)enddonlev=0write(3)stid(i-1),lat(i-1),lon(i-1),tim,nlev,nflagclose(3)end然后,书写corr.7.grd的数据描述文件corr.7.ctl;准备corr.7.grd的站点映射文件corr.7.map。(在命令栏里写!stnmap,就可以得到map映射。)dsetg:\grads2\zongheshixi\corr.7.grddtypestationstnmapg:\grads2\zongheshixi\corr.7.mapUNDEF-2.56E33TITLEcorrelationofrainTDEF1LINEARJAN19511yrvars1cor099correlationofrainENDVARSgrid161.ctldsetg:\grads2\zongheshixi\grid.grdundef-999.0titleSampleGRIDDataxdef71linear701ydef41linear151zdef1linear5001tdef1linearjan19511yrvars1g099griddatapreparedforoacresfunctionendvars最后写gs文件,画图即可。'reinit''openg:\grads2\zongheshixi\grid161.ctl''openg:\grads2\zongheshixi\corr.7.ctl''setgradsoff''setgridoff''setlon70135''setlat1555''enableprintG:\grads\sunxiaoyu\cor11.gmf''setmpdsetcnworld''setgxoutshaded''setcmin0.15''definea=oacres(g,cor.2,10,7,4,2,1)''definea1=maskout(a,g-0.5)''defineaa=smth9(a1)''daa''setgxoutcontour''daa''drawtitleJiDenghui20131301072''print''disableprint''printimG:\grads\sunxiaoyu\cor11.pngwhite';三、心得体会:此次综合实习编写过程很不容易,我掌握了如何提取十进制文件;如何将二进制文件转为十进制文件;如何将十进制文件转为二进制文件;如何将站点差值为格点图并显示出来。数据处理与应用grads作图能力都有很大的提高。在编程过程中,我遇到以下几个注意点:1、读文件的语句只能通过隐含do循环或者数组才可以读取完整的一行数据,并且对于二进制的文件,要注明’binary’,而且不能默认读取,read(1,*)中的’*’号不能有。经过讨论,我们认为这个应该是编译器的问题。2、在编写最后一个gs文件时,不知道怎么了居然忘了写Reinit语句。仔细分析差值,通过错误提示,我再次找到这一错误。一方面验证了规范性很重要,另一方面也提高了改错能力。四、数据分析气候变化不仅与大气内部的热力、动力过程有关,还与外界强迫有联系。我们知道,地球能量(除了地热能)的最终来源来自太阳,而太阳通过加热下垫面来加热大气,从而推动大气运动。海洋占地球表面积的80%左右,因此,海温对大气的影响很有研究意义。第一幅图:该图是是1951年至2013年1月的nino34区(热带太平洋:西经170度~西经120度、北纬5度~南纬5度)海温指数与全球1月海平面气压场的

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功