GCC Code Coverage Report


Directory: ./
File: rad/rrtm_gasabs1a_140gp.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 29 29 100.0%
Branches: 6 8 75.0%

Line Branch Exec Source
1 119280 SUBROUTINE RRTM_GASABS1A_140GP (KLEV,P_ATR1,P_OD,P_TF1,P_COLDRY,P_WX,&
2 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,P_ONEMINUS,&
3 & P_COLH2O,P_COLCO2,P_COLO3,P_COLN2O,P_COLCH4,P_COLO2,P_CO2MULT,&
4 & K_LAYTROP,K_LAYSWTCH,K_LAYLOW,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
5
6 ! Reformatted for F90 by JJMorcrette, ECMWF, 980714
7
8 USE PARKIND1 ,ONLY : JPIM ,JPRB
9 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK
10
11 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,JPXSEC
12 USE YOERRTAB , ONLY : TRANS ,BPADE
13
14 IMPLICIT NONE
15
16 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
17 REAL(KIND=JPRB) ,INTENT(OUT) :: P_ATR1(JPGPT,JPLAY)
18 REAL(KIND=JPRB) ,INTENT(OUT) :: P_OD(JPGPT,JPLAY)
19 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TF1(JPGPT,JPLAY)
20 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLDRY(JPLAY)
21 REAL(KIND=JPRB) ,INTENT(IN) :: P_WX(JPXSEC,JPLAY) ! Amount of trace gases
22 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
23 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
24 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
25 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
26 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
27 REAL(KIND=JPRB) ,INTENT(IN) :: P_FORFAC(JPLAY)
28 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
29 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
30 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
31 REAL(KIND=JPRB) ,INTENT(IN) :: P_ONEMINUS
32 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
33 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLCO2(JPLAY)
34 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLO3(JPLAY)
35 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLN2O(JPLAY)
36 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLCH4(JPLAY)
37 REAL(KIND=JPRB) :: P_COLO2(JPLAY) ! Argument NOT used
38 REAL(KIND=JPRB) ,INTENT(IN) :: P_CO2MULT(JPLAY)
39 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
40 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYSWTCH
41 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYLOW
42 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
43 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
44 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
45 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
46 !- from AER
47 !- from INTFAC
48 !- from INTIND
49 !- from PRECISE
50 !- from PROFDATA
51 !- from SELF
52 !- from SP
53 REAL(KIND=JPRB) :: Z_TAU (JPGPT,JPLAY)
54
55 INTEGER(KIND=JPIM) :: IPR, ITR, I_LAY
56
57 REAL(KIND=JPRB) :: Z_ODEPTH, Z_SECANG, Z_TF
58 REAL(KIND=JPRB) :: ZHOOK_HANDLE
59
60 INTERFACE
61 SUBROUTINE RRTM_TAUMOL1 (KLEV,P_TAU,&
62 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,&
63 & P_COLH2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
64 USE PARKIND1 ,ONLY : JPIM ,JPRB
65 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NG1
66 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
67 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
68 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
69 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
70 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
71 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
72 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
73 REAL(KIND=JPRB) ,INTENT(IN) :: P_FORFAC(JPLAY)
74 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
75 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
76 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
77 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
78 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
79 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
80 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
81 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
82 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
83 END SUBROUTINE RRTM_TAUMOL1
84 END INTERFACE
85 INTERFACE
86 SUBROUTINE RRTM_TAUMOL10 (KLEV,P_TAU,&
87 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,&
88 & P_COLH2O,K_LAYTROP,PFRAC)
89 USE PARKIND1 ,ONLY : JPIM ,JPRB
90 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NG10 ,NGS9
91 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
92 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
93 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
94 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
95 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
96 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
97 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
98 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
99 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
100 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
101 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
102 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
103 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
104 END SUBROUTINE RRTM_TAUMOL10
105 END INTERFACE
106 INTERFACE
107 SUBROUTINE RRTM_TAUMOL11 (KLEV,P_TAU,&
108 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,&
109 & P_COLH2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
110 USE PARKIND1 ,ONLY : JPIM ,JPRB
111 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NG11 ,NGS10
112 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
113 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
114 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
115 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
116 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
117 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
118 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
119 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
120 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
121 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
122 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
123 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
124 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
125 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
126 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
127 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
128 END SUBROUTINE RRTM_TAUMOL11
129 END INTERFACE
130 INTERFACE
131 SUBROUTINE RRTM_TAUMOL12 (KLEV,P_TAU,&
132 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
133 & P_COLH2O,P_COLCO2,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
134 USE PARKIND1 ,ONLY : JPIM ,JPRB
135 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NG12 ,NGS11
136 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
137 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
138 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
139 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
140 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
141 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
142 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
143 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
144 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
145 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
146 REAL(KIND=JPRB) ,INTENT(IN) :: P_ONEMINUS
147 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
148 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLCO2(JPLAY)
149 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
150 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
151 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
152 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
153 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
154 END SUBROUTINE RRTM_TAUMOL12
155 END INTERFACE
156 INTERFACE
157 SUBROUTINE RRTM_TAUMOL13 (KLEV,P_TAU,&
158 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
159 & P_COLH2O,P_COLN2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
160 USE PARKIND1 ,ONLY : JPIM ,JPRB
161 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NG13 ,NGS12
162 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
163 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
164 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
165 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
166 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
167 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
168 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
169 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
170 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
171 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
172 REAL(KIND=JPRB) ,INTENT(IN) :: P_ONEMINUS
173 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
174 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLN2O(JPLAY)
175 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
176 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
177 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
178 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
179 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
180 END SUBROUTINE RRTM_TAUMOL13
181 END INTERFACE
182 INTERFACE
183 SUBROUTINE RRTM_TAUMOL14 (KLEV,P_TAU,&
184 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,&
185 & P_COLCO2,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
186 USE PARKIND1 ,ONLY : JPIM ,JPRB
187 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NGS13
188 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
189 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
190 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
191 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
192 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
193 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
194 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
195 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
196 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
197 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
198 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLCO2(JPLAY)
199 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
200 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
201 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
202 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
203 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
204 END SUBROUTINE RRTM_TAUMOL14
205 END INTERFACE
206 INTERFACE
207 SUBROUTINE RRTM_TAUMOL15 (KLEV,P_TAU,&
208 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
209 & P_COLH2O,P_COLCO2,P_COLN2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
210 USE PARKIND1 ,ONLY : JPIM ,JPRB
211 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NGS14
212 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
213 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
214 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
215 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
216 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
217 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
218 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
219 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
220 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
221 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
222 REAL(KIND=JPRB) ,INTENT(IN) :: P_ONEMINUS
223 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
224 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLCO2(JPLAY)
225 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLN2O(JPLAY)
226 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
227 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
228 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
229 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
230 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
231 END SUBROUTINE RRTM_TAUMOL15
232 END INTERFACE
233 INTERFACE
234 SUBROUTINE RRTM_TAUMOL16 (KLEV,P_TAU,&
235 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
236 & P_COLH2O,P_COLCH4,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
237 USE PARKIND1 ,ONLY : JPIM ,JPRB
238 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NGS15
239 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
240 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
241 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
242 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
243 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
244 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
245 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
246 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
247 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
248 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
249 REAL(KIND=JPRB) ,INTENT(IN) :: P_ONEMINUS
250 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
251 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLCH4(JPLAY)
252 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
253 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
254 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
255 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
256 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
257 END SUBROUTINE RRTM_TAUMOL16
258 END INTERFACE
259 INTERFACE
260 SUBROUTINE RRTM_TAUMOL2 (KLEV,P_TAU,P_COLDRY,&
261 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,&
262 & P_COLH2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
263 USE PARKIND1 ,ONLY : JPIM ,JPRB
264 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NG2 ,NGS1
265 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
266 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
267 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLDRY(JPLAY)
268 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
269 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
270 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
271 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
272 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
273 REAL(KIND=JPRB) ,INTENT(IN) :: P_FORFAC(JPLAY)
274 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
275 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
276 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
277 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
278 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
279 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
280 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
281 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
282 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
283 END SUBROUTINE RRTM_TAUMOL2
284 END INTERFACE
285 INTERFACE
286 SUBROUTINE RRTM_TAUMOL3 (KLEV,P_TAU,&
287 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,P_ONEMINUS,&
288 & P_COLH2O,P_COLCO2,P_COLN2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
289 USE PARKIND1 ,ONLY : JPIM ,JPRB
290 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NG3 ,NGS2
291 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
292 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
293 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
294 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
295 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
296 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
297 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
298 REAL(KIND=JPRB) ,INTENT(IN) :: P_FORFAC(JPLAY)
299 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
300 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
301 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
302 REAL(KIND=JPRB) ,INTENT(IN) :: P_ONEMINUS
303 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
304 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLCO2(JPLAY)
305 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLN2O(JPLAY)
306 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
307 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
308 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
309 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
310 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
311 END SUBROUTINE RRTM_TAUMOL3
312 END INTERFACE
313 INTERFACE
314 SUBROUTINE RRTM_TAUMOL4 (KLEV,P_TAU,&
315 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,P_ONEMINUS,&
316 & P_COLH2O,P_COLCO2,P_COLO3,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
317 USE PARKIND1 ,ONLY : JPIM ,JPRB
318 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NG4 ,NGS3
319 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
320 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
321 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
322 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
323 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
324 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
325 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
326 REAL(KIND=JPRB) :: P_FORFAC(JPLAY)
327 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
328 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
329 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
330 REAL(KIND=JPRB) ,INTENT(IN) :: P_ONEMINUS
331 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
332 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLCO2(JPLAY)
333 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLO3(JPLAY)
334 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
335 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
336 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
337 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
338 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
339 END SUBROUTINE RRTM_TAUMOL4
340 END INTERFACE
341 INTERFACE
342 SUBROUTINE RRTM_TAUMOL5 (KLEV,P_TAU,P_WX,&
343 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,P_ONEMINUS,&
344 & P_COLH2O,P_COLCO2, P_COLO3,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
345 USE PARKIND1 ,ONLY : JPIM ,JPRB
346 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,JPXSEC ,NG5 ,NGS4
347 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
348 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
349 REAL(KIND=JPRB) ,INTENT(IN) :: P_WX(JPXSEC,JPLAY)
350 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
351 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
352 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
353 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
354 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
355 REAL(KIND=JPRB) :: P_FORFAC(JPLAY)
356 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
357 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
358 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
359 REAL(KIND=JPRB) ,INTENT(IN) :: P_ONEMINUS
360 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
361 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLCO2(JPLAY)
362 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLO3(JPLAY)
363 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
364 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
365 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
366 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
367 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
368 END SUBROUTINE RRTM_TAUMOL5
369 END INTERFACE
370 INTERFACE
371 SUBROUTINE RRTM_TAUMOL6 (KLEV,P_TAU,P_WX,&
372 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,&
373 & P_COLH2O,P_CO2MULT,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
374 USE PARKIND1 ,ONLY : JPIM ,JPRB
375 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,JPXSEC ,NG6 ,NGS5
376 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
377 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
378 REAL(KIND=JPRB) ,INTENT(IN) :: P_WX(JPXSEC,JPLAY)
379 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
380 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
381 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
382 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
383 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
384 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
385 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
386 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
387 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
388 REAL(KIND=JPRB) ,INTENT(IN) :: P_CO2MULT(JPLAY)
389 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
390 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
391 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
392 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
393 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
394 END SUBROUTINE RRTM_TAUMOL6
395 END INTERFACE
396 INTERFACE
397 SUBROUTINE RRTM_TAUMOL7 (KLEV,P_TAU,&
398 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
399 & P_COLH2O,P_COLO3,P_CO2MULT,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
400 USE PARKIND1 ,ONLY : JPIM ,JPRB
401 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NG7 ,NGS6
402 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
403 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
404 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
405 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
406 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
407 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
408 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
409 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
410 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
411 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
412 REAL(KIND=JPRB) ,INTENT(IN) :: P_ONEMINUS
413 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
414 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLO3(JPLAY)
415 REAL(KIND=JPRB) ,INTENT(IN) :: P_CO2MULT(JPLAY)
416 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
417 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
418 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
419 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
420 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
421 END SUBROUTINE RRTM_TAUMOL7
422 END INTERFACE
423 INTERFACE
424 SUBROUTINE RRTM_TAUMOL8 (KLEV,P_TAU,P_WX,&
425 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,&
426 & P_COLH2O,P_COLO3,P_COLN2O,P_CO2MULT,K_LAYSWTCH,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
427 USE PARKIND1 ,ONLY : JPIM ,JPRB
428 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,JPXSEC ,NG8 ,NGS7
429 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
430 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
431 REAL(KIND=JPRB) ,INTENT(IN) :: P_WX(JPXSEC,JPLAY)
432 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
433 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
434 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
435 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
436 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
437 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
438 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
439 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
440 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
441 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLO3(JPLAY)
442 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLN2O(JPLAY)
443 REAL(KIND=JPRB) ,INTENT(IN) :: P_CO2MULT(JPLAY)
444 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYSWTCH
445 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
446 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
447 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
448 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
449 END SUBROUTINE RRTM_TAUMOL8
450 END INTERFACE
451 INTERFACE
452 SUBROUTINE RRTM_TAUMOL9 (KLEV,P_TAU,&
453 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
454 & P_COLH2O,P_COLN2O,P_COLCH4,K_LAYTROP,K_LAYSWTCH,K_LAYLOW,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
455 USE PARKIND1 ,ONLY : JPIM ,JPRB
456 USE PARRRTM , ONLY : JPLAY ,JPBAND ,JPGPT ,NG9 ,NGS8
457 INTEGER(KIND=JPIM),INTENT(IN) :: KLEV
458 REAL(KIND=JPRB) ,INTENT(OUT) :: P_TAU(JPGPT,JPLAY)
459 REAL(KIND=JPRB) ,INTENT(IN) :: P_TAUAERL(JPLAY,JPBAND)
460 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC00(JPLAY)
461 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC01(JPLAY)
462 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC10(JPLAY)
463 REAL(KIND=JPRB) ,INTENT(IN) :: P_FAC11(JPLAY)
464 INTEGER(KIND=JPIM),INTENT(IN) :: K_JP(JPLAY)
465 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT(JPLAY)
466 INTEGER(KIND=JPIM),INTENT(IN) :: K_JT1(JPLAY)
467 REAL(KIND=JPRB) ,INTENT(IN) :: P_ONEMINUS
468 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLH2O(JPLAY)
469 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLN2O(JPLAY)
470 REAL(KIND=JPRB) ,INTENT(IN) :: P_COLCH4(JPLAY)
471 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYTROP
472 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYSWTCH
473 INTEGER(KIND=JPIM),INTENT(IN) :: K_LAYLOW
474 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFAC(JPLAY)
475 REAL(KIND=JPRB) ,INTENT(IN) :: P_SELFFRAC(JPLAY)
476 INTEGER(KIND=JPIM),INTENT(IN) :: K_INDSELF(JPLAY)
477 REAL(KIND=JPRB) ,INTENT(OUT) :: PFRAC(JPGPT,JPLAY)
478 END SUBROUTINE RRTM_TAUMOL9
479 END INTERFACE
480
481 !- SECANG is equal to the secant of the diffusivity angle.
482
1/2
✓ Branch 0 taken 119280 times.
✗ Branch 1 not taken.
119280 IF (LHOOK) CALL DR_HOOK('RRTM_GASABS1A_140GP',0,ZHOOK_HANDLE)
483 Z_SECANG = 1.66_JPRB
484
485 CALL RRTM_TAUMOL1 (KLEV,Z_TAU,&
486 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,&
487 119280 & P_COLH2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
488 CALL RRTM_TAUMOL2 (KLEV,Z_TAU,P_COLDRY,&
489 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,&
490 119280 & P_COLH2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
491 CALL RRTM_TAUMOL3 (KLEV,Z_TAU,&
492 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,P_ONEMINUS,&
493 119280 & P_COLH2O,P_COLCO2,P_COLN2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
494 CALL RRTM_TAUMOL4 (KLEV,Z_TAU,&
495 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,P_ONEMINUS,&
496 119280 & P_COLH2O,P_COLCO2,P_COLO3,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
497 CALL RRTM_TAUMOL5 (KLEV,Z_TAU,P_WX,&
498 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,P_FORFAC,K_JP,K_JT,K_JT1,P_ONEMINUS,&
499 119280 & P_COLH2O,P_COLCO2,P_COLO3,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
500 CALL RRTM_TAUMOL6 (KLEV,Z_TAU,P_WX,&
501 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,&
502 119280 & P_COLH2O,P_CO2MULT,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
503 CALL RRTM_TAUMOL7 (KLEV,Z_TAU,&
504 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
505 119280 & P_COLH2O,P_COLO3,P_CO2MULT,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
506 CALL RRTM_TAUMOL8 (KLEV,Z_TAU,P_WX,&
507 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,&
508 119280 & P_COLH2O,P_COLO3,P_COLN2O,P_CO2MULT,K_LAYSWTCH,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
509 CALL RRTM_TAUMOL9 (KLEV,Z_TAU,&
510 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
511 119280 & P_COLH2O,P_COLN2O,P_COLCH4,K_LAYTROP,K_LAYSWTCH,K_LAYLOW,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
512 CALL RRTM_TAUMOL10 (KLEV,Z_TAU,&
513 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,&
514 119280 & P_COLH2O,K_LAYTROP,PFRAC)
515 CALL RRTM_TAUMOL11 (KLEV,Z_TAU,&
516 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,&
517 119280 & P_COLH2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
518 CALL RRTM_TAUMOL12 (KLEV,Z_TAU,&
519 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
520 119280 & P_COLH2O,P_COLCO2,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
521 CALL RRTM_TAUMOL13 (KLEV,Z_TAU,&
522 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
523 119280 & P_COLH2O,P_COLN2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
524 CALL RRTM_TAUMOL14 (KLEV,Z_TAU,&
525 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,&
526 119280 & P_COLCO2,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
527 CALL RRTM_TAUMOL15 (KLEV,Z_TAU,&
528 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
529 119280 & P_COLH2O,P_COLCO2,P_COLN2O,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
530 CALL RRTM_TAUMOL16 (KLEV,Z_TAU,&
531 & P_TAUAERL,P_FAC00,P_FAC01,P_FAC10,P_FAC11,K_JP,K_JT,K_JT1,P_ONEMINUS,&
532 119280 & P_COLH2O,P_COLCH4,K_LAYTROP,P_SELFFAC,P_SELFFRAC,K_INDSELF,PFRAC)
533
534 !- Loop over g-channels.
535
2/2
✓ Branch 0 taken 4651920 times.
✓ Branch 1 taken 119280 times.
4771200 DO I_LAY = 1, KLEV
536
2/2
✓ Branch 0 taken 651268800 times.
✓ Branch 1 taken 4651920 times.
656040000 DO IPR = 1, JPGPT
537 651268800 Z_ODEPTH = Z_SECANG * Z_TAU(IPR,I_LAY)
538 651268800 P_OD(IPR,I_LAY) = Z_ODEPTH
539 651268800 Z_ODEPTH=0.5D0*(ABS(Z_ODEPTH)+Z_ODEPTH)
540
541 !-- revised code to get the pre-computed transmission
542 ! IF (ODEPTH.LE.0.) PRINT*, 'ODEPTH = ',ODEPTH
543 !! IF (ODEPTH <= _ZERO_)THEN
544 !! ATR1(IPR,LAY) = _ONE_ - TRANS(0)
545 !! TF1(IPR,LAY) = _ZERO_
546 !! ELSE
547
548 651268800 Z_TF = Z_ODEPTH/(BPADE+Z_ODEPTH)
549 651268800 ITR=INT(5.E+03_JPRB*Z_TF+0.5_JPRB)
550 IF (ITR.LT.0) ITR=0 ! MPL 12.12.08
551 651268800 P_ATR1(IPR,I_LAY) = 1.0_JPRB - TRANS(ITR)
552 655920720 P_TF1(IPR,I_LAY) = Z_TF
553
554 !! ENDIF
555 ENDDO
556 ENDDO
557
558 ! -----------------------------------------------------------------
559
560
1/2
✓ Branch 0 taken 119280 times.
✗ Branch 1 not taken.
119280 IF (LHOOK) CALL DR_HOOK('RRTM_GASABS1A_140GP',1,ZHOOK_HANDLE)
561 119280 END SUBROUTINE RRTM_GASABS1A_140GP
562