*=*=*=*= adv_vert.html =*=*=*=*
SUBROUTINE adv_vert

SUBROUTINE adv_vert


      SUBROUTINE adv_vert(h,w,dh)
      IMPLICIT NONE
c=======================================================================
c
c   Auteur:  P. Le Van
c   -------
c
c   Objet:
c   ------
c
c   ***********************************************************
c   .... calcul des termes d'advection vertic.
c   ***********************************************************
c
c       calcul de  - d( h  * w )/ d(sigma)     qu'on ajoute a   dh
c
c=======================================================================
c-----------------------------------------------------------------------
c   Declarations:
c   -------------

#include "dimensions.h"
#include "paramet.h"
#include "comvert.h"

c   Arguments:
c   ----------

      REAL h(ip1jmp1,llm)
      REAL w(ip1jmp1,llm)
      REAL dh(ip1jmp1,llm)

c   Local:
c   ------

      REAL wsur2(ip1jmp1), unsdsig2(llm), unspbx(ip1jm)
      REAL deuxjour,ww,gt

      INTEGER  ij,l

c-----------------------------------------------------------------------
c   2. Calculs preliminaires:
c   -------------------------

      DO 2 l = 1,llm
      unsdsig2( l ) = 0.5 * dsig1( l )
   2  CONTINUE


c-----------------------------------------------------------------------

      DO l = 1,llmm1

         DO ij = 1,ip1jmp1
         wsur2( ij ) = - 0.5 * w( ij,l+1 )
         ENDDO

         DO ij = 1,ip1jmp1
             ww        = wsur2(ij) * ( h(ij,l) + h(ij,l+1) )
             dh(ij,l)  = dh(ij,l)   - dsig1(l)   * ww
             dh(ij,l+1)= dh(ij,l+1) + dsig1(l+1) * ww
         ENDDO

      ENDDO

      RETURN
      END