*=*=*=*= mer_strl.html =*=*=*=*
SUBROUTINE mer_strl

SUBROUTINE mer_strl


      SUBROUTINE mer_strl(flux,psi)
      IMPLICIT NONE
c-----------------------------------------------------------------------
c    Calcul de  1/p*dp/dt = W/p -  div(V) -  1/ps*dW/dsig:
c    ------------------------------------------------

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

      EXTERNAL multscal,moy2

      REAL flux(iip1,jjm,llm) ! flux meridien pbarv*quantite
      REAL psi(jjp1,llm)

      INTEGER j,l
      REAL factmas

      EXTERNAL ssum
      REAL ssum

c   on calcule d'abord les psi sur les niveaux sigma en partant
c   du haut de l'atmosphere
      DO j=1,jjm
       psi(j,llm)=dsig(llm)*SSUM(iim,flux(1,j,llm),1)
      ENDDO
      DO l=llm-1,1,-1
         DO j=1,jjm
            psi(j,l)=psi(j,l+1)+dsig(l)*SSUM(iim,flux(1,j,l),1)
         ENDDO
      ENDDO

c   passage aux niveaux s du modele
      DO l=1,llm-1
         CALL moy2(jjm,psi(1,l),psi(1,l+1),1.,1.,psi(1,l))
      ENDDO
      CALL multscal(jjm,psi(1,llm),.5,psi(1,llm))

c   passage a la grille scalaire
      DO l=1,llm
         DO j=jjm,2,-1
            psi(j,l)=.5*(psi(j,l)+psi(j-1,l))
         ENDDO
         psi(1,l)=0.
         psi(jjp1,l)=0.
      ENDDO

      factmas=100./g
      CALL multscal(jjm*llm,psi,factmas,psi)

      RETURN
      END