GCC Code Coverage Report


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