爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: fengzhimu

[求助] fortran读取数据问题

[复制链接]

新浪微博达人勋

发表于 2013-3-15 08:31:18 | 显示全部楼层
好像用MATLAB可以读出,NaN是缺省值
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-15 21:49:01 | 显示全部楼层

那楼主一般如何判断NaN,并转换成-999呢?敬请指点。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-15 22:10:34 | 显示全部楼层
kongfeng0824 发表于 2013-3-15 21:49
那楼主一般如何判断NaN,并转换成-999呢?敬请指点。

就把数据以字符型读出来啊,读一个判断一个,然后运算之前全部转换成数字就好了,在fortran里面非常好实现的。read,if,write。就这么简单。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-15 22:24:58 | 显示全部楼层
lqouc 发表于 2013-3-15 22:10
就把数据以字符型读出来啊,读一个判断一个,然后运算之前全部转换成数字就好了,在fortran里面非常好实现 ...

请问转换字符到数字应该使用real直接限制就可以吧?我是这么理解的。我没用过这种方法。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-15 22:32:38 | 显示全部楼层
kongfeng0824 发表于 2013-3-15 22:24
请问转换字符到数字应该使用real直接限制就可以吧?我是这么理解的。我没用过这种方法。

你说的我不太清楚,应该是不可以的,用read语句可以转换的。每个人都有自己的方法,不用和别人一样,只是我数据经常这样作比较方便。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-16 10:20:34 | 显示全部楼层
楼主:
你的问题描述不是很全面。我有问题想问下。
1 你的数据文件是二进制?是否有效正确读入?
2 如果正确读入,那么在程序中应该加判断,在重新输出到新的数组或文件中。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-1-6 10:34:17 | 显示全部楼层
lqouc 发表于 2013-3-12 19:44
你读取的时候吧数组设置成字符型的,然后读出来每一个数据后进行判断,如果是NAN就赋-999,如果不是的话就转 ...

fortran90/95 有isnan函数
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-25 11:04:32 | 显示全部楼层
嗯恩,学习了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-9-25 12:30:25 | 显示全部楼层
可以借鉴。非常好,学习了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-1-18 11:02:37 | 显示全部楼层
lqouc 发表于 2013-3-12 21:04
其实这个我不该帮你的,应该你自己来写程序,网上是很容易查到这些方法的,而且我的方法也不一定好,以后尽 ...

您好,我也遇到类似的问题,CSV文件含nan,顺序读取,借鉴了你的方法,代码如下:
open(100,file=trim(fname1))
         do j=1,nlon
            do i=1,nlat
            read(100,*,iostat=error)  dat
            if (dat == 'NaN') then
               dmsc_2d(i,j)=-9999
            else
               read(dat(1:14),*) dmsc_2d(i,j)
            end if
            end do
         end do

但是显示错误:“PGFIO-F-225/list-directed read/internal file/lexical error-- unknown token type”
求指导,非常感谢!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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