Directory: | ./ |
---|---|
File: | rad/gppreh.f90 |
Date: | 2022-01-11 19:19:34 |
Exec | Total | Coverage | |
---|---|---|---|
Lines: | 7 | 7 | 100.0% |
Branches: | 6 | 8 | 75.0% |
Line | Branch | Exec | Source |
---|---|---|---|
1 | 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 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | IF (LHOOK) CALL DR_HOOK('GPPREH',0,ZHOOK_HANDLE) |
67 |
2/2✓ Branch 0 taken 39 times.
✓ Branch 1 taken 1 times.
|
40 | DO JLEV=0,KFLEV-1 |
68 |
2/2✓ Branch 0 taken 39 times.
✓ Branch 1 taken 39 times.
|
79 | DO JLON=KSTART,KPROF |
69 | 78 | PRESH(JLON,JLEV)=PVAH(JLEV)+PVBH(JLEV)*PRESH(JLON,KFLEV) | |
70 | ENDDO | ||
71 | ENDDO | ||
72 | |||
73 | ! ------------------------------------------------------------------ | ||
74 | |||
75 |
1/2✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
|
1 | IF (LHOOK) CALL DR_HOOK('GPPREH',1,ZHOOK_HANDLE) |
76 | 1 | END SUBROUTINE GPPREH | |
77 |