本帖最后由 wxy 于 2017-9-1 11:38 编辑
图一是二进制文件的基本属性,这是一个491*411的格点数据,我在读取时只读到1*411就end of file 了,我让recl=mrow*mcol,结果只输出到1*1,我知道是RECL这里设置的有问题,但不清楚这种二维的数据该怎么设置recl,
[Fortran] 纯文本查看 复制代码 program main
implicit none
integer*4,parameter ::Mrow=411, Mcol=491,mxp=201801
real*4 ::grid1(Mcol,Mrow)
integer*4 irow,icol,status, kk0
open(7,file='xd10kmlr1.bil',form="unformatted",access='direct',recl=mcol*4,iostat=status)
open(8,file="bil.txt")
kk0 = 0
do icol=1,mcol
do irow=1,mrow
kk0=kk0+1
read(7,rec=kk0)grid1(icol,irow)
print*,icol ,irow,grid1(icol,irow)
! read(20, rec=kk0)(grid2(icol,irow,i),i=1,MXP)
write(8,"(i3,2x,i3,2x,f7.2)") icol ,irow,grid1(icol,irow)
end do
end do
close(7)
end |