GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/rrtm/srtm_cmbgb29.F90 Lines: 0 38 0.0 %
Date: 2023-06-30 12:56:34 Branches: 0 34 0.0 %

Line Branch Exec Source
1
SUBROUTINE SRTM_CMBGB29
2
3
!     BAND 29:  820-2600 cm-1 (low - H2O; high - CO2)
4
!-----------------------------------------------------------------------
5
6
USE PARKIND1  ,ONLY : JPIM , JPRB
7
USE YOMHOOK   ,ONLY : LHOOK, DR_HOOK
8
9
USE YOESRTWN , ONLY : NGC, NGS, NGN, RWGT
10
USE YOESRTA29, ONLY : KA, KB, SELFREF, FORREF, SFLUXREF, &
11
                    & ABSH2O, ABSCO2, &
12
                    & KAC, KBC, SELFREFC, FORREFC, SFLUXREFC, &
13
                    & ABSH2OC, ABSCO2C
14
15
IMPLICIT NONE
16
17
! Local variables
18
INTEGER(KIND=JPIM) :: JT, JP, IGC, IPR, IPRSM
19
REAL(KIND=JPRB)    :: ZSUMK, ZSUMF1, ZSUMF2, ZSUMF3
20
21
REAL(KIND=JPRB) :: ZHOOK_HANDLE
22
!     ------------------------------------------------------------------
23
IF (LHOOK) CALL DR_HOOK('SRTM_CMBGB29',0,ZHOOK_HANDLE)
24
25
DO JT = 1,5
26
  DO JP = 1,13
27
    IPRSM = 0
28
    DO IGC = 1,NGC(14)
29
      ZSUMK = 0.
30
      DO IPR = 1, NGN(NGS(13)+IGC)
31
        IPRSM = IPRSM + 1
32
        ZSUMK = ZSUMK + KA(JT,JP,IPRSM)*RWGT(IPRSM+208)
33
      ENDDO
34
      KAC(JT,JP,IGC) = ZSUMK
35
    ENDDO
36
  ENDDO
37
38
  DO JP = 13,59
39
    IPRSM = 0
40
    DO IGC = 1,NGC(14)
41
      ZSUMK = 0.
42
      DO IPR = 1, NGN(NGS(13)+IGC)
43
        IPRSM = IPRSM + 1
44
        ZSUMK = ZSUMK + KB(JT,JP,IPRSM)*RWGT(IPRSM+208)
45
      ENDDO
46
      KBC(JT,JP,IGC) = ZSUMK
47
    ENDDO
48
  ENDDO
49
ENDDO
50
51
DO JT = 1,10
52
  IPRSM = 0
53
  DO IGC = 1,NGC(14)
54
    ZSUMK = 0.
55
    DO IPR = 1, NGN(NGS(13)+IGC)
56
      IPRSM = IPRSM + 1
57
      ZSUMK = ZSUMK + SELFREF(JT,IPRSM)*RWGT(IPRSM+208)
58
    ENDDO
59
    SELFREFC(JT,IGC) = ZSUMK
60
  ENDDO
61
ENDDO
62
63
DO JT = 1,4
64
  IPRSM = 0
65
  DO IGC = 1,NGC(14)
66
    ZSUMK = 0.
67
    DO IPR = 1, NGN(NGS(13)+IGC)
68
      IPRSM = IPRSM + 1
69
      ZSUMK = ZSUMK + FORREF(JT,IPRSM)*RWGT(IPRSM+208)
70
    ENDDO
71
    FORREFC(JT,IGC) = ZSUMK
72
  ENDDO
73
ENDDO
74
75
IPRSM = 0
76
DO IGC = 1,NGC(14)
77
  ZSUMF1 = 0.
78
  ZSUMF2 = 0.
79
  ZSUMF3 = 0.
80
  DO IPR = 1, NGN(NGS(13)+IGC)
81
    IPRSM = IPRSM + 1
82
    ZSUMF1 = ZSUMF1 + SFLUXREF(IPRSM)
83
    ZSUMF2 = ZSUMF2 + ABSCO2(IPRSM)*RWGT(IPRSM+208)
84
    ZSUMF3 = ZSUMF3 + ABSH2O(IPRSM)*RWGT(IPRSM+208)
85
  ENDDO
86
  SFLUXREFC(IGC) = ZSUMF1
87
  ABSCO2C(IGC) = ZSUMF2
88
  ABSH2OC(IGC) = ZSUMF3
89
ENDDO
90
91
!     -----------------------------------------------------------------
92
IF (LHOOK) CALL DR_HOOK('SRTM_CMBGB29',1,ZHOOK_HANDLE)
93
END SUBROUTINE SRTM_CMBGB29
94