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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 24 - (hide annotations)
Wed Mar 3 13:23:49 2010 UTC (14 years, 2 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 guez 24 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