source: LMDZ6/branches/IPSLCM6.0.14/libf/dyn3dmem/pression_loc.F @ 4092

Last change on this file since 4092 was 1987, checked in by Ehouarn Millour, 11 years ago

Add updating pressure, mass and Exner function (ie: all variables which depend on surface pressure) after adding physics tendencies (which include a surface pressure tendency).
Note that this change induces slight changes in GCM results with respect to previous svn version of the code, even if surface pressure tendency is zero (because of recomputation of polar values as an average over polar points on the dynamics grid).
EM

  • 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.2 KB
Line 
1      SUBROUTINE pression_loc( ngrid, ap, bp, ps, p )
2      USE parallel_lmdz, ONLY: ij_begin, ij_end, ijb_u, ije_u,
3     &                         pole_nord, pole_sud, omp_chunk
4c
5
6c      Auteurs : P. Le Van , Fr.Hourdin  .
7
8c  ************************************************************************
9c     Calcule la pression p(l) aux differents niveaux l = 1 ( niveau du
10c     sol) a l = llm +1 ,ces niveaux correspondant aux interfaces des (llm)
11c     couches , avec  p(ij,llm +1) = 0.  et p(ij,1) = ps(ij)  .     
12c  ************************************************************************
13c
14      IMPLICIT NONE
15c
16#include "dimensions.h"
17#include "paramet.h"
18c
19      INTEGER,INTENT(IN) :: ngrid ! not used
20      INTEGER l,ij
21 
22      REAL,INTENT(IN) :: ap( llmp1 ), bp( llmp1 ), ps( ijb_u:ije_u )
23      REAL,INTENT(OUT) :: p( ijb_u:ije_u,llmp1 )
24     
25      INTEGER ijb,ije
26
27     
28      ijb=ij_begin-iip1
29      ije=ij_end+2*iip1
30     
31      if (pole_nord) ijb=ij_begin
32      if (pole_sud)  ije=ij_end
33
34c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
35      DO    l    = 1, llmp1
36        DO  ij   = ijb, ije
37         p(ij,l) = ap(l) + bp(l) * ps(ij)
38        ENDDO
39      ENDDO
40c$OMP END DO NOWAIT   
41      RETURN
42      END
Note: See TracBrowser for help on using the repository browser.