GCC Code Coverage Report


Directory: ./
File: rad/rrtm_cmbgb4.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 50 50 100.0%
Branches: 56 58 96.6%

Line Branch Exec Source
1 !***************************************************************************
2 1 SUBROUTINE RRTM_CMBGB4
3 !***************************************************************************
4
5 ! BAND 4: 630-700 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 YOERRTO4 , ONLY : KAO ,KBO ,SELFREFO ,FRACREFAO ,FRACREFBO
13 USE YOERRTA4 , ONLY : KA ,KB ,SELFREF ,FRACREFA ,FRACREFB
14 USE YOERRTRWT, ONLY : FREFA ,FREFB ,FREFADF ,FREFBDF ,RWGT
15 USE YOERRTFTR, ONLY : NGC ,NGS ,NGN
16
17 IMPLICIT NONE
18
19 INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JN, JP, JT
20
21 REAL(KIND=JPRB) :: Z_SUMF, Z_SUMK
22 REAL(KIND=JPRB) :: ZHOOK_HANDLE
23
24
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB4',0,ZHOOK_HANDLE)
25
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 1 times.
10 DO JN = 1,9
26
2/2
✓ Branch 0 taken 45 times.
✓ Branch 1 taken 9 times.
55 DO JT = 1,5
27
2/2
✓ Branch 0 taken 585 times.
✓ Branch 1 taken 45 times.
639 DO JP = 1,13
28 IPRSM = 0
29
2/2
✓ Branch 0 taken 8190 times.
✓ Branch 1 taken 585 times.
8820 DO IGC = 1,NGC(4)
30 Z_SUMK = 0.0_JPRB
31
2/2
✓ Branch 0 taken 9360 times.
✓ Branch 1 taken 8190 times.
17550 DO IPR = 1, NGN(NGS(3)+IGC)
32 9360 IPRSM = IPRSM + 1
33
34 17550 Z_SUMK = Z_SUMK + KAO(JN,JT,JP,IPRSM)*RWGT(IPRSM+48)
35 ENDDO
36
37 8775 KA(JN,JT,JP,IGC) = Z_SUMK
38 ENDDO
39 ENDDO
40 ENDDO
41 ENDDO
42
2/2
✓ Branch 0 taken 6 times.
✓ Branch 1 taken 1 times.
7 DO JN = 1,6
43
2/2
✓ Branch 0 taken 30 times.
✓ Branch 1 taken 6 times.
37 DO JT = 1,5
44
2/2
✓ Branch 0 taken 1410 times.
✓ Branch 1 taken 30 times.
1446 DO JP = 13,59
45 IPRSM = 0
46
2/2
✓ Branch 0 taken 19740 times.
✓ Branch 1 taken 1410 times.
21180 DO IGC = 1,NGC(4)
47 Z_SUMK = 0.0_JPRB
48
2/2
✓ Branch 0 taken 22560 times.
✓ Branch 1 taken 19740 times.
42300 DO IPR = 1, NGN(NGS(3)+IGC)
49 22560 IPRSM = IPRSM + 1
50
51 42300 Z_SUMK = Z_SUMK + KBO(JN,JT,JP,IPRSM)*RWGT(IPRSM+48)
52 ENDDO
53
54 21150 KB(JN,JT,JP,IGC) = Z_SUMK
55 ENDDO
56 ENDDO
57 ENDDO
58 ENDDO
59
60
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 10 times.
11 DO JT = 1,10
61 IPRSM = 0
62
2/2
✓ Branch 0 taken 140 times.
✓ Branch 1 taken 10 times.
151 DO IGC = 1,NGC(4)
63 Z_SUMK = 0.0_JPRB
64
2/2
✓ Branch 0 taken 160 times.
✓ Branch 1 taken 140 times.
300 DO IPR = 1, NGN(NGS(3)+IGC)
65 160 IPRSM = IPRSM + 1
66
67 300 Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+48)
68 ENDDO
69
70 150 SELFREF(JT,IGC) = Z_SUMK
71 ENDDO
72 ENDDO
73
74
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 9 times.
10 DO JP = 1,9
75 IPRSM = 0
76
2/2
✓ Branch 0 taken 126 times.
✓ Branch 1 taken 9 times.
136 DO IGC = 1,NGC(4)
77 Z_SUMF = 0.0_JPRB
78
2/2
✓ Branch 0 taken 144 times.
✓ Branch 1 taken 126 times.
270 DO IPR = 1, NGN(NGS(3)+IGC)
79 144 IPRSM = IPRSM + 1
80
81 270 Z_SUMF = Z_SUMF + FRACREFAO(IPRSM,JP)
82 ENDDO
83
84 135 FRACREFA(IGC,JP) = Z_SUMF
85 ENDDO
86 ENDDO
87
88
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 6 times.
7 DO JP = 1,6
89 IPRSM = 0
90
2/2
✓ Branch 0 taken 84 times.
✓ Branch 1 taken 6 times.
91 DO IGC = 1,NGC(4)
91 Z_SUMF = 0.0_JPRB
92
2/2
✓ Branch 0 taken 96 times.
✓ Branch 1 taken 84 times.
180 DO IPR = 1, NGN(NGS(3)+IGC)
93 96 IPRSM = IPRSM + 1
94
95 180 Z_SUMF = Z_SUMF + FRACREFBO(IPRSM,JP)
96 ENDDO
97
98 90 FRACREFB(IGC,JP) = Z_SUMF
99 ENDDO
100 ENDDO
101
102
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 9 times.
10 DO JP = 1,9
103
2/2
✓ Branch 0 taken 126 times.
✓ Branch 1 taken 9 times.
136 DO IGC = 1,NGC(4)
104
105 135 FREFA(NGS(3)+IGC,JP) = FRACREFA(IGC,JP)
106 ENDDO
107 ENDDO
108
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 8 times.
9 DO JP = 1,8
109
2/2
✓ Branch 0 taken 112 times.
✓ Branch 1 taken 8 times.
121 DO IGC = 1,NGC(4)
110
111 120 FREFADF(NGS(3)+IGC,JP) = FRACREFA(IGC,JP+1) -FRACREFA(IGC,JP)
112 ENDDO
113 ENDDO
114
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 6 times.
7 DO JP = 1,6
115
2/2
✓ Branch 0 taken 84 times.
✓ Branch 1 taken 6 times.
91 DO IGC = 1,NGC(4)
116
117 90 FREFB(NGS(3)+IGC,JP) = FRACREFB(IGC,JP)
118 ENDDO
119 ENDDO
120
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
6 DO JP = 1,5
121
2/2
✓ Branch 0 taken 70 times.
✓ Branch 1 taken 5 times.
76 DO IGC = 1,NGC(4)
122
123 75 FREFBDF(NGS(3)+IGC,JP) = FRACREFB(IGC,JP+1) -FRACREFB(IGC,JP)
124 ENDDO
125 ENDDO
126
127
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB4',1,ZHOOK_HANDLE)
128 1 END SUBROUTINE RRTM_CMBGB4
129