GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/rrtm/srtm_cmbgb24.F90 Lines: 0 48 0.0 %
Date: 2023-06-30 12:51:15 Branches: 0 44 0.0 %

Line Branch Exec Source
1
SUBROUTINE SRTM_CMBGB24
2
3
!     BAND 24:  12850-16000 cm-1 (low - H2O,O2; high - O2)
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 YOESRTA24, ONLY : KA, KB, SELFREF, FORREF, SFLUXREF, &
11
                    & ABSO3A, ABSO3B, RAYLA, RAYLB, &
12
                    & KAC, KBC, SELFREFC, FORREFC, SFLUXREFC, &
13
                    & ABSO3AC, ABSO3BC, RAYLAC, RAYLBC
14
15
IMPLICIT NONE
16
17
! Local variables
18
INTEGER(KIND=JPIM) :: JN, 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_CMBGB24',0,ZHOOK_HANDLE)
24
25
DO JN = 1,9
26
  DO JT = 1,5
27
    DO JP = 1,13
28
      IPRSM = 0
29
      DO IGC = 1,NGC(9)
30
        ZSUMK = 0.
31
        DO IPR = 1, NGN(NGS(8)+IGC)
32
          IPRSM = IPRSM + 1
33
          ZSUMK = ZSUMK + KA(JN,JT,JP,IPRSM)*RWGT(IPRSM+128)
34
        ENDDO
35
        KAC(JN,JT,JP,IGC) = ZSUMK
36
      ENDDO
37
    ENDDO
38
  ENDDO
39
ENDDO
40
41
DO JT = 1,5
42
  DO JP = 13,59
43
    IPRSM = 0
44
    DO IGC = 1,NGC(9)
45
      ZSUMK = 0.
46
      DO IPR = 1, NGN(NGS(8)+IGC)
47
        IPRSM = IPRSM + 1
48
        ZSUMK = ZSUMK + KB(JT,JP,IPRSM)*RWGT(IPRSM+128)
49
      ENDDO
50
      KBC(JT,JP,IGC) = ZSUMK
51
    ENDDO
52
  ENDDO
53
ENDDO
54
55
DO JT = 1,10
56
  IPRSM = 0
57
  DO IGC = 1,NGC(9)
58
    ZSUMK = 0.
59
    DO IPR = 1, NGN(NGS(8)+IGC)
60
      IPRSM = IPRSM + 1
61
      ZSUMK = ZSUMK + SELFREF(JT,IPRSM)*RWGT(IPRSM+128)
62
    ENDDO
63
    SELFREFC(JT,IGC) = ZSUMK
64
  ENDDO
65
ENDDO
66
67
DO JT = 1,3
68
  IPRSM = 0
69
  DO IGC = 1,NGC(9)
70
    ZSUMK = 0.
71
    DO IPR = 1, NGN(NGS(8)+IGC)
72
      IPRSM = IPRSM + 1
73
      ZSUMK = ZSUMK + FORREF(JT,IPRSM)*RWGT(IPRSM+128)
74
    ENDDO
75
    FORREFC(JT,IGC) = ZSUMK
76
  ENDDO
77
ENDDO
78
79
IPRSM = 0
80
DO IGC = 1,NGC(9)
81
  ZSUMF1 = 0.
82
  ZSUMF2 = 0.
83
  ZSUMF3 = 0.
84
  DO IPR = 1, NGN(NGS(8)+IGC)
85
    IPRSM = IPRSM + 1
86
    ZSUMF1 = ZSUMF1 + RAYLB(IPRSM)*RWGT(IPRSM+128)
87
    ZSUMF2 = ZSUMF2 + ABSO3A(IPRSM)*RWGT(IPRSM+128)
88
    ZSUMF3 = ZSUMF3 + ABSO3B(IPRSM)*RWGT(IPRSM+128)
89
  ENDDO
90
  RAYLBC(IGC) = ZSUMF1
91
  ABSO3AC(IGC) = ZSUMF2
92
  ABSO3BC(IGC) = ZSUMF3
93
ENDDO
94
95
DO JP = 1,9
96
  IPRSM = 0
97
  DO IGC = 1,NGC(9)
98
    ZSUMF1 = 0.
99
    ZSUMF2 = 0.
100
    DO IPR = 1, NGN(NGS(8)+IGC)
101
      IPRSM = IPRSM + 1
102
      ZSUMF1 = ZSUMF1 + SFLUXREF(IPRSM,JP)
103
      ZSUMF2 = ZSUMF2 + RAYLA(IPRSM,JP)*RWGT(IPRSM+128)
104
    ENDDO
105
    SFLUXREFC(IGC,JP) = ZSUMF1
106
    RAYLAC(IGC,JP) = ZSUMF2
107
  ENDDO
108
ENDDO
109
110
!     -----------------------------------------------------------------
111
IF (LHOOK) CALL DR_HOOK('SRTM_CMBGB24',1,ZHOOK_HANDLE)
112
END SUBROUTINE SRTM_CMBGB24
113