爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 7210|回复: 10

[脚本编辑] 【已解决】grads数据读取问题,新手求助大神~

[复制链接]

新浪微博达人勋

发表于 2014-4-30 11:45:54 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 blue_maker 于 2014-4-30 13:04 编辑

从别人那里拿到一个GRADS可以画图的数据sourcene.dat,配套有ctl文件sourcene.ctl,现在想要写个fortran程序把数据读出来,循环从外到内按照先t后变量在经度再纬度的顺序,但是就是运行不出来,求各位大神帮忙看看。GRADS新手谢过啦~代码都写在下面,附件里也有~
sourcene.ctl文件

DSET d:\grads\sourcene.dat
TITLE Source of TCs
undef -99999
XDEF 32 LINEAR 101.25  2.5
YDEF 24 LINEAR   1.25  2.5
ZDEF  1 LEVELS   1
TDEF  5 LINEAR   00Z30JAN2010    1yr
VARS 2
speedup   1 99 Source of TCs
slowdown  1 99 Source of TCs
ENDVARS


fortran 代码
program mian
implicit none
real :: a(32,24,5),b(32,24,5)
integer :: t,i,j
open(unit=10,file='D:\grads\sourcene.dat',status='old',form='binary')
do t=1,5
        read(10,*) ((a(i,j,t),i=1,32),j=1,24)
        read(10,*) ((b(i,j,t),i=1,32),j=1,24)
enddo
write(*,*)a
end program


fortran程序错误

fortran程序错误

sourcene.ctl

266 Bytes, 下载次数: 2, 下载积分: 金钱 -5

sourcene.dat

6 KB, 下载次数: 4, 下载积分: 金钱 -5

file.f90

274 Bytes, 下载次数: 1, 下载积分: 金钱 -5

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

新浪微博达人勋

发表于 2014-4-30 12:13:15 | 显示全部楼层
read(10,*) ((a(i,j,t),i=1,32),j=1,24)
        read(10,*) ((b(i,j,t),i=1,32),j=1,24)
  你把这两句中的‘*’去掉看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-30 12:17:04 | 显示全部楼层
status='old',去掉也没有什么影响
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-30 12:22:00 | 显示全部楼层
去掉*以后还是不对,不过错误变成了f:/1.pgn
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-30 12:26:01 | 显示全部楼层
爱知天气 发表于 2014-4-30 12:13
read(10,*) ((a(i,j,t),i=1,32),j=1,24)
        read(10,*) ((b(i,j,t),i=1,32),j=1,24)
  你把这两句中 ...

去掉*以后还是不对,不过错误变成了end-of-file during reading,我用的是compaq visual fortran6,是不是和编译器有关系啊。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-30 12:26:31 | 显示全部楼层
爱知天气 发表于 2014-4-30 12:17
status='old',去掉也没有什么影响

嗯嗯,是的。。。那个就是随便加上去的~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-30 12:44:28 | 显示全部楼层
我看拿那个数据画的图就觉得只有一个时次,结果把FORTRAN里面的t循环给删掉了,结果对了。。好吧,真是以前那个人ctl文件里写错了,不过时次写成5也一样可以画出图来,居然都没有影响~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-30 12:46:33 | 显示全部楼层
对了就好,是不是*要去掉?不去掉可不可以?    解决了的话你可以把标题修改一下,加上【已解决】
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2014-4-30 12:58:45 | 显示全部楼层
爱知天气 发表于 2014-4-30 12:46
对了就好,是不是*要去掉?不去掉可不可以?    解决了的话你可以把标题修改一下,加上【已解决】

嗯嗯,是的,需要去掉,不然也不可以。感觉fortran在这个地方还是很严格的,读数据总是会有小问题出现。谢谢拉~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-4-30 13:04:33 | 显示全部楼层
blue_maker 发表于 2014-4-30 12:58
嗯嗯,是的,需要去掉,不然也不可以。感觉fortran在这个地方还是很严格的,读数据总是会有小问题出现。 ...

不客气  对了就好

评分

参与人数 1金钱 +6 收起 理由
lqouc + 6

查看全部评分

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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