LMDZ
swni.F90
Go to the documentation of this file.
1 SUBROUTINE swni &
2  &( kidia , kfdia , klon , klev , kaer , knu &
3  &, paer , paki , palbd , palbp, pcg , pcld, pclear &
4  &, pdsig , pomega, poz , prmu , psec , ptau &
5  &, pud , pwv , pqs &
6  &, pfdown, pfup , pcdown, pcup , psudu2 &
7  &)
8 
9 !**** *SWNI* - SHORTWAVE RADIATION, NEAR-INFRARED SPECTRAL INTERVALS
10 
11 ! PURPOSE.
12 ! --------
13 
14 ! COMPUTES THE SHORTWAVE RADIATION FLUXES IN THE NEAR-INFRARED
15 ! SPECTRAL INTERVALS FOLLOWING FOUQUART AND BONNEL (1980).
16 
17 !** INTERFACE.
18 ! ----------
19 
20 ! *SWNI* IS CALLED FROM *SW*.
21 
22 
23 ! IMPLICIT ARGUMENTS :
24 ! --------------------
25 
26 ! ==== INPUTS ===
27 ! ==== OUTPUTS ===
28 
29 ! METHOD.
30 ! -------
31 
32 ! 1. COMPUTES REFLECTIVITY/TRANSMISSIVITY CORRESPONDING TO
33 ! CONTINUUM SCATTERING
34 ! 2. COMPUTES REFLECTIVITY/TRANSMISSIVITY CORRESPONDING FOR
35 ! A GREY MOLECULAR ABSORPTION
36 ! 3. LAPLACE TRANSFORM ON THE PREVIOUS TO GET EFFECTIVE AMOUNTS
37 ! OF ABSORBERS
38 ! 4. APPLY H2O AND U.M.G. TRANSMISSION FUNCTIONS
39 ! 5. MULTIPLY BY OZONE TRANSMISSION FUNCTION
40 
41 ! EXTERNALS.
42 ! ----------
43 
44 ! *SWCLR*, *SWR*, *SWDE*, *SWTT*
45 
46 ! REFERENCE.
47 ! ----------
48 
49 ! SEE RADIATION'S PART OF THE ECMWF RESEARCH DEPARTMENT
50 ! DOCUMENTATION, AND FOUQUART AND BONNEL (1980)
51 
52 ! AUTHOR.
53 ! -------
54 ! JEAN-JACQUES MORCRETTE *ECMWF*
55 
56 ! MODIFICATIONS.
57 ! --------------
58 ! ORIGINAL : 89-07-14
59 ! 94-11-15 J.-J. MORCRETTE DIRECT/DIFFUSE ALBEDO
60 ! 95-12-07 J.-J. MORCRETTE NEAR-INFRARED SW
61 ! 990128 JJMorcrette Sunshine duration
62 ! 99-05-25 JJMorcrette Revised aerosols
63 
64 ! ------------------------------------------------------------------
65 
66 
67 #include "tsmbkind.h"
68 
69 USE yoesw , ONLY : rray ,rsun ,rswce ,rswcp
70 USE yoerad , ONLY : nsw
71 USE yoerdu , ONLY : replog
72 
73 
74 IMPLICIT NONE
75 
76 
77 ! DUMMY INTEGER SCALARS
78 integer_m :: kaer
79 integer_m :: kfdia
80 integer_m :: kidia
81 integer_m :: kkind
82 integer_m :: klev
83 integer_m :: klon
84 integer_m :: knu
85 
86 
87 
88 
89 !#include "yoeaer.h"
90 ! ------------------------------------------------------------------
91 
92 !* 0.1 ARGUMENTS
93 ! ---------
94 
95 real_b :: paer(klon,6,klev) , paki(klon,2,nsw)&
96  &, palbd(klon,nsw) , palbp(klon,nsw)&
97  &, pcg(klon,nsw,klev) , pcld(klon,klev)&
98  &, pclear(klon) , pdsig(klon,klev)&
99  &, pomega(klon,nsw,klev), poz(klon,klev)&
100  &, pqs(klon,klev)&
101  &, prmu(klon) , psec(klon)&
102  &, ptau(klon,nsw,klev) , pud(klon,5,klev+1)&
103  &, pwv(klon,klev)
104 
105 real_b :: pfdown(klon,klev+1) , pfup(klon,klev+1)&
106  &, pcdown(klon,klev+1) , pcup(klon,klev+1)&
107  &, psudu2(klon)
108 
109 ! ------------------------------------------------------------------
110 
111 !* 0.2 LOCAL ARRAYS
112 ! ------------
113 
114 integer_m :: iind2(2), iind3(3)
115 real_b :: zcgaz(klon,klev) , zdiff(klon) , zdirf(klon)&
116  &, zfd(klon,klev+1) , zfu(klon,klev+1) &
117  &, zg(klon) , zgg(klon)
118 real_b :: zpizaz(klon,klev)&
119  &, zrayl(klon) , zray1(klon,klev+1) , zray2(klon,klev+1)&
120  &, zref(klon) , zrefz(klon,2,klev+1)&
121  &, zre1(klon) , zre2(klon)&
122  &, zrj(klon,6,klev+1), zrj0(klon,6,klev+1)&
123  &, zrk(klon,6,klev+1), zrk0(klon,6,klev+1)&
124  &, zrl(klon,8)&
125  &, zrmue(klon,klev+1), zrmu0(klon,klev+1) , zrmuz(klon)&
126  &, zrneb(klon) , zruef(klon,8) , zr1(klon) &
127  &, zr2(klon,2) , zr3(klon,3) , zr4(klon)&
128  &, zr21(klon) , zr22(klon)
129 real_b :: zs(klon)&
130  &, ztauaz(klon,klev) , zto1(klon) , ztr(klon,2,klev+1)&
131  &, ztra1(klon,klev+1), ztra2(klon,klev+1)&
132  &, ztrcld(klon) , ztrclr(klon)&
133  &, ztr1(klon) , ztr2(klon)&
134  &, zw(klon) , zw1(klon) , zw2(klon,2)&
135  &, zw3(klon,3) , zw4(klon) , zw5(klon)
136 
137 ! LOCAL INTEGER SCALARS
138 integer_m :: iabs, ikl, ikm1, jabs, jaj, jajp, jk, jkki,&
139  &jkkp4, jkl, jklp1, jkm1, jl, jn, jn2j, jref
140 
141 ! LOCAL REAL SCALARS
142 real_b :: zaa, zbb, zcneb, zre11, zrki, zrmum1, zwh2o
143 
144 
145 ! ------------------------------------------------------------------
146 
147 !* 1. NEAR-INFRARED SPECTRAL INTERVAL (0.68-4.00 MICRON)
148 ! --------------------------------------------------
149 
150 
151 
152 !* 1.1 OPTICAL THICKNESS FOR RAYLEIGH SCATTERING
153 ! -----------------------------------------
154 
155 
156 DO jl = kidia,kfdia
157  zrmum1 = _one_ - prmu(jl)
158  zrayl(jl) = rray(knu,1) + zrmum1 * (rray(knu,2) + zrmum1 &
159  &* (rray(knu,3) + zrmum1 * (rray(knu,4) + zrmum1 &
160  &* (rray(knu,5) + zrmum1 * rray(knu,6) ))))
161 ENDDO
162 
163 
164 ! ------------------------------------------------------------------
165 
166 !* 2. CONTINUUM SCATTERING CALCULATIONS
167 ! ---------------------------------
168 
169 
170 !* 2.1 CLEAR-SKY FRACTION OF THE COLUMN
171 ! --------------------------------
172 
173 
174 CALL swclr &
175  &( kidia , kfdia , klon , klev , kaer , knu &
176  &, paer , palbp , pdsig , zrayl, psec &
177  &, zcgaz , zpizaz, zray1 , zray2, zrefz, zrj0 &
178  &, zrk0 , zrmu0 , ztauaz, ztra1, ztra2, ztrclr &
179  &)
180 
181 
182 !* 2.2 CLOUDY FRACTION OF THE COLUMN
183 ! -----------------------------
184 
185 
186 CALL swr &
187  &( kidia , kfdia , klon , klev , knu &
188  &, palbd , pcg , pcld , pomega, psec , ptau &
189  &, zcgaz , zpizaz, zray1, zray2 , zrefz, zrj , zrk, zrmue &
190  &, ztauaz, ztra1 , ztra2, ztrcld &
191  &)
192 
193 
194 ! ------------------------------------------------------------------
195 
196 !* 3. SCATTERING CALCULATIONS WITH GREY MOLECULAR ABSORPTION
197 ! ------------------------------------------------------
198 
199 
200 jn = 2
201 
202 DO jabs=1,2
203 
204 
205 !* 3.1 SURFACE CONDITIONS
206 ! ------------------
207 
208 
209  DO jl = kidia,kfdia
210  zrefz(jl,2,1) = palbd(jl,knu)
211  zrefz(jl,1,1) = palbd(jl,knu)
212  ENDDO
213 
214 
215 !* 3.2 INTRODUCING CLOUD EFFECTS
216 ! -------------------------
217 
218 
219  DO jk = 2 , klev+1
220  jkm1 = jk - 1
221  ikl=klev+1-jkm1
222  DO jl = kidia,kfdia
223  zrneb(jl) = pcld(jl,jkm1)
224  IF (jabs == 1.AND. zrneb(jl) > _two_*replog) THEN
225  zwh2o=max(pwv(jl,ikl),replog)
226  zcneb=max(replog,min(zrneb(jl),_one_-replog))
227  zbb=pud(jl,jabs,jkm1)*pqs(jl,ikl)/zwh2o
228  zaa=max((pud(jl,jabs,jkm1)-zcneb*zbb)/(_one_-zcneb),replog)
229 !-- just to test Box-type computations
230 ! ZAA=PUD(JL,JABS,JKM1)
231 ! ZBB=ZAA
232  ELSE
233  zaa=pud(jl,jabs,jkm1)
234  zbb=zaa
235  ENDIF
236  zrki = paki(jl,jabs,knu)
237  zs(jl) = exp(-zrki * zaa * 1.66_jprb)
238  zg(jl) = exp(-zrki * zaa / zrmue(jl,jk))
239  ztr1(jl) = _zero_
240  zre1(jl) = _zero_
241  ztr2(jl) = _zero_
242  zre2(jl) = _zero_
243 
244  zw(jl)= pomega(jl,knu,jkm1)
245  zto1(jl) = ptau(jl,knu,jkm1) / zw(jl)&
246  &+ ztauaz(jl,jkm1) / zpizaz(jl,jkm1)&
247  &+ 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  &+ (_one_ - 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  ENDDO
257 
258  CALL swde ( kidia, kfdia, klon &
259  &, zgg , zref , zrmuz, zto1, zw &
260  &, zre1 , zre2 , ztr1 , ztr2 )
261 
262  DO jl = kidia,kfdia
263 
264  zrefz(jl,2,jk) = (_one_-zrneb(jl)) * (zray1(jl,jkm1)&
265  &+ zrefz(jl,2,jkm1) * ztra1(jl,jkm1)&
266  &* ztra2(jl,jkm1) ) * zg(jl) * zs(jl)&
267  &+ zrneb(jl) * zre1(jl)
268 
269  ztr(jl,2,jkm1)=zrneb(jl)*ztr1(jl)&
270  &+ (ztra1(jl,jkm1)) * zg(jl) * (_one_-zrneb(jl))
271 
272  zrefz(jl,1,jk)=(_one_-zrneb(jl))*(zray1(jl,jkm1)&
273  &+zrefz(jl,1,jkm1)*ztra1(jl,jkm1)*ztra2(jl,jkm1)&
274  &/(_one_-zray2(jl,jkm1)*zrefz(jl,1,jkm1)))*zg(jl)*zs(jl)&
275  &+ zrneb(jl) * zre2(jl)
276 
277  ztr(jl,1,jkm1)= zrneb(jl) * ztr2(jl)&
278  &+ (ztra1(jl,jkm1)/(_one_-zray2(jl,jkm1)&
279  &* zrefz(jl,1,jkm1)))&
280  &* zg(jl) * (_one_ -zrneb(jl))
281 
282  ENDDO
283  ENDDO
284 
285 !* 3.3 REFLECT./TRANSMISSIVITY BETWEEN SURFACE AND LEVEL
286 ! -------------------------------------------------
287 
288 
289  DO jref=1,2
290 
291  jn = jn + 1
292 
293  DO jl = kidia,kfdia
294  zrj(jl,jn,klev+1) = _one_
295  zrk(jl,jn,klev+1) = zrefz(jl,jref,klev+1)
296  ENDDO
297 
298  DO jk = 1 , klev
299  jkl = klev+1 - jk
300  jklp1 = jkl + 1
301  DO jl = kidia,kfdia
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  ENDDO
306  ENDDO
307  ENDDO
308 ENDDO
309 
310 
311 ! ------------------------------------------------------------------
312 
313 !* 4. INVERT GREY AND CONTINUUM FLUXES
314 ! --------------------------------
315 
316 
317 
318 !* 4.1 UPWARD (ZRK) AND DOWNWARD (ZRJ) PSEUDO-FLUXES
319 ! ---------------------------------------------
320 
321 
322 DO jk = 1 , klev+1
323  DO jaj = 1 , 5 , 2
324  jajp = jaj + 1
325  DO jl = kidia,kfdia
326  zrj(jl,jaj,jk)= zrj(jl,jaj,jk) - zrj(jl,jajp,jk)
327  zrk(jl,jaj,jk)= zrk(jl,jaj,jk) - zrk(jl,jajp,jk)
328  zrj(jl,jaj,jk)= max( zrj(jl,jaj,jk) , replog )
329  zrk(jl,jaj,jk)= max( zrk(jl,jaj,jk) , replog )
330  ENDDO
331  ENDDO
332 ENDDO
333 
334 DO jk = 1 , klev+1
335  DO jaj = 2 , 6 , 2
336  DO jl = kidia,kfdia
337  zrj(jl,jaj,jk)= max( zrj(jl,jaj,jk) , replog )
338  zrk(jl,jaj,jk)= max( zrk(jl,jaj,jk) , replog )
339  ENDDO
340  ENDDO
341 ENDDO
342 
343 !* 4.2 EFFECTIVE ABSORBER AMOUNTS BY INVERSE LAPLACE
344 ! ---------------------------------------------
345 
346 
347 DO jk = 1 , klev+1
348  jkki = 1
349  DO jaj = 1 , 2
350  iind2(1)=jaj
351  iind2(2)=jaj
352  DO jn = 1 , 2
353  jn2j = jn + 2 * jaj
354  jkkp4 = jkki + 4
355 
356 !* 4.2.1 EFFECTIVE ABSORBER AMOUNTS
357 ! --------------------------
358 
359 
360  DO jl = kidia,kfdia
361  zw2(jl,1) = log( zrj(jl,jn,jk) / zrj(jl,jn2j,jk))/ paki(jl,jaj,knu)
362  zw2(jl,2) = log( zrk(jl,jn,jk) / zrk(jl,jn2j,jk))/ paki(jl,jaj,knu)
363  ENDDO
364 
365 !* 4.2.2 TRANSMISSION FUNCTION
366 ! ---------------------
367 
368 
369  kkind=2
370  CALL swtt1 ( kidia,kfdia,klon, knu, kkind, iind2 &
371  &, zw2 &
372  &, zr2 )
373 
374  DO jl = kidia,kfdia
375  zrl(jl,jkki) = zr2(jl,1)
376  zruef(jl,jkki) = zw2(jl,1)
377  zrl(jl,jkkp4) = zr2(jl,2)
378  zruef(jl,jkkp4) = zw2(jl,2)
379  ENDDO
380 
381  jkki=jkki+1
382  ENDDO
383  ENDDO
384 
385 !* 4.3 UPWARD AND DOWNWARD FLUXES WITH H2O AND UMG ABSORPTION
386 ! ------------------------------------------------------
387 
388 
389  DO jl = kidia,kfdia
390  pfdown(jl,jk) = zrj(jl,1,jk) * zrl(jl,1) * zrl(jl,3)&
391  &+ zrj(jl,2,jk) * zrl(jl,2) * zrl(jl,4)
392  pfup(jl,jk) = zrk(jl,1,jk) * zrl(jl,5) * zrl(jl,7)&
393  &+ zrk(jl,2,jk) * zrl(jl,6) * zrl(jl,8)
394  ENDDO
395 ENDDO
396 
397 
398 ! ------------------------------------------------------------------
399 
400 !* 5. MOLECULAR ABSORPTION ON CLEAR-SKY FLUXES
401 ! ----------------------------------------
402 
403 
404 
405 !* 5.1 DOWNWARD FLUXES
406 ! ---------------
407 
408 
409 jaj = 2
410 iind3(1)=1
411 iind3(2)=2
412 iind3(3)=3
413 
414 DO jl = kidia,kfdia
415  zw3(jl,1)=_zero_
416  zw3(jl,2)=_zero_
417  zw3(jl,3)=_zero_
418  zw4(jl) =_zero_
419  zw5(jl) =_zero_
420  zr4(jl) =_one_
421  zfd(jl,klev+1)= zrj0(jl,jaj,klev+1)
422 ENDDO
423 DO jk = 1 , klev
424  ikl = klev+1-jk
425  DO jl = kidia,kfdia
426  zw3(jl,1)=zw3(jl,1)+pud(jl,1,ikl)/zrmu0(jl,ikl)
427  zw3(jl,2)=zw3(jl,2)+pud(jl,2,ikl)/zrmu0(jl,ikl)
428  zw3(jl,3)=zw3(jl,3)+poz(jl, ikl)/zrmu0(jl,ikl)
429  zw4(jl) =zw4(jl) +pud(jl,4,ikl)/zrmu0(jl,ikl)
430  zw5(jl) =zw5(jl) +pud(jl,5,ikl)/zrmu0(jl,ikl)
431  ENDDO
432 
433  CALL swtt1 ( kidia,kfdia,klon, knu, 3, iind3 &
434  &, zw3 &
435  &, zr3 )
436 
437  DO jl = kidia,kfdia
438  zr4(jl) = exp(-rswce(knu)*zw4(jl)-rswcp(knu)*zw5(jl))
439  zfd(jl,ikl) = zr3(jl,1)*zr3(jl,2)*zr3(jl,3)*zr4(jl)* zrj0(jl,jaj,ikl)
440  ENDDO
441 ENDDO
442 
443 DO jl=kidia,kfdia
444  zdiff(jl) = zr3(jl,1)*zr3(jl,2)*zr3(jl,3)*zr4(jl)*ztrcld(jl)
445  zdirf(jl) = zr3(jl,1)*zr3(jl,2)*zr3(jl,3)*zr4(jl)*ztrclr(jl)
446  psudu2(jl) = ((_one_-pclear(jl)) * zdiff(jl)&
447  &+pclear(jl) * zdirf(jl)) * rsun(knu)
448 ENDDO
449 
450 
451 !* 5.2 UPWARD FLUXES
452 ! -------------
453 
454 
455 DO jl = kidia,kfdia
456  zfu(jl,1) = zfd(jl,1)*palbp(jl,knu)
457 ENDDO
458 
459 DO jk = 2 , klev+1
460  ikm1=jk-1
461  DO jl = kidia,kfdia
462  zw3(jl,1)=zw3(jl,1)+pud(jl,1,ikm1)*1.66_jprb
463  zw3(jl,2)=zw3(jl,2)+pud(jl,2,ikm1)*1.66_jprb
464  zw3(jl,3)=zw3(jl,3)+poz(jl, ikm1)*1.66_jprb
465  zw4(jl) =zw4(jl) +pud(jl,4,ikm1)*1.66_jprb
466  zw5(jl) =zw5(jl) +pud(jl,5,ikm1)*1.66_jprb
467  ENDDO
468 
469  CALL swtt1 ( kidia,kfdia,klon, knu, 3, iind3 &
470  &, zw3 &
471  &, zr3 )
472 
473  DO jl = kidia,kfdia
474  zr4(jl) = exp(-rswce(knu)*zw4(jl)-rswcp(knu)*zw5(jl))
475  zfu(jl,jk) = zr3(jl,1)*zr3(jl,2)*zr3(jl,3)*zr4(jl)* zrk0(jl,jaj,jk)
476  ENDDO
477 ENDDO
478 
479 
480 ! ------------------------------------------------------------------
481 
482 !* 6. INTRODUCTION OF OZONE AND H2O CONTINUUM ABSORPTION
483 ! --------------------------------------------------
484 
485 iabs=3
486 
487 !* 6.1 DOWNWARD FLUXES
488 ! ---------------
489 
490 DO jl = kidia,kfdia
491  zw1(jl)=_zero_
492  zw4(jl)=_zero_
493  zw5(jl)=_zero_
494  zr1(jl)=_zero_
495  pfdown(jl,klev+1) = ((_one_-pclear(jl))*pfdown(jl,klev+1)&
496  &+ pclear(jl) * zfd(jl,klev+1)) * rsun(knu)
497  pcdown(jl,klev+1) = zfd(jl,klev+1) * rsun(knu)
498 ENDDO
499 
500 DO jk = 1 , klev
501  ikl=klev+1-jk
502  DO jl = kidia,kfdia
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  zr4(jl) = exp(-rswce(knu)*zw4(jl)-rswcp(knu)*zw5(jl))
507  ENDDO
508 
509  CALL swtt ( kidia,kfdia,klon, knu, iabs, zw1, zr1 )
510 
511  DO jl = kidia,kfdia
512  pfdown(jl,ikl) = ((_one_-pclear(jl))*zr1(jl)*zr4(jl)*pfdown(jl,&
513  &ikl)&
514  &+pclear(jl)*zfd(jl,ikl)) * rsun(knu)
515  pcdown(jl,ikl) = zfd(jl,ikl) * rsun(knu)
516  ENDDO
517 ENDDO
518 
519 
520 
521 !* 6.2 UPWARD FLUXES
522 ! -------------
523 
524 DO jl = kidia,kfdia
525  pfup(jl,1) = ((_one_-pclear(jl))*zr1(jl)*zr4(jl) * pfup(jl,1)&
526  &+pclear(jl)*zfu(jl,1)) * rsun(knu)
527  pcup(jl,1) = zfu(jl,1) * rsun(knu)
528 ENDDO
529 
530 DO jk = 2 , klev+1
531  ikm1=jk-1
532  DO jl = kidia,kfdia
533  zw1(jl) = zw1(jl)+poz(jl ,ikm1)*1.66_jprb
534  zw4(jl) = zw4(jl)+pud(jl,4,ikm1)*1.66_jprb
535  zw5(jl) = zw5(jl)+pud(jl,5,ikm1)*1.66_jprb
536  zr4(jl) = exp(-rswce(knu)*zw4(jl)-rswcp(knu)*zw5(jl))
537  ENDDO
538 
539  CALL swtt ( kidia,kfdia,klon, knu, iabs, zw1, zr1 )
540 
541  DO jl = kidia,kfdia
542  pfup(jl,jk) = ((_one_-pclear(jl))*zr1(jl)*zr4(jl) * pfup(jl,jk)&
543  &+pclear(jl)*zfu(jl,jk)) * rsun(knu)
544  pcup(jl,jk) = zfu(jl,jk) * rsun(knu)
545  ENDDO
546 ENDDO
547 
548 ! ------------------------------------------------------------------
549 
550 RETURN
551 END SUBROUTINE swni
subroutine swclr(KIDIA, KFDIA, KLON, KLEV, KAER, KNU, PAER, PALBP, PDSIG, PRAYL, PSEC, PCGAZ, PPIZAZ, PRAY1, PRAY2, PREFZ, PRJ, PRK, PRMU0, PTAUAZ, PTRA1, PTRA2, PTRCLR,
Definition: swclr.F90:7
Definition: yoesw.F90:1
subroutine swni(KIDIA, KFDIA, KLON, KLEV, KAER, KNU, PAER, PAKI, PALBD, PALBP, PCG, PCLD, PCLEAR, PDSIG, POMEGA, POZ, PRMU, PSEC, PTAU, PUD, PWV, PQS, PFDOWN, PFUP, PCDOWN, PCUP, PSUDU2, PDIFF, PDIRF,
Definition: swni.F90:8
integer, save kidia
Definition: dimphy.F90:6
integer, save klon
Definition: dimphy.F90:3
real(kind=jprb), dimension(:), allocatable rsun
Definition: yoesw.F90:16
integer, save klev
Definition: dimphy.F90:7
real(kind=jprb), dimension(6) rswce
Definition: yoesw.F90:22
integer, save kfdia
Definition: dimphy.F90:5
subroutine swr(KIDIA, KFDIA, KLON, KLEV, KNU, PALBD, PCG, PCLD, POMEGA, PSEC, PTAU, PCGAZ, PPIZAZ, PRAY1, PRAY2, PREFZ, PRJ, PRK, PRMUE, PTAUAZ, PTRA1, PTRA2, PTRCLD)
Definition: swr.F90:7
Definition: yoerad.F90:1
real(kind=jprb) replog
Definition: yoerdu.F90:19
subroutine swde(KIDIA, KFDIA, KLON, PGG, PREF, PRMUZ, PTO1, PW, PRE1, PRE2, PTR1, PTR2)
Definition: swde.F90:7
subroutine swtt1(KIDIA, KFDIA, KLON, KNU, KABS, KIND, PU, PTR)
Definition: swtt1.F90:2
real(kind=jprb), dimension(6, 6) rray
Definition: yoesw.F90:15
INTERFACE SUBROUTINE RRTM_ECRT_140GP && paer
subroutine swtt(KIDIA, KFDIA, KLON, KNU, KA, PU, PTR)
Definition: swtt.F90:2
Definition: yoerdu.F90:1
real(kind=jprb), dimension(6) rswcp
Definition: yoesw.F90:23