GCC Code Coverage Report


Directory: ./
File: rad/rrtm_cmbgb5.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 55 55 100.0%
Branches: 60 62 96.8%

Line Branch Exec Source
1 !***************************************************************************
2 1 SUBROUTINE RRTM_CMBGB5
3 !***************************************************************************
4
5 ! BAND 5: 700-820 cm-1 (low - H2O,CO2; high - O3,CO2)
6 !***************************************************************************
7
8 ! Parameters
9 USE PARKIND1 ,ONLY : JPIM ,JPRB
10 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK
11
12 USE YOERRTO5 , ONLY : KAO ,KBO ,SELFREFO ,FRACREFAO ,&
13 & FRACREFBO, CCL4O
14 USE YOERRTA5 , ONLY : KA ,KB ,SELFREF ,FRACREFA ,&
15 & FRACREFB , CCL4
16 USE YOERRTRWT, ONLY : FREFA ,FREFB ,FREFADF ,FREFBDF ,RWGT
17 USE YOERRTFTR, ONLY : NGC ,NGS ,NGN
18
19 IMPLICIT NONE
20
21 INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JN, JP, JT
22
23 REAL(KIND=JPRB) :: Z_SUMF, Z_SUMK
24 REAL(KIND=JPRB) :: ZHOOK_HANDLE
25
26
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB5',0,ZHOOK_HANDLE)
27
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 1 times.
10 DO JN = 1,9
28
2/2
✓ Branch 0 taken 45 times.
✓ Branch 1 taken 9 times.
55 DO JT = 1,5
29
2/2
✓ Branch 0 taken 585 times.
✓ Branch 1 taken 45 times.
639 DO JP = 1,13
30 IPRSM = 0
31
2/2
✓ Branch 0 taken 9360 times.
✓ Branch 1 taken 585 times.
9990 DO IGC = 1,NGC(5)
32 Z_SUMK = 0.0_JPRB
33
2/2
✓ Branch 0 taken 9360 times.
✓ Branch 1 taken 9360 times.
18720 DO IPR = 1, NGN(NGS(4)+IGC)
34 9360 IPRSM = IPRSM + 1
35
36 18720 Z_SUMK = Z_SUMK + KAO(JN,JT,JP,IPRSM)*RWGT(IPRSM+64)
37 ENDDO
38
39 9945 KA(JN,JT,JP,IGC) = Z_SUMK
40 ENDDO
41 ENDDO
42 ENDDO
43 ENDDO
44
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
6 DO JN = 1,5
45
2/2
✓ Branch 0 taken 25 times.
✓ Branch 1 taken 5 times.
31 DO JT = 1,5
46
2/2
✓ Branch 0 taken 1175 times.
✓ Branch 1 taken 25 times.
1205 DO JP = 13,59
47 IPRSM = 0
48
2/2
✓ Branch 0 taken 18800 times.
✓ Branch 1 taken 1175 times.
20000 DO IGC = 1,NGC(5)
49 Z_SUMK = 0.0_JPRB
50
2/2
✓ Branch 0 taken 18800 times.
✓ Branch 1 taken 18800 times.
37600 DO IPR = 1, NGN(NGS(4)+IGC)
51 18800 IPRSM = IPRSM + 1
52
53 37600 Z_SUMK = Z_SUMK + KBO(JN,JT,JP,IPRSM)*RWGT(IPRSM+64)
54 ENDDO
55
56 19975 KB(JN,JT,JP,IGC) = Z_SUMK
57 ENDDO
58 ENDDO
59 ENDDO
60 ENDDO
61
62
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 10 times.
11 DO JT = 1,10
63 IPRSM = 0
64
2/2
✓ Branch 0 taken 160 times.
✓ Branch 1 taken 10 times.
171 DO IGC = 1,NGC(5)
65 Z_SUMK = 0.0_JPRB
66
2/2
✓ Branch 0 taken 160 times.
✓ Branch 1 taken 160 times.
320 DO IPR = 1, NGN(NGS(4)+IGC)
67 160 IPRSM = IPRSM + 1
68
69 320 Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+64)
70 ENDDO
71
72 170 SELFREF(JT,IGC) = Z_SUMK
73 ENDDO
74 ENDDO
75
76
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 9 times.
10 DO JP = 1,9
77 IPRSM = 0
78
2/2
✓ Branch 0 taken 144 times.
✓ Branch 1 taken 9 times.
154 DO IGC = 1,NGC(5)
79 Z_SUMF = 0.0_JPRB
80
2/2
✓ Branch 0 taken 144 times.
✓ Branch 1 taken 144 times.
288 DO IPR = 1, NGN(NGS(4)+IGC)
81 144 IPRSM = IPRSM + 1
82
83 288 Z_SUMF = Z_SUMF + FRACREFAO(IPRSM,JP)
84 ENDDO
85
86 153 FRACREFA(IGC,JP) = Z_SUMF
87 ENDDO
88 ENDDO
89
90
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
6 DO JP = 1,5
91 IPRSM = 0
92
2/2
✓ Branch 0 taken 80 times.
✓ Branch 1 taken 5 times.
86 DO IGC = 1,NGC(5)
93 Z_SUMF = 0.0_JPRB
94
2/2
✓ Branch 0 taken 80 times.
✓ Branch 1 taken 80 times.
160 DO IPR = 1, NGN(NGS(4)+IGC)
95 80 IPRSM = IPRSM + 1
96
97 160 Z_SUMF = Z_SUMF + FRACREFBO(IPRSM,JP)
98 ENDDO
99
100 85 FRACREFB(IGC,JP) = Z_SUMF
101 ENDDO
102 ENDDO
103
104 IPRSM = 0
105
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 16 times.
17 DO IGC = 1,NGC(5)
106 Z_SUMK = 0.0_JPRB
107
2/2
✓ Branch 0 taken 16 times.
✓ Branch 1 taken 16 times.
32 DO IPR = 1, NGN(NGS(4)+IGC)
108 16 IPRSM = IPRSM + 1
109
110 32 Z_SUMK = Z_SUMK + CCL4O(IPRSM)*RWGT(IPRSM+64)
111 ENDDO
112
113 17 CCL4(IGC) = Z_SUMK
114 ENDDO
115
116
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 1 times.
10 DO JP = 1,9
117
2/2
✓ Branch 0 taken 144 times.
✓ Branch 1 taken 9 times.
154 DO IGC = 1,NGC(5)
118
119 153 FREFA(NGS(4)+IGC,JP) = FRACREFA(IGC,JP)
120 ENDDO
121 ENDDO
122
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 1 times.
9 DO JP = 1,8
123
2/2
✓ Branch 0 taken 128 times.
✓ Branch 1 taken 8 times.
137 DO IGC = 1,NGC(5)
124
125 136 FREFADF(NGS(4)+IGC,JP) = FRACREFA(IGC,JP+1) -FRACREFA(IGC,JP)
126 ENDDO
127 ENDDO
128
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
6 DO JP = 1,5
129
2/2
✓ Branch 0 taken 80 times.
✓ Branch 1 taken 5 times.
86 DO IGC = 1,NGC(5)
130
131 85 FREFB(NGS(4)+IGC,JP) = FRACREFB(IGC,JP)
132 ENDDO
133 ENDDO
134
2/2
✓ Branch 0 taken 4 times.
✓ Branch 1 taken 1 times.
5 DO JP = 1,4
135
2/2
✓ Branch 0 taken 64 times.
✓ Branch 1 taken 4 times.
69 DO IGC = 1,NGC(5)
136
137 68 FREFBDF(NGS(4)+IGC,JP) = FRACREFB(IGC,JP+1) -FRACREFB(IGC,JP)
138 ENDDO
139 ENDDO
140
141
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB5',1,ZHOOK_HANDLE)
142 1 END SUBROUTINE RRTM_CMBGB5
143