爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2841|回复: 3

[求助] Fortran读写二进制文件问题

[复制链接]

新浪微博达人勋

发表于 2015-11-30 22:33:52 | 显示全部楼层 |阅读模式

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

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

x
我用grads导出了两个计算出来的量,是二进制的,然后我打算用Fortran处理,我现在就直接读这个文件然后在把它输出成grads能够识别的二进制格式,但是发现输出后的文件和读入的文件的大小不一样了。
program main

integer i,j,t
integer,parameter::nx=101,ny=76,tt=125
real ri(nx,ny,tt), rhcha(nx,ny,tt)

open(10, file='E:\data\fnl201505\rirhcha.grd',form='binary',recl=nx*ny,access='direct')

irec=1
do t=1,tt
  read(10,rec=irec) ((ri(i,j,t), i=1,nx),j=1,ny)
  read(10,rec=irec) ((rhcha(i,j,t), i=1,nx), j=1,ny)
  irec=irec+1
end do



open(20, file='E:\data\fnl201505\rirhcha2.grd', form='binary', recl=nx*ny, access='direct')

irec=1
do t=1,tt
  write(20,rec=irec) ((ri(i,j,t), i=1,nx),j=1,ny)
  write(20,rec=irec) ((rhcha(i,j,t), i=1,nx), j=1,ny)
  irec=irec+1
end do

close(10)
close(20)

end
这是我的Fortran程序,中间没有进行计算,就是读和写,但是文件大小近差了好多。。。
使用grads画图也出现了错误。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-11-30 23:34:34 | 显示全部楼层
http://v.fcode.cn/video-file_io_ascii.html 可以参考这期视屏,了解2进制文件的存储。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-12-1 09:49:40 | 显示全部楼层
王磊 发表于 2015-11-30 23:34
http://v.fcode.cn/video-file_io_ascii.html 可以参考这期视屏,了解2进制文件的存储。

很好的视频,正在学习中。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-12-1 11:32:35 | 显示全部楼层
问题已解决,在读和写的循环中再加入一句:irec=irec+1

do t=1,tt
  read(10,rec=irec) ((ri(i,j,t), i=1,nx),j=1,ny)
  irec=irec+1
  read(10,rec=irec) ((rhcha(i,j,t), i=1,nx), j=1,ny)
  irec=irec+1
end do
改成如上,就对了。

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

本版积分规则

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

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

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