source: trunk/LMDZ.MARS/libf/dyn3d/geopot.F @ 1242

Last change on this file since 1242 was 38, checked in by emillour, 14 years ago

Ajout du modè Martien (mon LMDZ.MARS.BETA, du 28/01/2011) dans le rértoire mars, pour pouvoir suivre plus facilement les modifs.
EM

File size: 1.8 KB
Line 
1      SUBROUTINE geopot (ngrid, teta, pk, pks, phis, phi )
2      IMPLICIT NONE
3
4c=======================================================================
5c
6c   Auteur:  P. Le Van
7c   -------
8c
9c   Objet:
10c   ------
11c
12c    *******************************************************************
13c    ....   calcul du geopotentiel aux milieux des couches    .....
14c    *******************************************************************
15c
16c     ....   l'integration se fait de bas en haut  ....
17c
18c     .. ngrid,teta,pk,pks,phis sont des argum. d'entree pour le s-pg ..
19c              phi               est un  argum. de sortie pour le s-pg .
20c
21c=======================================================================
22c-----------------------------------------------------------------------
23c   Declarations:
24c   -------------
25
26#include "dimensions.h"
27#include "paramet.h"
28#include "comvert.h"
29
30c   Arguments:
31c   ----------
32
33      INTEGER ngrid
34      REAL teta(ngrid,llm),pks(ngrid),phis(ngrid),pk(ngrid,llm) ,
35     *       phi(ngrid,llm)
36      real zz(ngrid)
37
38
39c   Local:
40c   ------
41
42      INTEGER  l, ij, count
43      logical flag
44
45
46c-----------------------------------------------------------------------
47c     calcul de phi au niveau 1 pres du sol  .....
48
49      flag=.false.
50      count=0
51c     call dump2d(iip1,jjp1,teta(:,1),'TETA COUCHE 1')
52c     zz(:)=pks(:)-pk(:,1)
53c     call dump2d(iip1,jjp1,zz(:),'DPK SURF-1')
54
55      DO   ij  = 1, ngrid
56          phi( ij,1 ) = phis( ij ) + teta(ij,1) * ( pks(ij) - pk(ij,1) )
57      ENDDO
58
59c     calcul de phi aux niveaux superieurs  .......
60
61      DO  l = 2,llm
62        DO  ij    = 1,ngrid
63        phi(ij,l) = phi(ij,l-1) + 0.5 * ( teta(ij,l)  + teta(ij,l-1) )
64     *                              *   (  pk(ij,l-1) -  pk(ij,l)    )
65        ENDDO
66      ENDDO
67
68      RETURN
69      END
Note: See TracBrowser for help on using the repository browser.