source: LMDZ6/trunk/libf/dyn3d_common/geopot.f90 @ 5450

Last change on this file since 5450 was 5285, checked in by abarral, 2 months ago

As discussed internally, remove generic ONLY: ... for new _mod_h modules

  • 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
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.6 KB
RevLine 
[524]1!
2! $Header$
3!
[5246]4SUBROUTINE geopot (ngrid, teta, pk, pks, phis, phi )
[5271]5  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
[5285]6  USE paramet_mod_h
[5272]7
[5271]8IMPLICIT NONE
[524]9
[5246]10  !=======================================================================
11  !
12  !   Auteur:  P. Le Van
13  !   -------
14  !
15  !   Objet:
16  !   ------
17  !
18  !    *******************************************************************
19  !    ....   calcul du geopotentiel aux milieux des couches    .....
20  !    *******************************************************************
21  !
22  ! ....   l'integration se fait de bas en haut  ....
23  !
24  ! .. ngrid,teta,pk,pks,phis sont des argum. d'entree pour le s-pg ..
25  !          phi               est un  argum. de sortie pour le s-pg .
26  !
27  !=======================================================================
28  !-----------------------------------------------------------------------
29  !   Declarations:
30  !   -------------
[524]31
[5246]32  !   Arguments:
33  !   ----------
[524]34
[5246]35  INTEGER :: ngrid
36  REAL :: teta(ngrid,llm),pks(ngrid),phis(ngrid),pk(ngrid,llm) , &
37        phi(ngrid,llm)
[524]38
39
[5246]40  !   Local:
41  !   ------
[524]42
[5246]43  INTEGER :: l, ij
[524]44
45
[5246]46  !-----------------------------------------------------------------------
47  ! calcul de phi au niveau 1 pres du sol  .....
[524]48
[5246]49  DO  ij  = 1, ngrid
50  phi( ij,1 ) = phis( ij ) + teta(ij,1) * ( pks(ij) - pk(ij,1) )
51  END DO
[524]52
[5246]53  ! calcul de phi aux niveaux superieurs  .......
[524]54
[5246]55  DO  l = 2,llm
56    DO  ij    = 1,ngrid
57    phi(ij,l) = phi(ij,l-1) + 0.5 * ( teta(ij,l)  + teta(ij,l-1) ) &
58          *   (  pk(ij,l-1) -  pk(ij,l)    )
59    ENDDO
60  ENDDO
[524]61
[5246]62  RETURN
63END SUBROUTINE geopot
Note: See TracBrowser for help on using the repository browser.