C GENOS2    SOURCE    CHAT      05/01/13    00:17:33     5004
      SUBROUTINE GENOS2(R1,I2,N)
C----------------------------------------------------
C     ON ORDONNE R1, ON FAIT SUIVRE LES PERMUTATION DANS I2
C
C     NUMERICAL RECIPES, HEAP SORT
C
C     PP /9/97
C     Pierre Pegon/JRC Ispra
C----------------------------------------------------
      IMPLICIT INTEGER(I-N)
      IMPLICIT REAL*8 (A-H,O-Z)
      DIMENSION R1(N),I2(N)
C
      IF (N.LE.1) RETURN
      L=(N/2)+1
      IR=N
C
 1    CONTINUE
        IF(L.GT.1)THEN
          L=L-1
          RR1=R1(L)
          II2=I2(L)
        ELSE
          RR1=R1(IR)
          II2=I2(IR)
          R1(IR)=R1(1)
          I2(IR)=I2(1)
          IR=IR-1
          IF(IR.EQ.1)THEN
            R1(1)=RR1
            I2(1)=II2
            RETURN
          ENDIF
        ENDIF
C
        I=L
        J=L*2

 2      CONTINUE
          IF(J.GT.IR)GOTO 3
          IF(J.LT.IR.AND.R1(J).LT.R1(J+1))J=J+1
          IF(RR1.LT.R1(J))THEN
            R1(I)=R1(J)
            I2(I)=I2(J)
            I=J
            J=2*J
          ELSE
            J=IR+1
          ENDIF
        GOTO 2
 3      CONTINUE
        R1(I)=RR1
        I2(I)=II2
C
      GOTO 1
C
      END



