- 积分
- 518
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-8-17
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 ☆涅垚YTZ☆ 于 2012-4-28 08:21 编辑
又排查了一遍,改动一下发现是写入二进制文件的那边有问题,数组越界,求大大们帮忙
我自己把txt稍微修改了一下,是160X50的,fortran程序跑了很多遍都没有错误,但是就是运行ctl生成map文件的时候出错,说我i我error read 28 bytes什么的。。。都要疯了,跪求各位大大给检查一下哪里出问题了。。挺急的。。这个是fortran程序
program ex_03
integer,parameter::m=160,n=50
integer::i,j,k
real lat(160),lon(160),x(160,n)
character*8 stid(160,n)
!!!!!!!!!!!!!readshuju!!!!!!!!!!!!!!!!!!!
open(1,file='r16006.txt',status='old')
do j=1,n
read(1,*)(x(i,j),i=1,m)
enddo
close(1)
do j=1,n
!print*,(x(i,j),i=1,m)
enddo
!!!!!!!!!!!!!!!!!zhuanhuanrejizhi!!!!!!!!!!!!!!!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!111
open(2,file='china.txt')
do k=1,160
read(2,*) lat(k),lon(k)
enddo
close(2)
!!!!!!!!!!!!!!!给出站号!!!!!!!!!!!!!!!!!!!!!!!!!!!
do j=1,n
do i=1,160
stid(i,j)=char(i)
enddo
enddo
!!!!!!!!!!!!!!!!!!按排序写入r16006!!!!!!!!!!!!!!!!!1
open(3,file='r16006.grd',form='binary')
tim=0.0
nlev=1
nflag=1
do 40 j=1,n
do 40 i=1,160
write(3) stid(i,j),lat(i),lon(i),tim,nlev,nflag,x(i,j)
40 continue
!!!!!!!!!!!!!!!!!jisujilu!!!!!!!!!!!!!!!11
nlev=0
do j=1,n
!write(3) stid(i-1,j),lat(i-1),lon(i-1),tim,nlev,nflag
enddo
close(3)
end
这个是160站50年的降水数据
R16006.txt
(39.16 KB, 下载次数: 110)
|
|