因为AERONET站点的光学厚度值时间十分分散,因此大胖编写了计算小时均值的Fortran程序。
AOD_1403文件是618行,3列。第一列是day,第二列hour,第三列AOD
第一行为表头,跳过。在最后一部分其实还缺一个判断,是否最后一行和导数第二行时间一致。
program main
implicit none
integer i,j,k,ln,icount,idy,ihr,idy0,ihr0
real aod,aod0
real s,mean
open(2,file="AOD_1403.csv")
open(13,file='out.log')
read(2,*)
read(2,*) idy,ihr,aod
s=0.;icount=0
do ln = 1,617
if(ln==1) then
cycle
else
idy0=idy
ihr0=ihr
aod0=aod
endif
icount=icount+1
s=s+aod0
read(2,*) idy,ihr,aod
if(idy/=idy0 .or. ihr/=ihr0) then
mean = s/icount
write(13,*) idy0,ihr0,mean
s=0.
icount=0
endif
if(ln==617) then
icount=icount+1
s=s+aod
mean = s/icount
write(13,*) idy0,ihr0,mean
endif
enddo
end
网友评论