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