利用Fortran 读取二进制文件
program test2
implicit none
integer,parameter :: nx=72,ny=63,nz=10,nhours=24,nday=4,nvar=12,nid=22
integer varid(nvar)
real tconc(nx,ny)
integer iv,iz,irec,i,j
open(31,file='L:\NewNaqpms\2008030712\testd4.2008030712.grd',ACTION='READ',form='unformatted',access='direct',recl=nx*ny*4,CONVERT='big_endian')
irec=1
!read(31,rec=irec) tconc
read(31,rec=irec) ((tconc(i,j),i=1,nx),j=1,ny)
!write(*,'(F6.5)') ((tconc(i,j),i=1,nx),j=1,ny)
write(*,*) ((tconc(i,j),i=1,nx),j=1,ny)
OPEN(20,ACTION='WRITE',FILE='c:\u.txt',FORM='FORMATTED',recl=nx*ny*4)
!write(20,*) ((tconc(i,j),i=1,nx),j=1,ny)
do i=1,nx
write(20,*) (tconc(i,j),j=1,ny)
enddo
end program test2
implicit none
integer,parameter :: nx=72,ny=63,nz=10,nhours=24,nday=4,nvar=12,nid=22
integer varid(nvar)
real tconc(nx,ny)
integer iv,iz,irec,i,j
open(31,file='L:\NewNaqpms\2008030712\testd4.2008030712.grd',ACTION='READ',form='unformatted',access='direct',recl=nx*ny*4,CONVERT='big_endian')
irec=1
!read(31,rec=irec) tconc
read(31,rec=irec) ((tconc(i,j),i=1,nx),j=1,ny)
!write(*,'(F6.5)') ((tconc(i,j),i=1,nx),j=1,ny)
write(*,*) ((tconc(i,j),i=1,nx),j=1,ny)
OPEN(20,ACTION='WRITE',FILE='c:\u.txt',FORM='FORMATTED',recl=nx*ny*4)
!write(20,*) ((tconc(i,j),i=1,nx),j=1,ny)
do i=1,nx
write(20,*) (tconc(i,j),j=1,ny)
enddo
end program test2