- 积分
- 28
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-3-22
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
以前没遇到过,也没怎么用过,为什么这个程序里读取文件OPEN后面要这样写啊?不是二进制吗,为什么不写成binary就好了,后面还要加上 direct recl之类的?我用来读取我的格点场就会报错forrtl severe 36,然后我把他改成form=binary, 后面的都去掉 就不会报错了,但是不懂这是为什么啊?功率谱程序里也是这样的读法,可是功率谱读取的是时间序列,就没有报错。读空间场会错,读时间序列为什么不会错呢?我的改法不会对结果造成什么影响吧?下面红色部分不是很懂,我就都去掉了。
parameter(it=12419,iz=1,it1=10,it2=30,dt=1,ixy=81*81)
real x(ixy,it),y(ixy,it),w1,w2,h(it)
pi=3.1415926
w1=2*pi/real(it1)
w2=2*pi/real(it2)
open(1,file='../data/rain.grd'
& ,form='unformatted',access='direct',recl=ixy*4)
open(2,file='../data/rain-1030.grd',
& form='unformatted',access='direct',recl=ixy*4)
irec=1
do k1=1,iz
print*,k1
do k=1,it
irec=(k-1)*iz+k1
read(1,rec=irec)(x(i,k),i=1,ixy)
enddo
do i=1,ixy
call responseBF2(it,dt,w1,w2,a,b1,b2,h)
call Bfilter2(it,x(i,1:it),y(i,1:it),a,b1,b2)
enddo
do k=1,it
irec=(k-1)*iz+k1
write(2,rec=irec)(y(i,k),i=1,ixy)
enddo
enddo
end
|
|