GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/rrtm/rrtm_cmbgb16.F90 Lines: 30 30 100.0 %
Date: 2023-06-30 12:51:15 Branches: 32 34 94.1 %

Line Branch Exec Source
1
!***************************************************************************
2
1
SUBROUTINE RRTM_CMBGB16
3
!***************************************************************************
4
5
!     BAND 16:  2600-3000 cm-1 (low - H2O,CH4; high - nothing)
6
!***************************************************************************
7
8
! Parameters
9
USE PARKIND1  ,ONLY : JPIM     ,JPRB
10
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
11
12
USE YOERRTO16, ONLY : KAO     ,SELFREFO   ,FRACREFAO
13
USE YOERRTA16, ONLY : KA      ,SELFREF    ,FRACREFA
14
USE YOERRTRWT, ONLY : FREFA    ,FREFADF  ,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
IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB16',0,ZHOOK_HANDLE)
25
10
DO JN = 1,9
26
55
  DO JT = 1,5
27
639
    DO JP = 1,13
28
      IPRSM = 0
29
1800
      DO IGC = 1,NGC(16)
30
        Z_SUMK = 0.0_JPRB
31
10530
        DO IPR = 1, NGN(NGS(15)+IGC)
32
9360
          IPRSM = IPRSM + 1
33
34
10530
          Z_SUMK = Z_SUMK + KAO(JN,JT,JP,IPRSM)*RWGT(IPRSM+240)
35
        ENDDO
36
37
1755
        KA(JN,JT,JP,IGC) = Z_SUMK
38
      ENDDO
39
    ENDDO
40
  ENDDO
41
ENDDO
42
43
11
DO JT = 1,10
44
  IPRSM = 0
45
31
  DO IGC = 1,NGC(16)
46
    Z_SUMK = 0.0_JPRB
47
180
    DO IPR = 1, NGN(NGS(15)+IGC)
48
160
      IPRSM = IPRSM + 1
49
50
180
      Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+240)
51
    ENDDO
52
53
30
    SELFREF(JT,IGC) = Z_SUMK
54
  ENDDO
55
ENDDO
56
57
10
DO JP = 1,9
58
  IPRSM = 0
59
28
  DO IGC = 1,NGC(16)
60
    Z_SUMF = 0.0_JPRB
61
162
    DO IPR = 1, NGN(NGS(15)+IGC)
62
144
      IPRSM = IPRSM + 1
63
64
162
      Z_SUMF = Z_SUMF + FRACREFAO(IPRSM,JP)
65
    ENDDO
66
67
27
    FRACREFA(IGC,JP) = Z_SUMF
68
  ENDDO
69
ENDDO
70
71
10
DO JP = 1,9
72
28
  DO IGC = 1,NGC(16)
73
74
27
    FREFA(NGS(15)+IGC,JP) = FRACREFA(IGC,JP)
75
  ENDDO
76
ENDDO
77
78
9
DO JP = 1,8
79
25
  DO IGC = 1,NGC(16)
80
81
24
    FREFADF(NGS(15)+IGC,JP) = FRACREFA(IGC,JP+1) -FRACREFA(IGC,JP)
82
  ENDDO
83
ENDDO
84
85
1
IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB16',1,ZHOOK_HANDLE)
86
1
END SUBROUTINE RRTM_CMBGB16