GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/rrtm/rrtm_cmbgb14.F90 Lines: 34 34 100.0 %
Date: 2023-06-30 12:56:34 Branches: 30 32 93.8 %

Line Branch Exec Source
1
!***************************************************************************
2
1
SUBROUTINE RRTM_CMBGB14
3
!***************************************************************************
4
5
!     BAND 14:  2250-2380 cm-1 (low - CO2; high - CO2)
6
!***************************************************************************
7
8
! Parameters
9
USE PARKIND1  ,ONLY : JPIM     ,JPRB
10
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
11
12
USE YOERRTO14, ONLY : KAO     ,KBO     ,SELFREFO   ,FRACREFAO  ,FRACREFBO
13
USE YOERRTA14, ONLY : KA      ,KB      ,SELFREF    ,FRACREFA   ,FRACREFB
14
USE YOERRTRWT, ONLY : FREFA    ,FREFB    ,RWGT
15
USE YOERRTFTR, ONLY : NGC      ,NGS      ,NGN
16
17
IMPLICIT NONE
18
19
INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JP, JT
20
21
REAL(KIND=JPRB) :: Z_SUMF1, Z_SUMF2, Z_SUMK
22
REAL(KIND=JPRB) :: ZHOOK_HANDLE
23
24
1
IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB14',0,ZHOOK_HANDLE)
25
6
DO JT = 1,5
26
71
  DO JP = 1,13
27
    IPRSM = 0
28
200
    DO IGC = 1,NGC(14)
29
      Z_SUMK = 0.0_JPRB
30
1170
      DO IPR = 1, NGN(NGS(13)+IGC)
31
1040
        IPRSM = IPRSM + 1
32
33
1170
        Z_SUMK = Z_SUMK + KAO(JT,JP,IPRSM)*RWGT(IPRSM+208)
34
      ENDDO
35
36
195
      KA(JT,JP,IGC) = Z_SUMK
37
    ENDDO
38
  ENDDO
39
ENDDO
40
41
6
DO JT = 1,5
42
241
  DO JP = 13,59
43
    IPRSM = 0
44
710
    DO IGC = 1,NGC(14)
45
      Z_SUMK = 0.0_JPRB
46
4230
      DO IPR = 1, NGN(NGS(13)+IGC)
47
3760
        IPRSM = IPRSM + 1
48
49
4230
        Z_SUMK = Z_SUMK + KBO(JT,JP,IPRSM)*RWGT(IPRSM+208)
50
      ENDDO
51
52
705
      KB(JT,JP,IGC) = Z_SUMK
53
    ENDDO
54
  ENDDO
55
ENDDO
56
57
11
DO JT = 1,10
58
  IPRSM = 0
59
31
  DO IGC = 1,NGC(14)
60
    Z_SUMK = 0.0_JPRB
61
180
    DO IPR = 1, NGN(NGS(13)+IGC)
62
160
      IPRSM = IPRSM + 1
63
64
180
      Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+208)
65
    ENDDO
66
67
30
    SELFREF(JT,IGC) = Z_SUMK
68
  ENDDO
69
ENDDO
70
71
IPRSM = 0
72
3
DO IGC = 1,NGC(14)
73
  Z_SUMF1= 0.0_JPRB
74
  Z_SUMF2= 0.0_JPRB
75
18
  DO IPR = 1, NGN(NGS(13)+IGC)
76
16
    IPRSM = IPRSM + 1
77
78
16
    Z_SUMF1= Z_SUMF1+ FRACREFAO(IPRSM)
79
18
    Z_SUMF2= Z_SUMF2+ FRACREFBO(IPRSM)
80
  ENDDO
81
82
2
  FRACREFA(IGC) = Z_SUMF1
83
3
  FRACREFB(IGC) = Z_SUMF2
84
ENDDO
85
86
3
DO IGC = 1,NGC(14)
87
88
2
  FREFA(NGS(13)+IGC,1) = FRACREFA(IGC)
89
3
  FREFB(NGS(13)+IGC,1) = FRACREFB(IGC)
90
ENDDO
91
92
1
IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB14',1,ZHOOK_HANDLE)
93
1
END SUBROUTINE RRTM_CMBGB14