LMDZ
suaersn.F90
Go to the documentation of this file.
1 SUBROUTINE suaersn (KTSW, KSW)
2 
3 !**** *SUAERS* - INITIALIZE COMMON YOEAER
4 
5 ! PURPOSE.
6 ! --------
7 ! INITIALIZE YOEAER, THE COMMON THAT CONTAINS THE
8 ! RADIATIVE CHARACTERISTICS OF THE AEROSOLS
9 
10 !** INTERFACE.
11 ! ----------
12 ! ----- -----
13 
14 ! EXPLICIT ARGUMENTS :
15 ! --------------------
16 ! NONE
17 
18 ! IMPLICIT ARGUMENTS :
19 ! --------------------
20 ! COMMON YOEAER
21 
22 ! METHOD.
23 ! -------
24 ! SEE DOCUMENTATION
25 
26 ! EXTERNALS.
27 ! ----------
28 
29 ! REFERENCE.
30 ! ----------
31 ! ECMWF RESEARCH DEPARTMENT DOCUMENTATION OF THE "IFS MODEL"
32 
33 ! AUTHOR.
34 ! -------
35 ! JEAN-JACQUES MORCRETTE *ECMWF*
36 
37 ! MODIFICATIONS.
38 ! --------------
39 ! ORIGINAL : 88-02-15
40 ! 96-01-27 JJ Morcrette Various spectral resolutions
41 ! 99-05-25 JJMorcrette Revised aerosol optical properties
42 ! 00-10-25 JJMorcrette 6 spectral intervals
43 ! M.Hamrud 01-Oct-2003 CY28 Cleaning
44 
45 ! ------------------------------------------------------------------
46 
47 USE parkind1 ,ONLY : jpim ,jprb
48 USE yomhook ,ONLY : lhook, dr_hook
49 
50 USE yoesw , ONLY : rtaua ,rpiza ,rcga
51 
52 ! ----------------------------------------------------------------
53 
54 IMPLICIT NONE
55 
56 INTEGER(KIND=JPIM),INTENT(IN) :: KTSW
57 INTEGER(KIND=JPIM),INTENT(IN) :: KSW
58 REAL(KIND=JPRB) :: ZTAUA2(2,6) ,ZPIZA2(2,6) ,ZCGA2(2,6)
59 REAL(KIND=JPRB) :: ZTAUA4(4,6) ,ZPIZA4(4,6) ,ZCGA4(4,6)
60 REAL(KIND=JPRB) :: ZTAUA6(6,6) ,ZPIZA6(6,6) ,ZCGA6(6,6)
61 
62 INTEGER(KIND=JPIM) :: JAER, JNU
63 REAL(KIND=JPRB) :: ZHOOK_HANDLE
64 
65 ! ----------------------------------------------------------------
66 
67 !* 1. SHORTWAVE COEFFICIENTS
68 ! ----------------------
69 !=======================================================================
70 !-- The (old) five aerosol types were respectively:
71 
72 ! 1/ continental average (+desert) 2/ maritime
73 ! 3/ urban 4/ volcanic active
74 ! 5/ stratospheric background
75 
76 !-- old values were not spectrally defined:
77 ! ZTAU2 = .730719, .912819, .725059, .745405, .682188
78 ! ZPIZA2 = .872212, .982545, .623143, .944887, .997975
79 ! ZCGA2 = .647596, .739002, .580845, .662657, .624246
80 !=======================================================================
81 
82 !-- The six aerosol types are respectively:
83 
84 ! 1/ continental average 2/ maritime
85 ! 3/ desert 4/ urban
86 ! 5/ volcanic active 6/ stratospheric background
87 
88 ! The quantities given are:
89 ! TAU : ratio of average optical thickness in interval to that at 0.55
90 ! micron
91 ! PIZA: average single scattering albedo
92 ! CGA : average asymmetry factor
93 
94 ! computed from Hess and Koepke (con, mar, des, urb)
95 ! from Bonnel et al. (vol, str)
96 
97 ! 1.1 TWO SPECTRAL INTERVALS (0.25-0.69-4.00microns)
98 
99 IF (lhook) CALL dr_hook('SUAERSN',0,zhook_handle)
100 ztaua2(1, :)= (/&
101  & 1.69446_jprb , 1.11855_jprb , 1.09212_jprb , 1.72145_jprb , 1.03858_jprb , 1.12044_jprb /)
102 ztaua2(2, :)= (/&
103  & 0.40174_jprb , 0.89383_jprb , 0.89546_jprb , 0.40741_jprb , 0.51143_jprb , 0.32646_jprb /)
104 
105 zpiza2(1, :)= (/&
106  & .9148907_jprb, .9956173_jprb, .7504584_jprb, .8131335_jprb, .9401905_jprb, .9999999_jprb/)
107 zpiza2(2, :)= (/&
108  & .8814597_jprb, .9920407_jprb, .9239428_jprb, .7546879_jprb, .9515548_jprb, .9938563_jprb/)
109 
110 zcga2(1, :)= (/&
111  & 0.729019_jprb, 0.803129_jprb, 0.784592_jprb, 0.712208_jprb, .7008249_jprb, .7270548_jprb/)
112 zcga2(2, :)= (/&
113  & 0.663224_jprb, 0.793746_jprb, 0.696315_jprb, 0.652612_jprb, .6608509_jprb, .6318786_jprb/)
114 
115 ! 1.2 FOUR SPECTRAL INTERVALS (0.25-0.69-1.19-2.38-4.00microns)
116 
117 ztaua4(1, :)= (/&
118  & 1.69446_jprb , 1.11855_jprb , 1.09212_jprb , 1.72145_jprb , 1.03858_jprb , 1.12044_jprb /)
119 ztaua4(2, :)= (/&
120  & 0.52838_jprb , 0.93285_jprb , 0.93449_jprb , 0.53078_jprb , 0.67148_jprb , 0.46608_jprb /)
121 ztaua4(3, :)= (/&
122  & 0.20543_jprb , 0.84642_jprb , 0.84958_jprb , 0.21673_jprb , 0.28270_jprb , 0.10915_jprb /)
123 ztaua4(4, :)= (/&
124  & 0.10849_jprb , 0.66699_jprb , 0.65255_jprb , 0.11600_jprb , 0.06529_jprb , 0.04468_jprb /)
125 
126 zpiza4(1, :)= (/&
127  & .9148907_jprb, .9956173_jprb, .7504584_jprb, .8131335_jprb, .9401905_jprb, .9999999_jprb/)
128 zpiza4(2, :)= (/&
129  & .8970131_jprb, .9984940_jprb, .9245594_jprb, .7768385_jprb, .9532763_jprb, .9999999_jprb/)
130 zpiza4(3, :)= (/&
131  & .8287144_jprb, .9949396_jprb, .9279543_jprb, .6765051_jprb, .9467578_jprb, .9955938_jprb/)
132 zpiza4(4, :)= (/&
133  & .5230504_jprb, .7868518_jprb, .8531531_jprb, .4048149_jprb, .8748231_jprb, .2355667_jprb/)
134 
135 zcga4(1, :)= (/&
136  & 0.729019_jprb, 0.803129_jprb, 0.784592_jprb, 0.712208_jprb, .7008249_jprb, .7270548_jprb/)
137 zcga4(2, :)= (/&
138  & 0.668431_jprb, 0.788530_jprb, 0.698682_jprb, 0.657422_jprb, .6735182_jprb, .6519706_jprb/)
139 zcga4(3, :)= (/&
140  & 0.636342_jprb, 0.802467_jprb, 0.691305_jprb, 0.627497_jprb, .6105750_jprb, .4760794_jprb/)
141 zcga4(4, :)= (/&
142  & 0.700610_jprb, 0.818871_jprb, 0.702399_jprb, 0.689886_jprb, .4629866_jprb, .1907639_jprb/)
143 
144 ! 1.3 SIX SPECTRAL INTERVALS (0.185-0.25-0.44-0.69-1.19-2.38-4.00microns)
145 
146 ztaua6(1, :)= (/&
147  & 1.69446_jprb , 1.11855_jprb , 1.09212_jprb , 1.72145_jprb , 1.03858_jprb , 1.12044_jprb /)
148 ztaua6(2, :)= (/&
149  & 1.69446_jprb , 1.11855_jprb , 1.09212_jprb , 1.72145_jprb , 1.03858_jprb , 1.12044_jprb /)
150 ztaua6(3, :)= (/&
151  & 1.69446_jprb , 1.11855_jprb , 1.09212_jprb , 1.72145_jprb , 1.03858_jprb , 1.12044_jprb /)
152 ztaua6(4, :)= (/&
153  & 0.52838_jprb , 0.93285_jprb , 0.93449_jprb , 0.53078_jprb , 0.67148_jprb , 0.46608_jprb /)
154 ztaua6(5, :)= (/&
155  & 0.20543_jprb , 0.84642_jprb , 0.84958_jprb , 0.21673_jprb , 0.28270_jprb , 0.10915_jprb /)
156 ztaua6(6, :)= (/&
157  & 0.10849_jprb , 0.66699_jprb , 0.65255_jprb , 0.11600_jprb , 0.06529_jprb , 0.04468_jprb /)
158 
159 zpiza6(1, :)= (/&
160  & .9148907_jprb, .9956173_jprb, .7504584_jprb, .8131335_jprb, .9401905_jprb, .9999999_jprb/)
161 zpiza6(2, :)= (/&
162  & .9148907_jprb, .9956173_jprb, .7504584_jprb, .8131335_jprb, .9401905_jprb, .9999999_jprb/)
163 zpiza6(3, :)= (/&
164  & .9148907_jprb, .9956173_jprb, .7504584_jprb, .8131335_jprb, .9401905_jprb, .9999999_jprb/)
165 zpiza6(4, :)= (/&
166  & .8970131_jprb, .9984940_jprb, .9245594_jprb, .7768385_jprb, .9532763_jprb, .9999999_jprb/)
167 zpiza6(5, :)= (/&
168  & .8287144_jprb, .9949396_jprb, .9279543_jprb, .6765051_jprb, .9467578_jprb, .9955938_jprb/)
169 zpiza6(6, :)= (/&
170  & .5230504_jprb, .7868518_jprb, .8531531_jprb, .4048149_jprb, .8748231_jprb, .2355667_jprb/)
171 
172 zcga6(1, :)= (/&
173  & 0.729019_jprb, 0.803129_jprb, 0.784592_jprb, 0.712208_jprb, .7008249_jprb, .7270548_jprb/)
174 zcga6(2, :)= (/&
175  & 0.729019_jprb, 0.803129_jprb, 0.784592_jprb, 0.712208_jprb, .7008249_jprb, .7270548_jprb/)
176 zcga6(3, :)= (/&
177  & 0.729019_jprb, 0.803129_jprb, 0.784592_jprb, 0.712208_jprb, .7008249_jprb, .7270548_jprb/)
178 zcga6(4, :)= (/&
179  & 0.668431_jprb, 0.788530_jprb, 0.698682_jprb, 0.657422_jprb, .6735182_jprb, .6519706_jprb/)
180 zcga6(5, :)= (/&
181  & 0.636342_jprb, 0.802467_jprb, 0.691305_jprb, 0.627497_jprb, .6105750_jprb, .4760794_jprb/)
182 zcga6(6, :)= (/&
183  & 0.700610_jprb, 0.818871_jprb, 0.702399_jprb, 0.689886_jprb, .4629866_jprb, .1907639_jprb/)
184 
185 ! ----------------------------------------------------------------
186 
187 IF (ksw == 2) THEN
188  DO jnu=1,ksw
189  DO jaer=1,6
190  rtaua(jnu,jaer)=ztaua2(jnu,jaer)
191  rpiza(jnu,jaer)=zpiza2(jnu,jaer)
192  rcga(jnu,jaer) =zcga2(jnu,jaer)
193  ENDDO
194  ENDDO
195 ELSEIF (ksw == 4) THEN
196  DO jnu=1,ksw
197  DO jaer=1,6
198  rtaua(jnu,jaer)=ztaua4(jnu,jaer)
199  rpiza(jnu,jaer)=zpiza4(jnu,jaer)
200  rcga(jnu,jaer) =zcga4(jnu,jaer)
201  ENDDO
202  ENDDO
203 ELSEIF (ksw == 6) THEN
204  DO jnu=1,ksw
205  DO jaer=1,6
206  rtaua(jnu,jaer)=ztaua6(jnu,jaer)
207  rpiza(jnu,jaer)=zpiza6(jnu,jaer)
208  rcga(jnu,jaer) =zcga6(jnu,jaer)
209  ENDDO
210  ENDDO
211 ELSEIF (ksw == 14 .AND. ktsw == 14) THEN
212  print *,'SUAERSN: 14-SPECTRAL INTERVALS --> RRTM_SW'
213 ELSE
214  stop 'SUAERSN: WRONG NUMBER OF SPECTRAL INTERVALS'
215 ENDIF
216 
217 ! ----------------------------------------------------------------
218 
219 IF (lhook) CALL dr_hook('SUAERSN',1,zhook_handle)
220 END SUBROUTINE suaersn
Definition: yoesw.F90:1
integer, parameter jprb
Definition: parkind1.F90:31
real(kind=jprb), dimension(6, 6) rtaua
Definition: yoesw.F90:115
logical lhook
Definition: yomhook.F90:12
subroutine suaersn(KTSW, KSW)
Definition: suaersn.F90:2
real(kind=jprb), dimension(6, 6) rcga
Definition: yoesw.F90:117
subroutine dr_hook(CDNAME, KSWITCH, PKEY)
Definition: yomhook.F90:17
integer, parameter jpim
Definition: parkind1.F90:13
real(kind=jprb), dimension(6, 6) rpiza
Definition: yoesw.F90:116