爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5850|回复: 13

[求助] Fortran读取二进制dat文件出错

[复制链接]

新浪微博达人勋

发表于 2016-6-22 20:06:24 | 显示全部楼层 |阅读模式

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

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

x
Fortran代码如下
      
      parameter(iix=300,jjx=300,TX=3)         
      parameter(ix=300, jx=300,kx=37)           
      parameter(nx=300, ny=300,nz=37,cf=1.e30)  

        iuni_r1=11
        iuni_r2=22
        ire_r1=1
        ire_r2=1

        open(iuni_r1,FILE='./qva.dat',
&STATUS='UNKNOWN',FORM='unformatted',
&ACCESS='DIRECT',RECL=nx*ny*4)

             open( iuni_r2,file='./out.dat',
&status='unknown',form='unformatted',
&access='direct',recl=nx*ny*4)

                        do l=1,tx

                               print*,'readtime=',l

                              do k=1,kx      
                                    read(iuni_r1,rec=ire_r1) ((qvapor(i,j,k),i=1,ix),j=1,jx)
                                    ire_r1=ire_r1+1
                                    enddo


                       print*,'qvapor=',qvapor(20,20,4)

                          do k=1,nz
                          write(iuni_r2,rec=ire_r2) ((qvapor(i,j,k),i=1,nx),j=1,ny)
                          ire_r2=ire_r2+1
                            enddo

        enddo

        END

其中的 qva.dat 文件是用ARWpost处理的wrfout中的QVAPOR,使用这个dat文件画出的水汽图是没有问题的。
但是读入再读出后得到的out.dat中的数据非常奇怪,量级能达到10^30,(在print输出的时候就发现数据很奇怪)。
查阅了很久的资料,也搜了很多帖子,但是都解决不了。
PS:form='binary' 和 recl=nx*ny 都尝试过,但是全部报错
请求各位大神解答,感激不尽
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-22 21:55:05 | 显示全部楼层
本帖最后由 小小书童 于 2016-6-22 21:59 编辑

open(iuni_r1,FILE='./qva.dat',FORM='binary')
open( iuni_r2,file='./out.dat',form='binary')
写入是这样写:
do k=1,nz
         write(iuni_r2) ((qvapor(i,j,k),i=1,nx),j=1,ny)
   enddo
试试吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-22 21:55:36 | 显示全部楼层
本帖最后由 小小书童 于 2016-6-22 21:58 编辑

open(iuni_r1,FILE='./qva.dat',FORM='binary')
open( iuni_r2,file='./out.dat',form='binary')
写入是这样写:
do k=1,nz
         write(iuni_r2) ((qvapor(i,j,k),i=1,nx),j=1,ny)
   enddo
试试吧
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-6-23 08:40:03 | 显示全部楼层
您好~刚刚试过了,还是有问题,数据还是错的。
程序都能运行通,但是读出的数据有问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-23 10:55:32 | 显示全部楼层
请问楼主这个问题解决了吗?我也遇到了,想请教
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-23 12:55:03 | 显示全部楼层
谢谢露珠分享~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-6-24 06:58:52 | 显示全部楼层
shayuewancom 发表于 2016-6-23 10:55
请问楼主这个问题解决了吗?我也遇到了,想请教

试试是不是ctl设置的缺省值问题
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-6-24 15:20:22 | 显示全部楼层
ningm3 发表于 2016-6-24 06:58
试试是不是ctl设置的缺省值问题

非常感谢,我试试看!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-8-20 08:38:10 | 显示全部楼层
请问楼主解决这个问题了没
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-8-20 09:25:02 | 显示全部楼层
{:eb513:}{:eb513:}{:eb513:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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