1 |
|
5764 |
SUBROUTINE pression( ngrid, ap, bp, ps, p ) |
2 |
|
|
! |
3 |
|
|
!------------------------------------------------------------------------------- |
4 |
|
|
! Authors: P. Le Van , Fr.Hourdin |
5 |
|
|
!------------------------------------------------------------------------------- |
6 |
|
|
! Purpose: Compute pressure p(l) at different levels from l = 1 (ground level) |
7 |
|
|
! to l = llm +1. Those levels correspond to the llm layers interfaces, |
8 |
|
|
! with p(ij,llm+1) = 0. and p(ij,1) = ps(ij) . |
9 |
|
|
!------------------------------------------------------------------------------- |
10 |
|
|
IMPLICIT NONE |
11 |
|
|
include "dimensions.h" |
12 |
|
|
include "paramet.h" |
13 |
|
|
!=============================================================================== |
14 |
|
|
! Arguments: |
15 |
|
|
INTEGER, INTENT(IN) :: ngrid !--- NUMBER OF GRID POINTS |
16 |
|
|
REAL, INTENT(IN) :: ap(llmp1), bp(llmp1) !--- HYBRID COEFFICIENTS |
17 |
|
|
REAL, INTENT(IN) :: ps(ngrid) !--- SURFACE PRESSURE |
18 |
|
|
REAL, INTENT(OUT) :: p(ngrid,llmp1) !--- 3D PRESSURE FIELD |
19 |
|
|
!=============================================================================== |
20 |
|
|
! Local variables: |
21 |
|
|
INTEGER :: l |
22 |
|
|
!=============================================================================== |
23 |
✓✓✓✓
|
251316164 |
DO l=1,llmp1; p(:,l) = ap(l) + bp(l) * ps(:); END DO |
24 |
|
|
|
25 |
|
5764 |
END SUBROUTINE pression |
26 |
|
|
|
27 |
|
|
|