AERONET AOD求小时均值

2019-01-20  本文已影响0人  Aerosols

因为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
上一篇下一篇

猜你喜欢

热点阅读