- 82
- 0
- 约7.37千字
- 约 12页
- 2016-06-11 发布于重庆
- 举报
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 文件中,程序如下:
program first
implicit none
integer i,j,x,y,t,k
parameter(x=144,y=73,t=63)
real:: sp(x,y)=0,p(x,y,t),avep(x,y)=0,cor(x,y)=0
integer N
parameter(N =63)
real nino34(N),nino342(N),avenino342,st
avenino342=0
st=0
open (1,file=d:\grads\zongheshixi\nino34.txt)
do i=1,N
read(1,*) nino34(i),nino342(i)
end do
close (1)
do i=1,63
avenino342=avenino342+nino342(i)
end do
avenino342=avenino342/63
do i=1,63
st=st+(nino342(i)-avenino342)**2
end do
st=sqrt(st/62)
open(15,file=d:\grads\zongheshixi\slp.jan.grd,form=binary)
open(16,file=d:\grads\zongheshixi\slp.jan.txt)
do k=1,63
read(15)((p(i,j,k),i=1,x),j=1,y)
write(16,*)((p(i,j,k),i=1,x),j=1,y)
end do
close(15)
close(16)
do j=1,y
do i=1,x
do k=1,63
avep(i,j)=avep(i,j)+p(i,j,k)
end do
avep(i,j)=avep(i,j)/63
end do
end do
do j=1,y
do i=1,x
do k=1,t
sp(i,j)=sp(i,j)+(p(i,j,k)-avep(i,j))**2
end do
sp(i,j)=sqrt(sp(i,j)/62)
end do
end do
do j=1,y
do i=1,x
do k=1,63
cor(i,j)=cor(i,j)+(nino342(k)-avenino342)/st*(p(i,j,k)-avep(i,j))/sp(i,j)
end do
end do
end do
open(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,如下:dset G:\grads2\zongheshixi\cor.slp.grd
UNDEF -2.56E33
TITLE 21
XDEF 144 LINEAR 0.0 2.5
YDEF 73 LINEAR -90.0 2.5
ZDEF 1 LEVELS 500
TDEF 1 LINEAR JAN1951 1yr
vars 1
原创力文档

文档评论(0)