在Fortran读取数据过程中,open一个文件。假设文件中变量为三维。
open(11,file='1.dat', action='read', access='direct', form='unformatted', recl=xx*yy*4)
do t=1, tt
read(11, rec=t)((a(i, j), i=1, xx), j=1, yy)
end do
这个是一个数据读取方法,在我的理解中,如果要对数据进行计算,在end 都之外的话,只对最后一个时次的数据进行了计算。但是最近看其他人做的计算,有的在end 都外面做的,
请问这样不是会导致只计算了一维么。
例如,下面这段。这里面读完以后就end 了。想问这些数据都读出来了么?
DO IZ=1,NZ ! level DO IT=1,NT ! time OPEN(15,file='f:/lj/2010/data/'//timefile(it)//'.'//p(iz)//'q',status='old',form='formatted') read(15,*) do j=1,NY read(15,100)(q(i,j,iz,it),i=1,NX) enddo CLOSE(15) ENDDO ENDDO
|