GCC Code Coverage Report


Directory: ./
File: rad/rrtm_cmbgb7.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 46 46 100.0%
Branches: 46 48 95.8%

Line Branch Exec Source
1 !***************************************************************************
2 1 SUBROUTINE RRTM_CMBGB7
3 !***************************************************************************
4
5 ! BAND 7: 980-1080 cm-1 (low - H2O,O3; high - O3)
6 !***************************************************************************
7
8 ! Parameters
9 USE PARKIND1 ,ONLY : JPIM ,JPRB
10 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK
11
12 USE YOERRTO7 , ONLY : KAO ,KBO ,SELFREFO ,FRACREFAO ,&
13 & FRACREFBO, ABSCO2O
14 USE YOERRTA7 , ONLY : KA ,KB ,SELFREF ,FRACREFA ,&
15 & FRACREFB , ABSCO2
16 USE YOERRTRWT, ONLY : FREFA ,FREFB ,FREFADF ,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_CMBGB7',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 7020 times.
✓ Branch 1 taken 585 times.
7650 DO IGC = 1,NGC(7)
32 Z_SUMK = 0.0_JPRB
33
2/2
✓ Branch 0 taken 9360 times.
✓ Branch 1 taken 7020 times.
16380 DO IPR = 1, NGN(NGS(6)+IGC)
34 9360 IPRSM = IPRSM + 1
35
36 16380 Z_SUMK = Z_SUMK + KAO(JN,JT,JP,IPRSM)*RWGT(IPRSM+96)
37 ENDDO
38
39 7605 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 JT = 1,5
45
2/2
✓ Branch 0 taken 235 times.
✓ Branch 1 taken 5 times.
241 DO JP = 13,59
46 IPRSM = 0
47
2/2
✓ Branch 0 taken 2820 times.
✓ Branch 1 taken 235 times.
3060 DO IGC = 1,NGC(7)
48 Z_SUMK = 0.0_JPRB
49
2/2
✓ Branch 0 taken 3760 times.
✓ Branch 1 taken 2820 times.
6580 DO IPR = 1, NGN(NGS(6)+IGC)
50 3760 IPRSM = IPRSM + 1
51
52 6580 Z_SUMK = Z_SUMK + KBO(JT,JP,IPRSM)*RWGT(IPRSM+96)
53 ENDDO
54
55 3055 KB(JT,JP,IGC) = Z_SUMK
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 120 times.
✓ Branch 1 taken 10 times.
131 DO IGC = 1,NGC(7)
63 Z_SUMK = 0.0_JPRB
64
2/2
✓ Branch 0 taken 160 times.
✓ Branch 1 taken 120 times.
280 DO IPR = 1, NGN(NGS(6)+IGC)
65 160 IPRSM = IPRSM + 1
66
67 280 Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+96)
68 ENDDO
69
70 130 SELFREF(JT,IGC) = Z_SUMK
71 ENDDO
72 ENDDO
73
74
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 1 times.
10 DO JP = 1,9
75 IPRSM = 0
76
2/2
✓ Branch 0 taken 108 times.
✓ Branch 1 taken 9 times.
118 DO IGC = 1,NGC(7)
77 Z_SUMF = 0.0_JPRB
78
2/2
✓ Branch 0 taken 144 times.
✓ Branch 1 taken 108 times.
252 DO IPR = 1, NGN(NGS(6)+IGC)
79 144 IPRSM = IPRSM + 1
80
81 252 Z_SUMF = Z_SUMF + FRACREFAO(IPRSM,JP)
82 ENDDO
83
84 117 FRACREFA(IGC,JP) = Z_SUMF
85 ENDDO
86 ENDDO
87
88 IPRSM = 0
89
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 12 times.
13 DO IGC = 1,NGC(7)
90 Z_SUMF = 0.0_JPRB
91 Z_SUMK = 0.0_JPRB
92
2/2
✓ Branch 0 taken 16 times.
✓ Branch 1 taken 12 times.
28 DO IPR = 1, NGN(NGS(6)+IGC)
93 16 IPRSM = IPRSM + 1
94
95 16 Z_SUMF = Z_SUMF + FRACREFBO(IPRSM)
96 28 Z_SUMK = Z_SUMK + ABSCO2O(IPRSM)*RWGT(IPRSM+96)
97 ENDDO
98
99 12 FRACREFB(IGC) = Z_SUMF
100 13 ABSCO2(IGC) = Z_SUMK
101 ENDDO
102
103
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 1 times.
10 DO JP = 1,9
104
2/2
✓ Branch 0 taken 108 times.
✓ Branch 1 taken 9 times.
118 DO IGC = 1,NGC(7)
105
106 117 FREFA(NGS(6)+IGC,JP) = FRACREFA(IGC,JP)
107 ENDDO
108 ENDDO
109
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 1 times.
9 DO JP = 1,8
110
2/2
✓ Branch 0 taken 96 times.
✓ Branch 1 taken 8 times.
105 DO IGC = 1,NGC(7)
111
112 104 FREFADF(NGS(6)+IGC,JP) = FRACREFA(IGC,JP+1) -FRACREFA(IGC,JP)
113 ENDDO
114 ENDDO
115
2/2
✓ Branch 0 taken 12 times.
✓ Branch 1 taken 1 times.
13 DO IGC = 1,NGC(7)
116
117 13 FREFB(NGS(6)+IGC,1) = FRACREFB(IGC)
118 ENDDO
119
120
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB7',1,ZHOOK_HANDLE)
121 1 END SUBROUTINE RRTM_CMBGB7
122