source: LMDZ6/trunk/libf/dyn3dmem/pression_loc.f90 @ 5423

Last change on this file since 5423 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
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  !
14  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
15USE paramet_mod_h
16IMPLICIT 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  RETURN
44END SUBROUTINE pression_loc
Note: See TracBrowser for help on using the repository browser.