GCC Code Coverage Report


Directory: ./
File: rad/rrtm_cmbgb1.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 35 35 100.0%
Branches: 28 30 93.3%

Line Branch Exec Source
1 !***************************************************************************
2 1 SUBROUTINE RRTM_CMBGB1
3 !***************************************************************************
4
5 ! The subroutines CMBGB1->CMBGB16 input the absorption coefficient
6 ! data for each band, which are defined for 16 g-points and 16 spectral
7 ! bands. The data are combined with appropriate weighting following the
8 ! g-point mapping arrays specified in RRTMINIT. Plank fraction data
9 ! in arrays FRACREFA and FRACREFB are combined without weighting. All
10 ! g-point reduced data are put into new arrays for use in RRTM.
11
12 ! BAND 1: 10-250 cm-1 (low - H2O; high - H2O)
13 !***************************************************************************
14
15 ! Parameters
16 USE PARKIND1 ,ONLY : JPIM ,JPRB
17 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK
18
19 USE YOERRTO1 , ONLY : KAO, KBO, SELFREFO, FORREFO, FRACREFAO,FRACREFBO
20 USE YOERRTA1 , ONLY : KA , KB , SELFREF , FORREF , FRACREFA ,FRACREFB
21 USE YOERRTRWT, ONLY : FREFA ,FREFB ,RWGT
22 USE YOERRTFTR, ONLY : NGC ,NGN
23
24 IMPLICIT NONE
25
26 INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JP, JT
27
28 REAL(KIND=JPRB) :: Z_SUMF1, Z_SUMF2, Z_SUMK
29 REAL(KIND=JPRB) :: ZHOOK_HANDLE
30
31
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB1',0,ZHOOK_HANDLE)
32
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 1 times.
6 DO JT = 1,5
33
2/2
✓ Branch 0 taken 5 times.
✓ Branch 1 taken 65 times.
70 DO JP = 1,13
34 IPRSM = 0
35
2/2
✓ Branch 0 taken 520 times.
✓ Branch 1 taken 65 times.
590 DO IGC = 1,NGC(1)
36 Z_SUMK = 0.0_JPRB
37
2/2
✓ Branch 0 taken 1040 times.
✓ Branch 1 taken 520 times.
1560 DO IPR = 1, NGN(IGC)
38 1040 IPRSM = IPRSM + 1
39
40 1560 Z_SUMK = Z_SUMK + KAO(JT,JP,IPRSM)*RWGT(IPRSM)
41 ENDDO
42
43 585 KA(JT,JP,IGC) = Z_SUMK
44 ENDDO
45 ENDDO
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 1880 times.
✓ Branch 1 taken 235 times.
2120 DO IGC = 1,NGC(1)
49 Z_SUMK = 0.0_JPRB
50
2/2
✓ Branch 0 taken 3760 times.
✓ Branch 1 taken 1880 times.
5640 DO IPR = 1, NGN(IGC)
51 3760 IPRSM = IPRSM + 1
52
53 5640 Z_SUMK = Z_SUMK + KBO(JT,JP,IPRSM)*RWGT(IPRSM)
54 ENDDO
55
56 2115 KB(JT,JP,IGC) = Z_SUMK
57 ENDDO
58 ENDDO
59 ENDDO
60
61
2/2
✓ Branch 0 taken 10 times.
✓ Branch 1 taken 1 times.
11 DO JT = 1,10
62 IPRSM = 0
63
2/2
✓ Branch 0 taken 80 times.
✓ Branch 1 taken 10 times.
91 DO IGC = 1,NGC(1)
64 Z_SUMK = 0.0_JPRB
65
2/2
✓ Branch 0 taken 160 times.
✓ Branch 1 taken 80 times.
240 DO IPR = 1, NGN(IGC)
66 160 IPRSM = IPRSM + 1
67
68 240 Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM)
69 ENDDO
70
71 90 SELFREF(JT,IGC) = Z_SUMK
72 ENDDO
73 ENDDO
74
75 IPRSM = 0
76
2/2
✓ Branch 0 taken 1 times.
✓ Branch 1 taken 8 times.
9 DO IGC = 1,NGC(1)
77 Z_SUMK = 0.0_JPRB
78 Z_SUMF1 = 0.0_JPRB
79 Z_SUMF2 = 0.0_JPRB
80
2/2
✓ Branch 0 taken 16 times.
✓ Branch 1 taken 8 times.
24 DO IPR = 1, NGN(IGC)
81 16 IPRSM = IPRSM + 1
82
83 16 Z_SUMK = Z_SUMK + FORREFO(IPRSM)*RWGT(IPRSM)
84 16 Z_SUMF1= Z_SUMF1+ FRACREFAO(IPRSM)
85 24 Z_SUMF2= Z_SUMF2+ FRACREFBO(IPRSM)
86 ENDDO
87
88 8 FORREF(IGC) = Z_SUMK
89 8 FRACREFA(IGC) = Z_SUMF1
90 9 FRACREFB(IGC) = Z_SUMF2
91 ENDDO
92
93
2/2
✓ Branch 0 taken 8 times.
✓ Branch 1 taken 1 times.
9 DO IGC = 1,NGC(1)
94
95 8 FREFA(IGC,1) = FRACREFA(IGC)
96 9 FREFB(IGC,1) = FRACREFB(IGC)
97 ENDDO
98
99
1/2
✓ Branch 0 taken 1 times.
✗ Branch 1 not taken.
1 IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB1',1,ZHOOK_HANDLE)
100 1 END SUBROUTINE RRTM_CMBGB1
101