SUBROUTINE pression_loc( ngrid, ap, bp, ps, p )
  USE parallel_lmdz, ONLY: ij_begin, ij_end, ijb_u, ije_u, &
        pole_nord, pole_sud, omp_chunk
  !

  !  Auteurs : P. Le Van , Fr.Hourdin  .

  !  ************************************************************************
  ! Calcule la pression p(l) aux differents niveaux l = 1 ( niveau du
  ! sol) a l = llm +1 ,ces niveaux correspondant aux interfaces des (llm)
  ! couches , avec  p(ij,llm +1) = 0.  et p(ij,1) = ps(ij)  .
  !  ************************************************************************
  !
  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
USE paramet_mod_h
IMPLICIT NONE
  !


  !
  INTEGER,INTENT(IN) :: ngrid ! not used
  INTEGER :: l,ij

  REAL,INTENT(IN) :: ap( llmp1 ), bp( llmp1 ), ps( ijb_u:ije_u )
  REAL,INTENT(OUT) :: p( ijb_u:ije_u,llmp1 )

  INTEGER :: ijb,ije


  ijb=ij_begin-iip1
  ije=ij_end+2*iip1

  if (pole_nord) ijb=ij_begin
  if (pole_sud)  ije=ij_end

!$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
  DO    l    = 1, llmp1
    DO  ij   = ijb, ije
     p(ij,l) = ap(l) + bp(l) * ps(ij)
    ENDDO
  ENDDO
!$OMP END DO NOWAIT
  RETURN
END SUBROUTINE pression_loc
