爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6274|回复: 10

[求助] FORTRAN可以读多变量的DAT文件吗?急!!!

[复制链接]
发表于 2016-1-22 14:07:22 | 显示全部楼层 |阅读模式

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

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

x
请问大家,fortran可以读多变量的dat文件吗?这个的dat文件的ctl文件如下:



QQ截图20160122140657.png
密码修改失败请联系微信:mofangbao
发表于 2016-1-22 14:18:06 | 显示全部楼层
这就是二进制的格点数据啊,你对照ctl中给出的数据描述,然后设计程序读就可以了,二进制文件的读取还是简单的,都是无格式的。
其实你的问题和多少个变量没有关系,你只需要按照数据排列方式,定义不同的数组把这些变量分别读出来就好了。
密码修改失败请联系微信:mofangbao
发表于 2016-1-22 16:01:26 | 显示全部楼层
当然可以。。。。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

 楼主| 发表于 2016-1-22 17:43:48 | 显示全部楼层
可以说的更加详细一点吗?这个是我设计的程序,一直在报错
open(11,file='H:\2013051000/d02/cwrf_d03_2013051000_0000.dat',Form = 'binary' )         !输入路径
do var=1,18
do t=1,73
do z=1,5
read(11) ((v0(i,j,z,t,var),i=1,nx),j=1,ny)

print*,v0(1,1,1,1,1)
enddo
enddo
enddo
end
密码修改失败请联系微信:mofangbao
发表于 2016-1-24 15:50:36 | 显示全部楼层
dannybear 发表于 2016-1-22 17:43
可以说的更加详细一点吗?这个是我设计的程序,一直在报错
open(11,file='H:\2013051000/d02/cwrf_d03_201 ...

你这个程序肯定是要报错的,因为你设计的循环和你的数据排列根本不符合。你的数据是180*180的格点数据,第一层是925,然后是850,直到200,每一层有18个变量,每个变量有73个时次。你首先就是要弄清楚你的数据排列方式,然后知道数据排列方式以后再设计循环去读,而且读的时候也不要开辟那么多维数的数组,还是分开每个变量或者每个时次什么的,这样一点一点把问题缩小,就可以读出来了。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2016-1-24 16:06:07 | 显示全部楼层
好的,谢谢
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

发表于 2017-7-23 16:27:41 | 显示全部楼层
楼主,请问怎么读特定的一个变量呢,比如你这个数据中我只需要用降水资料,谢谢了
密码修改失败请联系微信:mofangbao
发表于 2017-11-1 18:33:47 | 显示全部楼层
谢谢楼主分享~拿来看看
密码修改失败请联系微信:mofangbao
发表于 2017-11-8 12:39:31 | 显示全部楼层
逐行读取呀,因为你每一行的数据量都不一样
密码修改失败请联系微信:mofangbao
发表于 2023-4-9 15:45:55 | 显示全部楼层
CDH 发表于 2016-1-24 15:50
你这个程序肯定是要报错的,因为你设计的循环和你的数据排列根本不符合。你的数据是180*180的格点数据, ...

请问排列方式是怎么样的
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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