/[lmdze]/trunk/Sources/phylmd/Radlwsw/sw2s.f
ViewVC logotype

Contents of /trunk/Sources/phylmd/Radlwsw/sw2s.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 24 - (show annotations)
Wed Mar 3 13:23:49 2010 UTC (14 years, 3 months ago) by guez
Original Path: trunk/libf/phylmd/Radlwsw/sw2s.f
File size: 15203 byte(s)
Created directory "phylmd/Radlwsw". Split "radlwsw.f" in files
containing a single procedure.

Removed variable "itaufinp1" in "leapfrog".

1 SUBROUTINE SW2S ( KNU
2 S , PAER , flag_aer, tauae, pizae, cgae
3 S , PAKI, PALBD, PALBP, PCG , PCLD, PCLEAR, PCLDSW
4 S , PDSIG ,POMEGA,POZ , PRMU , PSEC , PTAU
5 S , PUD ,PWV , PQS
6 S , PFDOWN,PFUP )
7 use dimens_m
8 use dimphy
9 use raddim
10 use radepsi
11 IMPLICIT none
12 C
13 C ------------------------------------------------------------------
14 C PURPOSE.
15 C --------
16 C
17 C THIS ROUTINE COMPUTES THE SHORTWAVE RADIATION FLUXES IN THE
18 C SECOND SPECTRAL INTERVAL FOLLOWING FOUQUART AND BONNEL (1980).
19 C
20 C METHOD.
21 C -------
22 C
23 C 1. COMPUTES REFLECTIVITY/TRANSMISSIVITY CORRESPONDING TO
24 C CONTINUUM SCATTERING
25 C 2. COMPUTES REFLECTIVITY/TRANSMISSIVITY CORRESPONDING FOR
26 C A GREY MOLECULAR ABSORPTION
27 C 3. LAPLACE TRANSFORM ON THE PREVIOUS TO GET EFFECTIVE AMOUNTS
28 C OF ABSORBERS
29 C 4. APPLY H2O AND U.M.G. TRANSMISSION FUNCTIONS
30 C 5. MULTIPLY BY OZONE TRANSMISSION FUNCTION
31 C
32 C REFERENCE.
33 C ----------
34 C
35 C SEE RADIATION'S PART OF THE ECMWF RESEARCH DEPARTMENT
36 C DOCUMENTATION, AND FOUQUART AND BONNEL (1980)
37 C
38 C AUTHOR.
39 C -------
40 C JEAN-JACQUES MORCRETTE *ECMWF*
41 C
42 C MODIFICATIONS.
43 C --------------
44 C ORIGINAL : 89-07-14
45 C 94-11-15 J.-J. MORCRETTE DIRECT/DIFFUSE ALBEDO
46 C ------------------------------------------------------------------
47 C* ARGUMENTS:
48 C
49 INTEGER KNU
50 c-OB
51 real*8 flag_aer
52 real*8 tauae(kdlon,kflev,2)
53 real*8 pizae(kdlon,kflev,2)
54 real*8 cgae(kdlon,kflev,2)
55 REAL*8 PAER(KDLON,KFLEV,5)
56 REAL*8 PAKI(KDLON,2)
57 REAL*8 PALBD(KDLON,2)
58 REAL*8 PALBP(KDLON,2)
59 REAL*8 PCG(KDLON,2,KFLEV)
60 REAL*8 PCLD(KDLON,KFLEV)
61 REAL*8 PCLDSW(KDLON,KFLEV)
62 REAL*8 PCLEAR(KDLON)
63 REAL*8 PDSIG(KDLON,KFLEV)
64 REAL*8 POMEGA(KDLON,2,KFLEV)
65 REAL*8 POZ(KDLON,KFLEV)
66 REAL*8 PQS(KDLON,KFLEV)
67 REAL*8 PRMU(KDLON)
68 REAL*8 PSEC(KDLON)
69 REAL*8 PTAU(KDLON,2,KFLEV)
70 REAL*8 PUD(KDLON,5,KFLEV+1)
71 REAL*8 PWV(KDLON,KFLEV)
72 C
73 REAL*8 PFDOWN(KDLON,KFLEV+1)
74 REAL*8 PFUP(KDLON,KFLEV+1)
75 C
76 C* LOCAL VARIABLES:
77 C
78 INTEGER IIND2(2), IIND3(3)
79 REAL*8 ZCGAZ(KDLON,KFLEV)
80 REAL*8 ZFD(KDLON,KFLEV+1)
81 REAL*8 ZFU(KDLON,KFLEV+1)
82 REAL*8 ZG(KDLON)
83 REAL*8 ZGG(KDLON)
84 REAL*8 ZPIZAZ(KDLON,KFLEV)
85 REAL*8 ZRAYL(KDLON)
86 REAL*8 ZRAY1(KDLON,KFLEV+1)
87 REAL*8 ZRAY2(KDLON,KFLEV+1)
88 REAL*8 ZREF(KDLON)
89 REAL*8 ZREFZ(KDLON,2,KFLEV+1)
90 REAL*8 ZRE1(KDLON)
91 REAL*8 ZRE2(KDLON)
92 REAL*8 ZRJ(KDLON,6,KFLEV+1)
93 REAL*8 ZRJ0(KDLON,6,KFLEV+1)
94 REAL*8 ZRK(KDLON,6,KFLEV+1)
95 REAL*8 ZRK0(KDLON,6,KFLEV+1)
96 REAL*8 ZRL(KDLON,8)
97 REAL*8 ZRMUE(KDLON,KFLEV+1)
98 REAL*8 ZRMU0(KDLON,KFLEV+1)
99 REAL*8 ZRMUZ(KDLON)
100 REAL*8 ZRNEB(KDLON)
101 REAL*8 ZRUEF(KDLON,8)
102 REAL*8 ZR1(KDLON)
103 REAL*8 ZR2(KDLON,2)
104 REAL*8 ZR3(KDLON,3)
105 REAL*8 ZR4(KDLON)
106 REAL*8 ZR21(KDLON)
107 REAL*8 ZR22(KDLON)
108 REAL*8 ZS(KDLON)
109 REAL*8 ZTAUAZ(KDLON,KFLEV)
110 REAL*8 ZTO1(KDLON)
111 REAL*8 ZTR(KDLON,2,KFLEV+1)
112 REAL*8 ZTRA1(KDLON,KFLEV+1)
113 REAL*8 ZTRA2(KDLON,KFLEV+1)
114 REAL*8 ZTR1(KDLON)
115 REAL*8 ZTR2(KDLON)
116 REAL*8 ZW(KDLON)
117 REAL*8 ZW1(KDLON)
118 REAL*8 ZW2(KDLON,2)
119 REAL*8 ZW3(KDLON,3)
120 REAL*8 ZW4(KDLON)
121 REAL*8 ZW5(KDLON)
122 C
123 INTEGER jl, jk, k, jaj, ikm1, ikl, jn, jabs, jkm1
124 INTEGER jref, jkl, jklp1, jajp, jkki, jkkp4, jn2j, iabs
125 REAL*8 ZRMUM1, ZWH2O, ZCNEB, ZAA, ZBB, ZRKI, ZRE11
126 C
127 C* Prescribed Data:
128 C
129 REAL*8 RSUN(2)
130 SAVE RSUN
131 REAL*8 RRAY(2,6)
132 SAVE RRAY
133 DATA RSUN(1) / 0.441676 /
134 DATA RSUN(2) / 0.558324 /
135 DATA (RRAY(1,K),K=1,6) /
136 S .428937E-01, .890743E+00,-.288555E+01,
137 S .522744E+01,-.469173E+01, .161645E+01/
138 DATA (RRAY(2,K),K=1,6) /
139 S .697200E-02, .173297E-01,-.850903E-01,
140 S .248261E+00,-.302031E+00, .129662E+00/
141 C
142 C ------------------------------------------------------------------
143 C
144 C* 1. SECOND SPECTRAL INTERVAL (0.68-4.00 MICRON)
145 C -------------------------------------------
146 C
147 100 CONTINUE
148 C
149 C
150 C* 1.1 OPTICAL THICKNESS FOR RAYLEIGH SCATTERING
151 C -----------------------------------------
152 C
153 110 CONTINUE
154 C
155 DO 111 JL = 1, KDLON
156 ZRMUM1 = 1. - PRMU(JL)
157 ZRAYL(JL) = RRAY(KNU,1) + ZRMUM1 * (RRAY(KNU,2) + ZRMUM1
158 S * (RRAY(KNU,3) + ZRMUM1 * (RRAY(KNU,4) + ZRMUM1
159 S * (RRAY(KNU,5) + ZRMUM1 * RRAY(KNU,6) ))))
160 111 CONTINUE
161 C
162 C
163 C ------------------------------------------------------------------
164 C
165 C* 2. CONTINUUM SCATTERING CALCULATIONS
166 C ---------------------------------
167 C
168 200 CONTINUE
169 C
170 C* 2.1 CLEAR-SKY FRACTION OF THE COLUMN
171 C --------------------------------
172 C
173 210 CONTINUE
174 C
175 CALL SWCLR ( KNU
176 S , PAER , flag_aer, tauae, pizae, cgae
177 S , PALBP , PDSIG , ZRAYL, PSEC
178 S , ZCGAZ , ZPIZAZ, ZRAY1 , ZRAY2, ZREFZ, ZRJ0
179 S , ZRK0 , ZRMU0 , ZTAUAZ, ZTRA1, ZTRA2)
180 C
181 C
182 C* 2.2 CLOUDY FRACTION OF THE COLUMN
183 C -----------------------------
184 C
185 220 CONTINUE
186 C
187 CALL SWR ( KNU
188 S , PALBD , PCG , PCLD , PDSIG, POMEGA, ZRAYL
189 S , PSEC , PTAU
190 S , ZCGAZ , ZPIZAZ, ZRAY1, ZRAY2, ZREFZ , ZRJ , ZRK, ZRMUE
191 S , ZTAUAZ, ZTRA1 , ZTRA2)
192 C
193 C
194 C ------------------------------------------------------------------
195 C
196 C* 3. SCATTERING CALCULATIONS WITH GREY MOLECULAR ABSORPTION
197 C ------------------------------------------------------
198 C
199 300 CONTINUE
200 C
201 JN = 2
202 C
203 DO 361 JABS=1,2
204 C
205 C
206 C* 3.1 SURFACE CONDITIONS
207 C ------------------
208 C
209 310 CONTINUE
210 C
211 DO 311 JL = 1, KDLON
212 ZREFZ(JL,2,1) = PALBD(JL,KNU)
213 ZREFZ(JL,1,1) = PALBD(JL,KNU)
214 311 CONTINUE
215 C
216 C
217 C* 3.2 INTRODUCING CLOUD EFFECTS
218 C -------------------------
219 C
220 320 CONTINUE
221 C
222 DO 324 JK = 2 , KFLEV+1
223 JKM1 = JK - 1
224 IKL=KFLEV+1-JKM1
225 DO 322 JL = 1, KDLON
226 ZRNEB(JL) = PCLD(JL,JKM1)
227 IF (JABS.EQ.1 .AND. ZRNEB(JL).GT.2.*ZEELOG) THEN
228 ZWH2O=MAX(PWV(JL,JKM1),ZEELOG)
229 ZCNEB=MAX(ZEELOG,MIN(ZRNEB(JL),1.-ZEELOG))
230 ZBB=PUD(JL,JABS,JKM1)*PQS(JL,JKM1)/ZWH2O
231 ZAA=MAX((PUD(JL,JABS,JKM1)-ZCNEB*ZBB)/(1.-ZCNEB),ZEELOG)
232 ELSE
233 ZAA=PUD(JL,JABS,JKM1)
234 ZBB=ZAA
235 END IF
236 ZRKI = PAKI(JL,JABS)
237 ZS(JL) = EXP(-ZRKI * ZAA * 1.66)
238 ZG(JL) = EXP(-ZRKI * ZAA / ZRMUE(JL,JK))
239 ZTR1(JL) = 0.
240 ZRE1(JL) = 0.
241 ZTR2(JL) = 0.
242 ZRE2(JL) = 0.
243 C
244 ZW(JL)= POMEGA(JL,KNU,JKM1)
245 ZTO1(JL) = PTAU(JL,KNU,JKM1) / ZW(JL)
246 S + ZTAUAZ(JL,JKM1) / ZPIZAZ(JL,JKM1)
247 S + ZBB * ZRKI
248
249 ZR21(JL) = PTAU(JL,KNU,JKM1) + ZTAUAZ(JL,JKM1)
250 ZR22(JL) = PTAU(JL,KNU,JKM1) / ZR21(JL)
251 ZGG(JL) = ZR22(JL) * PCG(JL,KNU,JKM1)
252 S + (1. - ZR22(JL)) * ZCGAZ(JL,JKM1)
253 ZW(JL) = ZR21(JL) / ZTO1(JL)
254 ZREF(JL) = ZREFZ(JL,1,JKM1)
255 ZRMUZ(JL) = ZRMUE(JL,JK)
256 322 CONTINUE
257 C
258 CALL SWDE(ZGG, ZREF, ZRMUZ, ZTO1, ZW,
259 S ZRE1, ZRE2, ZTR1, ZTR2)
260 C
261 DO 323 JL = 1, KDLON
262 C
263 ZREFZ(JL,2,JK) = (1.-ZRNEB(JL)) * (ZRAY1(JL,JKM1)
264 S + ZREFZ(JL,2,JKM1) * ZTRA1(JL,JKM1)
265 S * ZTRA2(JL,JKM1) ) * ZG(JL) * ZS(JL)
266 S + ZRNEB(JL) * ZRE1(JL)
267 C
268 ZTR(JL,2,JKM1)=ZRNEB(JL)*ZTR1(JL)
269 S + (ZTRA1(JL,JKM1)) * ZG(JL) * (1.-ZRNEB(JL))
270 C
271 ZREFZ(JL,1,JK)=(1.-ZRNEB(JL))*(ZRAY1(JL,JKM1)
272 S +ZREFZ(JL,1,JKM1)*ZTRA1(JL,JKM1)*ZTRA2(JL,JKM1)
273 S /(1.-ZRAY2(JL,JKM1)*ZREFZ(JL,1,JKM1)))*ZG(JL)*ZS(JL)
274 S + ZRNEB(JL) * ZRE2(JL)
275 C
276 ZTR(JL,1,JKM1)= ZRNEB(JL) * ZTR2(JL)
277 S + (ZTRA1(JL,JKM1)/(1.-ZRAY2(JL,JKM1)
278 S * ZREFZ(JL,1,JKM1)))
279 S * ZG(JL) * (1. -ZRNEB(JL))
280 C
281 323 CONTINUE
282 324 CONTINUE
283 C
284 C* 3.3 REFLECT./TRANSMISSIVITY BETWEEN SURFACE AND LEVEL
285 C -------------------------------------------------
286 C
287 330 CONTINUE
288 C
289 DO 351 JREF=1,2
290 C
291 JN = JN + 1
292 C
293 DO 331 JL = 1, KDLON
294 ZRJ(JL,JN,KFLEV+1) = 1.
295 ZRK(JL,JN,KFLEV+1) = ZREFZ(JL,JREF,KFLEV+1)
296 331 CONTINUE
297 C
298 DO 333 JK = 1 , KFLEV
299 JKL = KFLEV+1 - JK
300 JKLP1 = JKL + 1
301 DO 332 JL = 1, KDLON
302 ZRE11 = ZRJ(JL,JN,JKLP1) * ZTR(JL,JREF,JKL)
303 ZRJ(JL,JN,JKL) = ZRE11
304 ZRK(JL,JN,JKL) = ZRE11 * ZREFZ(JL,JREF,JKL)
305 332 CONTINUE
306 333 CONTINUE
307 351 CONTINUE
308 361 CONTINUE
309 C
310 C
311 C ------------------------------------------------------------------
312 C
313 C* 4. INVERT GREY AND CONTINUUM FLUXES
314 C --------------------------------
315 C
316 400 CONTINUE
317 C
318 C
319 C* 4.1 UPWARD (ZRK) AND DOWNWARD (ZRJ) PSEUDO-FLUXES
320 C ---------------------------------------------
321 C
322 410 CONTINUE
323 C
324 DO 414 JK = 1 , KFLEV+1
325 DO 413 JAJ = 1 , 5 , 2
326 JAJP = JAJ + 1
327 DO 412 JL = 1, KDLON
328 ZRJ(JL,JAJ,JK)= ZRJ(JL,JAJ,JK) - ZRJ(JL,JAJP,JK)
329 ZRK(JL,JAJ,JK)= ZRK(JL,JAJ,JK) - ZRK(JL,JAJP,JK)
330 ZRJ(JL,JAJ,JK)= MAX( ZRJ(JL,JAJ,JK) , ZEELOG )
331 ZRK(JL,JAJ,JK)= MAX( ZRK(JL,JAJ,JK) , ZEELOG )
332 412 CONTINUE
333 413 CONTINUE
334 414 CONTINUE
335 C
336 DO 417 JK = 1 , KFLEV+1
337 DO 416 JAJ = 2 , 6 , 2
338 DO 415 JL = 1, KDLON
339 ZRJ(JL,JAJ,JK)= MAX( ZRJ(JL,JAJ,JK) , ZEELOG )
340 ZRK(JL,JAJ,JK)= MAX( ZRK(JL,JAJ,JK) , ZEELOG )
341 415 CONTINUE
342 416 CONTINUE
343 417 CONTINUE
344 C
345 C* 4.2 EFFECTIVE ABSORBER AMOUNTS BY INVERSE LAPLACE
346 C ---------------------------------------------
347 C
348 420 CONTINUE
349 C
350 DO 437 JK = 1 , KFLEV+1
351 JKKI = 1
352 DO 425 JAJ = 1 , 2
353 IIND2(1)=JAJ
354 IIND2(2)=JAJ
355 DO 424 JN = 1 , 2
356 JN2J = JN + 2 * JAJ
357 JKKP4 = JKKI + 4
358 C
359 C* 4.2.1 EFFECTIVE ABSORBER AMOUNTS
360 C --------------------------
361 C
362 4210 CONTINUE
363 C
364 DO 4211 JL = 1, KDLON
365 ZW2(JL,1) = LOG( ZRJ(JL,JN,JK) / ZRJ(JL,JN2J,JK))
366 S / PAKI(JL,JAJ)
367 ZW2(JL,2) = LOG( ZRK(JL,JN,JK) / ZRK(JL,JN2J,JK))
368 S / PAKI(JL,JAJ)
369 4211 CONTINUE
370 C
371 C* 4.2.2 TRANSMISSION FUNCTION
372 C ---------------------
373 C
374 4220 CONTINUE
375 C
376 CALL SWTT1(KNU, 2, IIND2, ZW2, ZR2)
377 C
378 DO 4221 JL = 1, KDLON
379 ZRL(JL,JKKI) = ZR2(JL,1)
380 ZRUEF(JL,JKKI) = ZW2(JL,1)
381 ZRL(JL,JKKP4) = ZR2(JL,2)
382 ZRUEF(JL,JKKP4) = ZW2(JL,2)
383 4221 CONTINUE
384 C
385 JKKI=JKKI+1
386 424 CONTINUE
387 425 CONTINUE
388 C
389 C* 4.3 UPWARD AND DOWNWARD FLUXES WITH H2O AND UMG ABSORPTION
390 C ------------------------------------------------------
391 C
392 430 CONTINUE
393 C
394 DO 431 JL = 1, KDLON
395 PFDOWN(JL,JK) = ZRJ(JL,1,JK) * ZRL(JL,1) * ZRL(JL,3)
396 S + ZRJ(JL,2,JK) * ZRL(JL,2) * ZRL(JL,4)
397 PFUP(JL,JK) = ZRK(JL,1,JK) * ZRL(JL,5) * ZRL(JL,7)
398 S + ZRK(JL,2,JK) * ZRL(JL,6) * ZRL(JL,8)
399 431 CONTINUE
400 437 CONTINUE
401 C
402 C
403 C ------------------------------------------------------------------
404 C
405 C* 5. MOLECULAR ABSORPTION ON CLEAR-SKY FLUXES
406 C ----------------------------------------
407 C
408 500 CONTINUE
409 C
410 C
411 C* 5.1 DOWNWARD FLUXES
412 C ---------------
413 C
414 510 CONTINUE
415 C
416 JAJ = 2
417 IIND3(1)=1
418 IIND3(2)=2
419 IIND3(3)=3
420 C
421 DO 511 JL = 1, KDLON
422 ZW3(JL,1)=0.
423 ZW3(JL,2)=0.
424 ZW3(JL,3)=0.
425 ZW4(JL) =0.
426 ZW5(JL) =0.
427 ZR4(JL) =1.
428 ZFD(JL,KFLEV+1)= ZRJ0(JL,JAJ,KFLEV+1)
429 511 CONTINUE
430 DO 514 JK = 1 , KFLEV
431 IKL = KFLEV+1-JK
432 DO 512 JL = 1, KDLON
433 ZW3(JL,1)=ZW3(JL,1)+PUD(JL,1,IKL)/ZRMU0(JL,IKL)
434 ZW3(JL,2)=ZW3(JL,2)+PUD(JL,2,IKL)/ZRMU0(JL,IKL)
435 ZW3(JL,3)=ZW3(JL,3)+POZ(JL, IKL)/ZRMU0(JL,IKL)
436 ZW4(JL) =ZW4(JL) +PUD(JL,4,IKL)/ZRMU0(JL,IKL)
437 ZW5(JL) =ZW5(JL) +PUD(JL,5,IKL)/ZRMU0(JL,IKL)
438 512 CONTINUE
439 C
440 CALL SWTT1(KNU, 3, IIND3, ZW3, ZR3)
441 C
442 DO 513 JL = 1, KDLON
443 C ZR4(JL) = EXP(-RSWCE*ZW4(JL)-RSWCP*ZW5(JL))
444 ZFD(JL,IKL) = ZR3(JL,1)*ZR3(JL,2)*ZR3(JL,3)*ZR4(JL)
445 S * ZRJ0(JL,JAJ,IKL)
446 513 CONTINUE
447 514 CONTINUE
448 C
449 C
450 C* 5.2 UPWARD FLUXES
451 C -------------
452 C
453 520 CONTINUE
454 C
455 DO 525 JL = 1, KDLON
456 ZFU(JL,1) = ZFD(JL,1)*PALBP(JL,KNU)
457 525 CONTINUE
458 C
459 DO 528 JK = 2 , KFLEV+1
460 IKM1=JK-1
461 DO 526 JL = 1, KDLON
462 ZW3(JL,1)=ZW3(JL,1)+PUD(JL,1,IKM1)*1.66
463 ZW3(JL,2)=ZW3(JL,2)+PUD(JL,2,IKM1)*1.66
464 ZW3(JL,3)=ZW3(JL,3)+POZ(JL, IKM1)*1.66
465 ZW4(JL) =ZW4(JL) +PUD(JL,4,IKM1)*1.66
466 ZW5(JL) =ZW5(JL) +PUD(JL,5,IKM1)*1.66
467 526 CONTINUE
468 C
469 CALL SWTT1(KNU, 3, IIND3, ZW3, ZR3)
470 C
471 DO 527 JL = 1, KDLON
472 C ZR4(JL) = EXP(-RSWCE*ZW4(JL)-RSWCP*ZW5(JL))
473 ZFU(JL,JK) = ZR3(JL,1)*ZR3(JL,2)*ZR3(JL,3)*ZR4(JL)
474 S * ZRK0(JL,JAJ,JK)
475 527 CONTINUE
476 528 CONTINUE
477 C
478 C
479 C ------------------------------------------------------------------
480 C
481 C* 6. INTRODUCTION OF OZONE AND H2O CONTINUUM ABSORPTION
482 C --------------------------------------------------
483 C
484 600 CONTINUE
485 IABS=3
486 C
487 C* 6.1 DOWNWARD FLUXES
488 C ---------------
489 C
490 610 CONTINUE
491 DO 611 JL = 1, KDLON
492 ZW1(JL)=0.
493 ZW4(JL)=0.
494 ZW5(JL)=0.
495 ZR1(JL)=0.
496 PFDOWN(JL,KFLEV+1) = ((1.-PCLEAR(JL))*PFDOWN(JL,KFLEV+1)
497 S + PCLEAR(JL) * ZFD(JL,KFLEV+1)) * RSUN(KNU)
498 611 CONTINUE
499 C
500 DO 614 JK = 1 , KFLEV
501 IKL=KFLEV+1-JK
502 DO 612 JL = 1, KDLON
503 ZW1(JL) = ZW1(JL)+POZ(JL, IKL)/ZRMUE(JL,IKL)
504 ZW4(JL) = ZW4(JL)+PUD(JL,4,IKL)/ZRMUE(JL,IKL)
505 ZW5(JL) = ZW5(JL)+PUD(JL,5,IKL)/ZRMUE(JL,IKL)
506 C ZR4(JL) = EXP(-RSWCE*ZW4(JL)-RSWCP*ZW5(JL))
507 612 CONTINUE
508 C
509 CALL SWTT(KNU, IABS, ZW1, ZR1)
510 C
511 DO 613 JL = 1, KDLON
512 PFDOWN(JL,IKL) = ((1.-PCLEAR(JL))*ZR1(JL)*ZR4(JL)*PFDOWN(JL,IKL)
513 S +PCLEAR(JL)*ZFD(JL,IKL)) * RSUN(KNU)
514 613 CONTINUE
515 614 CONTINUE
516 C
517 C
518 C* 6.2 UPWARD FLUXES
519 C -------------
520 C
521 620 CONTINUE
522 DO 621 JL = 1, KDLON
523 PFUP(JL,1) = ((1.-PCLEAR(JL))*ZR1(JL)*ZR4(JL) * PFUP(JL,1)
524 S +PCLEAR(JL)*ZFU(JL,1)) * RSUN(KNU)
525 621 CONTINUE
526 C
527 DO 624 JK = 2 , KFLEV+1
528 IKM1=JK-1
529 DO 622 JL = 1, KDLON
530 ZW1(JL) = ZW1(JL)+POZ(JL ,IKM1)*1.66
531 ZW4(JL) = ZW4(JL)+PUD(JL,4,IKM1)*1.66
532 ZW5(JL) = ZW5(JL)+PUD(JL,5,IKM1)*1.66
533 C ZR4(JL) = EXP(-RSWCE*ZW4(JL)-RSWCP*ZW5(JL))
534 622 CONTINUE
535 C
536 CALL SWTT(KNU, IABS, ZW1, ZR1)
537 C
538 DO 623 JL = 1, KDLON
539 PFUP(JL,JK) = ((1.-PCLEAR(JL))*ZR1(JL)*ZR4(JL) * PFUP(JL,JK)
540 S +PCLEAR(JL)*ZFU(JL,JK)) * RSUN(KNU)
541 623 CONTINUE
542 624 CONTINUE
543 C
544 C ------------------------------------------------------------------
545 C
546 RETURN
547 END

  ViewVC Help
Powered by ViewVC 1.1.21