爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2376|回复: 8

[求助] micaps的6小时观测资料处理成逐日资料

[复制链接]

新浪微博达人勋

发表于 2016-3-22 20:38:44 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 海soso 于 2016-3-22 20:41 编辑

求助 把micaps的6小时资料处理成逐日资料 用fortran遇到问题
原始资料格式是这样的:第一个时次
                                      站点号 经纬度 年 月 日 能见度 相对湿度
                                     第二个时次
                                      站点号 经纬度 年 月 日 能见度 相对湿度
如图: ys.png
这个应该比较简单 但是不知道为什么算不对 也没想通 求大家的指点
附程序:
    program wu_day
    parameter(n=552231) !原始资料的行数
    parameter(m=743)      !要用到的站点数
    integer i,j,k,g,a,mon(n),yr(n),d(n)
    real lat(n),lon(n),v(n),rh(n),latt(m),lonn(m),sta(n),staa(m),averh,avev
    open(1,file='d:\wu\rh94nmd.txt')
        !open(2,file='d:\wu\wufre.grd',form='binary')
    open(3,file='d:\wu\1wud94.txt')
    open(4,file='d:\wu\fre\743sta.txt') !存放要用到的站点和经纬度
    do i=1,n
     read(1,*)sta(i),lat(i),lon(i),yr(i),mon(i),d(i),v(i),rh(i)
    end do
     close(1)

    do i=1,m
     read(4,*)staa(i),latt(i),lonn(i)
    end do
     close(4)


      do k=1,12
       do g=1,31
        do j=1,m
         a=0
         avev=0
         averh=0
        do i=1,n
         if(mon(i)==k.and.d(i)==g.and.sta(i)==staa(j)) then
               a=a+1
           avev=avev+v(i)
           avev=avev/a
           averh=averh+rh(i)
           averh=averh/a
             end if
       end do
       write(3,*) sta(j),lat(j),lon(j),yr(j),mon(j),d(j),int(avev),averh
     end do
    end do
   enddo
   end

  谢谢!

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

新浪微博达人勋

 楼主| 发表于 2016-3-22 20:59:11 | 显示全部楼层
{:eb303:}{:eb303:}{:eb303:}{:eb303:}
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2016-3-23 17:30:48 | 显示全部楼层
{:eb303:}谢谢大家
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2016-3-23 22:23:12 | 显示全部楼层
学习了学习了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-3-24 22:29:10 | 显示全部楼层
学习了学习了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-3-25 09:20:21 | 显示全部楼层
有可能是行数不对,建议检查一下行数
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-3-25 18:23:38 | 显示全部楼层
本帖最后由 海soso 于 2016-3-25 18:25 编辑
wanglianjie1234 发表于 2016-3-25 09:20
有可能是行数不对,建议检查一下行数

问题解决啦 一个是 averh=averh+rh(i)   averh=averh/a 这二句应该放在write前面 还有就是write行写错了 应该是 write(3,*) staa(j),latt(j),lonn(j),yr(j),k,g,int(avev),averh
还是谢谢你~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2016-3-25 18:24:03 | 显示全部楼层
本帖最后由 海soso 于 2016-3-25 18:25 编辑
wanglianjie1234 发表于 2016-3-25 09:20
有可能是行数不对,建议检查一下行数

问题解决啦 一个是 averh=averh+rh(i)   averh=averh/a 这二句应该放在write前面 还有就是write行写错了 应该是 write(3,*) staa(j),latt(j),lonn(j),yr(j),k,g,int(avev),averh
还是谢谢你~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-3-29 21:15:56 | 显示全部楼层
学习啦,谢谢分享!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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