      SUBROUTINE HOLEFIL(QHB,QH,QADD,DSHJ,MSG,ILG,ILEV,IL1,IL2,QMIN)
  
C     * APRIL 26/90 - J. DE GRANDPRE (U.Q.A.M.) 
C                   - EXTRACTION DU CODE DE LA SUBROUTINE CONVEC7 DE FACON
C                   - A POUVOIR L'UTILISER DANS LE CAS DU TRACEUR.
C     * SUBROUTINE QUI ELIMINE LES VALEURS NEGATIVES DANS LE CHAMP D'HUMIDITE 
C     * ET DES TRACEURS. LA QUANTITE AJOUTEE A CHAQUE POINT DE GRILLE EST 
C     * RETIREE AU PRO-RATA DANS LA COLONNE. LORSQU'IL Y A DEFICIT DANS UNE 
C     * COLONNE, LA QUANTITE AJOUTEE EST ACCUMULEE DANS LA VARIABLE QADD. 
  
      IMPLICIT REAL (A-H,O-Z),
     +INTEGER (I-N)

      REAL QHB(ILG,ILEV),QH(ILG,ILEV),DSHJ(ILG,ILEV),QADD(ILG)
C---------------------------------------------------------------------- 
      DO 390 I=IL1,IL2
          SUMQEX=0.0
          SUMQDEF=0.0 
          DO 360 L=MSG+1,ILEV 
              QEXC=MAX(QH(I,L)-QMIN,0.) 
              QDEF=MAX(QMIN-QH(I,L),0.) 
              SUMQEX=SUMQEX+DSHJ(I,L)*QEXC
              SUMQDEF=SUMQDEF+DSHJ(I,L)*QDEF
              QHB(I,L)=MAX(QH(I,L),QMIN)
  360     CONTINUE
          IF(SUMQEX.GT.0.) THEN 
              RATIO=MAX(SUMQEX-SUMQDEF,0.)/SUMQEX 
              DO 370 L=MSG+1,ILEV 
                  QHB(I,L)=QMIN+RATIO*(QHB(I,L)-QMIN) 
  370         CONTINUE
          ENDIF 
          QADD(I)=MAX(SUMQDEF-SUMQEX,0.)
  390 CONTINUE
      RETURN
      END 
