- 积分
 - 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)
 |   
 
 
 
 |