LMDZ
gppreh.F90
Go to the documentation of this file.
1 SUBROUTINE gppreh(KPROMA,KSTART,KPROF,KFLEV,PVAH,PVBH,PRESH)
2 
3 !**** *GPPREH* - Computes half and full level pressure
4 
5 ! Purpose.
6 ! --------
7 ! Computes pressures at half and full model levels.
8 
9 !** Interface.
10 ! ----------
11 ! *CALL* *GPPREH(KPROMA,KSTART,KPROF,KFLEV,PVAH,PVBH,PRESH)
12 
13 ! Explicit arguments :
14 ! --------------------
15 ! KPROMA : dimensioning
16 ! KSTART : start of work
17 ! KPROF : depth of work
18 ! KFLEV : vert. dimensioning
19 ! PRESH(KPROMA,0:KFLEV) - HALF LEVEL PRESSURE
20 ! PVAH(KFLEV),PVBH(KFLEV)- vertical coordinate
21 ! Implicit arguments : NONE.
22 ! --------------------
23 
24 ! Method.
25 ! -------
26 ! See documentation
27 
28 ! Externals. None.
29 ! ----------
30 
31 ! Reference.
32 ! ----------
33 ! ECMWF Research Department documentation of the IFS
34 ! Half level P: PHk = Ak + Bk * Ps
35 
36 ! Author.
37 ! -------
38 ! Erik Andersson, Mats Hamrud and Philippe Courtier *ECMWF*
39 
40 ! Modifications.
41 ! --------------
42 ! Original : 92-11-23
43 ! M.Hamrud 01-Oct-2003 CY28 Cleaning
44 ! ------------------------------------------------------------------
45 
46 USE parkind1 ,ONLY : jpim ,jprb
47 USE yomhook ,ONLY : lhook, dr_hook
48 
49 IMPLICIT NONE
50 
51 INTEGER(KIND=JPIM),INTENT(IN) :: KPROMA
52 INTEGER(KIND=JPIM),INTENT(IN) :: KFLEV
53 INTEGER(KIND=JPIM),INTENT(IN) :: KSTART
54 INTEGER(KIND=JPIM),INTENT(IN) :: KPROF
55 REAL(KIND=JPRB) ,INTENT(IN) :: PVAH(0:kflev)
56 REAL(KIND=JPRB) ,INTENT(IN) :: PVBH(0:kflev)
57 REAL(KIND=JPRB) ,INTENT(INOUT) :: PRESH(kproma,0:kflev)
58 INTEGER(KIND=JPIM) :: JLEV, JLON
59 REAL(KIND=JPRB) :: ZHOOK_HANDLE
60 
61 ! ------------------------------------------------------------------
62 
63 !* 1. COMPUTES HALF LEVEL PRESSURES.
64 ! ------------------------------
65 
66 IF (lhook) CALL dr_hook('GPPREH',0,zhook_handle)
67 DO jlev=0,kflev-1
68  DO jlon=kstart,kprof
69  presh(jlon,jlev)=pvah(jlev)+pvbh(jlev)*presh(jlon,kflev)
70  ENDDO
71 ENDDO
72 
73 ! ------------------------------------------------------------------
74 
75 IF (lhook) CALL dr_hook('GPPREH',1,zhook_handle)
76 END SUBROUTINE gppreh
subroutine gppreh(KPROMA, KSTART, KPROF, KFLEV, PVAH, PVBH, PRESH)
Definition: gppreh.F90:2
integer, parameter jprb
Definition: parkind1.F90:31
logical lhook
Definition: yomhook.F90:12
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
Definition: yomhook.F90:17
integer, parameter jpim
Definition: parkind1.F90:13