气象程序设计及绘图实习报告_第1页
气象程序设计及绘图实习报告_第2页
气象程序设计及绘图实习报告_第3页
气象程序设计及绘图实习报告_第4页
气象程序设计及绘图实习报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实习要求: 根据所提供的实习说明和资料,按要求完成实习内容; 将完成的实习内容按步骤写入实习报告中,包括资料说明、Fortran程序、CTL文件、gs文件、绘制的图形(要求在图形上方用draw title的方式添加标题,注明姓名拼音及学号) 根据所绘图形及查找相关文献,说明本次实习所求物理量场的意义。实习内容: Nino34海温指数与海平面气压相关图 Nino34海温指数与中国160站降水相关图1. 绘制1月份Nino34海温指数与1月份海平面气压相关图1.1 资料说明 Nino34指数:Nino34.txt是1951年1月至2013年12月Nino3.4区(热带太平洋:西经170度西经120

2、度、北纬5度南纬5度)区域平均海温指数资料,共有63行数据,每行数据第一个数字为年份,后面12个数字为该年1-12月的海温指数; 全球海平面气压月平均数据:slp.jan.grd为1951至2013年的1月全球海平面气压场二进制数据,年数为63年,格点数144*73,水平分辨率2.5*2.5;1.2 步骤:1用Fortran编写corr.grid.f90文件,计算1951-2013年 1月Nino34海温指数与海平面气压相关系数,计算结果保存于corr.slp.grd 文件中;corr.grid.f90文件:program cximplicit nonerealt(63),p(73,144,6

3、3),r(73,144),relation,z(63)character*12 c(63)character*7 a(63)integer i,j,kopen(5,file=D:exprimentsgradsslp.jan.grd,form=binary)open(6,file=D:exprimentsgradsnino34.txt)do i=1,63read(6,(A12) c(i)end dodo i=1,63read(c(i),(A7,F5.2) a(i),t(i)end dodo k=1,63read(5) (p(i,j,k),j=1,144),i=1,73)end do!print*

4、,pdo i=1,73 do j=1,144 do k=1,63 z(k)=p(i,j,k)end do r(i,j)=relation(z,t,63)end doend do!print*,ropen(7,file=D:exprimentsgradscorr.slp.txt)open(8,file=D:exprimentsgradscorr.slp.grd,form=binary)write(7,(144F5.2) (r(i,j),j=1,144),i=1,73)write(8) (r(i,j),j=1,144),i=1,73)endfunction relation(a,b,n)impli

5、cit noneinteger,intent(in):nreal,intent(in):a(n),b(n)real:relation !返回的相关系数integer:i,j !循环控制变量real:sfenzi,sfenmu1,sfenmu2,s !加法器real:amean,bmean !a,b向量的平均值!计算平均值s=0.do i=1,n s=s+a(i)end doamean=s/ns=0.do i=1,n s=s+b(i)end dobmean=s/n !计算相关系数sfenzi=0.sfenmu1=0.sfenmu2=0.do i=1,n sfenzi=sfenzi+(a(i)-a

6、mean)*(b(i)-bmean) sfenmu1=sfenmu1+(a(i)-amean)*2 sfenmu2=sfenmu2+(b(i)-bmean)*2end dorelation=sfenzi/sqrt(sfenmu1*sfenmu2)end function relation保存于corr.slp.grd 文件中。书写corr.slp.grd 的数据描述文件1.ctl:dset e:grads20150706qimotest1corr.slp.grdtitle slpundef -9.99e33xdef 144 linear -180 2.5ydef 73 linear -90 2

7、.5zdef 1 levels 1000tdef 63 linear jun1951 1yrvars 1slp 0 0 sea level pressureendvars编写1.gs文件:reinitopen e:grads20150706qimotest11.ctlset lev 1000set lon -180 180set lat -90 90set t 1set gxout shadedset grads offset black -0.2 0.2d slpset gxout contourd slpdraw title Lu Yu 20131301070cbar 1.0 0print

8、im e:grads20150706qimotest11.png white;绘制1951-2013年 1月Nino34海温指数与海平面气压相关系数图:1951-2013年 1月Nino34海温指数与海平面气压相关系数图2 绘制1月份Nino34海温指数与7月份中国160站降水相关图:2.1资料说明 Nino34指数:Nino34.txt是1951年1月至2013年12月Nino3.4区(热带太平洋:西经170度西经120度、北纬5度南纬5度)区域平均海温指数资料,共有63行数据,每行数据第一个数字为年份,后面12个数字为该年1-12月的海温指数; 160站降水资料:r1607.txt是中国1

9、60站19512013年共63年7月降水资料,数据是1951年7月各站降水量按照id.txt中各站顺序写入,该年160站都写入后再写下1952年7月各站降水量,.,直至2013年7月各站降水量按照id.txt中各站顺序写入; 160站站点资料:id.txt是160站站号和纬度、经度资料,共有160行。每行第一个数据为8位字符型的站号,后面两个数字分别为该站点纬度和经度;2.2 步骤:用Fortran编写corr.station.f90文件,计算1951-2013年1月Nino34海温指数与7月160站降水相关系数,计算结果保存于corr.7.txt和corr.7.grd文件中;program

10、cximplicit noneinteger p(160,63),i,j,kreal s(63),r(160),relation,t(63),lon(160),lat(160),timcharacter*12 c(63)character*7 a(63)character*8 stid(160)integer nlev,nflagopen(6,file=E:grads20150706qimotest2nino34.txt)open(5,file=E:grads20150706qimotest2r1607.txt)open(10,file=E:grads20150706qimotest1id.t

11、xt)do i=1,160read(10,*) stid(i),lat(i),lon(i)end doprint*,stiddo j=1,63read (5,*) (p(i,j),i=1,160)end dodo i=1,63read(6,(A12) c(i)end dodo i=1,63read(c(i),(A7,F5.2) a(i),t(i)end dodo i=1,160 do j=1,63 s(j)=p(i,j) end dor(i)=relation(s,t,63)end do!print*,rtim=0nlev=1nflag=1open(7,file=E:grads20150706

12、qimotest2corr.7.txt)open(8,file=E:grads20150706qimotest1corr.7.grd,form=binary)do i=1,160write(7,*) stid(i),lon(i),lat(i),tim,nlev,nflag,r(i)end dodo i=1,160write(8)stid(i),lat(i),lon(i),tim,nlev,nflag,r(i)end donlev=0 write(8)stid(160-1),lat(160-1),lon(160-1),tim,nlev,nflag,r(160-1)endfunction rela

13、tion(a,b,n)!本程序计算两列向量的相关系数!a,b分别是待计算的向量!n是向量的长度,要求两列向量等长implicit noneinteger,intent(in):nreal,intent(in):a(n),b(n)real:relation !返回的相关系数integer:i,j !循环控制变量real:sfenzi,sfenmu1,sfenmu2,s !加法器real:amean,bmean !a,b向量的平均值!计算平均值s=0.do i=1,n s=s+a(i)end doamean=s/ns=0.do i=1,n s=s+b(i)end dobmean=s/n!计算相关系

14、数sfenzi=0.sfenmu1=0.sfenmu2=0.do i=1,n sfenzi=sfenzi+(a(i)-amean)*(b(i)-bmean) sfenmu1=sfenmu1+(a(i)-amean)*2 sfenmu2=sfenmu2+(b(i)-bmean)*2end dorelation=sfenzi/sqrt(sfenmu1*sfenmu2)end function relation书写corr.7.grd 的数据描述文件2.ctl ;dset E:grads20150706qimotest2corr.7.datdtype stationstnmap E:grads201

15、50706qimotest2corr7.mapUNDEF 2.5E33TITLE corrTDEF 1 linear jan1951 1moVARS 1r 0 99 relationendvars准备corr.7.grd的站点映射文件corr7.map;准备 GrADS画站点图时插值时所需格点数据Grid.grd和及其描述文件Grid161.ctl(已提供);编写2.gs文件,绘制1951-2013年 1月Nino34海温指数与7月中国160站降水相关系数图,保存于corr.7.gmf 文件中。reinitopen E:grads20150706qimotest2grid161.ctlopen

16、 E:grads20150706qimotest22.ctlset lat 3 54set lon 70 135define a=oacres(g,r.2)define a1=maskout(a,g-0.5)define aa=smth9(a1)set grads offset mpdset cnworldset map 1 1 1enable print E:grads20150706qimotest1corr7.gmfset gxout shadedset cmin 0d aaset gxout contourset ccolor 2d aadraw title Lu Yu 20131301070printdisable print1951-2013年 1月Nino34海温指数与7月我国160站降水相关系数图分析:图1 是1951-2013年 1月Nino34海温指数与海平面气压相关系数图,从图中可以看出,赤道中东太平洋地区海温指数和海平面气压成明显正相关,最大相关系数已超过0.8;而赤道锡太平洋地区海温指数和海平面气压则成负相关,最小相关系数低于-0.6。由此可以解释当发生厄尔尼诺事件时,由于赤道中东太平洋和秘鲁沿岸等地区海温上升,使沃克环流减弱,对中东太平洋地区的下沉气流产生负的影响,使中东太平洋地区海平面气压降低;与之相反,西太平洋地区上升气流减

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论