*=*=*=*= traceur.html =*=*=*=*
SUBROUTINE traceur

SUBROUTINE traceur


      SUBROUTINE traceur (iq,iadv,q,w, pbaru, pbarv,pext,dq )
      IMPLICIT NONE

c=======================================================================
c
c   Auteur:  F.Forget / A.Armengaud
c   -------
c
c   ....  Modif  P.Le Van  , 9/04/97 et 29/04/97    ....
c
c   ********************************************************************
c   Transport des traceurs (dont l'humidite q(1)) par differents shemas
c   ********************************************************************
c     iq,q,pbaru et pbarv sont des arguments d'entree  pour le s-pg ....
c     dq 	       sont des arguments de sortie pour le s-pg ....
c
c     iadv = 1 :  Schema de transport type "humidite specifique  LMD"
c                 (shema amont (horiz),moy arithmetique (vertic))
c
c     iadv = 2  :  Shema amont
c
c
c     iadv = 0  : Indice montrant que q n'est pas vraiment un
c                traceur, mais une variable pronostique attachee
c                (par exemple : une pente du shemas de pente)
c=======================================================================


#include "dimensions.h"
#include "paramet.h"
#include "comconst.h"

c   Arguments:
c   ----------
      INTEGER iq,iadv(iq)
      REAL pbaru( ip1jmp1,llm ),pbarv( ip1jm,llm),pext(ip1jmp1)
      REAL q( ip1jmp1,llm,iq), dq( ip1jmp1,llm,iq)
      REAL w(ip1jmp1,llm)

c   Local:
c   ------
      REAL finpe(ip1jmp1)

      EXTERNAL adv_h2o, tracvl,minmaxq
      INTEGER ij,l,ierr,iiadv, iapp_tracvl


       WRITE(*,*) 'traceur no',iq,' :  adv ',iadv(iq)
       IF( iadv(iq).GT.2 )  THEN
         PRINT *,' Erreur dans le choix de iadv  pour la routine
     *  traceur .  Corrigez . '
         STOP
       ENDIF

c   ----------------------------------------------------------------
c   Schema de transport type "humidite specifique  LMD"
c   (shema amont (horiz),moy arithmetique (vertic))
c   ----------------------------------------------------------------
         IF (iadv(iq).EQ.1) THEN
              CALL adv_h2o (iq,iq,q,w, pbaru, pbarv,dq)
c   ----------------------------------------------------------------
c   Shema amont (dans les 3 dimensions)
c   ----------------------------------------------------------------
         ELSE IF (iadv(iq).EQ.2) THEN
              CALL amont (iq,iq,q,w, pbaru, pbarv,dq)
c   ----------------------------------------------------------------

         ENDIF


      RETURN
      END