气象程序设计及绘图实习报告

上传人:鲁** 文档编号:562977250 上传时间:2022-11-28 格式:DOC 页数:5 大小:124.50KB
返回 下载 相关 举报
气象程序设计及绘图实习报告_第1页
第1页 / 共5页
气象程序设计及绘图实习报告_第2页
第2页 / 共5页
气象程序设计及绘图实习报告_第3页
第3页 / 共5页
气象程序设计及绘图实习报告_第4页
第4页 / 共5页
气象程序设计及绘图实习报告_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《气象程序设计及绘图实习报告》由会员分享,可在线阅读,更多相关《气象程序设计及绘图实习报告(5页珍藏版)》请在金锄头文库上搜索。

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

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

3、63),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)impl

5、icit 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)-

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

7、 -90 2.5zdef 1 levels 1000tdef 63 linear jun1951 1yrvars 1slp 0 0 sea level pressureendvars编写1.gs文件:reinitopen e:grads2021 0706qimotest11.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 cbar 1.0 0printim e

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

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

10、ximplicit 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:grads2021 0706qimotest2nino34.txt)open(5,file=E:grads2021 0706qimotest2r1607.txt)open(10,file=E:grads2021 0706qimotest1id

11、.txt)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:grads2021 0

12、706qimotest2corr.7.txt)open(8,file=E:grads2021 0706qimotest1corr.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

13、relation(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!计算相关系数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.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号