        PROGRAM OLR_STATS

C  CALCULE QUELQUES PROPRIETES STATISTIQUES DE L'OLR

C---------------------
C  0. DECLARATIONS
C---------------------

        IMPLICIT NONE

C  nan: annee, nandeb: annee de début, nanfin=année de fin

        integer nan,nandeb,nanfin
        parameter (nandeb=1979,NANFIN=2003)

c nday: nbr de triades dans l'année, iday jour de la triade

        integer nday, iday
        parameter (nday=122)

c nlon: nbr de longitudes, ilon et jlon longitudes
    
        integer nlon,ilon,jlon
        parameter (nlon=144)

c zolr, zvar, zcorr: olr, variance, correlation, et max d'anti-corr

        real zolr(nlon),zcorr(nlon,nlon),zvar(nlon),zmin(nlon),zmax

C------------------------------------------------
C 1. INITIALISATIONS OUVERTURES DES FICHIER D'E/S
C------------------------------------------------

       zmax=0.
       do 1 ilon=1,nlon
       zvar(ilon)=0.
       zmin(ilon)=0.
       do 1 jlon=1,nlon
        zcorr(ilon,jlon)=0.
 1     continue
   

       open(10,file='../output/olr_equ_7903.noa',
     C         form='formatted')
       open(20,file='../xmgr/olr_equ_7903.stats',
     C         form='formatted')

C------------------------------------------------
C 2. LECTURE DES DONNES, CALCUL DES STATISTIQUES
C------------------------------------------------

      do 2 nan=nandeb,nanfin
      do 2 iday=1,nday
      read(10,*)(zolr(ilon),ilon=1,nlon)

      do ilon=1,nlon
      zvar(ilon)=zvar(ilon)
     c       +zolr(ilon)*zolr(ilon)/float(nanfin-nandeb+1)/float(nday)
      do jlon=1,nlon
      zcorr(ilon,jlon)=zcorr(ilon,jlon)
     c       +zolr(ilon)*zolr(jlon)/float(nanfin-nandeb+1)/float(nday)
      enddo
      enddo
  2   continue


      do ilon=1,nlon
         zvar(ilon)=sqrt(zvar(ilon))
      enddo
      do ilon=1,nlon
      do jlon=1,nlon
         zcorr(ilon,jlon)=zcorr(ilon,jlon)/zvar(ilon)/zvar(jlon)
      enddo
      enddo

      print *,zvar


      do ilon=1,nlon
      zmax=amax1(zmax,zvar(ilon))
      do jlon=1,nlon
      zmin(ilon)=amin1(zmin(ilon),zcorr(ilon,jlon))
      enddo
      enddo

C-------------------------------------------------
C 3. STOCKAGE DES RESULTATS
C------------------------------------------------

         do ilon=1,nlon
         write(20,*)2.5*(ilon-1),zvar(ilon)/zmax
         enddo

         write(20,*)
         do ilon=1,nlon
         write(20,*)2.5*(ilon-1),-zmin(ilon)
         enddo

C-----------------------------------------------
C    FIN
     
      STOP 
      END  

