气象程序设计及绘图实习报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实习要求:
•根据所提供的实习说明和资料,按要求完成实习内容;
•将完成的实习内容按步骤写入实习报告中,包括资料说明、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度、北纬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 cx
implicit none
realt(63),p(73,144,63),r(73,144),relation, z(63)
character*12 c(63)
character*7 a(63)
integer i,j,k
open(5,file='D:\expriments\grads\slp.jan. grd',form='binary')
open(6,file='D:\expriments\grads\nino34. txt')
do i=1,63
read(6,'(A12)') c(i)
end do
do i=1,63
read(c(i),'(A7,F5.2)') a(i),t(i)
end do
do k=1,63
read(5) ((p(i,j,k),j=1,144),i=1,73)
end do
!print*,p
do 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 do
end do
!print*,r open(7,file='D:\expriments\grads\corr.slp. txt')
open(8,file='D:\expriments\grads\corr.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)
end
function relation(a,b,n)
implicit none
integer,intent(in)::n
real,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 do
amean=s/n
s=0.
do i=1,n
s=s+b(i)
end do
bmean=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)**2 end do
relation=sfenzi/sqrt(sfenmu1*sfenmu2)
end function relation
保存于corr.slp.grd 文件中。
书写corr.slp.grd 的数据描述文件1.ctl:
dset e:\grads\20150706qimo\test1\corr.slp.grd
title slp
undef -9.99e33
xdef 144 linear -180 2.5
ydef 73 linear -90 2.5
zdef 1 levels 1000
tdef 63 linear jun1951 1yr
vars 1
slp 0 0 sea level pressure
endvars
编写1.gs文件:
'reinit'
'open e:\grads\20150706qimo\test1\1.ctl'
'set lev 1000'
'set lon -180 180'
'set lat -90 90'
'set t 1'
'set gxout shaded'
'set grads off'
'set black -0.2 0.2'
'd slp'
'set gxout contour'
'd slp'
'draw title Lu Yu '
'cbar 1.0 0'
'printim e:\grads\20150706qimo\test1\1.png white'
;
绘制1951-2013年1月Nino34海温指数与海平面气压相关系数图: