source: LMDZ6/trunk/libf/dyn3dmem/geopot_loc.f90 @ 5271

Last change on this file since 5271 was 5271, checked in by abarral, 26 hours ago

Move dimensions.h into a module
Nb: doesn't compile yet

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
File size: 1.7 KB
Line 
1SUBROUTINE geopot_loc ( ngrid, teta, pk, pks, phis, phi )
2  USE parallel_lmdz
3  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
4IMPLICIT NONE
5
6
7  !=======================================================================
8  !
9  !   Auteur:  P. Le Van
10  !   -------
11  !
12  !   Objet:
13  !   ------
14  !
15  !    *******************************************************************
16  !    ....   calcul du geopotentiel aux milieux des couches    .....
17  !    *******************************************************************
18  !
19  ! ....   l'integration se fait de bas en haut  ....
20  !
21  ! .. ngrid,teta,pk,pks,phis sont des argum. d'entree pour le s-pg ..
22  !          phi               est un  argum. de sortie pour le s-pg .
23  !
24  !=======================================================================
25  !-----------------------------------------------------------------------
26  !   Declarations:
27  !   -------------
28
29
30  include "paramet.h"
31
32  !   Arguments:
33  !   ----------
34  INTEGER :: ngrid
35  REAL :: teta(ijb_u:ije_u,llm),pks(ijb_u:ije_u),phis(ijb_u:ije_u), &
36        pk(ijb_u:ije_u,llm) , phi(ijb_u:ije_u,llm)
37
38
39  !   Local:
40  !   ------
41
42  INTEGER :: l, ij,ijb,ije
43
44
45  !-----------------------------------------------------------------------
46  ! calcul de phi au niveau 1 pres du sol  .....
47  ijb=ij_begin
48  ije=ij_end+iip1
49
50  IF (pole_sud)  ije=ij_end
51
52  DO  ij  = ijb, ije
53  phi( ij,1 ) = phis( ij ) + teta(ij,1) * ( pks(ij) - pk(ij,1) )
54  ENDDO
55
56  ! calcul de phi aux niveaux superieurs  .......
57
58  DO  l = 2,llm
59    DO  ij    = ijb,ije
60    phi(ij,l) = phi(ij,l-1) + 0.5 * ( teta(ij,l)  + teta(ij,l-1) ) &
61          *   (  pk(ij,l-1) -  pk(ij,l)    )
62    ENDDO
63  ENDDO
64
65  RETURN
66END SUBROUTINE geopot_loc
Note: See TracBrowser for help on using the repository browser.