      ! Thong ke hoat dong bao theo cac nguon
      Use NetCDF
      Real, parameter :: Miss=-99
      Integer, parameter :: Yr1=1971, Yr2=2018, Nyr=Yr2-Yr1+1, Nmon=12, NCha=2, Nsc=3
      Character (Len=5), parameter :: tcvar(NCha)= &
                        (/"tc","ntc"/) !,"tc6m","ntc","ntc3m","ntc6m"/)
      Real, Allocatable :: TC(:,:,:,:)  ! (Nyr,Nmon+1,NCha, Nsc)
      Real, Allocatable :: Ave_Mon(:,:,:), Std(:,:,:) ! (Nmon+1,NCha,Nsc)
      Character (Len=255) :: Fname(Nsc)
 
      Fname(1)="/home/tanpv/Data/TCs/VES_Monthly_TC_NTC_Count_jp_new.nc"
      Fname(2)="/home/tanpv/Data/TCs/VES_Monthly_TC_NTC_Count_jwtc_new.nc"
      Fname(3)="/home/tanpv/Data/TCs/VES_Monthly_TC_NTC_Count_cma_new.nc"

      Call Read_TC
      Call Calc_Clim_Cha
      Fname(1)="/home/tanpv/Progs/TCs/TC_Statics/Out/TC_Clim_jp.txt"
      Fname(2)="/home/tanpv/Progs/TCs/TC_Statics/Out/TC_Clim_jwtc.txt"
      Fname(3)="/home/tanpv/Progs/TCs/TC_Statics/Out/TC_Clim_cma.txt"
      Call Write_to_txt

      CONTAINS
      !-------------------------------------------------------------------------
      Subroutine Write_to_txt
        Integer :: isc, imon, icha, iyr
        Character (Len=50) :: TC_var(NCha)

        TC_var(1)="So luong XTND (ATND+Bao)"
        TC_var(2)="So ngay hoat dong (so obs 6gio) cua XTND"
        Do isc=1,Nsc
           Open (3,file=Fname(isc),status="Unknown")
           Do icha=1,NCha
              write (3,*)
              write (3,"(20x,A)") TC_var(icha)
              write (3,"(A4,2x,12(1x,A4,I2.2),A7)") "Nam", ("Thg_",imon,imon=1,Nmon), "Tong"
              Do iyr=1,Nyr
                 write (3,"(1x,I4,1x,13I7)") Yr1+iyr-1, &
                                   (Int(TC(iyr,imon,icha,isc)),imon=1,Nmon+1)
              Enddo
              write (3,"(A6,13F7.1)") "T.Binh", (Ave_Mon(imon,icha,isc),imon=1,Nmon+1)
              write (3,"(A6,13F7.1)") "DLC",    (Std(imon,icha,isc),imon=1,Nmon+1) 
           Enddo
           Close(3)
        Enddo
      End Subroutine Write_to_txt
      !-------------------------------------------------------------------------
      Subroutine Read_TC 
        Integer :: isc, imon, icha, Nyear, Nmn, iyr, it
        Real, Allocatable :: year(:), mon(:), X(:,:)
        Allocate (TC(Nyr,Nmon+1,NCha,Nsc))
        Do isc=1,Nsc
           Do icha=1,NCha
              Call rd_ncdf_2d (Fname(isc),year,mon,Nyear,Nmn,X,trim(tcvar(icha)))
              Do iyr=1,Nyr
                 Do it=1,Nyear
                    if (year(it)==Yr1+iyr-1) then
                       TC(iyr,1:Nmn,icha,isc)=X(it,1:Nmn)
                    endif
                 Enddo
              Enddo
              Deallocate (year,mon,X)
           Enddo
        Enddo
      End Subroutine Read_TC
      !-------------------------------------------------------------------------
      Subroutine Calc_Clim_Cha
        Integer :: isc, imon, icha, iyr, it
        Real :: X(Nmon), X1(Nyr)

        Allocate (Ave_Mon(Nmon+1,NCha,Nsc), Std(Nmon+1,NCha,Nsc))
        Do isc=1,Nsc
           Do icha=1,NCha
              Do iyr=1,Nyr
                 X(1:Nmon)=TC(iyr,1:Nmon,icha,isc)
                 TC(iyr,Nmon+1,icha,isc)=Sum(X)
              Enddo
              Do imon=1,Nmon+1
                 X1(1:Nyr)=TC(1:Nyr,imon,icha,isc)
                 Ave_Mon(imon,icha,isc)=Ave  (X1,Nyr,Miss)
                 Std    (imon,icha,isc)=Stdev(X1,Nyr,Miss)
              Enddo
           Enddo
        Enddo
      End Subroutine Calc_Clim_Cha
      !-------------------------------------------------------------------------
      Include "/home/tanpv/Mylibs/sub_rd_ncdf_Tan.F90"
      Include "/home/tanpv/Mylibs/Stdev.f90"
      Include "/home/tanpv/Mylibs/Ave.f90"

      END
