source: LMDZ6/branches/Amaury_dev/libf/dyn3dmem/pression_loc.f90 @ 5209

Last change on this file since 5209 was 5159, checked in by abarral, 3 months ago

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