爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4914|回复: 8

[分享资料] 多要素,多时次站点资料转格点资料

[复制链接]

新浪微博达人勋

发表于 2017-4-20 19:32:37 | 显示全部楼层 |阅读模式

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

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

x
参考mofangbao的单时次站点资料处理方法http://bbs.06climate.com/forum.php?mod=viewthread&tid=4903,修改得到多时次,多要素站点资料处理方法。
  1. Program sta2gr
  2. Implicit none
  3. !这里是程序的变量声明
  4. Character*8 stid
  5. Real lon,lat, ave,max,min,tim
  6. integer nlev,flag,i,j,sta,time
  7. !变量声明结束
  8. !程序开始,输入时次,站点数
  9. time=6
  10. sta=37

  11. tim=0.0
  12. flag=1

  13. Open(1,file='test.txt',status='old')
  14. open(2,file='test.grd',status='replace',form='binary')
  15. !一行一行读取数据,写入数据
  16. j=1
  17. 100 if(j<=time)then
  18. i=1
  19. 10 if(i<=sta)then
  20. nlev=1
  21. Read(1,*)stid,lat,lon,ave,max,min
  22. Write(2)stid,lat,lon,tim,nlev,flag,ave,max,min

  23. i=i+1
  24. Goto 10

  25. else
  26. nlev=0
  27. Write(2)stid,lat,lon,tim,nlev,flag
  28. j=j+1
  29. end if
  30. goto 100
  31. else
  32. close(1)
  33. close(2)
  34. end if
  35. !程序结束
  36. End
复制代码
多时次数据并未使用数组的读取方式,而是采用判断语句编写了一个计数器,每读取完一个时次的所有站点数据后写结束语句然后继续读取下一个站点的数据。
测试数据排列方式是站号,纬度,经度,变量1(Ave),变量2(max),变量3(min),一个时次所有数据然后接下一个时次所有数据。

test.txt

7.18 KB, 下载次数: 19, 下载积分: 金钱 -5

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-4-29 10:37:20 | 显示全部楼层
参考下。。。。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-4-29 10:40:10 | 显示全部楼层
参考下。。。。
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-5-5 17:03:40 | 显示全部楼层
楼主,如果一个txt文件为单时次,但是需要读取多时次(也就是多个txt文件,怎么做啊)program test
    implicit none
    integer i
    character(40)::filename='F:\bishe\1998-2016\1998\98010108.000'
    character*8 stid
    real lon,lat,var,rain,time
    integer nlev,flag
    do i=101,131
    write(filename(28:30),'(i3)')i
    time=0.0
    nlev=1
    flag=1
open(1,file=filename,status='old')
open(2,file='f:\bishe\sta.grd',form='binary')
read(1,*)
read(1,*)
read(1,*)
read(1,*)
read(1,*)
read(1,*)
read(1,*)
read(1,*)
read(1,*)
read(1,*)
read(1,*)
read(1,*)
read(1,*)
read(1,*)
10  read(1,*,end=100)stid,lon,lat,var,rain
    write(2)stid,lon,lat,var,rain
    goto 10
100 continue
    close(1)
    nlev=0
    print*,stid,lon,lat,var,rain
    write(2)stid,lat,lon,time,nlev,flag
    close(2)
    end do
    end
    我是这么写的的,感觉循环不对啊,可否指导一下
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-7 12:10:03 | 显示全部楼层
=。=求指导
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-6-26 15:29:06 | 显示全部楼层
50136        52.58        122.31        2016        1        1        4        0        4                               
50136        52.58        122.31        2016        1        2        0        0        0                               
50136        52.58        122.31        2016        1        3        3        0        3                               
50136        52.58        122.31        2016        1        4        0        0        0                               
50136        52.58        122.31        2016        1        5        8        5        13                               
50136        52.58        122.31        2016        1        6        0        0        0                               
50136        52.58        122.31        2016        1        7        0        0        0                               
50136        52.58        122.31        2016        1        8        0        0        0                               
50136        52.58        122.31        2016        1        9        2        0        2                               
50136        52.58        122.31        2016        1        10        0        0        0
50136        52.58        122.31        2016        1        11        0        0        0                               
50136        52.58        122.31        2016        1        12        0        0        0                               
50136        52.58        122.31        2016        1        13        0        0        0                               
50136        52.58        122.31        2016        1        14        0        32700        32700                               
50136        52.58        122.31        2016        1        15        1        32700        1                               
50136        52.58        122.31        2016        1        16        0        0        0                               
50136        52.58        122.31        2016        1        17        3        2        5                               
50136        52.58        122.31        2016        1        18        32700        1        1                               
50136        52.58        122.31        2016        1        19        0        0        0                               
50136        52.58        122.31        2016        1        20        0        0        0                               
50136        52.58        122.31        2016        1        21        0        0        0                               
50136        52.58        122.31        2016        1        22        0        0        0                               
50136        52.58        122.31        2016        1        23        0        0        0                               
50136        52.58        122.31        2016        1        24        0        0        0                               
50136        52.58        122.31        2016        1        25        32700        5        5                               
50136        52.58        122.31        2016        1        26        0        5        5                               
50136        52.58        122.31        2016        1        27        2        0        2                               
50136        52.58        122.31        2016        1        28        0        0        0                               
50136        52.58        122.31        2016        1        29        0        0        0                               
50136        52.58        122.31        2016        1        30        0        0        0                               
50136        52.58        122.31        2016        1        31        0        0        0
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-6-26 15:35:46 | 显示全部楼层
楼主请问这样的数据应该怎样编写fortran程序,我的资料是全国的,有839个站,而且每个站都是一天一行
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-11-23 17:41:11 | 显示全部楼层
谢谢分享。正在试验。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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