爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3757|回复: 6

[求助] FORTRAN處理資料問題

[复制链接]

新浪微博达人勋

发表于 2012-11-3 13:51:47 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ml11178 于 2012-11-4 13:39 编辑

小弟最近處理一筆沒處理過的自動站的資料

它的原檔如附件,以下為處理的程式碼

program readwxt
      character wd(999999)*3,ws(999999)*3,t(999999)*4,rh(999999)*5,
     &p(999999)*5,rc(999999)*4,ri(999999)*4
      character yy(999999)*4,mon(999999)*2,day(999999)*2,
     &hr(999999)*2,min(999999)*2,sec(999999)*2,newri(999999)*4

      i=0

      open(10,file='',
     &status='unknown')

      open(11,file='',
     &status='unknown')

   20 format(a4,x,a2,x,a2,x,a2,x,a2,x,a2,8x,a3,5x
     &a3,5x,a4,5x,a4,5x,a5,5x,a4,5x,a4)

   30 continue

      read(10,20,end=99,err=30)yy(i),mon(i),day(i),hr(i),min(i)
     &,sec(i),wd(i),ws(i),t(i),rh(i),p(i),rc(i),ri(i)
      if(ri(4).eq."M")then
      newri(4)=""
      newri(1:4)=ri(1:4)


      write(11,20)yy(i),mon(i),day(i),hr(i),min(i)
     &,sec(i),wd(i),ws(i),t(i),rh(i),p(i),rc(i),newri(i)
      i=i+1
      endif
      go to 30
   99 continue
      stop
      end




結果出來後大概會長這樣:
2012 08 09 14 09 46        037     4.7     29.1     75.9     996.2     0.01     6.4M
2012 08 09 14 09 47        037     4.7     29.1     75.9     996.2     0.00     6.4M
2012 08 09 14 09 48        034     4.8     29.1     74.6     996.2     0.00     6.4M
2012 08 09 14 09 49        028     4.4     29.1     74.5     996.2     0.01     6.4M
2012 08 09 14 09 50        033     4.2     29.1     74.6     996.2     0.03     6.4M
2012 08 09 14 09 51        028     3.7     29.1     74.7     996.2     0.00     6.4M
2012 08 09 14 09 52        036     3.6     29.1     74.7     996.2     0.00     6.4M
2012 08 09 14 09 53        028     3.6     29.1     74.9     996.2     0.00     6.4M
2012 08 09 14 09 54        014     3.6     29.1     74.7     996.2     0.00     6.4M
2012 08 09 14 09 55        022     3.8     29.1     74.6     996.2     0.00     6.4M
2012 08 09 14 09 56        024     3.5     29.1     74.6     996.2     0.00     9.2M
2012 08 09 14 09 57        004     3.1     29.1     74.6     996.2     0.00     9.2M
2012 08 09 14 09 58        350     3.0     29.1     74.6     996.2     0.01     9.2M
2012 08 09 14 09 59        341     3.0     29.1     74.6     996.2     0.00     9.2M
2012 08 09 14 10 00        017     3.0     29.1     74.8     996.2     0.08     9.2M
2012 08 09 14 10 01        006     2.9     29.1     74.8     996.2     0.01     9.2M
2012 08 09 14 10 02        355     2.9     29.1     75.0     996.2     0.00     9.2M
2012 08 09 14 10 03        007     3.4     29.1     75.4     996.2     0.00     9.2M
2012 08 09 14 10 04        026     3.1     29.1     75.4     996.2     0.01     9.2M
2012 08 09 14 10 05        004     3.3     29.1     75.6     996.2     0.00     9.2M
2012 08 09 14 10 06        005     3.2     29.1     75.6     996.2     0.00     13.1
2012 08 09 14 10 07        021     3.1     29.1     75.6     996.2     0.00     13.1
2012 08 09 14 10 08        022     2.8     29.1     75.8     996.2     0.02     13.1
2012 08 09 14 10 09        019     3.1     29.1     76.0     996.2     0.00     13.1
2012 08 09 14 10 10        034     3.3     29.1     76.0     996.2     0.04     13.1
2012 08 09 14 10 11        022     3.6     29.1     76.1     996.2     0.04     13.1
2012 08 09 14 10 12        046     3.4     29.1     76.1     996.2     0.00     13.1
2012 08 09 14 10 13        026     3.5     29.1     76.1     996.2     0.03     13.1
2012 08 09 14 10 14        057     3.4     29.1     76.3     996.2     0.03     13.1
2012 08 09 14 10 15        065     3.0     29.1     76.3     996.3     0.00     13.1
2012 08 09 14 10 16        067     3.0     29.1     76.3     996.3     0.03     24.1
2012 08 09 14 10 17        049     3.0     29.1     76.3     996.3     0.02     24.1
2012 08 09 14 10 18        043     2.8     29.1     76.3     996.3     0.05     24.1
2012 08 09 14 10 19        036     2.6     29.1     76.3     996.3     0.00     24.1
2012 08 09 14 10 20        036     2.6     29.1     76.5     996.3     0.02     24.1
2012 08 09 14 10 21        038     2.3     29.1     76.6     996.3     0.01     24.1
2012 08 09 14 10 22        036     2.1     29.1     76.5     996.3     0.03     24.1
2012 08 09 14 10 23        033     2.5     29.1     76.5     996.3     0.00     24.1



大家可以發現那個M還是沒有挑掉

實在不知道該如何是好...有高手願意幫忙一下嗎?


20120809.txt (7.09 MB, 下载次数: 35)
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-4 10:15:58 | 显示全部楼层
没大看懂你的程序,我在powerstation里面试运行了一下 有错误  你说一下你想干啥  想达到啥目的呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-11-4 10:41:53 | 显示全部楼层
你贴的结果是你想要的还是算错的?想要的是什么样子,为什么最后一列由的有M有的没有?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-4 13:25:54 | 显示全部楼层
嗯~ 我的附件是原檔,我想把數據整理出來,也就是說把文字的部分挑掉,

我的程序寫法是把全部都讀成character,然後再給個format把文字的地方空下來

可是我發現P及Ri的地方,數據的格式會變,所以我在寫程序的時候,如果給固定格式,就會像貼出的那一小段一樣,有些文字沒挑掉,有些文字有挑掉
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-4 13:30:47 | 显示全部楼层
然後中間 IF的部分是我發現有些文字會挑不掉,所以寫個判斷式再挑掉"M",

可是P(氣壓值)的數據也會有格式長度不一樣的問題,所以很苦惱

說明一下附件原檔的數據

年、月、日、時、分、秒、風向、風速、溫度、相對溼度、氣壓、累積雨量、降雨強度

都是每一秒瞬時的資料
密码修改失败请联系微信:mofangbao

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-11-4 14:35:26 | 显示全部楼层
能不能给手动给几行你想要的是什么格式呢?也就是你希望转成的格式,你手动写几行出来大家看一下,要不然不知道你到底想变成什么样子
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-4 14:47:45 | 显示全部楼层
原檔是這樣:
2012-08-09,00:00:00,0R0,Dm=124D,Sm=1.1M,Ta=27.5C,Ua=83.4P,Pa=996.1H,Rc=0.00M,Ri=0.0M
我希望是:
2012 08 09 00 00 00 124 1.1 27.5 83.4 996.1 0.00 0.0

氣壓有可能是1000.4之類的,降雨強度也是會有10位數的量,很苦惱
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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