- 积分
- 10796
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-3-8
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 海soso 于 2016-3-22 20:41 编辑
求助 把micaps的6小时资料处理成逐日资料 用fortran遇到问题
原始资料格式是这样的:第一个时次
站点号 经纬度 年 月 日 能见度 相对湿度
第二个时次
站点号 经纬度 年 月 日 能见度 相对湿度
如图:
这个应该比较简单 但是不知道为什么算不对 也没想通 求大家的指点
附程序:
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
谢谢!
|
|