GCC Code Coverage Report


Directory: ./
File: rad/rrtm_cmbgb9.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 52 52 100.0%
Branches: 52 54 96.3%

Line Branch Exec Source
1 !***************************************************************************
2 1 SUBROUTINE RRTM_CMBGB9
3 !***************************************************************************
4
5 ! BAND 9: 1180-1390 cm-1 (low - H2O,CH4; high - CH4)
6 !***************************************************************************
7
8 ! Parameters
9 USE PARKIND1 ,ONLY : JPIM ,JPRB
10 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK
11
12 USE YOERRTO9 , ONLY : KAO ,KBO ,SELFREFO ,FRACREFAO ,&
13 & FRACREFBO, ABSN2OO
14 USE YOERRTA9 , ONLY : KA ,KB ,SELFREF ,FRACREFA ,&
15 & FRACREFB , ABSN2O
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, JND, JNDC, 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_CMBGB9',0,ZHOOK_HANDLE)
27
2/2
✓ Branch 0 taken 11 times.
✓ Branch 1 taken 1 times.
12 DO JN = 1,11
28
2/2
✓ Branch 0 taken 55 times.
✓ Branch 1 taken 11 times.
67 DO JT = 1,5
29
2/2
✓ Branch 0 taken 715 times.
✓ Branch 1 taken 55 times.
781 DO JP = 1,13
30 IPRSM = 0
31
2/2
✓ Branch 0 taken 8580 times.
✓ Branch 1 taken 715 times.
9350 DO IGC = 1,NGC(9)
32 Z_SUMK = 0.0_JPRB
33
2/2
✓ Branch 0 taken 11440 times.
✓ Branch 1 taken 8580 times.
20020 DO IPR = 1, NGN(NGS(8)+IGC)
34 11440 IPRSM = IPRSM + 1
35
36 20020 Z_SUMK = Z_SUMK + KAO(JN,JT,JP,IPRSM)*RWGT(IPRSM+128)
37 ENDDO
38
39 9295 KA(JN,JT,JP,IGC) = Z_SUMK
40 ENDDO
41 ENDDO
42 ENDDO
43 ENDDO
44
45
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
6 DO JT = 1,5
46
2/2
✓ Branch 0 taken 235 times.
✓ Branch 1 taken 5 times.
241 DO JP = 13,59
47 IPRSM = 0
48
2/2
✓ Branch 0 taken 2820 times.
✓ Branch 1 taken 235 times.
3060 DO IGC = 1,NGC(9)
49 Z_SUMK = 0.0_JPRB
50
2/2
✓ Branch 0 taken 3760 times.
✓ Branch 1 taken 2820 times.
6580 DO IPR = 1, NGN(NGS(8)+IGC)
51 3760 IPRSM = IPRSM + 1
52
53 6580 Z_SUMK = Z_SUMK + KBO(JT,JP,IPRSM)*RWGT(IPRSM+128)
54 ENDDO
55
56 3055 KB(JT,JP,IGC) = Z_SUMK
57 ENDDO
58 ENDDO
59 ENDDO
60
61
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 10 times.
11 DO JT = 1,10
62 IPRSM = 0
63
2/2
✓ Branch 0 taken 120 times.
✓ Branch 1 taken 10 times.
131 DO IGC = 1,NGC(9)
64 Z_SUMK = 0.0_JPRB
65
2/2
✓ Branch 0 taken 160 times.
✓ Branch 1 taken 120 times.
280 DO IPR = 1, NGN(NGS(8)+IGC)
66 160 IPRSM = IPRSM + 1
67
68 280 Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+128)
69 ENDDO
70
71 130 SELFREF(JT,IGC) = Z_SUMK
72 ENDDO
73 ENDDO
74
75
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 3 times.
4 DO JN = 1,3
76 IPRSM = 0
77
2/2
✓ Branch 0 taken 36 times.
✓ Branch 1 taken 3 times.
40 DO IGC = 1,NGC(9)
78 Z_SUMK = 0.0_JPRB
79
2/2
✓ Branch 0 taken 48 times.
✓ Branch 1 taken 36 times.
84 DO IPR = 1, NGN(NGS(8)+IGC)
80 48 IPRSM = IPRSM + 1
81 48 JND = (JN-1)*16
82
83 84 Z_SUMK = Z_SUMK + ABSN2OO(JND+IPRSM)*RWGT(IPRSM+128)
84 ENDDO
85 36 JNDC = (JN-1)*NGC(9)
86
87 39 ABSN2O(JNDC+IGC) = Z_SUMK
88 ENDDO
89 ENDDO
90
91
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 1 times.
10 DO JP = 1,9
92 IPRSM = 0
93
2/2
✓ Branch 0 taken 108 times.
✓ Branch 1 taken 9 times.
118 DO IGC = 1,NGC(9)
94 Z_SUMF = 0.0_JPRB
95
2/2
✓ Branch 0 taken 144 times.
✓ Branch 1 taken 108 times.
252 DO IPR = 1, NGN(NGS(8)+IGC)
96 144 IPRSM = IPRSM + 1
97
98 252 Z_SUMF = Z_SUMF + FRACREFAO(IPRSM,JP)
99 ENDDO
100
101 117 FRACREFA(IGC,JP) = Z_SUMF
102 ENDDO
103 ENDDO
104
105 IPRSM = 0
106
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 12 times.
13 DO IGC = 1,NGC(9)
107 Z_SUMF = 0.0_JPRB
108
2/2
✓ Branch 0 taken 16 times.
✓ Branch 1 taken 12 times.
28 DO IPR = 1, NGN(NGS(8)+IGC)
109 16 IPRSM = IPRSM + 1
110
111 28 Z_SUMF = Z_SUMF + FRACREFBO(IPRSM)
112 ENDDO
113
114 13 FRACREFB(IGC) = Z_SUMF
115 ENDDO
116
117
2/2
✓ Branch 0 taken 9 times.
✓ Branch 1 taken 1 times.
10 DO JP = 1,9
118
2/2
✓ Branch 0 taken 108 times.
✓ Branch 1 taken 9 times.
118 DO IGC = 1,NGC(9)
119
120 117 FREFA(NGS(8)+IGC,JP) = FRACREFA(IGC,JP)
121 ENDDO
122 ENDDO
123
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 1 times.
9 DO JP = 1,8
124
2/2
✓ Branch 0 taken 96 times.
✓ Branch 1 taken 8 times.
105 DO IGC = 1,NGC(9)
125
126 104 FREFADF(NGS(8)+IGC,JP) = FRACREFA(IGC,JP+1) -FRACREFA(IGC,JP)
127 ENDDO
128 ENDDO
129
2/2
✓ Branch 0 taken 12 times.
✓ Branch 1 taken 1 times.
13 DO IGC = 1,NGC(9)
130
131 13 FREFB(NGS(8)+IGC,1) = FRACREFB(IGC)
132 ENDDO
133
134
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB9',1,ZHOOK_HANDLE)
135 1 END SUBROUTINE RRTM_CMBGB9
136