爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
12
返回列表 发新帖
楼主: KenT621

[求助] 我想使用FORTRAN读取这段数据,求指教!!

[复制链接]

新浪微博达人勋

发表于 2014-3-23 18:43:55 | 显示全部楼层

大神你好,楼主数据的缺测值(NULL)主要是:第一云属云量、第二云属云量、第三云属云量、第四云属云量,,,你所提供的程序当这几个量一直全部为缺测时是有效地,但是对于非全缺测或许无法满足要求的吧。。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2014-3-23 21:19:04 | 显示全部楼层
以下是我写的一段小代码
program data_process
implicit none
integer,parameter::line=139567,row=11
integer i,j,dat(7,line)
character*4 duo(11),miss(6,line),undef


open(1,file='data.txt')
open(2,file='new_data.txt')

read(1,*)(duo(i),i=1,row)

!!!!!  i代表列数,j代表行数
do j=1,line
  read(1,*)(dat(i,j),i=1,5),(miss(i,j),i=1,6)
enddo
close(1)

!!!!!  缺测数据的处理
undef='null'
do j=1,line
do i=1,6
  if(trim(miss(i,j))==trim(undef))miss(i,j)='999'
enddo;enddo


do j=1,line
  write(2,*)(dat(i,j),i=1,5),'  ',(miss(i,j),i=1,6)
enddo
end
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 成长值: 0
发表于 2014-3-23 21:31:16 | 显示全部楼层
小傅之追梦 发表于 2014-3-23 18:43
大神你好,楼主数据的缺测值(NULL)主要是:第一云属云量、第二云属云量、第三云属云量、第四云属云量, ...

由于你给的sample中没有你说的问题,因此写这个程序没有考虑这些。
对于个别的null情况,可以如我此前所言的,现将null以character型读进去,然后替换掉,如用999替换,这样再read到字符型数组里面即可。12楼也有,可以参考···

还有,问题请务必一次性提出来···
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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