爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

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

[求助] 逐分钟资料用fortran求日平均

[复制链接]

新浪微博达人勋

 楼主| 发表于 2013-11-2 19:47:55 | 显示全部楼层
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-2 19:48:22 | 显示全部楼层
andrewsoong 发表于 2013-11-2 14:39
版主好人做到底~~~给改改程序~~~

嘿嘿  已经搞定了  thks
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-11-2 19:52:33 | 显示全部楼层
q863510557 发表于 2013-11-2 19:48
嘿嘿  已经搞定了  thks

搞定了,那就把程序贴一下,让后辈们也学习一下~~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-11-3 13:43:40 | 显示全部楼层
andrewsoong 发表于 2013-11-2 19:52
搞定了,那就把程序贴一下,让后辈们也学习一下~~~

ok
程序如下:
program main
implicit none
integer n,nn
integer j,jj,i,d
integer k,sum
parameter(n=1578240,nn=1096)
real  cs1(n),cs2(n),cs3(n),cs4(n)
real  dat(nn),ave(nn)
character cha(n),hh
open(1,file='d:\gbno2.txt',status='old',form='formatted')
do j=1,n
read(1,"(I7,A10,f8.5,A8,f8.5,A8,f8.5)") cs1(j),cha(j),cs2(j),hh,cs3(j),hh,cs4(j)
end do
close(1)
i=1
d=0
sum=1440
k=0
do j=1,n
d=d+cs2(j)
k=k+1
if(cs2(j)==0.0) then
sum=sum-1
end if
if(k==1440.and.sum==0) then
ave(i)=0
dat(i)=cs1(j)
i=i+1

d=0
k=0
sum=1440
else if(k==1440) then
ave(i)=d/sum
dat(i)=cs1(j)

i=i+1

d=0
k=0
sum=1440
endif
end do
open(2,file='d:\ave.txt',status='new')
do jj=1,nn
write(2,'(I10,A5,f9.5)') dat(jj),hh,ave(jj)

end do
close(2)
end
求批评指正!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2016-4-22 10:57:02 | 显示全部楼层
谢楼主分享,共同学习~~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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