GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/rrtm/rrtm_cmbgb12.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_CMBGB12
3
!***************************************************************************
4
5
!     BAND 12:  1800-2080 cm-1 (low - H2O,CO2; high - nothing)
6
!***************************************************************************
7
8
! Parameters
9
USE PARKIND1  ,ONLY : JPIM     ,JPRB
10
USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
11
12
USE YOERRTO12, ONLY : KAO     ,SELFREFO   ,FRACREFAO
13
USE YOERRTA12, 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_CMBGB12',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
5310
      DO IGC = 1,NGC(12)
30
        Z_SUMK = 0.0_JPRB
31
14040
        DO IPR = 1, NGN(NGS(11)+IGC)
32
9360
          IPRSM = IPRSM + 1
33
34
14040
          Z_SUMK = Z_SUMK + KAO(JN,JT,JP,IPRSM)*RWGT(IPRSM+176)
35
        ENDDO
36
37
5265
        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
91
  DO IGC = 1,NGC(12)
46
    Z_SUMK = 0.0_JPRB
47
240
    DO IPR = 1, NGN(NGS(11)+IGC)
48
160
      IPRSM = IPRSM + 1
49
50
240
      Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+176)
51
    ENDDO
52
53
90
    SELFREF(JT,IGC) = Z_SUMK
54
  ENDDO
55
ENDDO
56
57
10
DO JP = 1,9
58
  IPRSM = 0
59
82
  DO IGC = 1,NGC(12)
60
    Z_SUMF = 0.0_JPRB
61
216
    DO IPR = 1, NGN(NGS(11)+IGC)
62
144
      IPRSM = IPRSM + 1
63
64
216
      Z_SUMF = Z_SUMF + FRACREFAO(IPRSM,JP)
65
    ENDDO
66
67
81
    FRACREFA(IGC,JP) = Z_SUMF
68
  ENDDO
69
ENDDO
70
71
10
DO JP = 1,9
72
82
  DO IGC = 1,NGC(12)
73
74
81
    FREFA(NGS(11)+IGC,JP) = FRACREFA(IGC,JP)
75
  ENDDO
76
ENDDO
77
9
DO JP = 1,8
78
73
  DO IGC = 1,NGC(12)
79
80
72
    FREFADF(NGS(11)+IGC,JP) = FRACREFA(IGC,JP+1) -FRACREFA(IGC,JP)
81
  ENDDO
82
ENDDO
83
84
1
IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB12',1,ZHOOK_HANDLE)
85
1
END SUBROUTINE RRTM_CMBGB12