- 积分
- 1022
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-3-22
- 最后登录
- 1970-1-1
|

楼主 |
发表于 2015-3-28 21:52:27
|
显示全部楼层
比如下面是我写的读取数据的一个fortran程序
REAL,PARAMETER:: Omega=7.292e-5,R=6371e+3,PI=3.1415926,Delta=1.00
INTEGER,PARAMETER :: nx=101,ny=71,nz=26,nt=40
INTEGER WtTopLevel(NX,NY,NT)
REAl lat(ny),lon(nx),sigmadeltD
real,allocatable :: temper(:,:,:,:),q(:,:,:,:),u(:,:,:,:),v(:,:,:,:),height(:,:,:,:),qu(:,:,:,:),qv(:,:,:,:),adq(:,:,:,:),adqv(:,:,:,:),vorg(:,:,:,:),voro(:,:,:,:),div(:,:,:,:),temp(:,:,:,:),vorop(:,:,:,:)
allocate (temper(NX,NY,NZ,NT),q(NX,NY,nz,NT),u(NX,NY,NZ,NT),v(NX,NY,NZ,NT),height(NX,NY,NZ,NT),qu(NX,NY,NZ,NT),qv(NX,NY,NZ,NT),adq(NX,NY,NZ,NT),adqv(NX,NY,NZ,NT),vorg(NX,NY,NZ,NT),voro(NX,NY,NZ,NT),div(NX,NY,NZ,NT),temp(NX,NY,NZ,NT),vorop(NX,NY,NZ,NT) )
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
do i=1,nx
lon(i)=50.0+(i-1)*Delta
lon(i)=lon(i)*pi/180.
enddo
do i=1,ny
lat(i)=10.0+(i-1)*Delta
lat(i)=lat(i)*pi/180.
enddo
!--------------read temperature----------------
! level
! time
OPEN(11,file='d:/s/p.dat',status='old',form='binary')
read(11,*)
do it=1,nt
do iz=1,nz
do j=1,ny
read(11,100)(height(i,j,iz,it),i=1,NX)
enddo
enddo
enddo
100 format(10f8.2)
CLOSE(11)
write(*,*) height(1,1,1,1)
end
出来的结果如下:
forrtl: severe (257): formatted I/O to unit open for unformatted transfers, unit
11, file d:\s\p.dat
Image PC Routine Line Source
all2.exe 0040D389 Unknown Unknown Unknown
Incrementally linked image--PC correlation disabled.
Press any key to continue |
|