- 积分
- 339
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-9-10
- 最后登录
- 1970-1-1

|

楼主 |
发表于 2012-9-17 14:43:40
|
显示全部楼层
bustop 发表于 2012-9-17 10:33
给我看你的文件,
你好,程序已经给你发过去了。
我换到xp上运行了一下,程序就对了,不知道到底是不是linux有什么特殊的要求
这是我求季平均的fortran程序,大家共勉。
program one
implicit none
integer,parameter::nx=35,ny=21,nt=776,iyear=64
real,dimension(nx,ny,nt)::hgt
real,dimension(nx,ny,iyear)::hgtwinter
integer::i,j,k,t,irec
open(1,file='hgt500hpa.mon.dat',status='old',form='unformatted',access='direct',recl=35*21)
do t=1,nt
read(1,rec=t)(( hgt(i,j,t),i=1,nx),j=1,ny)
end do
close(1)
print*,hgt(35,21,776)
do j=1,ny
do i=1,nx
do t=12,770,12
if (hgt(i,j,t)/=-9.96921e+36 .and. hgt(i,j,t+1)/=-9.96921e+36 .and.hgt(i,j,t+2)/=-9.96921e+36) then
hgtwinter(i,j,(t-12)/12+1)=-9.96921e+36
else
hgtwinter(i,j,(t-12)/12+1)=(hgt(i,j,t)+hgt(i,j,t+1)+hgt(i,j,t+2))/3
end if
end do
end do
end do
print*,hgtwinter(30,2,:)
open(2,file='hgtwinter.mean.dat',status='replace',form='unformatted',access='direct',recl=35*21)
irec=0
do t=1,64
irec=irec+1
write(2,rec=irec)((hgtwinter(i,j,t),i=1,nx),j=1,ny)
end do
close(2)
print*,'zz'
end program one
|
|