爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: dzxconan

[求助] 同一份数据,输出grd和txt不一样?

[复制链接]

新浪微博达人勋

 楼主| 发表于 2013-4-20 19:41:31 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-20 19:42:17 | 显示全部楼层
river 发表于 2013-4-20 15:39
换个文件是什么意思,难道不是上面那个程序生成的那个二进制文件?

就是分别读上面生成的txt和grd滴~~

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-20 20:13:56 | 显示全部楼层
dzxconan 发表于 2013-4-20 19:42
就是分别读上面生成的txt和grd滴~~

那就很奇怪了。加上close(12)  close(13)试试
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-21 00:43:19 | 显示全部楼层
dzxconan 发表于 2013-4-20 11:58
parameter (n=160,m=55)
      real ts(n,m)
        open(1,file='ts.grd',form='binary')

grd是binary文件
读的时候,直接read(1)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-21 11:15:08 | 显示全部楼层
应该还是程序有问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-21 19:10:52 | 显示全部楼层
易小凯 发表于 2013-4-19 23:07
你grd文件是怎么读的呢?

parameter (n=160,m=55)
      real ts(n,m)
        open(1,file='ts.grd',form='binary')
        read(1)((ts(i,j),i=1,n),j=1,m)
        print*,ts
        close(1)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-21 19:42:14 | 显示全部楼层
蔚蓝的天 发表于 2013-4-21 11:15
应该还是程序有问题

program t
parameter(n=160,m=55,tt=12)
integer it(n,m,tt),ave(m,n)
CHARACTER aa*5,mon(tt)*2
data mon/'01','02','03','04','05','06','07','08','09','10','11','12'/
data aa/'t1601'/
do k=1,tt
aa(4:5)=mon(k)
open(11,file=aa)
read(11,*)((it(i,j,k),i=1,n),j=1,m)
close(11)
enddo
do i=1,m
do j=1,n
do k=6,8
ave(i,j)=ave(i,j)+it(j,i,k)/3
enddo
enddo
enddo
  open(12,file='d:\160\ts.grd',form='binary')
write(12)((ave(i,j),i=1,m),j=1,n)
  open(13,file='d:\160\ts.txt')
write(13,*)((ave(i,j),i=1,m),j=1,n)
end
是的 我现在运行这么程序就变成file not found,unit 12,file d:\160\ts.grd
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-21 19:43:42 | 显示全部楼层
易小凯 发表于 2013-4-21 00:43
grd是binary文件
读的时候,直接read(1)

program t
parameter(n=160,m=55,tt=12)
integer it(n,m,tt),ave(m,n)
CHARACTER aa*5,mon(tt)*2
data mon/'01','02','03','04','05','06','07','08','09','10','11','12'/
data aa/'t1601'/
do k=1,tt
aa(4:5)=mon(k)
open(11,file=aa)
read(11,*)((it(i,j,k),i=1,n),j=1,m)
close(11)
enddo
do i=1,m
do j=1,n
do k=6,8
ave(i,j)=ave(i,j)+it(j,i,k)/3
enddo
enddo
enddo
  open(12,file='d:\160\ts.grd',form='binary')
write(12)((ave(i,j),i=1,m),j=1,n)
  open(13,file='d:\160\ts.txt')
write(13,*)((ave(i,j),i=1,m),j=1,n)
end
我现在运行这么程序就变成file not found,unit 12,file d:\160\ts.grd
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-21 19:43:59 | 显示全部楼层
river 发表于 2013-4-20 20:13
那就很奇怪了。加上close(12)  close(13)试试

program t
parameter(n=160,m=55,tt=12)
integer it(n,m,tt),ave(m,n)
CHARACTER aa*5,mon(tt)*2
data mon/'01','02','03','04','05','06','07','08','09','10','11','12'/
data aa/'t1601'/
do k=1,tt
aa(4:5)=mon(k)
open(11,file=aa)
read(11,*)((it(i,j,k),i=1,n),j=1,m)
close(11)
enddo
do i=1,m
do j=1,n
do k=6,8
ave(i,j)=ave(i,j)+it(j,i,k)/3
enddo
enddo
enddo
  open(12,file='d:\160\ts.grd',form='binary')
write(12)((ave(i,j),i=1,m),j=1,n)
  open(13,file='d:\160\ts.txt')
write(13,*)((ave(i,j),i=1,m),j=1,n)
end
好奇怪 我现在运行这么程序就变成file not found,unit 12,file d:\160\ts.grd
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-21 19:50:52 | 显示全部楼层
dzxconan 发表于 2013-4-21 19:43
program t
parameter(n=160,m=55,tt=12)
integer it(n,m,tt),ave(m,n)

把编译、运行过程中形成的那些东西都删掉试试
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表