hpa 发表于 2020-4-6 16:26:37

求大佬们帮忙看一哈这个数据输出为二进制

本帖最后由 kyra 于 2020-4-6 18:28 编辑

open(12,file='F:/station_operation1.grd',access='direct',status='replace',form='unformatted',recl=18627*9)
irec = 1
do m=1,9
do n=1,18627
   write(12,rec=irec) h(n,m)
   irec = irec + 1
end do
end do
close(12)
大佬们帮忙看一下有没有问题,我输出位二进制文件后用grads画图,但是画出来都是0
9是9个变量,18627是时间

li913 发表于 2020-4-6 18:14:47

open(12,file='F:/station_operation1.grd',access='stream')
write(12) h(1:18627,1:9)
close(12)

kyra 发表于 2020-4-6 18:29:52

如果你非要直接读写。那么 recl 应该和每次循环输出的长度相匹配。
open(12,file='F:/station_operation1.grd',access='direct',status='replace',form='unformatted',recl=18627*9)
write(12,rec=1) h(1:18627,1:9)
close(12)
或者
open(12,file='F:/station_operation1.grd',access='direct',status='replace',form='unformatted',recl=1)
irec = 1
do m=1,9
do n=1,18627
   write(12,rec=irec) h(n,m)
   irec = irec + 1
end do
end do
close(12)

hpa 发表于 2020-4-7 14:36:51

kyra 发表于 2020-4-6 18:29
如果你非要直接读写。那么 recl 应该和每次循环输出的长度相匹配。
open(12,fil ...

谢谢您了,版主,我明白了,我已经修改对了

hpa 发表于 2020-4-7 14:45:18

li913 发表于 2020-4-6 18:14
open(12,file='F:/station_operation1.grd',access='stream')
write(12) h(1:18627,1:9)
close(12)

谢谢您了,已经修改正确了,麻烦您了
页: [1]
查看完整版本: 求大佬们帮忙看一哈这个数据输出为二进制