LMDZ
suswn.F90
Go to the documentation of this file.
1 SUBROUTINE suswn (KTSW,KSW)
2 
3 !**** *SUSW* - INITIALIZE COMMON YOESW
4 
5 ! PURPOSE.
6 ! --------
7 ! INITIALIZE YOESW, THE COMMON THAT CONTAINS COEFFICIENTS
8 ! NEEDED TO RUN THE SHORTWAVE RADIATION SUBROUTINES
9 
10 !** INTERFACE.
11 ! ----------
12 ! *CALL* *SUSW
13 
14 ! EXPLICIT ARGUMENTS :
15 ! --------------------
16 ! NONE
17 
18 ! IMPLICIT ARGUMENTS :
19 ! --------------------
20 ! COMMON YOESW
21 
22 ! METHOD.
23 ! -------
24 ! SEE DOCUMENTATION
25 
26 ! EXTERNALS.
27 ! ----------
28 
29 ! REFERENCE.
30 ! ----------
31 ! ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE IFS
32 
33 ! AUTHOR.
34 ! -------
35 ! JEAN-JACQUES MORCRETTE *ECMWF*
36 
37 ! MODIFICATIONS.
38 ! --------------
39 ! ORIGINAL : 88-12-15
40 ! 97-04-16 JJ Morcrette 2 and 4 interval spectral resolution
41 ! 00-10-24 JJ Morcrette sea-ice albedo revisited
42 ! 00-12-14 JJ Morcrette
43 ! and Ph.Dubuisson B.Bonnel 6 spectral interval resolution
44 
45 ! ------------------------------------------------------------------
46 
47 #include "tsmbkind.h"
48 
49 USE yomcst , ONLY : rg
50 USE yoerad , ONLY : ntsw ,lonewsw
51 USE yoesw , ONLY : apad ,bpad ,rray ,rsun ,&
52  &rpdh1 ,rpdu1 ,rpnh ,rpnu ,rswce ,&
53  &rswcp ,rtdh2o ,rtdumg ,rth2o ,rtumg ,&
54  &d ,rroma ,rromb ,rrasy ,rhsra ,&
55  &rhsrb ,rhsrc ,rhsrd ,rhsre ,rhsrf ,&
56  &rhsrta ,rhsrtb ,rexpo3 ,&
57  &ralbice_ar ,ralbice_an ,rweight ,&
59 
60 
61 IMPLICIT NONE
62 
63 
64 ! DUMMY INTEGER SCALARS
65 integer_m :: ksw
66 integer_m :: ktsw
67 
68 
69 
70 ! ----------------------------------------------------------------
71 real_b :: zapad2(2,3,7) , zbpad2(2,3,7) , zd2(2,3)&
72  &, zray2(2,6) , zsun2(2) , zswce2(2) , zswcp2(2)&
73  &, zweight2(2,8) , zroma2(2) , zromb2(2) , zrasy2(2)&
74  &, zra2(2) , zrb2(2) , zrc2(2)&
75  &, zrd2(2) , zre2(2) , zrf2(2) , zalbice2(12,2)
76 
77 real_b :: zapad4(4,3,7) , zbpad4(4,3,7) , zd4(4,3)&
78  &, zray4(4,6) , zsun4(4) , zswce4(4) , zswcp4(4)&
79  &, zweight4(4,8) , zroma4(4) , zromb4(4) , zrasy4(4)&
80  &, zra4(4) , zrb4(4) , zrc4(4)&
81  &, zrd4(4) , zre4(4) , zrf4(4) , zalbice4(12,4)
82 
83 real_b :: zapad6(6,3,7) , zbpad6(6,3,7) , zd6(6,3)&
84  &, zray6(6,6) , zsun6(6) , zswce6(6) , zswcp6(6)&
85  &, zweight6(6,8) , zroma6(6) , zromb6(6) , zrasy6(6)&
86  &, zra6(6) , zrb6(6) , zrc6(6)&
87  &, zrd6(6) , zre6(6) , zrf6(6) , zalbice6(12,6)
88 
89 real_b :: ztweight(8)
90 
91 ! LOCAL INTEGER SCALARS
92 integer_m :: jc3, jc6, ji, jj, jw, k, jtyps, im, jm
93 
94 ! LOCAL REAL SCALARS
95 real_b :: zh2o, zpdhnis, zpdh2o, zpdunis,&
96  &zpdumg, zprhnis, zprh2o, &
97  &zprunis, zprumg, zrto1, zrto2, ztdhnis, &
98  &ztdunis, zthnis, &
99  &ztunis, zumg, zadjus2, zadjus4, zadjus6
100 
101 
102 ! ----------------------------------------------------------------
103 
104 !* 1. CLEAR-SKY ABSORPTION COEFFICIENTS FOR N SPECTRAL INTERVALS
105 ! --------------------------------------------------------
106 
107 !* spectrally independent
108 
109 ztdhnis = 0.450_jprb
110 ztdunis = 0.375_jprb
111 zthnis = 296._jprb
112 ztunis = 296._jprb
113 zpdhnis = 0.90_jprb
114 zpdunis = 0.75_jprb
115 zprhnis = 100000._jprb
116 zprunis = 100000._jprb
117 
118 ! ----------------------------------------------------------------
119 
120 !* 1.1 COEFFICIENTS FOR TWO SPECTRAL INTERVALS
121 ! ---------------------------------------
122 
123 
124 !* DERIVED FROM HITRAN APRIL 1992 with LOWTRAN P AND T SCALING
125 ! H2O: Pref=1000hPa, Tref=296K, Pdep=0.9
126 ! UMG: Pref=1000hPa, Tref=296K, Pdep=0.75 (CO2+N2O+CO+CH4+O2)
127 ! O3 : unchanged in interval 1, from HITRAN 92 in interval 4
128 
129 zadjus2 = _one_
130 
131 !* 1st spectral interval: U.V. and Visible (0.25 - 0.69 Micron)
132 
133 zsun2(1) = 0.459760_jprb
134 
135 zd2(1,:)= (/ 0.000000000_jprb, 0.000000000_jprb, 0.000000000_jprb /)
136 
137 zapad2(1, 1, :) = (/&
138  &0.184678379e+06_jprb,&
139  &0.553080884e+05_jprb,&
140  &0.248143712e+04_jprb,&
141  &0.000000000e-00_jprb,&
142  &0.000000000e-00_jprb,&
143  &0.000000000e-00_jprb,&
144  &0.000000000e-00_jprb/)
145 zapad2(1, 2, :) = (/&
146  &0.715303869e+01_jprb,&
147  &0.219386847e+03_jprb,&
148  &0.830001089e+03_jprb,&
149  &0.000000000e-00_jprb,&
150  &0.000000000e-00_jprb,&
151  &0.000000000e-00_jprb,&
152  &0.000000000e-00_jprb/)
153 zapad2(1, 3, :) = (/&
154  &0.925887084e-04_jprb,&
155  &0.129353723e-01_jprb,&
156  &0.800821928e+00_jprb,&
157  &0.242715973e+02_jprb,&
158  &0.878331486e+02_jprb,&
159  &0.191559725e+02_jprb,&
160  &0.000000000e+00_jprb/)
161 
162 zbpad2(1, 1, :) = (/&
163  &0.184678379e+06_jprb,&
164  &0.555188347e+05_jprb,&
165  &0.253257443e+04_jprb,&
166  &0.100000000e+01_jprb,&
167  &0.000000000e-00_jprb,&
168  &0.000000000e-00_jprb,&
169  &0.000000000e-00_jprb/)
170 zbpad2(1, 2, :) = (/&
171  &0.715303869e+01_jprb,&
172  &0.219441875e+03_jprb,&
173  &0.831119997e+03_jprb,&
174  &0.100000000e+01_jprb,&
175  &0.000000000e-00_jprb,&
176  &0.000000000e-00_jprb,&
177  &0.000000000e-00_jprb/)
178 zbpad2(1, 3, :) = (/&
179  &0.925887084e-04_jprb,&
180  &0.131812683e-01_jprb,&
181  &0.812706117e+00_jprb,&
182  &0.249863591e+02_jprb,&
183  &0.931071925e+02_jprb,&
184  &0.252233437e+02_jprb,&
185  &0.100000000e+01_jprb/)
186 
187 zray2(1,:)= (/&
188  &.428937e-01_jprb, .890743e+00_jprb,-.288555e+01_jprb,&
189  &.522744e+01_jprb,-.469173e+01_jprb, .161645e+01_jprb/)
190 
191 zswce2(1) = _zero_
192 zswcp2(1) = _zero_
193 
194 ! ----------------------------------------------------------------
195 
196 !* Near-Infrared (0.69 - 4.0 Microns) is not sub-divided
197 
198 ! ----------------------------------------------------------------
199 
200 !* 0.68 - 4.00 Micron
201 
202 zsun2(2) = 0.540240_jprb
203 
204 zd2(2,:)= (/ 0.000000000_jprb, 0.000000000_jprb, 0.000000000_jprb/)
205 
206 zapad2(2, 1, :) = (/&
207  &0.577160808e-06_jprb,&
208  &0.681760991e-02_jprb,&
209  &0.502416370e+01_jprb,&
210  &0.209771270e+03_jprb,&
211  &0.644493139e+03_jprb,&
212  &0.120654163e+03_jprb,&
213  &0.000000000e+00_jprb/)
214 zapad2(2, 2, :) = (/&
215  &0.422874202e-09_jprb,&
216  &0.257499477e-05_jprb,&
217  &0.349570458e-02_jprb,&
218  &0.917758876e+00_jprb,&
219  &0.327669989e+02_jprb,&
220  &0.874155115e+02_jprb,&
221  &0.000000000e+00_jprb/)
222 zapad2(2, 3, :) = (/&
223  &0.932012720e+02_jprb,&
224  &0.437866983e+03_jprb,&
225  &0.000000000e-00_jprb,&
226  &0.000000000e-00_jprb,&
227  &0.000000000e-00_jprb,&
228  &0.000000000e-00_jprb,&
229  &0.000000000e+00_jprb/)
230 
231 zbpad2(2, 1, :) = (/&
232  &0.577160808e-06_jprb,&
233  &0.682595589e-02_jprb,&
234  &0.508797283e+01_jprb,&
235  &0.223901000e+03_jprb,&
236  &0.770640908e+03_jprb,&
237  &0.186812480e+03_jprb,&
238  &0.100000000e+01_jprb/)
239 zbpad2(2, 2, :) = (/&
240  &0.422874202e-09_jprb,&
241  &0.257567242e-05_jprb,&
242  &0.349912408e-02_jprb,&
243  &0.920770481e+00_jprb,&
244  &0.330990960e+02_jprb,&
245  &0.903249595e+02_jprb,&
246  &0.100000000e+01_jprb/)
247 zbpad2(2, 3, :) = (/&
248  &0.932012720e+02_jprb,&
249  &0.439078599e+03_jprb,&
250  &0.100000000e+01_jprb,&
251  &0.000000000e+00_jprb,&
252  &0.000000000e+00_jprb,&
253  &0.000000000e+00_jprb,&
254  &0.000000000e+00_jprb/)
255 
256 zray2(2,:)= (/&
257  &.697200e-02_jprb, .173297e-01_jprb,-.850903e-01_jprb,&
258  &.248261e+00_jprb,-.302031e+00_jprb, .129662e+00_jprb/)
259 
260 zswce2(2) = _zero_
261 zswcp2(2) = _zero_
262 
263 !=====================================================================
264 
265 !* 1.2 COEFFICIENTS FOR FOUR SPECTRAL INTERVALS
266 ! ----------------------------------------
267 
268 
269 !* DERIVED FROM HITRAN APRIL 1992 with LOWTRAN P AND T SCALING
270 ! H2O: Pref=1000hPa, Tref=296K, Pdep=0.9
271 ! UMG: Pref=1000hPa, Tref=296K, Pdep=0.75 (CO2+N2O+CO+CH4+O2)
272 ! O3 : unchanged in interval 1, from HITRAN 92 in interval 4
273 
274 zadjus4 = _one_
275 
276 !* 1st spectral interval: U.V. and Visible (0.25 - 0.69 Micron)
277 
278 zsun4(1) = 0.459760_jprb
279 
280 zd4(1,:)= (/ 0.000000000_jprb, 0.000000000_jprb, 0.000000000_jprb /)
281 
282 zapad4(1, 1, :) = (/&
283  &0.184678379e+06_jprb,&
284  &0.553080884e+05_jprb,&
285  &0.248143712e+04_jprb,&
286  &0.000000000e-00_jprb,&
287  &0.000000000e-00_jprb,&
288  &0.000000000e-00_jprb,&
289  &0.000000000e-00_jprb/)
290 zapad4(1, 2, :) = (/&
291  &0.715303869e+01_jprb,&
292  &0.219386847e+03_jprb,&
293  &0.830001089e+03_jprb,&
294  &0.000000000e-00_jprb,&
295  &0.000000000e-00_jprb,&
296  &0.000000000e-00_jprb,&
297  &0.000000000e-00_jprb/)
298 zapad4(1, 3, :) = (/&
299  &0.925887084e-04_jprb,&
300  &0.129353723e-01_jprb,&
301  &0.800821928e+00_jprb,&
302  &0.242715973e+02_jprb,&
303  &0.878331486e+02_jprb,&
304  &0.191559725e+02_jprb,&
305  &0.000000000e+00_jprb/)
306 
307 zbpad4(1, 1, :) = (/&
308  &0.184678379e+06_jprb,&
309  &0.555188347e+05_jprb,&
310  &0.253257443e+04_jprb,&
311  &0.100000000e+01_jprb,&
312  &0.000000000e-00_jprb,&
313  &0.000000000e-00_jprb,&
314  &0.000000000e-00_jprb/)
315 zbpad4(1, 2, :) = (/&
316  &0.715303869e+01_jprb,&
317  &0.219441875e+03_jprb,&
318  &0.831119997e+03_jprb,&
319  &0.100000000e+01_jprb,&
320  &0.000000000e-00_jprb,&
321  &0.000000000e-00_jprb,&
322  &0.000000000e-00_jprb/)
323 zbpad4(1, 3, :) = (/&
324  &0.925887084e-04_jprb,&
325  &0.131812683e-01_jprb,&
326  &0.812706117e+00_jprb,&
327  &0.249863591e+02_jprb,&
328  &0.931071925e+02_jprb,&
329  &0.252233437e+02_jprb,&
330  &0.100000000e+01_jprb/)
331 
332 zray4(1,:)= (/&
333  &.428937e-01_jprb, .890743e+00_jprb,-.288555e+01_jprb,&
334  &.522744e+01_jprb,-.469173e+01_jprb, .161645e+01_jprb/)
335 
336 zswce4(1) = _zero_
337 zswcp4(1) = _zero_
338 
339 ! ----------------------------------------------------------------
340 
341 !* Near-Infrared (0.69 - 4.0 Microns) is sub-divided into:
342 
343 ! ----------------------------------------------------------------
344 
345 !* 0.69 - 1.19 Micron
346 
347 zsun4(2) = 0.326158_jprb
348 
349 zd4(2,:)= (/ 0.000000000_jprb, 0.000000000_jprb, 1.000000000_jprb /)
350 
351 zapad4(2, 1, :) = (/&
352  &0.690730834e-02_jprb,&
353  &0.151704275e+01_jprb,&
354  &0.751477543e+02_jprb,&
355  &0.759770236e+03_jprb,&
356  &0.109800326e+04_jprb,&
357  &0.148407574e+03_jprb,&
358  &0.000000000e+00_jprb/)
359 zapad4(2, 2, :) = (/&
360  &0.863790752e-03_jprb,&
361  &0.448762291e+00_jprb,&
362  &0.332530367e+02_jprb,&
363  &0.190914146e+03_jprb,&
364  &0.000000000e+00_jprb,&
365  &0.000000000e+00_jprb,&
366  &0.000000000e+00_jprb/)
367 zapad4(2, 3, :) = (/&
368  &0.000000000e+00_jprb,&
369  &0.000000000e+00_jprb,&
370  &0.000000000e+00_jprb,&
371  &0.000000000e+00_jprb,&
372  &0.000000000e+00_jprb,&
373  &0.000000000e+00_jprb,&
374  &0.000000000e+00_jprb/)
375 
376 zbpad4(2, 1, :) = (/&
377  &0.690730834e-02_jprb,&
378  &0.151954406e+01_jprb,&
379  &0.756512527e+02_jprb,&
380  &0.779384997e+03_jprb,&
381  &0.121113108e+04_jprb,&
382  &0.207678436e+03_jprb,&
383  &0.100000000e+01_jprb/)
384 zbpad4(2, 2, :) = (/&
385  &0.863790752e-03_jprb,&
386  &0.448948107e+00_jprb,&
387  &0.333186750e+02_jprb,&
388  &0.192727216e+03_jprb,&
389  &0.100000000e+01_jprb,&
390  &0.000000000e+00_jprb,&
391  &0.000000000e+00_jprb/)
392 zbpad4(2, 3, :) = (/&
393  &1.000000000e+00_jprb,&
394  &0.000000000e+00_jprb,&
395  &0.000000000e+00_jprb,&
396  &0.000000000e+00_jprb,&
397  &0.000000000e+00_jprb,&
398  &0.000000000e+00_jprb,&
399  &0.000000000e+00_jprb/)
400 
401 DATA (zray4(2,k),k=1,6) /&
402  &.164261e-01_jprb, .000000e+00_jprb, .000000e+00_jprb,&
403  &.000000e+00_jprb, .000000e+00_jprb, .000000e+00_jprb/
404 
405 zswce4(2) = _zero_
406 zswcp4(2) = _zero_
407 
408 ! ----------------------------------------------------------------
409 
410 !* 1.19 - 2.38 Microns
411 
412 zsun4(3) = 0.180608_jprb
413 
414 zd4(3,:)= (/ 0.000000000_jprb, 0.000000000_jprb, 1.000000000_jprb /)
415 
416 zapad4(3, 1, :) = (/&
417  &0.837531303e-05_jprb,&
418  &0.173886341e-01_jprb,&
419  &0.518852799e+01_jprb,&
420  &0.159078416e+03_jprb,&
421  &0.493273523e+03_jprb,&
422  &0.102567293e+03_jprb,&
423  &0.000000000e+00_jprb/)
424 zapad4(3, 2, :) = (/&
425  &0.657978575e-02_jprb,&
426  &0.752617872e+00_jprb,&
427  &0.158209734e+02_jprb,&
428  &0.410274915e+02_jprb,&
429  &0.000000000e+00_jprb,&
430  &0.000000000e+00_jprb,&
431  &0.000000000e+00_jprb/)
432 zapad4(3, 3, :) = (/&
433  &0.000000000e+00_jprb,&
434  &0.000000000e+00_jprb,&
435  &0.000000000e+00_jprb,&
436  &0.000000000e+00_jprb,&
437  &0.000000000e+00_jprb,&
438  &0.000000000e+00_jprb,&
439  &0.000000000e+00_jprb/)
440 
441 zbpad4(3, 1, :) = (/&
442  &0.837531303e-05_jprb,&
443  &0.174882536e-01_jprb,&
444  &0.534536580e+01_jprb,&
445  &0.180351767e+03_jprb,&
446  &0.673126838e+03_jprb,&
447  &0.182718543e+03_jprb,&
448  &0.100000000e+01_jprb/)
449 zbpad4(3, 2, :) = (/&
450  &0.657978575e-02_jprb,&
451  &0.753752065e+00_jprb,&
452  &0.159286262e+02_jprb,&
453  &0.424278450e+02_jprb,&
454  &0.100000000e+01_jprb,&
455  &0.000000000e+00_jprb,&
456  &0.000000000e+00_jprb/)
457 zbpad4(3, 3, :) = (/&
458  &1.000000000e+00_jprb,&
459  &0.000000000e+00_jprb,&
460  &0.000000000e+00_jprb,&
461  &0.000000000e+00_jprb,&
462  &0.000000000e+00_jprb,&
463  &0.000000000e+00_jprb,&
464  &0.000000000e+00_jprb/)
465 
466 zray4(3,:)= (/&
467  &.180438e-02_jprb, .000000e+00_jprb, .000000e+00_jprb,&
468  &.000000e+00_jprb, .000000e+00_jprb, .000000e+00_jprb/)
469 
470 zswce4(3) = _zero_
471 zswcp4(3) = _zero_
472 
473 ! ----------------------------------------------------------------
474 
475 !* 2.38 - 4.00 Microns
476 
477 zsun4(4) = 0.033474_jprb
478 
479 zd4(4,:)= (/ 0.000000000_jprb, 0.000000000_jprb, 0.000000000_jprb /)
480 
481 zapad4(4, 1, :) = (/&
482  &0.122118185e-06_jprb,&
483  &0.154042531e-02_jprb,&
484  &0.141152193e+01_jprb,&
485  &0.685368761e+02_jprb,&
486  &0.216522281e+03_jprb,&
487  &0.421228746e+02_jprb,&
488  &0.000000000e+00_jprb/)
489 zapad4(4, 2, :) = (/&
490  &0.364233560e-10_jprb,&
491  &0.217340835e-06_jprb,&
492  &0.292623386e-03_jprb,&
493  &0.797100631e-01_jprb,&
494  &0.319103672e+01_jprb,&
495  &0.110530283e+02_jprb,&
496  &0.000000000e+00_jprb/)
497 zapad4(4, 3, :) = (/&
498  &0.263068898e+02_jprb,&
499  &0.146425875e+03_jprb,&
500  &0.860137809e+02_jprb,&
501  &0.000000000e+00_jprb,&
502  &0.000000000e+00_jprb,&
503  &0.000000000e+00_jprb,&
504  &0.000000000e+00_jprb/)
505 
506 zbpad4(4, 1, :) = (/&
507  &0.122118185e-06_jprb,&
508  &0.156287582e-02_jprb,&
509  &0.156994562e+01_jprb,&
510  &0.102304103e+03_jprb,&
511  &0.475479878e+03_jprb,&
512  &0.188714799e+03_jprb,&
513  &0.100000000e+01_jprb/)
514 zbpad4(4, 2, :) = (/&
515  &0.364233560e-10_jprb,&
516  &0.218265806e-06_jprb,&
517  &0.297085917e-03_jprb,&
518  &0.834253403e-01_jprb,&
519  &0.358290002e+01_jprb,&
520  &0.139206164e+02_jprb,&
521  &0.100000000e+01_jprb/)
522 zbpad4(4, 3, :) = (/&
523  &0.263068898e+02_jprb,&
524  &0.152569217e+03_jprb,&
525  &0.976791971e+02_jprb,&
526  &0.100000000e+01_jprb,&
527  &0.000000000e+00_jprb,&
528  &0.000000000e+00_jprb,&
529  &0.000000000e+00_jprb/)
530 
531 zray4(4,:)= (/&
532  &.136020e-03_jprb, .000000e+00_jprb, .000000e+00_jprb,&
533  &.000000e+00_jprb, .000000e+00_jprb, .000000e+00_jprb/)
534 
535 zswce4(4) = _zero_
536 zswcp4(4) = _zero_
537 
538 !=====================================================================
539 
540 !* 1.3 COEFFICIENTS FOR SIX SPECTRAL INTERVALS
541 ! ---------------------------------------
542 
543 
544 !* DERIVED FROM HITRAN APRIL 1992 with LOWTRAN P AND T SCALING
545 ! H2O: Pref=1000hPa, Tref=296K, Pdep=0.9
546 ! UMG: Pref=1000hPa, Tref=296K, Pdep=0.75 (CO2+N2O+CO+CH4+O2)
547 ! O3 : unchanged in interval 1, from HITRAN 92 in interval 4
548 
549 zadjus6 = 0.9905709_jprb
550 
551 !* 1st spectral interval: U.V. (0.18 - 0.25 Micron)
552 
553 zsun6(1) = 0.0019124_jprb
554 
555 zd6(1,:)= (/ 1.000000000_jprb, 1.000000000_jprb, 0.000000000_jprb /)
556 
557 zapad6(1, 1, :) = (/&
558  &0.000000000e-00_jprb,&
559  &0.000000000e-00_jprb,&
560  &0.000000000e-00_jprb,&
561  &0.000000000e-00_jprb,&
562  &0.000000000e-00_jprb,&
563  &0.000000000e-00_jprb,&
564  &0.000000000e-00_jprb/)
565 zapad6(1, 2, :) = (/&
566  &0.000000000e-00_jprb,&
567  &0.000000000e-00_jprb,&
568  &0.000000000e-00_jprb,&
569  &0.000000000e-00_jprb,&
570  &0.000000000e-00_jprb,&
571  &0.000000000e-00_jprb,&
572  &0.000000000e-00_jprb/)
573 zapad6(1, 3, :) = (/&
574  &0.000000000e-00_jprb,&
575  &0.000000000e-00_jprb,&
576  &0.000000000e-00_jprb,&
577  &0.000000000e-00_jprb,&
578  &0.000000000e-00_jprb,&
579  &0.000000000e-00_jprb,&
580  &0.000000000e-00_jprb/)
581 
582 zbpad6(1, 1, :) = (/&
583  &0.100000000e+01_jprb,&
584  &0.000000000e-00_jprb,&
585  &0.000000000e-00_jprb,&
586  &0.000000000e-00_jprb,&
587  &0.000000000e-00_jprb,&
588  &0.000000000e-00_jprb,&
589  &0.000000000e-00_jprb/)
590 zbpad6(1, 2, :) = (/&
591  &0.100000000e+01_jprb,&
592  &0.000000000e-00_jprb,&
593  &0.000000000e-00_jprb,&
594  &0.000000000e-00_jprb,&
595  &0.000000000e-00_jprb,&
596  &0.000000000e-00_jprb,&
597  &0.000000000e-00_jprb/)
598 zbpad6(1, 3, :) = (/&
599  &0.100000000e+01_jprb,&
600  &0.000000000e-00_jprb,&
601  &0.000000000e-00_jprb,&
602  &0.000000000e-00_jprb,&
603  &0.000000000e-00_jprb,&
604  &0.000000000e-00_jprb,&
605  &0.000000000e-00_jprb/)
606 
607 zray6(1,:)= (/&
608  &.43959002e+01_jprb, .000000e+00_jprb, .000000e+00_jprb,&
609  &.000000e+00_jprb, .000000e+00_jprb, .000000e+00_jprb/)
610 
611 zswce6(1) = _zero_
612 zswcp6(1) = _zero_
613 
614 nexpo3(1) = 6
615 rexpo3(1, 1, :) =(/&
616  &0.000334e+00_jprb, 0.011131e+00_jprb, 0.000064e+00_jprb,&
617  &0.218900e+00_jprb, 0.134118e+00_jprb, 0.635453e+00_jprb,&
618  &0.000000e+00_jprb /)
619 rexpo3(1, 2, :) =(/&
620  &0.467737e+03_jprb, 0.389056e+02_jprb, 0.223872e+04_jprb,&
621  &0.102346e+02_jprb, 0.794561e+01_jprb, 0.138054e+02_jprb,&
622  &0.000000e+00_jprb /)
623 
624 
625 
626 !* 2nd spectral interval: U.V. (0.25 - 0.44 Micron)
627 
628 zsun6(2) = 0.1353560_jprb
629 
630 zd6(2,:)= (/ 1.000000000_jprb, 1.000000000_jprb, 0.000000000_jprb /)
631 
632 zapad6(2, 1, :) = (/&
633  &0.000000000e-00_jprb,&
634  &0.000000000e-00_jprb,&
635  &0.000000000e-00_jprb,&
636  &0.000000000e-00_jprb,&
637  &0.000000000e-00_jprb,&
638  &0.000000000e-00_jprb,&
639  &0.000000000e-00_jprb/)
640 zapad6(2, 2, :) = (/&
641  &0.000000000e-00_jprb,&
642  &0.000000000e-00_jprb,&
643  &0.000000000e-00_jprb,&
644  &0.000000000e-00_jprb,&
645  &0.000000000e-00_jprb,&
646  &0.000000000e-00_jprb,&
647  &0.000000000e-00_jprb/)
648 zapad6(2, 3, :) = (/&
649  &0.000000000e-00_jprb,&
650  &0.000000000e-00_jprb,&
651  &0.000000000e-00_jprb,&
652  &0.000000000e-00_jprb,&
653  &0.000000000e-00_jprb,&
654  &0.000000000e-00_jprb,&
655  &0.000000000e-00_jprb/)
656 
657 zbpad6(2, 1, :) = (/&
658  &0.100000000e+01_jprb,&
659  &0.000000000e-00_jprb,&
660  &0.000000000e-00_jprb,&
661  &0.000000000e-00_jprb,&
662  &0.000000000e-00_jprb,&
663  &0.000000000e-00_jprb,&
664  &0.000000000e-00_jprb/)
665 zbpad6(2, 2, :) = (/&
666  &0.100000000e+01_jprb,&
667  &0.000000000e-00_jprb,&
668  &0.000000000e-00_jprb,&
669  &0.000000000e-00_jprb,&
670  &0.000000000e-00_jprb,&
671  &0.000000000e-00_jprb,&
672  &0.000000000e-00_jprb/)
673 zbpad6(2, 3, :) = (/&
674  &0.100000000e+01_jprb,&
675  &0.000000000e-00_jprb,&
676  &0.000000000e-00_jprb,&
677  &0.000000000e-00_jprb,&
678  &0.000000000e-00_jprb,&
679  &0.000000000e-00_jprb,&
680  &0.000000000e-00_jprb/)
681 
682 zray6(2,:)= (/&
683  &.55503070e+00_jprb, .000000e+00_jprb, .000000e+00_jprb,&
684  &.000000e+00_jprb, .000000e+00_jprb, .000000e+00_jprb/)
685 
686 zswce6(2) = _zero_
687 zswcp6(2) = _zero_
688 
689 nexpo3(2) = 7
690 rexpo3(2, 1, :) =(/&
691  &0.043801e+00_jprb, 0.078893e+00_jprb, 0.036839e+00_jprb,&
692  &0.022503e+00_jprb, 0.042333e+00_jprb, 0.037870e+00_jprb,&
693  &0.737762e+00_jprb /)
694 rexpo3(2, 2, :) =(/&
695  &0.234249e+01_jprb, 0.125170e+00_jprb, 0.549527e+02_jprb,&
696  &0.257041e+03_jprb, 0.476838e+00_jprb, 0.911993e+01_jprb,&
697  &0.000000e+00_jprb /)
698 
699 
700 !* 3rd spectral interval: Visible (0.44 - 0.69 Micron)
701 
702 zsun6(3) = 0.3213000_jprb
703 
704 zd6(3,:)= (/ 0.800000000_jprb, 1.000000000_jprb, 0.000000000_jprb /)
705 
706 zapad6(3, 1, :) = (/&
707  &0.3682644e+02_jprb,&
708  &0.6491415e+03_jprb,&
709  &0.8720916e+02_jprb,&
710  &0.0000000e-00_jprb,&
711  &0.0000000e-00_jprb,&
712  &0.0000000e-00_jprb,&
713  &0.0000000e-00_jprb/)
714 zapad6(3, 2, :) = (/&
715  &0.0000000e-00_jprb,&
716  &0.0000000e-00_jprb,&
717  &0.0000000e-00_jprb,&
718  &0.0000000e-00_jprb,&
719  &0.0000000e-00_jprb,&
720  &0.0000000e-00_jprb,&
721  &0.0000000e-00_jprb/)
722 zapad6(3, 3, :) = (/&
723  &0.000000000e-00_jprb,&
724  &0.000000000e-00_jprb,&
725  &0.000000000e-00_jprb,&
726  &0.000000000e-00_jprb,&
727  &0.000000000e-00_jprb,&
728  &0.000000000e-00_jprb,&
729  &0.000000000e-00_jprb/)
730 
731 zbpad6(3, 1, :) = (/&
732  &0.3682644e+02_jprb,&
733  &0.6495968e+03_jprb,&
734  &0.9637657e+02_jprb,&
735  &0.1000000e+01_jprb,&
736  &0.0000000e-00_jprb,&
737  &0.0000000e-00_jprb,&
738  &0.0000000e-00_jprb/)
739 zbpad6(3, 2, :) = (/&
740  &0.1000000e+01_jprb,&
741  &0.0000000e-00_jprb,&
742  &0.0000000e-00_jprb,&
743  &0.0000000e-00_jprb,&
744  &0.0000000e-00_jprb,&
745  &0.0000000e-00_jprb,&
746  &0.0000000e-00_jprb/)
747 zbpad6(3, 3, :) = (/&
748  &0.100000000e+01_jprb,&
749  &0.000000000e-00_jprb,&
750  &0.000000000e-00_jprb,&
751  &0.000000000e-00_jprb,&
752  &0.000000000e-00_jprb,&
753  &0.000000000e-00_jprb,&
754  &0.000000000e-00_jprb/)
755 
756 zray6(3,:)= (/&
757  &.10528199e+00_jprb, .000000e+00_jprb, .000000e+00_jprb,&
758  &.000000e+00_jprb, .000000e+00_jprb, .000000e+00_jprb/)
759 
760 zswce6(3) = _zero_
761 zswcp6(3) = _zero_
762 
763 nexpo3(3) = 6
764 rexpo3(3, 1, :) =(/&
765  &0.063442e+00_jprb, 0.058550e+00_jprb, 0.237534e+00_jprb,&
766  &0.412292e+00_jprb, 0.126141e+00_jprb, 0.102041e+00_jprb,&
767  &0.000000e+00_jprb /)
768 rexpo3(3, 2, :) =(/&
769  &0.125170e+00_jprb, 0.119209e-01_jprb, 0.119209e+00_jprb,&
770  &0.417233e-01_jprb, 0.894070e-01_jprb, 0.000000e+00_jprb,&
771  &0.000000e+00_jprb /)
772 
773 ! ----------------------------------------------------------------
774 
775 !* Near-Infrared (0.69 - 4.0 Microns) is sub-divided into:
776 
777 ! ----------------------------------------------------------------
778 
779 !* 0.69 - 1.19 Micron
780 
781 !* UMG is O2 only
782 
783 zsun6(4) = 0.3211833_jprb
784 
785 zd6(4,:)= (/ 0.000000000_jprb, 0.800000000_jprb, 1.000000000_jprb /)
786 
787 zapad6(4, 1, :) = (/&
788  &0.9969941e+02_jprb,&
789  &0.7496307e+04_jprb,&
790  &0.7003009e+05_jprb,&
791  &0.9381446e+05_jprb,&
792  &0.1827735e+05_jprb,&
793  &0.3459400e+03_jprb,&
794  &0.0000000e+00_jprb/)
795 zapad6(4, 2, :) = (/&
796  &0.1567941e+10_jprb,&
797  &0.3094160e+09_jprb,&
798  &0.3650192e+07_jprb,&
799  &0.5026130e+04_jprb,&
800  &0.0000000e+00_jprb,&
801  &0.0000000e+00_jprb,&
802  &0.0000000e+00_jprb/)
803 zapad6(4, 3, :) = (/&
804  &0.000000000e+00_jprb,&
805  &0.000000000e+00_jprb,&
806  &0.000000000e+00_jprb,&
807  &0.000000000e+00_jprb,&
808  &0.000000000e+00_jprb,&
809  &0.000000000e+00_jprb,&
810  &0.000000000e+00_jprb/)
811 
812 zbpad6(4, 1, :) = (/&
813  &0.9969941e+02_jprb,&
814  &0.7517916e+04_jprb,&
815  &0.7149485e+05_jprb,&
816  &0.1020564e+06_jprb,&
817  &0.2337706e+05_jprb,&
818  &0.6874490e+03_jprb,&
819  &0.1000000e+01_jprb/)
820 zbpad6(4, 2, :) = (/&
821  &0.1567941e+10_jprb,&
822  &0.3332380e+09_jprb,&
823  &0.4940093e+07_jprb,&
824  &0.1026382e+05_jprb,&
825  &0.1000000e+01_jprb,&
826  &0.0000000e+00_jprb,&
827  &0.0000000e+00_jprb/)
828 zbpad6(4, 3, :) = (/&
829  &1.000000000e+00_jprb,&
830  &0.000000000e+00_jprb,&
831  &0.000000000e+00_jprb,&
832  &0.000000000e+00_jprb,&
833  &0.000000000e+00_jprb,&
834  &0.000000000e+00_jprb,&
835  &0.000000000e+00_jprb/)
836 
837 DATA (zray6(4,k),k=1,6) /&
838  &.16436996e-01_jprb, .000000e+00_jprb, .000000e+00_jprb,&
839  &.000000e+00_jprb, .000000e+00_jprb, .000000e+00_jprb/
840 
841 zswce6(4) = _zero_
842 zswcp6(4) = _zero_
843 
844 nexpo3(4) = 4
845 rexpo3(4, 1, :) =(/&
846  &0.000074e+00_jprb, 0.320194e+00_jprb, 0.082915e+00_jprb,&
847  &0.596816e+00_jprb, 0.000000e+00_jprb, 0.000000e+00_jprb,&
848  &0.000000e+00_jprb /)
849 rexpo3(4, 2, :) =(/&
850  &0.232458e+00_jprb, 0.119209e-01_jprb, 0.178814e-01_jprb,&
851  &0.000000e+00_jprb, 0.000000e+00_jprb, 0.000000e+00_jprb,&
852  &0.000000e+00_jprb /)
853 
854 
855 ! ----------------------------------------------------------------
856 
857 !* 1.19 - 2.38 Microns
858 
859 !* UMG is CO2 only
860 
861 zsun6(5) = 0.1778533_jprb
862 
863 zd6(5,:)= (/ 0.000000000_jprb, 0.800000000_jprb, 1.000000000_jprb /)
864 
865 zapad6(5, 1, :) = (/&
866  &0.3325841e-03_jprb,&
867  &0.6194496e+00_jprb,&
868  &0.1497138e+03_jprb,&
869  &0.2314864e+04_jprb,&
870  &0.2380109e+04_jprb,&
871  &0.9553823e+02_jprb,&
872  &0.0000000e+00_jprb/)
873 zapad6(5, 2, :) = (/&
874  &0.2419549e-02_jprb,&
875  &0.1504652e+01_jprb,&
876  &0.1339335e+02_jprb,&
877  &0.8932533e+01_jprb,&
878  &0.0000000e+00_jprb,&
879  &0.0000000e+00_jprb,&
880  &0.0000000e+00_jprb/)
881 zapad6(5, 3, :) = (/&
882  &0.000000000e+00_jprb,&
883  &0.000000000e+00_jprb,&
884  &0.000000000e+00_jprb,&
885  &0.000000000e+00_jprb,&
886  &0.000000000e+00_jprb,&
887  &0.000000000e+00_jprb,&
888  &0.000000000e+00_jprb/)
889 
890 zbpad6(5, 1, :) = (/&
891  &0.3325841e-03_jprb,&
892  &0.6231947e+00_jprb,&
893  &0.1553098e+03_jprb,&
894  &0.2822458e+04_jprb,&
895  &0.3885194e+04_jprb,&
896  &0.2700235e+03_jprb,&
897  &0.1000000e+01_jprb/)
898 zbpad6(5, 2, :) = (/&
899  &0.2419549e-02_jprb,&
900  &0.1507850e+01_jprb,&
901  &0.1489144e+03_jprb,&
902  &0.1425322e+02_jprb,&
903  &0.1000000e+01_jprb,&
904  &0.0000000e+00_jprb,&
905  &0.0000000e+00_jprb/)
906 zbpad6(5, 3, :) = (/&
907  &1.000000000e+00_jprb,&
908  &0.000000000e+00_jprb,&
909  &0.000000000e+00_jprb,&
910  &0.000000000e+00_jprb,&
911  &0.000000000e+00_jprb,&
912  &0.000000000e+00_jprb,&
913  &0.000000000e+00_jprb/)
914 
915 zray6(5,:)= (/&
916  &.18073079e-02_jprb, .000000e+00_jprb, .000000e+00_jprb,&
917  &.000000e+00_jprb, .000000e+00_jprb, .000000e+00_jprb/)
918 
919 zswce6(5) = _zero_
920 zswcp6(5) = _zero_
921 
922 nexpo3(5) = 0
923 rexpo3(5, 1, :) =(/&
924  &0.000000e+00_jprb, 0.000000e+00_jprb, 0.000000e+00_jprb,&
925  &0.000000e+00_jprb, 0.000000e+00_jprb, 0.000000e+00_jprb,&
926  &0.000000e+00_jprb /)
927 rexpo3(5, 2, :) =(/&
928  &0.000000e+00_jprb, 0.000000e+00_jprb, 0.000000e+00_jprb,&
929  &0.000000e+00_jprb, 0.000000e+00_jprb, 0.000000e+00_jprb,&
930  &0.000000e+00_jprb /)
931 
932 ! ----------------------------------------------------------------
933 
934 !* 2.38 - 4.00 Microns
935 
936 zsun6(6) = 0.0329659_jprb
937 
938 zd6(6,:)= (/ 0.000000000_jprb, 0.600000000_jprb, 0.000000000_jprb /)
939 
940 zapad6(6, 1, :) = (/&
941  &0.2122889e-06_jprb,&
942  &0.9030576e-03_jprb,&
943  &0.2431282e+00_jprb,&
944  &0.4901345e+01_jprb,&
945  &0.3996347e+01_jprb,&
946  &0.3910227e+01_jprb,&
947  &0.0000000e+00_jprb/)
948 zapad6(6, 2, :) = (/&
949  &0.2051629e-02_jprb,&
950  &0.8053325e+00_jprb,&
951  &0.1826847e+02_jprb,&
952  &0.1991453e+02_jprb,&
953  &0.0000000e+00_jprb,&
954  &0.0000000e+00_jprb,&
955  &0.0000000e+00_jprb/)
956 zapad6(6, 3, :) = (/&
957  &0.263068898e+02_jprb,&
958  &0.146425875e+03_jprb,&
959  &0.860137809e+02_jprb,&
960  &0.000000000e+00_jprb,&
961  &0.000000000e+00_jprb,&
962  &0.000000000e+00_jprb,&
963  &0.000000000e+00_jprb/)
964 
965 zbpad6(6, 1, :) = (/&
966  &0.2122889e-06_jprb,&
967  &0.9379083e-03_jprb,&
968  &0.2957335e+00_jprb,&
969  &0.8747190e+01_jprb,&
970  &0.1015794e+02_jprb,&
971  &0.1361277e+02_jprb,&
972  &0.1000000e+01_jprb/)
973 zbpad6(6, 2, :) = (/&
974  &0.2051629e-02_jprb,&
975  &0.9455932e+00_jprb,&
976  &0.3030076e+02_jprb,&
977  &0.4307387e+02_jprb,&
978  &0.1000000e+01_jprb,&
979  &0.0000000e+00_jprb,&
980  &0.0000000e+00_jprb/)
981 zbpad6(6, 3, :) = (/&
982  &0.263068898e+02_jprb,&
983  &0.152569217e+03_jprb,&
984  &0.976791971e+02_jprb,&
985  &0.100000000e+01_jprb,&
986  &0.000000000e+00_jprb,&
987  &0.000000000e+00_jprb,&
988  &0.000000000e+00_jprb/)
989 
990 zray6(6,:)= (/&
991  &.13618247e-03_jprb, .000000e+00_jprb, .000000e+00_jprb,&
992  &.000000e+00_jprb, .000000e+00_jprb, .000000e+00_jprb/)
993 
994 zswce6(6) = _zero_
995 zswcp6(6) = _zero_
996 
997 nexpo3(6) = 0
998 rexpo3(6, 1, :) =(/&
999  &0.000000e+00_jprb, 0.000000e+00_jprb, 0.000000e+00_jprb,&
1000  &0.000000e+00_jprb, 0.000000e+00_jprb, 0.000000e+00_jprb,&
1001  &0.000000e+00_jprb /)
1002 rexpo3(6, 2, :) =(/&
1003  &0.000000e+00_jprb, 0.000000e+00_jprb, 0.000000e+00_jprb,&
1004  &0.000000e+00_jprb, 0.000000e+00_jprb, 0.000000e+00_jprb,&
1005  &0.000000e+00_jprb /)
1006 
1007 !=====================================================================
1008 ! ----------------------------------------------------------------
1009 
1010 !* 2.3 WEIGHTS FOR SPECTRAL SURFACE ALBEDO
1011 ! Water
1012 ! Sea-Ice (Ebert, Curry, 1993)
1013 ! Wet skin
1014 ! Low vegetation (snow free) (BR, 1982)
1015 ! Snow on low vegetation (Warren, 1982)
1016 ! High vegetation (snow free) (BR, 1982)
1017 ! Snow under high vegetation (Warren, 1982)
1018 ! Bare soil (Briegleb & Ramanathan, 1982)
1019 
1020 ntyps = 8
1021 zweight2(:,1)= (/ 1._jprb, 1._jprb /)
1022 zweight2(:,2)= (/ 1._jprb, 1._jprb /)
1023 zweight2(:,3)= (/ 1._jprb, 1._jprb /)
1024 zweight2(:,4)= (/ 1._jprb, 3._jprb /)
1025 zweight2(:,5)= (/ 0.920_jprb, 0.537_jprb /)
1026 zweight2(:,6)= (/ 1._jprb, 3._jprb /)
1027 zweight2(:,7)= (/ 0.860_jprb, 0.432_jprb /)
1028 zweight2(:,8)= (/ 1._jprb, 2._jprb /)
1029 
1030 zweight4(:,1)= (/ 1._jprb, 1._jprb, 1._jprb, 1._jprb /)
1031 zweight4(:,2)= (/ 1._jprb, 1._jprb, 1._jprb, 1._jprb /)
1032 zweight4(:,3)= (/ 1._jprb, 1._jprb, 1._jprb, 1._jprb /)
1033 zweight4(:,4)= (/ 1._jprb, 4._jprb, 2._jprb, 1._jprb /)
1034 zweight4(:,5)= (/ 0.920_jprb, 0.798_jprb , 0.159_jprb, 0.010_jprb /)
1035 zweight4(:,6)= (/ 1._jprb, 4._jprb, 2._jprb, 1._jprb /)
1036 zweight4(:,7)= (/ 0.860_jprb, 0.664_jprb , 0.092_jprb, 0.010_jprb /)
1037 zweight4(:,8)= (/ 1._jprb, 2._jprb, 2._jprb, 1._jprb /)
1038 
1039 zweight6(:,1)= (/ 1._jprb, 1._jprb, 1._jprb, 1._jprb, 1._jprb, 1._jprb /)
1040 zweight6(:,2)= (/ 1._jprb, 1._jprb, 1._jprb, 1._jprb, 1._jprb, 1._jprb /)
1041 zweight6(:,3)= (/ 1._jprb, 1._jprb, 1._jprb, 1._jprb, 1._jprb, 1._jprb /)
1042 zweight6(:,4)= (/ 1._jprb, 1._jprb, 1._jprb, 4._jprb, 2._jprb, 1._jprb /)
1043 zweight6(:,5)= (/ 0.920_jprb, 0.920_jprb, 0.920_jprb, 0.798_jprb , 0.159_jprb, 0.010_jprb /)
1044 zweight6(:,6)= (/ 1._jprb, 1._jprb, 1._jprb, 4._jprb, 2._jprb, 1._jprb /)
1045 zweight6(:,7)= (/ 0.860_jprb, 0.860_jprb, 0.860_jprb, 0.664_jprb , 0.092_jprb, 0.010_jprb /)
1046 zweight6(:,8)= (/ 1._jprb, 1._jprb, 1._jprb, 2._jprb, 2._jprb, 1._jprb /)
1047 
1048 !* For sea ice, monthly values are based on Ebert and Curry, 1993, Table 2.
1049 ! We take dry snow albedo as the representative value for non-summer
1050 ! months, and bare sea-ice as the representative value for summer
1051 ! months. The values for Antarctic are shifted six-months.
1052 
1053 !- 2-spectral intervals
1054 
1055 !* Sea ice surf. albedo for 0.25-0.69 micron (snow covered; Ebert and Curry, 1993)
1056 zalbice2(1:12,1) = (/0.975_jprb,0.975_jprb,0.975_jprb,0.975_jprb,&
1057  &0.975_jprb,0.876_jprb,0.778_jprb,0.778_jprb,&
1058  &0.975_jprb,0.975_jprb,0.975_jprb,0.975_jprb/)
1059 !* Sea ice surf. albedo for 0.69-4.00 microns (snow covered; Ebert and Curry, 1993)
1060 !ZALBICE2(1:12,2) = (/0.664_JPRB,0.664_JPRB,0.664_JPRB,0.664_JPRB,&
1061 ! &0.664_JPRB,0.476_JPRB,0.288_JPRB,0.288_JPRB,&
1062 ! &0.664_JPRB,0.664_JPRB,0.664_JPRB,0.664_JPRB/)
1063 zalbice2(1:12,2) = (/0.587_jprb,0.587_jprb,0.587_jprb,0.587_jprb,&
1064  &0.587_jprb,0.438_jprb,0.288_jprb,0.288_jprb,&
1065  &0.587_jprb,0.587_jprb,0.587_jprb,0.587_jprb/)
1066 
1067 !- 4-spectral intervals
1068 
1069 !* Sea ice surf. albedo for 0.25-0.69 micron (snow covered; Ebert and Curry, 1993)
1070 zalbice4(1:12,1) = (/0.975_jprb,0.975_jprb,0.975_jprb,0.975_jprb,&
1071  &0.975_jprb,0.876_jprb,0.778_jprb,0.778_jprb,&
1072  &0.975_jprb,0.975_jprb,0.975_jprb,0.975_jprb/)
1073 !* Sea ice surf. albedo for 0.69-1.19 micron (snow covered; Ebert and Curry, 1993)
1074 zalbice4(1:12,2) = (/0.832_jprb,0.832_jprb,0.832_jprb,0.832_jprb,&
1075  &0.832_jprb,0.638_jprb,0.443_jprb,0.443_jprb,&
1076  &0.832_jprb,0.832_jprb,0.832_jprb,0.832_jprb/)
1077 !* Sea ice surf. albedo for 1.19-2.38 micron (snow covered; Ebert and Curry, 1993)
1078 zalbice4(1:12,3) = (/0.250_jprb,0.250_jprb,0.250_jprb,0.250_jprb,&
1079  &0.250_jprb,0.153_jprb,0.055_jprb,0.055_jprb,&
1080  &0.250_jprb,0.250_jprb,0.250_jprb,0.250_jprb/)
1081 !* Sea ice surf. albedo for 2.38-4.00 microns (snow covered; Ebert and Curry, 1993)
1082 zalbice4(1:12,4) = (/0.025_jprb,0.025_jprb,0.025_jprb,0.025_jprb,&
1083  &0.025_jprb,0.030_jprb,0.036_jprb,0.036_jprb,&
1084  &0.025_jprb,0.025_jprb,0.025_jprb,0.025_jprb/)
1085 
1086 !- 6-spectral intervals
1087 
1088 !* Sea ice surf. albedo for 0.185-0.25 micron (snow covered; Ebert and Curry, 1993)
1089 zalbice6(1:12,1) = (/0.975_jprb,0.975_jprb,0.975_jprb,0.975_jprb,&
1090  &0.975_jprb,0.876_jprb,0.778_jprb,0.778_jprb,&
1091  &0.975_jprb,0.975_jprb,0.975_jprb,0.975_jprb/)
1092 !* Sea ice surf. albedo for 0.25-0.44 micron (snow covered; Ebert and Curry, 1993)
1093 zalbice6(1:12,2) = (/0.975_jprb,0.975_jprb,0.975_jprb,0.975_jprb,&
1094  &0.975_jprb,0.876_jprb,0.778_jprb,0.778_jprb,&
1095  &0.975_jprb,0.975_jprb,0.975_jprb,0.975_jprb/)
1096 !* Sea ice surf. albedo for 0.44-0.69 micron (snow covered; Ebert and Curry, 1993)
1097 zalbice6(1:12,3) = (/0.975_jprb,0.975_jprb,0.975_jprb,0.975_jprb,&
1098  &0.975_jprb,0.876_jprb,0.778_jprb,0.778_jprb,&
1099  &0.975_jprb,0.975_jprb,0.975_jprb,0.975_jprb/)
1100 !* Sea ice surf. albedo for 0.69-1.19 micron (snow covered; Ebert and Curry, 1993)
1101 zalbice6(1:12,4) = (/0.832_jprb,0.832_jprb,0.832_jprb,0.832_jprb,&
1102  &0.832_jprb,0.638_jprb,0.443_jprb,0.443_jprb,&
1103  &0.832_jprb,0.832_jprb,0.832_jprb,0.832_jprb/)
1104 !* Sea ice surf. albedo for 1.19-2.38 micron (snow covered; Ebert and Curry, 1993)
1105 zalbice6(1:12,5) = (/0.250_jprb,0.250_jprb,0.250_jprb,0.250_jprb,&
1106  &0.250_jprb,0.153_jprb,0.055_jprb,0.055_jprb,&
1107  &0.250_jprb,0.250_jprb,0.250_jprb,0.250_jprb/)
1108 !* Sea ice surf. albedo for 2.38-4.00 microns (snow covered; Ebert and Curry, 1993)
1109 zalbice6(1:12,6) = (/0.025_jprb,0.025_jprb,0.025_jprb,0.025_jprb,&
1110  &0.025_jprb,0.030_jprb,0.036_jprb,0.036_jprb,&
1111  &0.025_jprb,0.025_jprb,0.025_jprb,0.025_jprb/)
1112 
1113 ! ----------------------------------------------------------------
1114 
1115 !* 2.4 OPTICAL PARAMETERS FOR RAIN DROPS
1116 ! Savijarvi et al. (1996)
1117 
1118 zrto1 = 0.003_jprb
1119 zrto2 = -0.22_jprb
1120 ! CAUTION JUST TEMPORARY PARAMETERS
1121 zroma2(1:2)= (/ 0.00008_jprb , 0.264_jprb /)
1122 zromb2(1:2)= (/ 0.23_jprb , 0.09_jprb /)
1123 zrasy2(1:2)= (/ 0.88_jprb , 0.94_jprb /)
1124 
1125 zra2(1:2)= (/ 1.5_jprb , 1.5_jprb /)
1126 zrb2(1:2)= (/ 0.50_jprb , 1.13_jprb /)
1127 zrc2(1:2)= (/ 5.58e-7_jprb , 8.55e-4_jprb/)
1128 zrd2(1:2)= (/ 1.25e-7_jprb , 1.28e-3_jprb/)
1129 zre2(1:2)= (/ 0.841_jprb , 0.786_jprb /)
1130 zrf2(1:2)= (/ 2.08e-3_jprb , 5.32e-3_jprb/)
1131 
1132 zroma4(1:4)= (/ 0.00008_jprb , 0.0105_jprb , 0.264_jprb , 0.465_jprb /)
1133 zromb4(1:4)= (/ 0.23_jprb , 0.22_jprb , 0.09_jprb , 0.001_jprb /)
1134 zrasy4(1:4)= (/ 0.88_jprb , 0.89_jprb , 0.94_jprb , 0.97_jprb /)
1135 
1136 zra4(1:4)= (/ 1.5_jprb , 1.5_jprb , 1.5_jprb , 1.5_jprb /)
1137 zrb4(1:4)= (/ 0.50_jprb , 0.78_jprb , 1.13_jprb , 2.00_jprb /)
1138 zrc4(1:4)= (/ 5.58e-7_jprb , 2.18e-5_jprb, 8.55e-4_jprb, 1.94e-1_jprb /)
1139 zrd4(1:4)= (/ 1.25e-7_jprb , 2.25e-5_jprb, 1.28e-3_jprb, 8.04e-3_jprb /)
1140 zre4(1:4)= (/ 0.841_jprb , 0.821_jprb , 0.786_jprb , 0.820_jprb /)
1141 zrf4(1:4)= (/ 2.08e-3_jprb , 3.06e-3_jprb, 5.32e-3_jprb, 5.59e-3_jprb /)
1142 
1143 zroma6(1:6)= (/ 0.00008_jprb , 0.00008_jprb , 0.00008_jprb , 0.0105_jprb , 0.264_jprb , 0.465_jprb /)
1144 zromb6(1:6)= (/ 0.23_jprb , 0.23_jprb , 0.23_jprb , 0.22_jprb , 0.09_jprb , 0.001_jprb /)
1145 zrasy6(1:6)= (/ 0.88_jprb , 0.88_jprb , 0.88_jprb , 0.89_jprb , 0.94_jprb , 0.97_jprb /)
1146 
1147 zra6(1:6)= (/ 1.5_jprb , 1.5_jprb , 1.5_jprb , 1.5_jprb , 1.5_jprb , 1.5_jprb /)
1148 zrb6(1:6)= (/ 0.50_jprb , 0.50_jprb , 0.50_jprb , 0.78_jprb , 1.13_jprb , 2.00_jprb /)
1149 zrc6(1:6)= (/ 5.58e-7_jprb , 5.58e-7_jprb , 5.58e-7_jprb , 2.18e-5_jprb, 8.55e-4_jprb, 1.94e-1_jprb /)
1150 zrd6(1:6)= (/ 1.25e-7_jprb , 1.25e-7_jprb , 1.25e-7_jprb , 2.25e-5_jprb, 1.28e-3_jprb, 8.04e-3_jprb /)
1151 zre6(1:6)= (/ 0.841_jprb , 0.841_jprb , 0.841_jprb , 0.821_jprb , 0.786_jprb , 0.820_jprb /)
1152 zrf6(1:6)= (/ 2.08e-3_jprb , 2.08e-3_jprb , 2.08e-3_jprb , 3.06e-3_jprb, 5.32e-3_jprb, 5.59e-3_jprb /)
1153 
1154 
1155 !=====================================================================
1156 
1157 !* 2. SET VALUES.
1158 ! -----------
1159 
1160 
1161 IF (lonewsw) THEN
1162  zpdh2o = zpdhnis
1163  zpdumg = zpdunis
1164  zprh2o = zprhnis
1165  zprumg = zprunis
1166  rtdh2o = ztdhnis
1167  rtdumg = ztdunis
1168  rth2o = zthnis
1169  rtumg = ztunis
1170 ENDIF
1171 
1172 rpdh1=zpdh2o+_one_
1173 rpdu1=zpdumg+_one_
1174 zh2o=_one_/( 10._jprb* rg * rpdh1 )
1175 zumg=_one_/( 10._jprb* rg * rpdu1 )
1176 rpnu = zumg/(zprumg**zpdumg)
1177 rpnh = zh2o/(zprh2o**zpdh2o)
1178 
1179 DO jtyps=1,ntyps
1180  ztweight(jtyps)=_zero_
1181 END DO
1182 
1183 DO jw=1,ntsw
1184  rsun(jw)=_zero_
1185  rswce(jw)=_zero_
1186  rswcp(jw)=_zero_
1187 
1188  DO jtyps=1,ntyps
1189  rweight(jw,jtyps)=_zero_
1190  END DO
1191 
1192  DO jc3=1,3
1193  d(jw,jc3)=_zero_
1194  ENDDO
1195  DO jc6=1,6
1196  rray(jw,jc6)=_zero_
1197  ENDDO
1198  DO ji=1,3
1199  DO jj=1,7
1200  apad(jw,ji,jj)=_zero_
1201  bpad(jw,ji,jj)=_zero_
1202  ENDDO
1203  ENDDO
1204 ENDDO
1205 
1206 IF (ksw == 2) THEN
1207  radjust=zadjus2
1208  rhsrta=zrto1
1209  rhsrtb=zrto2
1210  DO jw=1,ksw
1211  rsun(jw)=zsun2(jw)
1212 
1213  rswce(jw)=zswce2(jw)
1214  rswcp(jw)=zswcp2(jw)
1215 
1216  DO jtyps=1,ntyps
1217  ztweight(jtyps)=ztweight(jtyps)+zweight2(jw,jtyps)*zsun2(jw)
1218  END DO
1219 
1220  rroma(jw)=zroma2(jw)
1221  rromb(jw)=zromb2(jw)
1222  rrasy(jw)=zrasy2(jw)
1223  rhsra(jw)=zra2(jw)
1224  rhsrb(jw)=zrb2(jw)
1225  rhsrc(jw)=zrc2(jw)
1226  rhsrd(jw)=zrd2(jw)
1227  rhsre(jw)=zre2(jw)
1228  rhsrf(jw)=zrf2(jw)
1229 
1230  DO jc3=1,3
1231  d(jw,jc3)=zd2(jw,jc3)
1232  ENDDO
1233  DO jc6=1,6
1234  rray(jw,jc6)=zray2(jw,jc6)
1235  ENDDO
1236  DO ji=1,3
1237  DO jj=1,7
1238  apad(jw,ji,jj)=zapad2(jw,ji,jj)
1239  bpad(jw,ji,jj)=zbpad2(jw,ji,jj)
1240  ENDDO
1241  ENDDO
1242  ENDDO
1243 
1244  DO jw=1,ksw
1245  DO jtyps=1,ntyps
1246  rweight(jw,jtyps)=zweight2(jw,jtyps)/ztweight(jtyps)
1247  END DO
1248 
1249  DO jm=1,12
1250  im=mod(jm+5,12)+1
1251  ralbice_ar(im,jw)=zalbice2(im,jw)
1252  ralbice_an(jm,jw)=ralbice_ar(im,jw)
1253  END DO
1254  END DO
1255 
1256 ELSEIF (ksw == 4) THEN
1257  radjust=zadjus4
1258  rhsrta=zrto1
1259  rhsrtb=zrto2
1260  DO jw=1,ksw
1261  rsun(jw)=zsun4(jw)
1262 
1263  rswce(jw)=zswce4(jw)
1264  rswcp(jw)=zswcp4(jw)
1265 
1266  DO jtyps=1,ntyps
1267  ztweight(jtyps)=ztweight(jtyps)+zweight4(jw,jtyps)*zsun4(jw)
1268  END DO
1269 
1270  rroma(jw)=zroma4(jw)
1271  rromb(jw)=zromb4(jw)
1272  rrasy(jw)=zrasy4(jw)
1273  rhsra(jw)=zra4(jw)
1274  rhsrb(jw)=zrb4(jw)
1275  rhsrc(jw)=zrc4(jw)
1276  rhsrd(jw)=zrd4(jw)
1277  rhsre(jw)=zre4(jw)
1278  rhsrf(jw)=zrf4(jw)
1279 
1280  DO jc3=1,3
1281  d(jw,jc3)=zd4(jw,jc3)
1282  ENDDO
1283  DO jc6=1,6
1284  rray(jw,jc6)=zray4(jw,jc6)
1285  ENDDO
1286  DO ji=1,3
1287  DO jj=1,7
1288  apad(jw,ji,jj)=zapad4(jw,ji,jj)
1289  bpad(jw,ji,jj)=zbpad4(jw,ji,jj)
1290  ENDDO
1291  ENDDO
1292  ENDDO
1293 
1294  DO jw=1,ksw
1295  DO jtyps=1,ntyps
1296  rweight(jw,jtyps)=zweight4(jw,jtyps)/ztweight(jtyps)
1297  END DO
1298 
1299  DO jm=1,12
1300  im=mod(jm+5,12)+1
1301  ralbice_ar(im,jw)=zalbice4(im,jw)
1302  ralbice_an(jm,jw)=ralbice_ar(im,jw)
1303  END DO
1304  END DO
1305 
1306 ELSEIF (ksw == 6) THEN
1307  radjust=zadjus6
1308  rhsrta=zrto1
1309  rhsrtb=zrto2
1310  DO jw=1,ksw
1311  rsun(jw)=zsun6(jw)
1312 
1313  rswce(jw)=zswce6(jw)
1314  rswcp(jw)=zswcp6(jw)
1315 
1316  DO jtyps=1,ntyps
1317  ztweight(jtyps)=ztweight(jtyps)+zweight6(jw,jtyps)*zsun6(jw)
1318  END DO
1319 
1320  rroma(jw)=zroma6(jw)
1321  rromb(jw)=zromb6(jw)
1322  rrasy(jw)=zrasy6(jw)
1323  rhsra(jw)=zra6(jw)
1324  rhsrb(jw)=zrb6(jw)
1325  rhsrc(jw)=zrc6(jw)
1326  rhsrd(jw)=zrd6(jw)
1327  rhsre(jw)=zre6(jw)
1328  rhsrf(jw)=zrf6(jw)
1329 
1330  DO jc3=1,3
1331  d(jw,jc3)=zd6(jw,jc3)
1332  ENDDO
1333  DO jc6=1,6
1334  rray(jw,jc6)=zray6(jw,jc6)
1335  ENDDO
1336  DO ji=1,3
1337  DO jj=1,7
1338  apad(jw,ji,jj)=zapad6(jw,ji,jj)
1339  bpad(jw,ji,jj)=zbpad6(jw,ji,jj)
1340  ENDDO
1341  ENDDO
1342  ENDDO
1343 
1344  DO jw=1,ksw
1345  DO jtyps=1,ntyps
1346  rweight(jw,jtyps)=zweight6(jw,jtyps)/ztweight(jtyps)
1347  END DO
1348 
1349  DO jm=1,12
1350  im=mod(jm+5,12)+1
1351  ralbice_ar(im,jw)=zalbice6(im,jw)
1352  ralbice_an(jm,jw)=ralbice_ar(im,jw)
1353  END DO
1354  END DO
1355 
1356 ELSE
1357 ! CALL ABOR1('SUSWN: WRONG NUMBER OF SW INTERVALS')
1358  stop 'SUSWN: WRONG NUMBER OF SW INTERVALS'
1359 ENDIF
1360 
1361 ! ----------------------------------------------------------------
1362 
1363 !* 7. PRINT VALUES.
1364 ! ------------
1365 
1366 
1367 ! PRINT 9700,RPDH1,RPDU1,RPNU,RPNH
1368 !9700 FORMAT(1X,'RPDH1,RPDU1,RPNU,RPNH ',4F10.5)
1369 ! DO JW=1,KSW
1370 ! PRINT *,' SW INTERVAL ',JW
1371 ! PRINT 9701,JW,RSUN(JW),RSWCE(JW),RSWCP(JW)
1372 !9701 FORMAT(1X,I3,F10.7,2F10.5)
1373 ! PRINT 9702,JW,(D(JW,JC3),JC3=1,3)
1374 !9702 FORMAT(1X,I3,3F10.5)
1375 ! PRINT 9703,JW,(RRAY(JW,JC6),JC6=1,6)
1376 !9703 FORMAT(1X,I3,6E15.8)
1377 ! PRINT 9704,JW,(JABS,(APAD(JW,JABS,JJ),JJ=1,7),JABS=1,3)
1378 !9704 FORMAT(1X,I3,(I3,7E15.8))
1379 ! PRINT 9706,JW,RROMA(JW),RROMB(JW),RRASY(JW),RHSRTA,RHSRTB
1380 !9706 FORMAT(1X,I3,' Rain Optics from Rain Rate: ',F8.5,F6.3,3F6.3)
1381 ! PRINT 9707,JW,RHSRA(JW),RHSRB(JW),RHSRC(JW),RHSRD(JW)
1382 ! & ,RHSRE(JW),RHSRF(JW)
1383 !9707 FORMAT(1X,I3,' Rain Optics as function of Reff: ',6E11.4)
1384 ! ENDDO
1385 
1386 ! ----------------------------------------------------------------
1387 
1388 RETURN
1389 END SUBROUTINE suswn
real(kind=jprb), dimension(6) rhsre
Definition: yoesw.F90:110
Definition: yoesw.F90:1
real(kind=jprb), dimension(6, 3) d
Definition: yoesw.F90:28
real(kind=jprb), dimension(6, 2, 7) rexpo3
Definition: yoesw.F90:29
real(kind=jprb) rth2o
Definition: yoesw.F90:26
integer(kind=jpim) ntsw
Definition: yoerad.F90:30
integer(kind=jpim) ntyps
Definition: yoesw.F90:125
integer(kind=jpim), dimension(6) nexpo3
Definition: yoesw.F90:30
real(kind=jprb) rpnu
Definition: yoesw.F90:21
real(kind=jprb), dimension(6) rhsrb
Definition: yoesw.F90:107
!$Id mode_top_bound COMMON comconstr omeg dissip_zref ihf INTEGER im
Definition: comconst.h:7
!$Id jm
Definition: comconst.h:7
real(kind=jprb), dimension(:), allocatable rsun
Definition: yoesw.F90:16
real(kind=jprb), dimension(6, 3, 7) bpad
Definition: yoesw.F90:14
real(kind=jprb) rtdumg
Definition: yoesw.F90:25
real(kind=jprb), dimension(6) rrasy
Definition: yoesw.F90:104
real(kind=jprb) rg
Definition: yomcst.F90:29
real(kind=jprb), dimension(6) rhsrc
Definition: yoesw.F90:108
logical lonewsw
Definition: yoerad.F90:50
real(kind=jprb), dimension(6) rromb
Definition: yoesw.F90:103
real(kind=jprb) rpdh1
Definition: yoesw.F90:18
real(kind=jprb), dimension(6) rhsrd
Definition: yoesw.F90:109
real(kind=jprb) rtumg
Definition: yoesw.F90:27
real(kind=jprb), dimension(6, 3, 7) apad
Definition: yoesw.F90:13
real(kind=jprb), dimension(6) rswce
Definition: yoesw.F90:22
Definition: yoerad.F90:1
real(kind=jprb), dimension(6) rhsra
Definition: yoesw.F90:106
real(kind=jprb) rtdh2o
Definition: yoesw.F90:24
subroutine suswn(KTSW, KSW)
Definition: suswn.F90:2
real(kind=jprb), dimension(6) rroma
Definition: yoesw.F90:102
real(kind=jprb) rhsrta
Definition: yoesw.F90:112
real(kind=jprb) rpnh
Definition: yoesw.F90:20
real(kind=jprb) radjust
Definition: yoesw.F90:127
real(kind=jprb), dimension(6) rhsrf
Definition: yoesw.F90:111
real(kind=jprb), dimension(6, 6) rray
Definition: yoesw.F90:15
Definition: yomcst.F90:1
real(kind=jprb) rhsrtb
Definition: yoesw.F90:113
real(kind=jprb) rpdu1
Definition: yoesw.F90:19
real(kind=jprb), dimension(6, 8) rweight
Definition: yoesw.F90:124
real(kind=jprb), dimension(6) rswcp
Definition: yoesw.F90:23