SUBROUTINE RMSCON 2,6
C
      IMPLICIT NONE
      include 'champ.cdk'
      include 'chobs.cdk'

      REAL ZR1(N,N),ZR2(N,N),ZR3(N,N),ZR4(N,N),ZR5(N,N)
      COMPLEX RHZ1(IKTX,IKTY),RHZ2(IKTX,IKTY),RHZ3(IKTX,IKTY)
      COMPLEX RHZ4(IKTX,IKTY),RHZ5(IKTX,IKTY)

      PRINT*,'PASSE DANS LA ROUTINE RMSCON'


c+++++++ cette partie est ajoutee
        open (16,file='cont.io',form='unformatted')
        print*,'NTRAJ et NSTOP',NTRAJ,NSTOP
        DO NT=1,2*NSTOP 
         read(16) ((ZCONT(IW,JW,NT),IW=1,IKTX),JW=1,IKTY)
        END DO 
        close(16)
C+++++++

      NT=NSTOP

      DO IKX=1,IKTX
      DO IKY=1,IKTY
        IF (L(IKX+KTX,IKY).EQ.1) THEN
          RHZ(IKX,IKY) = ZCONT(IKX,IKY,2*NT)-ZTRAJ(IKX,IKY,NT)
          RHS(IKX,IKY) = CMPLX(0.,0.)
        ELSE
          RHZ(IKX,IKY) = CMPLX(0.,0.)
          RHS(IKX,IKY) = CMPLX(0.,0.)
        ENDIF
      ENDDO
      ENDDO 

      open(11,file='tourms.dat',status='unknown')

      CALL KR(RHZ,ZR,KTX,KTY,IKTX,IKTY,N,N2,LWRK,
     .                  FF1,FF2,FF3,WORK,TRIGS,IFAX,ZI)
      write(11,99) ((ZR(IW,JW),IW=1,N),JW=1,NP)
       
      CLOSE(11)

 99   FORMAT(8E12.4)


C+++++ partie ajoutee pour test gnuplot

       DO IKX=1,IKTX
         DO IKY=1,IKTY
          IF (L(IKX+KTX,IKY).EQ.1) THEN
            RHZ1(IKX,IKY) = ZCONT(IKX,IKY,NSTOP)
            RHZ2(IKX,IKY) = ZB(IKX,IKY,NSTOP)
            RHZ3(IKX,IKY) = ZA(IKX,IKY)
            RHZ4(IKX,IKY) = ZCONT(IKX,IKY,2*NSTOP)
            RHZ5(IKX,IKY) = ZTRAJ(IKX,IKY,NSTOP)
          ELSE
            RHZ1(IKX,IKY) =CMPLX(0.,0.)
            RHZ2(IKX,IKY) =CMPLX(0.,0.)
            RHZ3(IKX,IKY) =CMPLX(0.,0.)
            RHZ4(IKX,IKY) =CMPLX(0.,0.)
            RHZ5(IKX,IKY) =CMPLX(0.,0.)
          END IF
         END DO
       END DO


       CALL KR(RHZ1,ZR1,KTX,KTY,IKTX,IKTY,N,N2,LWRK,
     .                  FF1,FF2,FF3,WORK,TRIGS,IFAX,ZI)
       CALL KR(RHZ2,ZR2,KTX,KTY,IKTX,IKTY,N,N2,LWRK,
     .                  FF1,FF2,FF3,WORK,TRIGS,IFAX,ZI)
       CALL KR(RHZ3,ZR3,KTX,KTY,IKTX,IKTY,N,N2,LWRK,
     .                  FF1,FF2,FF3,WORK,TRIGS,IFAX,ZI)
       CALL KR(RHZ4,ZR4,KTX,KTY,IKTX,IKTY,N,N2,LWRK,
     .                  FF1,FF2,FF3,WORK,TRIGS,IFAX,ZI)
       CALL KR(RHZ5,ZR5,KTX,KTY,IKTX,IKTY,N,N2,LWRK,
     .                  FF1,FF2,FF3,WORK,TRIGS,IFAX,ZI)
       open(11,file='T_A.dat',status='unknown')
       open(12,file='truth_0.dat',status='unknown')
       open(13,file='bkg_0.dat',status='unknown')
       open(14,file='analyse_0.dat',status='unknown')
       open(15,file='truth_T.dat',status='unknown')
       open(16,file='forecast.dat',status='unknown')
         DO IW = 1,N
           DO JW = 1,N
             write(11,88) ZR1(IW,JW)-ZR3(IW,JW)
             write(12,88) ZR1(IW,JW)
             write(13,88) ZR2(IW,JW)
             write(14,88) ZR3(IW,JW)
             write(15,88) ZR4(IW,JW)
             write(16,88) ZR5(IW,JW)
           END DO
c             write(11,88) 
c             write(12,88)
c             write(13,88)
c             write(14,88)
c             write(15,88)
c             write(16,88)
         END DO
 88   FORMAT(E12.4)
       close(11)
       close(12)
       close(13)
       close(14)
       close(15)
       close(16)
C+++++ fin de la partie ajoutee

      RETURN
      END