source: LMDZ.3.3/trunk/libf/dyn3d/merstrlF @ 5306

Last change on this file since 5306 was 2, checked in by lmdz, 25 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 1.3 KB
Line 
1      SUBROUTINE mer_strl(flux,psi)
2      IMPLICIT NONE
3c-----------------------------------------------------------------------
4c    Calcul de  1/p*dp/dt = W/p -  div(V) -  1/ps*dW/dsig:
5c    ------------------------------------------------
6
7#include "dimensions.h"
8#include "paramet.h"
9#include "comvert.h"
10#include "comconst.h"
11
12      EXTERNAL multscal,moy2
13
14      REAL flux(iip1,jjm,llm) ! flux meridien pbarv*quantite
15      REAL psi(jjp1,llm)
16
17      INTEGER j,l
18      REAL factmas
19
20      EXTERNAL ssum
21      REAL ssum
22
23c   on calcule d'abord les psi sur les niveaux sigma en partant
24c   du haut de l'atmosphere
25      DO j=1,jjm
26         psi(j,llm)=dsig(llm)*SSUM(iim,flux(1,j,llm),1)
27      ENDDO
28      DO l=llm-1,1,-1
29         DO j=1,jjm
30            psi(j,l)=psi(j,l+1)+dsig(l)*SSUM(iim,flux(1,j,l),1)
31         ENDDO
32      ENDDO
33
34c   passage aux niveaux s du modele
35      DO l=1,llm-1
36         CALL moy2(jjm,psi(1,l),psi(1,l+1),1.,1.,psi(1,l))
37      ENDDO
38      CALL multscal(jjm,psi(1,llm),.5,psi(1,llm))
39
40c   passage a la grille scalaire
41      DO l=1,llm
42         DO j=jjm,2,-1
43            psi(j,l)=.5*(psi(j,l)+psi(j-1,l))
44         ENDDO
45         psi(1,l)=0.
46         psi(jjp1,l)=0.
47      ENDDO
48
49      factmas=100./g
50      CALL multscal(jjm*llm,psi,factmas,psi)
51
52      RETURN
53      END
Note: See TracBrowser for help on using the repository browser.