source: LMDZ6/trunk/libf/phylmd/ecrad/ifsrrtm/rrtm_cmbgb5.F90 @ 4824

Last change on this file since 4824 was 4773, checked in by idelkadi, 12 months ago
  • Update of Ecrad in LMDZ The same organization of the Ecrad offline version is retained in order to facilitate the updating of Ecrad in LMDZ and the comparison between online and offline results. version 1.6.1 of Ecrad (https://github.com/lguez/ecrad.git)
  • Implementation of the double call of Ecrad in LMDZ


File size: 3.1 KB
Line 
1!***************************************************************************
2SUBROUTINE RRTM_CMBGB5
3!***************************************************************************
4
5!     BAND 5:  700-820 cm-1 (low - H2O,CO2; high - O3,CO2)
6!     ABozzo 201306 updated to rrtmg v4.85
7!     band 5:  700-820 cm-1 (low key - h2o,co2; low minor - o3, ccl4)
8!                           (high key - o3,co2)
9!***************************************************************************
10
11! Parameters
12USE PARKIND1  ,ONLY : JPIM     ,JPRB
13USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK, JPHOOK
14
15USE YOERRTO5 , ONLY : KAO     ,KBO     ,SELFREFO   ,FORREFO, FRACREFAO  ,&
16 & FRACREFBO, CCL4O, KAO_MO3
17USE YOERRTA5 , ONLY : KA      ,KB      ,SELFREF    ,FORREF, FRACREFA   ,&
18 & FRACREFB , CCL4, KA_MO3 
19USE YOERRTRWT, ONLY : RWGT
20USE YOERRTFTR, ONLY : NGC      ,NGS      ,NGN     
21
22IMPLICIT NONE
23
24INTEGER(KIND=JPIM) :: IGC, IPR, IPRSM, JN, JP, JT
25
26REAL(KIND=JPRB) :: Z_SUMF, Z_SUMK
27REAL(KIND=JPHOOK) :: ZHOOK_HANDLE
28
29IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB5',0,ZHOOK_HANDLE)
30DO JN = 1,9
31  DO JT = 1,5
32    DO JP = 1,13
33      IPRSM = 0
34      DO IGC = 1,NGC(5)
35        Z_SUMK = 0.0_JPRB
36        DO IPR = 1, NGN(NGS(4)+IGC)
37          IPRSM = IPRSM + 1
38
39          Z_SUMK = Z_SUMK + KAO(JN,JT,JP,IPRSM)*RWGT(IPRSM+64)
40        ENDDO
41
42        KA(JN,JT,JP,IGC) = Z_SUMK
43      ENDDO
44    ENDDO
45  ENDDO
46ENDDO
47DO JN = 1,5
48  DO JT = 1,5
49    DO JP = 13,59
50      IPRSM = 0
51      DO IGC = 1,NGC(5)
52        Z_SUMK = 0.0_JPRB
53        DO IPR = 1, NGN(NGS(4)+IGC)
54          IPRSM = IPRSM + 1
55
56          Z_SUMK = Z_SUMK + KBO(JN,JT,JP,IPRSM)*RWGT(IPRSM+64)
57        ENDDO
58
59        KB(JN,JT,JP,IGC) = Z_SUMK
60      ENDDO
61    ENDDO
62  ENDDO
63ENDDO
64
65 DO JN = 1,9
66    DO JT = 1,19
67       IPRSM = 0
68       DO IGC = 1,NGC(5)
69          Z_SUMK = 0.0_JPRB
70          DO IPR = 1, NGN(NGS(4)+IGC)
71               IPRSM = IPRSM + 1
72               Z_SUMK = Z_SUMK + KAO_MO3(JN,JT,IPRSM)*RWGT(IPRSM+64)
73          ENDDO
74          KA_MO3(JN,JT,IGC) = Z_SUMK
75       ENDDO
76    ENDDO
77ENDDO
78
79
80
81DO JT = 1,10
82  IPRSM = 0
83  DO IGC = 1,NGC(5)
84    Z_SUMK = 0.0_JPRB
85    DO IPR = 1, NGN(NGS(4)+IGC)
86      IPRSM = IPRSM + 1
87
88      Z_SUMK = Z_SUMK + SELFREFO(JT,IPRSM)*RWGT(IPRSM+64)
89    ENDDO
90
91    SELFREF(JT,IGC) = Z_SUMK
92  ENDDO
93ENDDO
94
95DO JT = 1,4
96   IPRSM = 0
97   DO IGC = 1,NGC(5)
98      Z_SUMK = 0.0_JPRB
99      DO IPR = 1, NGN(NGS(4)+IGC)
100         IPRSM = IPRSM + 1
101         Z_SUMK = Z_SUMK + FORREFO(JT,IPRSM)*RWGT(IPRSM+64)
102      ENDDO
103      FORREF(JT,IGC) = Z_SUMK
104   ENDDO
105ENDDO
106
107
108
109DO JP = 1,9
110  IPRSM = 0
111  DO IGC = 1,NGC(5)
112    Z_SUMF = 0.0_JPRB
113    DO IPR = 1, NGN(NGS(4)+IGC)
114      IPRSM = IPRSM + 1
115
116      Z_SUMF = Z_SUMF + FRACREFAO(IPRSM,JP)
117    ENDDO
118
119    FRACREFA(IGC,JP) = Z_SUMF
120  ENDDO
121ENDDO
122
123DO JP = 1,5
124  IPRSM = 0
125  DO IGC = 1,NGC(5)
126    Z_SUMF = 0.0_JPRB
127    DO IPR = 1, NGN(NGS(4)+IGC)
128      IPRSM = IPRSM + 1
129
130      Z_SUMF = Z_SUMF + FRACREFBO(IPRSM,JP)
131    ENDDO
132
133    FRACREFB(IGC,JP) = Z_SUMF
134  ENDDO
135ENDDO
136
137IPRSM = 0
138DO IGC = 1,NGC(5)
139  Z_SUMK = 0.0_JPRB
140  DO IPR = 1, NGN(NGS(4)+IGC)
141    IPRSM = IPRSM + 1
142
143    Z_SUMK = Z_SUMK + CCL4O(IPRSM)*RWGT(IPRSM+64)
144  ENDDO
145
146  CCL4(IGC) = Z_SUMK
147ENDDO
148
149
150IF (LHOOK) CALL DR_HOOK('RRTM_CMBGB5',1,ZHOOK_HANDLE)
151END SUBROUTINE RRTM_CMBGB5
Note: See TracBrowser for help on using the repository browser.