- 积分
- 10421
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-8-29
- 最后登录
- 1970-1-1
![未绑定新浪微博用户 新浪微博达人勋](source/plugin/sina_login/img/gray.png)
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
这个问题是我回复帖子:grads只有横轴,没有纵轴http://bbs.06climate.com/forum.php?mod=viewthread&tid=4834&fromuid=1644 (蓝色字体的内容来自该贴)中发现的。虽然在回复中提到了这个问题,但是没有人回复我,在这里我自己发个帖子问问吧!
这是1951年到2010年某个站点的每年降水
149 59 80 336 40 158 97 140 73 222 125 147 109 133 202 48 88 189 225 362 151 76 146 62 57 162 258 135 144 113 109 145 256 170 69 133 135 108 181 31 472 119 231 62 93 313 206 85 219 180 119 162 234 273 122 47 149 244 44 213
我将以上的存放以上数据的文件命名为luntan.txt中,以下是我将txt文件转换成二进制格式的fortran程序,我的问题是:为什么当我设置记录长度recl=1的时候写出来的grd文件,我用'set gxout print'查看数据的时候除了第一个数据以外其他的59数据都是0,而设成recl=60的时候就正常。而之前在论坛上一种经典的设置是:recl=ix*iy ,其中ix和iy分别代表x和y方向上的格点数,而不用管时间维和高度维是否固定,所以我的这种情况不就相当于recl=1(1*1),而时间维为60吗?
还请大家为我指点指点。
program main
implicit none
real::rain(60)
integer::i,irec
open(15,file='f:/data/test/luntan.txt')
read(15,*)(rain(i),i=1,60)
print*,(rain(i),i=1,60)
open(16,file='f:/data/test/luntan.grd',form='binary',recl=60)
irec=1
write(16,rec=irec)(rain(i),i=1,60)
!do i=1,60
!write(16,rec=irec)rain(i)
!irec=irec+1
!enddo
close(15)
close(16)
end
|
|