GCC Code Coverage Report


Directory: ./
File: rad/aeropt_6bands_rrtm.f90
Date: 2022-01-11 19:19:34
Exec Total Coverage
Lines: 0 161 0.0%
Branches: 0 188 0.0%

Line Branch Exec Source
1 !
2 ! $Id: aeropt_6bands_rrtm.F90 3480 2019-04-18 15:13:26Z fairhead $
3 !
4 SUBROUTINE AEROPT_6BANDS_RRTM ( &
5 pdel, m_allaer, RHcl, &
6 tau_allaer, piz_allaer, &
7 cg_allaer, m_allaer_pi, &
8 flag_aerosol, flag_bc_internal_mixture, zrho, ok_volcan )
9
10 USE dimphy
11 USE aero_mod
12 USE YOMCST, ONLY: RG
13
14 ! Yves Balkanski le 12 avril 2006
15 ! Celine Deandreis
16 ! Anne Cozic Avril 2009
17 ! a partir d'une sous-routine de Johannes Quaas pour les sulfates
18 ! Olivier Boucher f�vrier 2014 pour passage � RRTM
19 ! a partir des propri�t�s optiques fournies par Yves Balkanski
20 !
21 IMPLICIT NONE
22 !
23 INCLUDE "clesphys.h"
24 !
25 ! Input arguments:
26 !
27 REAL, DIMENSION(klon,klev), INTENT(IN) :: pdel
28 REAL, DIMENSION(klon,klev,naero_tot), INTENT(IN) :: m_allaer
29 REAL, DIMENSION(klon,klev,naero_tot), INTENT(IN) :: m_allaer_pi
30 REAL, DIMENSION(klon,klev), INTENT(IN) :: RHcl ! humidite relative ciel clair
31 INTEGER, INTENT(IN) :: flag_aerosol
32 LOGICAL, INTENT(IN) :: flag_bc_internal_mixture
33 REAL, DIMENSION(klon,klev), INTENT(IN) :: zrho
34 LOGICAL, INTENT(IN) :: ok_volcan ! volcanic diags
35 !
36 ! Output arguments:
37 ! 2= total aerosols
38 ! 1= natural aerosols
39 !
40 REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(OUT) :: tau_allaer ! epaisseur optique aerosol
41 REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(OUT) :: piz_allaer ! single scattering albedo aerosol
42 REAL, DIMENSION(klon,klev,2,nbands_sw_rrtm), INTENT(OUT) :: cg_allaer ! asymmetry parameter aerosol
43 !
44 ! Local
45 !
46 LOGICAL :: soluble
47 INTEGER :: i, k,n, inu, m
48 INTEGER :: spsol, spinsol
49 INTEGER :: RH_num(klon,klev)
50
51 INTEGER, PARAMETER :: nb_level=19 ! number of vertical levels in DATA
52
53 INTEGER, PARAMETER :: naero_soluble=9 ! 1- BC soluble; 2- POM soluble; 3- SO4. acc. 4- SO4 coarse
54 ! 5- seasalt super coarse 6- seasalt
55 ! coarse 7- seasalt acc.
56 ! 8- NO3 coarse 9- NO3 acc.
57 INTEGER, PARAMETER :: naero_insoluble=4 ! 1- Dust; 2- BC insoluble; 3- POM insoluble; 4- NO3 insoluble
58
59 INTEGER, PARAMETER :: nbre_RH=12
60 REAL,PARAMETER :: RH_tab(nbre_RH)=(/0.,10.,20.,30.,40.,50.,60.,70.,80.,85.,90.,95./)
61 REAL, PARAMETER :: RH_MAX=95.
62 REAL :: delta(klon,klev), rh(klon,klev)
63 REAL :: tau_ae2b_int ! Intermediate computation of epaisseur optique aerosol
64 REAL :: piz_ae2b_int ! Intermediate computation of Single scattering albedo
65 REAL :: cg_ae2b_int ! Intermediate computation of Assymetry parameter
66 REAL :: Fact_RH(nbre_RH)
67 REAL :: fac
68 REAL :: zdh(klon,klev)
69 INTEGER, ALLOCATABLE, DIMENSION(:) :: aerosol_name
70 INTEGER :: nb_aer
71
72 REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) :: tau_ae
73 REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) :: piz_ae
74 REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) :: cg_ae
75
76 REAL, DIMENSION(klon,klev,naero_tot,nbands_sw_rrtm) :: tau_ae_pi
77 REAL, DIMENSION(klon,klev,id_ASBCM_phy:id_ASBCM_phy,nbands_sw_rrtm) :: piz_ae_pi
78 REAL, DIMENSION(klon,klev,id_ASBCM_phy:id_ASBCM_phy,nbands_sw_rrtm) :: cg_ae_pi
79 !
80 ! Proprietes optiques
81 !
82 REAL:: alpha_aers_6bands(nbre_RH,nbands_sw_rrtm,naero_soluble) !--unit m2/g
83 REAL:: alpha_aeri_6bands(nbands_sw_rrtm,naero_insoluble) !--unit m2/g
84 REAL:: cg_aers_6bands(nbre_RH,nbands_sw_rrtm,naero_soluble) !--unitless
85 REAL:: cg_aeri_6bands(nbands_sw_rrtm,naero_insoluble) !--unitless
86 REAL:: piz_aers_6bands(nbre_RH,nbands_sw_rrtm,naero_soluble) !--unitless
87 REAL:: piz_aeri_6bands(nbands_sw_rrtm,naero_insoluble) !--unitless
88 !
89 ! BC internal mixture
90 !
91 INTEGER, PARAMETER :: nbclassbc = 6 ! Added by Rong Wang/OB for the 5 fractions
92 ! of BC in the soluble mode:
93 ! bc_content/0.001, 0.01, 0.02, 0.05, 0.1, 0.2/
94 ! for Maxwell-Garnet internal mixture
95 ! Detailed theory can be found in R. Wang Estimation of global black carbon direct
96 ! radiative forcing and its uncertainty constrained by observations. J.
97 ! Geophys. Res. Atmos. Added by R. Wang and OB
98 REAL :: alpha_MG_6bands(nbre_RH,nbands_sw_rrtm,nbclassbc)
99 REAL :: cg_MG_6bands(nbre_RH,nbands_sw_rrtm,nbclassbc)
100 REAL :: piz_MG_6bands(nbre_RH,nbands_sw_rrtm,nbclassbc)
101 !
102 INTEGER :: aerindex, classbc, classbc_pi
103 REAL :: tmp_var, tmp_var_pi, BC_massfra, BC_massfra_pi
104 CHARACTER*20 :: modname
105 !
106 REAL, PARAMETER :: tau_min = 1.e-7
107
108 !***************************************************************************
109 !--the order of the soluble species has to follow the spsol index below
110 !--the order of the insoluble species has to follow the spinsol index below
111
112 DATA alpha_aers_6bands/ &
113 ! BC Accumulation Soluble (AS)
114 5.276, 5.276, 5.276, 5.276, 5.276, 5.797, 6.353, 7.568, 8.779, 8.920, 9.062,10.403, &
115 5.371, 5.371, 5.371, 5.371, 5.371, 5.870, 6.401, 7.559, 8.720, 8.857, 8.994,10.298, &
116 5.126, 5.126, 5.126, 5.126, 5.126, 5.572, 6.043, 7.073, 8.113, 8.235, 8.359, 9.544, &
117 4.225, 4.225, 4.225, 4.225, 4.225, 4.549, 4.887, 5.624, 6.370, 6.459, 6.548, 7.412, &
118 2.667, 2.667, 2.667, 2.667, 2.667, 2.840, 3.015, 3.382, 3.745, 3.788, 3.832, 4.251, &
119 1.113, 1.113, 1.113, 1.113, 1.113, 1.210, 1.307, 1.506, 1.699, 1.721, 1.744, 1.961, &
120 ! POM Accumulation Soluble (AS)
121 5.962, 5.962, 5.962, 5.962, 5.962, 6.544, 7.153, 8.460, 9.732, 9.877,10.026,11.398, &
122 5.609, 5.609, 5.609, 5.609, 5.609, 6.163, 6.752, 8.041, 9.324, 9.473, 9.624,11.044, &
123 4.527, 4.527, 4.527, 4.527, 4.527, 4.982, 5.476, 6.586, 7.726, 7.861, 7.998, 9.306, &
124 2.697, 2.697, 2.697, 2.697, 2.697, 2.980, 3.293, 4.017, 4.790, 4.884, 4.979, 5.902, &
125 0.918, 0.918, 0.918, 0.918, 0.918, 1.025, 1.146, 1.435, 1.754, 1.794, 1.834, 2.232, &
126 0.105, 0.105, 0.105, 0.105, 0.105, 0.154, 0.211, 0.344, 0.491, 0.509, 0.528, 0.710, &
127 ! Sulfate Coarse Soluble (CS)
128 0.670, 0.670, 0.670, 0.670, 0.905, 0.981, 1.081, 1.217, 1.434, 1.615, 1.940, 2.773, &
129 0.689, 0.689, 0.689, 0.689, 0.930, 1.009, 1.110, 1.247, 1.469, 1.655, 1.980, 2.825, &
130 0.726, 0.726, 0.726, 0.726, 0.978, 1.060, 1.164, 1.306, 1.533, 1.723, 2.056, 2.915, &
131 0.785, 0.785, 0.785, 0.785, 1.056, 1.144, 1.254, 1.406, 1.650, 1.852, 2.203, 3.103, &
132 0.795, 0.795, 0.795, 0.795, 1.064, 1.160, 1.282, 1.449, 1.720, 1.945, 2.340, 3.348, &
133 0.502, 0.502, 0.502, 0.502, 0.656, 0.728, 0.820, 0.950, 1.170, 1.360, 1.706, 2.666, &
134 !-- Sulfate Accumulation (BC content=0)
135 5.246, 5.246, 5.246, 5.246, 7.041, 7.658, 8.437, 9.503,11.204,12.608,15.030,21.080, &
136 4.924, 4.924, 4.924, 4.924, 6.619, 7.258, 8.067, 9.186,10.998,12.507,15.142,21.822, &
137 3.925, 3.925, 3.925, 3.925, 5.304, 5.888, 6.635, 7.686, 9.433,10.921,13.587,20.659, &
138 2.248, 2.248, 2.248, 2.248, 3.079, 3.477, 3.993, 4.738, 6.022, 7.153, 9.261,15.301, &
139 0.720, 0.720, 0.720, 0.720, 1.014, 1.169, 1.374, 1.678, 2.225, 2.726, 3.703, 6.779, &
140 0.069, 0.069, 0.069, 0.069, 0.102, 0.121, 0.146, 0.185, 0.258, 0.328, 0.472, 0.974, &
141 ! Seasalt Super Coarse Soluble (SS)
142 0.189, 0.232, 0.249, 0.270, 0.293, 0.322, 0.361, 0.425, 0.536, 0.634, 0.813, 1.250, &
143 0.192, 0.235, 0.252, 0.274, 0.296, 0.325, 0.365, 0.429, 0.542, 0.639, 0.821, 1.259, &
144 0.196, 0.240, 0.257, 0.279, 0.302, 0.331, 0.371, 0.437, 0.550, 0.649, 0.832, 1.274, &
145 0.204, 0.249, 0.267, 0.289, 0.313, 0.342, 0.384, 0.450, 0.565, 0.666, 0.851, 1.300, &
146 0.222, 0.270, 0.289, 0.313, 0.338, 0.369, 0.413, 0.482, 0.602, 0.705, 0.896, 1.355, &
147 0.244, 0.293, 0.313, 0.338, 0.364, 0.397, 0.443, 0.517, 0.646, 0.757, 0.960, 1.443, &
148 ! Seasalt Coarse Soluble (CS)
149 0.547, 0.657, 0.705, 0.754, 0.817, 0.896, 1.008, 1.169, 1.456, 1.724, 2.199, 3.358, &
150 0.566, 0.679, 0.727, 0.776, 0.840, 0.920, 1.032, 1.196, 1.492, 1.760, 2.238, 3.416, &
151 0.596, 0.714, 0.764, 0.816, 0.882, 0.965, 1.081, 1.250, 1.552, 1.828, 2.310, 3.509, &
152 0.644, 0.771, 0.825, 0.880, 0.951, 1.040, 1.164, 1.345, 1.666, 1.957, 2.462, 3.700, &
153 0.640, 0.772, 0.829, 0.887, 0.965, 1.061, 1.198, 1.398, 1.758, 2.085, 2.658, 4.031, &
154 0.452, 0.562, 0.609, 0.659, 0.728, 0.813, 0.938, 1.125, 1.471, 1.797, 2.384, 3.855, &
155 ! Seasalt Accumulation Soluble (AS)
156 4.270, 5.032, 5.395, 5.772, 6.158, 6.768, 7.510, 8.634,10.695,12.512,15.740,23.122, &
157 3.952, 4.673, 5.030, 5.403, 5.781, 6.399, 7.156, 8.328,10.533,12.524,16.091,24.329, &
158 3.090, 3.676, 3.979, 4.301, 4.622, 5.172, 5.853, 6.941, 9.077,11.083,14.830,23.951, &
159 1.710, 2.069, 2.262, 2.471, 2.678, 3.048, 3.513, 4.285, 5.882, 7.467,10.618,19.102, &
160 0.529, 0.663, 0.737, 0.819, 0.901, 1.050, 1.244, 1.575, 2.301, 3.067, 4.704, 9.712, &
161 0.073, 0.142, 0.177, 0.215, 0.259, 0.328, 0.422, 0.579, 0.913, 1.263, 2.011, 4.358, &
162 ! Nitrate Coarse Soluble (CS)
163 0.688, 0.688, 0.688, 0.755, 0.826, 0.900, 0.994, 1.190, 1.501, 1.804, 2.251, 2.374, &
164 0.712, 0.712, 0.712, 0.781, 0.853, 0.929, 1.023, 1.225, 1.540, 1.846, 2.299, 2.421, &
165 0.754, 0.754, 0.754, 0.826, 0.902, 0.980, 1.077, 1.286, 1.612, 1.925, 2.388, 2.509, &
166 0.809, 0.809, 0.809, 0.887, 0.969, 1.053, 1.160, 1.384, 1.732, 2.069, 2.557, 2.685, &
167 0.786, 0.786, 0.786, 0.867, 0.952, 1.043, 1.157, 1.403, 1.793, 2.171, 2.725, 2.871, &
168 0.703, 0.703, 0.703, 0.767, 0.836, 0.909, 1.002, 1.210, 1.552, 1.901, 2.434, 2.579, &
169 ! Nitrate Accumulation Soluble (AS)
170 5.251, 5.251, 5.251, 5.779, 6.336, 6.920, 7.655, 9.230,11.678,14.026,17.391,18.279, &
171 4.643, 4.643, 4.643, 5.152, 5.696, 6.276, 7.016, 8.640,11.238,13.787,17.511,18.494, &
172 3.373, 3.373, 3.373, 3.790, 4.245, 4.739, 5.383, 6.842, 9.289,11.804,15.637,16.675, &
173 1.779, 1.779, 1.779, 2.029, 2.309, 2.619, 3.033, 4.008, 5.746, 7.645,10.730,11.601, &
174 0.549, 0.549, 0.549, 0.639, 0.742, 0.859, 1.019, 1.412, 2.157, 3.029, 4.552, 5.002, &
175 0.367, 0.367, 0.367, 0.416, 0.471, 0.532, 0.614, 0.808, 1.166, 1.575, 2.281, 2.489 /
176
177 DATA piz_aers_6bands/&
178 ! BC Accumulation Soluble (AS)
179 0.480, 0.480, 0.480, 0.480, 0.480, 0.487, 0.495, 0.513, 0.530, 0.532, 0.534, 0.553, &
180 0.469, 0.469, 0.469, 0.469, 0.469, 0.474, 0.480, 0.497, 0.514, 0.517, 0.519, 0.538, &
181 0.456, 0.456, 0.456, 0.456, 0.456, 0.464, 0.473, 0.495, 0.519, 0.522, 0.524, 0.550, &
182 0.427, 0.427, 0.427, 0.427, 0.427, 0.437, 0.448, 0.476, 0.505, 0.509, 0.512, 0.543, &
183 0.349, 0.349, 0.349, 0.349, 0.349, 0.358, 0.369, 0.396, 0.425, 0.429, 0.432, 0.465, &
184 0.196, 0.196, 0.196, 0.196, 0.196, 0.198, 0.202, 0.213, 0.226, 0.227, 0.229, 0.243, &
185 ! POM Accumulation Soluble (AS)
186 0.956, 0.956, 0.956, 0.956, 0.956, 0.961, 0.964, 0.970, 0.974, 0.975, 0.975, 0.978, &
187 0.965, 0.965, 0.965, 0.965, 0.965, 0.969, 0.972, 0.977, 0.980, 0.980, 0.981, 0.983, &
188 0.969, 0.969, 0.969, 0.969, 0.969, 0.972, 0.975, 0.979, 0.983, 0.983, 0.983, 0.986, &
189 0.953, 0.953, 0.953, 0.953, 0.953, 0.958, 0.962, 0.969, 0.974, 0.975, 0.975, 0.979, &
190 0.892, 0.892, 0.892, 0.892, 0.892, 0.902, 0.912, 0.928, 0.940, 0.942, 0.943, 0.952, &
191 0.826, 0.826, 0.826, 0.826, 0.826, 0.658, 0.568, 0.479, 0.444, 0.442, 0.439, 0.426, &
192 ! Sulfate Coarse Soluble (CS)
193 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
194 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
195 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
196 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
197 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
198 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
199 !-- Sulfate Accumulation (BC content=0)
200 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
201 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
202 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
203 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
204 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
205 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
206 ! Seasalt Super Coarse Soluble (SS)
207 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
208 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
209 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
210 0.999, 0.999, 0.999, 0.999, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
211 0.983, 0.985, 0.986, 0.987, 0.987, 0.988, 0.988, 0.989, 0.989, 0.989, 0.989, 0.989, &
212 0.957, 0.792, 0.765, 0.740, 0.721, 0.704, 0.687, 0.670, 0.652, 0.643, 0.631, 0.617, &
213 ! Seasalt Coarse Soluble (CS)
214 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.001, 1.000, &
215 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
216 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
217 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
218 0.994, 0.994, 0.995, 0.995, 0.995, 0.995, 0.996, 0.996, 0.996, 0.996, 0.996, 0.996, &
219 0.976, 0.867, 0.837, 0.814, 0.796, 0.774, 0.754, 0.735, 0.713, 0.702, 0.690, 0.675, &
220 ! Seasalt Accumulation Soluble (AS)
221 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
222 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
223 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
224 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
225 0.995, 0.996, 0.996, 0.996, 0.997, 0.997, 0.997, 0.998, 0.998, 0.998, 0.998, 0.999, &
226 0.919, 0.607, 0.553, 0.515, 0.480, 0.455, 0.434, 0.421, 0.421, 0.429, 0.449, 0.492, &
227 ! Nitrate Coarse Soluble (CS)
228 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
229 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
230 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
231 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
232 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.998, 0.998, 0.998, 0.998, 0.998, 0.998, &
233 0.707, 0.707, 0.707, 0.705, 0.702, 0.699, 0.697, 0.692, 0.686, 0.683, 0.679, 0.678, &
234 ! Nitrate Accumulation Soluble (AS)
235 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
236 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
237 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
238 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, 1.000, &
239 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, 0.999, &
240 0.362, 0.362, 0.362, 0.362, 0.363, 0.365, 0.367, 0.375, 0.390, 0.406, 0.428, 0.434 /
241
242 DATA cg_aers_6bands/ &
243 ! BC Accumulation Soluble (AS)
244 0.820, 0.820, 0.820, 0.820, 0.820, 0.831, 0.840, 0.852, 0.859, 0.860, 0.860, 0.864, &
245 0.760, 0.760, 0.760, 0.760, 0.760, 0.777, 0.791, 0.812, 0.826, 0.827, 0.828, 0.837, &
246 0.695, 0.695, 0.695, 0.695, 0.695, 0.716, 0.734, 0.762, 0.780, 0.782, 0.784, 0.797, &
247 0.603, 0.603, 0.603, 0.603, 0.603, 0.628, 0.649, 0.685, 0.710, 0.712, 0.715, 0.734, &
248 0.469, 0.469, 0.469, 0.469, 0.469, 0.494, 0.518, 0.559, 0.590, 0.593, 0.597, 0.622, &
249 0.276, 0.276, 0.276, 0.276, 0.276, 0.292, 0.308, 0.337, 0.361, 0.364, 0.367, 0.389, &
250 ! POM Accumulation Soluble (AS)
251 0.687, 0.687, 0.687, 0.687, 0.687, 0.700, 0.711, 0.729, 0.740, 0.741, 0.742, 0.750, &
252 0.685, 0.685, 0.685, 0.685, 0.685, 0.699, 0.712, 0.731, 0.744, 0.745, 0.747, 0.756, &
253 0.673, 0.673, 0.673, 0.673, 0.673, 0.689, 0.702, 0.724, 0.739, 0.741, 0.742, 0.754, &
254 0.637, 0.637, 0.637, 0.637, 0.637, 0.653, 0.667, 0.691, 0.709, 0.711, 0.712, 0.726, &
255 0.553, 0.553, 0.553, 0.553, 0.553, 0.568, 0.582, 0.607, 0.628, 0.630, 0.632, 0.649, &
256 0.340, 0.340, 0.340, 0.340, 0.340, 0.350, 0.361, 0.382, 0.400, 0.402, 0.404, 0.422, &
257 ! Sulfate Coarse Soluble (CS)
258 0.746, 0.746, 0.746, 0.746, 0.779, 0.785, 0.790, 0.796, 0.804, 0.810, 0.816, 0.830, &
259 0.730, 0.730, 0.730, 0.730, 0.764, 0.770, 0.775, 0.782, 0.791, 0.797, 0.806, 0.819, &
260 0.707, 0.707, 0.707, 0.707, 0.746, 0.752, 0.758, 0.765, 0.775, 0.781, 0.790, 0.805, &
261 0.691, 0.691, 0.691, 0.691, 0.736, 0.741, 0.747, 0.754, 0.763, 0.769, 0.778, 0.791, &
262 0.696, 0.696, 0.696, 0.696, 0.748, 0.753, 0.759, 0.767, 0.776, 0.781, 0.789, 0.800, &
263 0.711, 0.711, 0.711, 0.711, 0.766, 0.773, 0.782, 0.791, 0.803, 0.811, 0.822, 0.838, &
264 !-- Sulfate Accumulation (BC content=0)
265 0.674, 0.674, 0.674, 0.674, 0.724, 0.729, 0.735, 0.741, 0.749, 0.753, 0.760, 0.769, &
266 0.677, 0.677, 0.677, 0.677, 0.729, 0.734, 0.740, 0.747, 0.756, 0.761, 0.768, 0.777, &
267 0.671, 0.671, 0.671, 0.671, 0.723, 0.730, 0.737, 0.746, 0.757, 0.764, 0.773, 0.786, &
268 0.638, 0.638, 0.638, 0.638, 0.691, 0.700, 0.710, 0.721, 0.736, 0.746, 0.760, 0.781, &
269 0.553, 0.553, 0.553, 0.553, 0.604, 0.616, 0.629, 0.644, 0.665, 0.680, 0.700, 0.736, &
270 0.344, 0.344, 0.344, 0.344, 0.388, 0.401, 0.416, 0.435, 0.462, 0.482, 0.512, 0.571, &
271 ! Seasalt Super Coarse Soluble (SS)
272 0.795, 0.810, 0.814, 0.819, 0.824, 0.829, 0.832, 0.840, 0.846, 0.849, 0.854, 0.860, &
273 0.788, 0.804, 0.808, 0.813, 0.818, 0.823, 0.828, 0.834, 0.842, 0.847, 0.851, 0.858, &
274 0.775, 0.792, 0.797, 0.803, 0.808, 0.813, 0.820, 0.826, 0.835, 0.840, 0.846, 0.854, &
275 0.754, 0.773, 0.779, 0.785, 0.791, 0.796, 0.803, 0.811, 0.821, 0.827, 0.834, 0.844, &
276 0.735, 0.755, 0.761, 0.768, 0.774, 0.779, 0.786, 0.794, 0.804, 0.810, 0.817, 0.829, &
277 0.712, 0.782, 0.795, 0.808, 0.819, 0.829, 0.840, 0.852, 0.865, 0.873, 0.882, 0.895, &
278 ! Seasalt Coarse Soluble (CS)
279 0.754, 0.770, 0.776, 0.781, 0.784, 0.791, 0.797, 0.805, 0.815, 0.822, 0.828, 0.840, &
280 0.736, 0.753, 0.759, 0.765, 0.771, 0.778, 0.785, 0.793, 0.804, 0.811, 0.820, 0.831, &
281 0.716, 0.735, 0.742, 0.748, 0.754, 0.762, 0.769, 0.778, 0.789, 0.796, 0.807, 0.819, &
282 0.704, 0.725, 0.733, 0.739, 0.745, 0.752, 0.759, 0.768, 0.778, 0.784, 0.792, 0.803, &
283 0.716, 0.737, 0.744, 0.751, 0.756, 0.763, 0.770, 0.777, 0.786, 0.790, 0.795, 0.800, &
284 0.688, 0.730, 0.741, 0.751, 0.761, 0.771, 0.782, 0.795, 0.810, 0.820, 0.833, 0.849, &
285 ! Seasalt Accumulation Soluble (AS)
286 0.686, 0.711, 0.719, 0.726, 0.733, 0.740, 0.748, 0.755, 0.763, 0.767, 0.770, 0.774, &
287 0.690, 0.716, 0.724, 0.731, 0.739, 0.747, 0.756, 0.764, 0.774, 0.778, 0.782, 0.784, &
288 0.683, 0.710, 0.719, 0.727, 0.735, 0.744, 0.754, 0.765, 0.777, 0.784, 0.791, 0.797, &
289 0.649, 0.676, 0.686, 0.695, 0.704, 0.714, 0.726, 0.739, 0.757, 0.768, 0.781, 0.797, &
290 0.559, 0.586, 0.596, 0.606, 0.616, 0.629, 0.643, 0.661, 0.686, 0.703, 0.726, 0.758, &
291 0.341, 0.358, 0.366, 0.375, 0.382, 0.395, 0.408, 0.428, 0.459, 0.484, 0.520, 0.581, &
292 ! Nitrate Coarse Soluble (CS)
293 0.765, 0.765, 0.765, 0.773, 0.779, 0.785, 0.791, 0.803, 0.813, 0.819, 0.827, 0.828, &
294 0.754, 0.754, 0.754, 0.762, 0.769, 0.774, 0.781, 0.790, 0.802, 0.810, 0.817, 0.818, &
295 0.743, 0.743, 0.743, 0.751, 0.758, 0.763, 0.770, 0.779, 0.789, 0.797, 0.804, 0.806, &
296 0.737, 0.737, 0.737, 0.745, 0.752, 0.758, 0.764, 0.773, 0.781, 0.786, 0.792, 0.793, &
297 0.739, 0.739, 0.739, 0.749, 0.757, 0.763, 0.770, 0.779, 0.788, 0.793, 0.797, 0.798, &
298 0.651, 0.651, 0.651, 0.672, 0.690, 0.707, 0.724, 0.751, 0.779, 0.796, 0.813, 0.817, &
299 ! Nitrate Accumulation Soluble (AS)
300 0.713, 0.713, 0.713, 0.723, 0.732, 0.739, 0.746, 0.756, 0.765, 0.769, 0.772, 0.772, &
301 0.724, 0.724, 0.724, 0.734, 0.742, 0.750, 0.757, 0.767, 0.777, 0.782, 0.785, 0.785, &
302 0.719, 0.719, 0.719, 0.729, 0.738, 0.746, 0.754, 0.767, 0.780, 0.787, 0.793, 0.794, &
303 0.673, 0.673, 0.673, 0.685, 0.696, 0.706, 0.717, 0.734, 0.753, 0.766, 0.778, 0.781, &
304 0.565, 0.565, 0.565, 0.580, 0.593, 0.605, 0.619, 0.644, 0.673, 0.693, 0.716, 0.720, &
305 0.328, 0.328, 0.328, 0.338, 0.348, 0.359, 0.371, 0.396, 0.431, 0.459, 0.494, 0.502 /
306
307 DATA alpha_aeri_6bands/ &
308 ! Dust insoluble
309 0.735, 0.765, 0.817, 0.846, 0.718, 0.414, &
310 ! BC insoluble
311 5.276, 5.371, 5.126, 4.225, 2.667, 1.113, &
312 ! POM insoluble
313 5.962, 5.609, 4.527, 2.697, 0.918, 0.105, &
314 ! Nitrate insoluble
315 0.688, 0.712, 0.754, 0.809, 0.786, 0.703 /
316
317 DATA piz_aeri_6bands/ &
318 ! Dust insoluble
319 0.894, 0.902, 0.937, 0.980, 0.993, 0.967, &
320 ! BC insoluble
321 0.820, 0.760, 0.695, 0.603, 0.469, 0.276, &
322 ! POM insoluble
323 0.687, 0.685, 0.673, 0.637, 0.553, 0.340, &
324 ! Nitrate insoluble
325 1.000, 1.000, 1.000, 1.000, 0.999, 0.707 /
326
327 DATA cg_aeri_6bands/ &
328 ! Dust insoluble
329 0.756, 0.737, 0.713, 0.701, 0.696, 0.672, &
330 ! BC insoluble
331 0.480, 0.469, 0.456, 0.427, 0.349, 0.196, &
332 ! POM insoluble
333 0.956, 0.965, 0.969, 0.953, 0.892, 0.826, &
334 ! Nitrate insoluble
335 0.765, 0.754, 0.743, 0.737, 0.739, 0.651 /
336
337 ! Added by R. Wang (July 31 2016)
338 ! properties for BC assuming Maxwell-Garnett rule and internal mixture
339
340 DATA alpha_MG_6bands/ &
341 !--BC content=0.001
342 3.546, 3.546, 3.546, 3.546, 3.640, 3.891, 3.883, 4.354, 4.967, 5.424, 6.412, 9.049, &
343 3.995, 3.995, 3.995, 3.995, 4.073, 4.091, 4.111, 4.209, 4.502, 4.878, 5.591, 8.029, &
344 4.650, 4.650, 4.650, 4.650, 4.661, 4.561, 4.472, 4.386, 4.373, 4.451, 4.726, 6.248, &
345 4.445, 4.445, 4.445, 4.445, 4.393, 4.291, 4.171, 4.017, 3.812, 3.682, 3.514, 3.593, &
346 2.837, 2.837, 2.837, 2.837, 2.824, 2.798, 2.760, 2.696, 2.579, 2.471, 2.265, 1.735, &
347 1.087, 1.087, 1.087, 1.087, 1.095, 1.101, 1.107, 1.110, 1.109, 1.101, 1.074, 0.944, &
348 !--BC content=0.010
349 3.550, 3.550, 3.550, 3.550, 3.623, 3.852, 4.006, 4.342, 4.945, 5.381, 6.394, 8.972, &
350 3.995, 3.995, 3.995, 3.995, 4.082, 4.094, 4.133, 4.235, 4.517, 4.871, 5.601, 8.001, &
351 4.653, 4.653, 4.653, 4.653, 4.662, 4.564, 4.475, 4.393, 4.376, 4.447, 4.736, 6.221, &
352 4.434, 4.434, 4.434, 4.434, 4.386, 4.286, 4.170, 4.021, 3.815, 3.680, 3.524, 3.583, &
353 2.831, 2.831, 2.831, 2.831, 2.820, 2.795, 2.757, 2.695, 2.579, 2.472, 2.270, 1.734, &
354 1.086, 1.086, 1.086, 1.086, 1.095, 1.101, 1.106, 1.110, 1.108, 1.101, 1.075, 0.944, &
355 !--BC content=0.020
356 3.549, 3.549, 3.549, 3.549, 3.630, 3.842, 4.016, 4.335, 4.928, 5.383, 6.369, 8.937, &
357 4.004, 4.004, 4.004, 4.004, 4.096, 4.100, 4.145, 4.243, 4.529, 4.870, 5.595, 7.973, &
358 4.650, 4.650, 4.650, 4.650, 4.662, 4.564, 4.478, 4.397, 4.379, 4.449, 4.734, 6.207, &
359 4.422, 4.422, 4.422, 4.422, 4.378, 4.280, 4.167, 4.020, 3.817, 3.683, 3.527, 3.583, &
360 2.824, 2.824, 2.824, 2.824, 2.815, 2.791, 2.754, 2.693, 2.579, 2.472, 2.272, 1.740, &
361 1.085, 1.085, 1.085, 1.085, 1.094, 1.100, 1.105, 1.109, 1.108, 1.100, 1.075, 0.945, &
362 !--BC content=0.050
363 3.563, 3.563, 3.563, 3.563, 3.662, 3.834, 4.019, 4.318, 4.889, 5.360, 6.305, 8.842, &
364 4.039, 4.039, 4.039, 4.039, 4.130, 4.126, 4.166, 4.261, 4.544, 4.863, 5.573, 7.895, &
365 4.641, 4.641, 4.641, 4.641, 4.659, 4.565, 4.483, 4.407, 4.389, 4.455, 4.731, 6.161, &
366 4.388, 4.388, 4.388, 4.388, 4.356, 4.264, 4.157, 4.017, 3.821, 3.691, 3.537, 3.582, &
367 2.805, 2.805, 2.805, 2.805, 2.801, 2.779, 2.744, 2.687, 2.577, 2.474, 2.279, 1.757, &
368 1.081, 1.081, 1.081, 1.081, 1.091, 1.098, 1.103, 1.107, 1.106, 1.099, 1.074, 0.949, &
369 !--BC content=0.100
370 3.607, 3.607, 3.607, 3.607, 3.701, 3.843, 4.021, 4.302, 4.841, 5.306, 6.214, 8.689, &
371 4.098, 4.098, 4.098, 4.098, 4.175, 4.168, 4.201, 4.291, 4.554, 4.854, 5.529, 7.763, &
372 4.627, 4.627, 4.627, 4.627, 4.651, 4.567, 4.490, 4.421, 4.403, 4.464, 4.723, 6.082, &
373 4.333, 4.333, 4.333, 4.333, 4.319, 4.236, 4.139, 4.011, 3.828, 3.704, 3.554, 3.580, &
374 2.773, 2.773, 2.773, 2.773, 2.778, 2.758, 2.727, 2.675, 2.573, 2.476, 2.291, 1.786, &
375 1.076, 1.076, 1.076, 1.076, 1.087, 1.094, 1.099, 1.103, 1.103, 1.097, 1.073, 0.954, &
376 !--BC content=0.200
377 3.702, 3.702, 3.702, 3.702, 3.768, 3.878, 4.030, 4.278, 4.757, 5.190, 6.032, 8.370, &
378 4.204, 4.204, 4.204, 4.204, 4.255, 4.246, 4.270, 4.345, 4.571, 4.837, 5.440, 7.494, &
379 4.598, 4.598, 4.598, 4.598, 4.633, 4.565, 4.502, 4.445, 4.428, 4.481, 4.706, 5.923, &
380 4.230, 4.230, 4.230, 4.230, 4.244, 4.179, 4.101, 3.996, 3.838, 3.728, 3.588, 3.581, &
381 2.710, 2.710, 2.710, 2.710, 2.730, 2.716, 2.693, 2.651, 2.564, 2.480, 2.314, 1.846, &
382 1.064, 1.064, 1.064, 1.064, 1.078, 1.085, 1.091, 1.096, 1.097, 1.091, 1.072, 0.965 /
383
384 DATA piz_MG_6bands/ &
385 !--BC content=0.001
386 -3.984, -3.984, -3.984, -3.984, -3.395, -3.075, -3.051, -2.567, -2.053, -1.807, -1.308, -0.592, &
387 -3.014, -3.014, -3.014, -3.014, -2.520, -2.473, -2.411, -2.294, -2.027, -1.771, -1.368, -0.613, &
388 -1.142, -1.142, -1.142, -1.142, -0.930, -0.961, -0.981, -1.001, -0.981, -0.934, -0.798, -0.337, &
389 -0.202, -0.202, -0.202, -0.202, -0.129, -0.154, -0.183, -0.224, -0.284, -0.326, -0.383, -0.347, &
390 0.133, 0.133, 0.133, 0.133, 0.158, 0.146, 0.131, 0.107, 0.061, 0.015, -0.081, -0.433, &
391 0.137, 0.137, 0.137, 0.137, 0.148, 0.149, 0.149, 0.147, 0.139, 0.128, 0.098, -0.048, &
392 !--BC content=0.010
393 -3.640, -3.640, -3.640, -3.640, -3.219, -2.942, -2.761, -2.445, -1.983, -1.731, -1.262, -0.576, &
394 -2.791, -2.791, -2.791, -2.791, -2.383, -2.352, -2.290, -2.180, -1.943, -1.707, -1.321, -0.595, &
395 -1.069, -1.069, -1.069, -1.069, -0.889, -0.920, -0.945, -0.966, -0.954, -0.910, -0.775, -0.333, &
396 -0.185, -0.185, -0.185, -0.185, -0.119, -0.144, -0.173, -0.213, -0.275, -0.318, -0.372, -0.346, &
397 0.138, 0.138, 0.138, 0.138, 0.160, 0.149, 0.134, 0.110, 0.063, 0.018, -0.076, -0.430, &
398 0.137, 0.137, 0.137, 0.137, 0.148, 0.149, 0.150, 0.148, 0.140, 0.129, 0.099, -0.046, &
399 !--BC content=0.020
400 -3.369, -3.369, -3.369, -3.369, -3.033, -2.799, -2.619, -2.339, -1.913, -1.657, -1.223, -0.558, &
401 -2.592, -2.592, -2.592, -2.592, -2.254, -2.239, -2.185, -2.091, -1.869, -1.652, -1.284, -0.580, &
402 -1.004, -1.004, -1.004, -1.004, -0.849, -0.882, -0.909, -0.932, -0.926, -0.885, -0.758, -0.326, &
403 -0.168, -0.168, -0.168, -0.168, -0.108, -0.133, -0.163, -0.203, -0.265, -0.309, -0.364, -0.341, &
404 0.142, 0.142, 0.142, 0.142, 0.163, 0.152, 0.137, 0.113, 0.066, 0.022, -0.072, -0.422, &
405 0.138, 0.138, 0.138, 0.138, 0.149, 0.150, 0.150, 0.148, 0.140, 0.129, 0.100, -0.044, &
406 !--BC content=0.050
407 -2.743, -2.743, -2.743, -2.743, -2.582, -2.438, -2.292, -2.078, -1.729, -1.495, -1.123, -0.512, &
408 -2.121, -2.121, -2.121, -2.121, -1.939, -1.951, -1.926, -1.865, -1.688, -1.511, -1.188, -0.541, &
409 -0.839, -0.839, -0.839, -0.839, -0.742, -0.780, -0.812, -0.842, -0.848, -0.818, -0.707, -0.307, &
410 -0.121, -0.121, -0.121, -0.121, -0.078, -0.103, -0.133, -0.174, -0.236, -0.281, -0.337, -0.325, &
411 0.154, 0.154, 0.154, 0.154, 0.171, 0.160, 0.145, 0.121, 0.075, 0.032, -0.060, -0.399, &
412 0.141, 0.141, 0.141, 0.141, 0.150, 0.151, 0.152, 0.150, 0.142, 0.131, 0.103, -0.038, &
413 !--BC content=0.100
414 -2.025, -2.025, -2.025, -2.025, -2.035, -1.965, -1.875, -1.731, -1.475, -1.285, -0.980, -0.447, &
415 -1.569, -1.569, -1.569, -1.569, -1.540, -1.572, -1.580, -1.557, -1.444, -1.312, -1.052, -0.485, &
416 -0.628, -0.628, -0.628, -0.628, -0.593, -0.634, -0.672, -0.710, -0.732, -0.716, -0.631, -0.279, &
417 -0.054, -0.054, -0.054, -0.054, -0.032, -0.058, -0.088, -0.129, -0.191, -0.236, -0.295, -0.299, &
418 0.173, 0.173, 0.173, 0.173, 0.184, 0.173, 0.158, 0.135, 0.090, 0.048, -0.039, -0.361, &
419 0.145, 0.145, 0.145, 0.145, 0.153, 0.154, 0.154, 0.152, 0.144, 0.134, 0.107, -0.027, &
420 !--BC content=0.200
421 -1.155, -1.155, -1.155, -1.155, -1.300, -1.295, -1.272, -1.213, -1.077, -0.957, -0.747, -0.336, &
422 -0.884, -0.884, -0.884, -0.884, -0.979, -1.028, -1.065, -1.086, -1.054, -0.986, -0.820, -0.388, &
423 -0.332, -0.332, -0.332, -0.332, -0.360, -0.402, -0.444, -0.490, -0.531, -0.536, -0.492, -0.225, &
424 0.050, 0.050, 0.050, 0.050, 0.048, 0.022, -0.007, -0.047, -0.107, -0.152, -0.213, -0.245, &
425 0.204, 0.204, 0.204, 0.204, 0.208, 0.197, 0.182, 0.161, 0.120, 0.081, 0.002, -0.285, &
426 0.153, 0.153, 0.153, 0.153, 0.159, 0.159, 0.159, 0.157, 0.150, 0.140, 0.115, -0.005 /
427
428 DATA cg_MG_6bands/ &
429 !--BC content=0.001
430 0.290, 0.290, 0.290, 0.290, 0.378, 0.381, 0.377, 0.378, 0.373, 0.344, 0.317, 0.118, &
431 0.374, 0.374, 0.374, 0.374, 0.469, 0.474, 0.480, 0.480, 0.475, 0.462, 0.438, 0.242, &
432 0.375, 0.375, 0.375, 0.375, 0.491, 0.502, 0.517, 0.527, 0.534, 0.529, 0.508, 0.255, &
433 0.242, 0.242, 0.242, 0.242, 0.455, 0.516, 0.577, 0.631, 0.687, 0.715, 0.748, 0.772, &
434 0.559, 0.559, 0.559, 0.559, 0.487, 0.461, 0.410, 0.303, -0.181, -3.594, 1.814, 1.164, &
435 0.323, 0.323, 0.323, 0.323, 0.339, 0.339, 0.337, 0.328, 0.295, 0.243, 0.045, 2.778, &
436 !--BC content=0.010
437 0.300, 0.300, 0.300, 0.300, 0.385, 0.389, 0.390, 0.386, 0.377, 0.353, 0.319, 0.116, &
438 0.384, 0.384, 0.384, 0.384, 0.478, 0.482, 0.488, 0.488, 0.483, 0.471, 0.442, 0.246, &
439 0.380, 0.380, 0.380, 0.380, 0.496, 0.507, 0.520, 0.531, 0.538, 0.534, 0.512, 0.259, &
440 0.233, 0.233, 0.233, 0.233, 0.454, 0.520, 0.581, 0.636, 0.691, 0.719, 0.752, 0.778, &
441 0.553, 0.553, 0.553, 0.553, 0.487, 0.461, 0.414, 0.308, -0.144, -2.858, 1.889, 1.165, &
442 0.323, 0.323, 0.323, 0.323, 0.338, 0.339, 0.337, 0.328, 0.295, 0.244, 0.051, 2.847, &
443 !--BC content=0.020
444 0.305, 0.305, 0.305, 0.305, 0.391, 0.394, 0.395, 0.390, 0.380, 0.358, 0.321, 0.112, &
445 0.391, 0.391, 0.391, 0.391, 0.484, 0.488, 0.493, 0.493, 0.488, 0.476, 0.445, 0.246, &
446 0.384, 0.384, 0.384, 0.384, 0.499, 0.511, 0.524, 0.534, 0.541, 0.537, 0.514, 0.260, &
447 0.219, 0.219, 0.219, 0.219, 0.451, 0.523, 0.586, 0.642, 0.696, 0.724, 0.756, 0.783, &
448 0.547, 0.547, 0.547, 0.547, 0.487, 0.461, 0.416, 0.315, -0.108, -2.308, 1.954, 1.170, &
449 0.322, 0.322, 0.322, 0.322, 0.338, 0.339, 0.337, 0.328, 0.296, 0.245, 0.056, 2.949, &
450 !--BC content=0.050
451 0.312, 0.312, 0.312, 0.312, 0.400, 0.402, 0.403, 0.398, 0.385, 0.364, 0.321, 0.094, &
452 0.402, 0.402, 0.402, 0.402, 0.495, 0.498, 0.503, 0.503, 0.496, 0.484, 0.451, 0.242, &
453 0.388, 0.388, 0.388, 0.388, 0.506, 0.518, 0.530, 0.541, 0.548, 0.544, 0.521, 0.259, &
454 0.152, 0.152, 0.152, 0.152, 0.434, 0.527, 0.599, 0.658, 0.711, 0.738, 0.768, 0.794, &
455 0.534, 0.534, 0.534, 0.534, 0.486, 0.463, 0.423, 0.332, -0.018, -1.355, 2.203, 1.188, &
456 0.321, 0.321, 0.321, 0.321, 0.337, 0.338, 0.336, 0.328, 0.297, 0.249, 0.071, 3.311, &
457 !--BC content=0.100
458 0.309, 0.309, 0.309, 0.309, 0.404, 0.405, 0.406, 0.401, 0.385, 0.364, 0.316, 0.057, &
459 0.406, 0.406, 0.406, 0.406, 0.503, 0.507, 0.511, 0.512, 0.504, 0.491, 0.456, 0.232, &
460 0.382, 0.382, 0.382, 0.382, 0.510, 0.523, 0.537, 0.548, 0.555, 0.551, 0.528, 0.255, &
461 -0.178, -0.178, -0.178, -0.178, 0.312, 0.524, 0.626, 0.692, 0.741, 0.765, 0.791, 0.816, &
462 0.519, 0.519, 0.519, 0.519, 0.486, 0.466, 0.432, 0.357, 0.091, -0.650, 2.968, 1.221, &
463 0.319, 0.319, 0.319, 0.319, 0.336, 0.337, 0.335, 0.328, 0.300, 0.255, 0.094, 4.314, &
464 !--BC content=0.200
465 0.267, 0.267, 0.267, 0.267, 0.388, 0.391, 0.392, 0.387, 0.370, 0.345, 0.287, -0.053, &
466 0.381, 0.381, 0.381, 0.381, 0.499, 0.506, 0.512, 0.514, 0.507, 0.494, 0.455, 0.198, &
467 0.318, 0.318, 0.318, 0.318, 0.494, 0.515, 0.535, 0.551, 0.561, 0.559, 0.535, 0.237, &
468 1.151, 1.151, 1.151, 1.151, 0.703, 0.643, 1.248, 0.874, 0.846, 0.846, 0.853, 0.868, &
469 0.502, 0.502, 0.502, 0.502, 0.486, 0.472, 0.447, 0.393, 0.226, -0.108,-43.753, 1.313, &
470 0.315, 0.315, 0.315, 0.315, 0.332, 0.334, 0.333, 0.327, 0.304, 0.266, 0.135, 21.079 /
471
472 !----BEGINNING OF CALCULATIONS
473
474 modname='aeropt_6bands_rrtm'
475
476 spsol = 0
477 spinsol = 0
478
479 IF (NSW.NE.nbands_sw_rrtm) THEN
480 CALL abort_physic(modname,'Erreur NSW doit etre egal a 6 pour cette routine',1)
481 ENDIF
482
483 zdh(:,:)=pdel(:,:)/(RG*zrho(:,:)) ! m
484
485 IF (flag_aerosol .EQ. 1) THEN
486 nb_aer = 2
487 ALLOCATE (aerosol_name(nb_aer))
488 aerosol_name(1) = id_ASSO4M_phy
489 aerosol_name(2) = id_CSSO4M_phy
490 ELSEIF (flag_aerosol .EQ. 2) THEN
491 nb_aer = 2
492 ALLOCATE (aerosol_name(nb_aer))
493 aerosol_name(1) = id_ASBCM_phy
494 aerosol_name(2) = id_AIBCM_phy
495 ELSEIF (flag_aerosol .EQ. 3) THEN
496 nb_aer = 2
497 ALLOCATE (aerosol_name(nb_aer))
498 aerosol_name(1) = id_ASPOMM_phy
499 aerosol_name(2) = id_AIPOMM_phy
500 ELSEIF (flag_aerosol .EQ. 4) THEN
501 nb_aer = 3
502 ALLOCATE (aerosol_name(nb_aer))
503 aerosol_name(1) = id_CSSSM_phy
504 aerosol_name(2) = id_SSSSM_phy
505 aerosol_name(3) = id_ASSSM_phy
506 ELSEIF (flag_aerosol .EQ. 5) THEN
507 nb_aer = 1
508 ALLOCATE (aerosol_name(nb_aer))
509 aerosol_name(1) = id_CIDUSTM_phy
510 ELSEIF (flag_aerosol .EQ. 6 .OR. flag_aerosol .EQ. 7 ) THEN
511 nb_aer = 13
512 ALLOCATE (aerosol_name(nb_aer))
513 aerosol_name(1) = id_ASSO4M_phy
514 aerosol_name(2) = id_ASBCM_phy
515 aerosol_name(3) = id_AIBCM_phy
516 aerosol_name(4) = id_ASPOMM_phy
517 aerosol_name(5) = id_AIPOMM_phy
518 aerosol_name(6) = id_CSSSM_phy
519 aerosol_name(7) = id_SSSSM_phy
520 aerosol_name(8) = id_ASSSM_phy
521 aerosol_name(9) = id_CIDUSTM_phy
522 aerosol_name(10)= id_CSSO4M_phy
523 aerosol_name(11)= id_CSNO3M_phy
524 aerosol_name(12)= id_ASNO3M_phy
525 aerosol_name(13)= id_CINO3M_phy
526 ENDIF
527
528 !
529 ! loop over modes, use of precalculated nmd and corresponding sigma
530 ! loop over wavelengths
531 ! for each mass species in mode
532 ! interpolate from Sext to retrieve Sext_at_gridpoint_per_species
533 ! compute optical_thickness_at_gridpoint_per_species
534
535 DO n=1,nbre_RH-1
536 fact_RH(n)=1./(RH_tab(n+1)-RH_tab(n))
537 ENDDO
538
539 DO k=1, klev
540 DO i=1, klon
541 rh(i,k)=MIN(RHcl(i,k)*100.,RH_MAX)
542 RH_num(i,k) = INT(rh(i,k)/10. + 1.)
543 IF (rh(i,k).GT.85.) RH_num(i,k)=10
544 IF (rh(i,k).GT.90.) RH_num(i,k)=11
545 delta(i,k)=(rh(i,k)-RH_tab(RH_num(i,k)))*fact_RH(RH_num(i,k))
546 ENDDO
547 ENDDO
548
549 tau_ae(:,:,:,:)=0.
550 piz_ae(:,:,:,:)=0.
551 cg_ae(:,:,:,:)=0.
552
553 tau_ae_pi(:,:,:,:)=0.
554 piz_ae_pi(:,:,:,:)=0.
555 cg_ae_pi(:,:,:,:)=0.
556
557 DO m=1,nb_aer ! tau is only computed for each mass
558 fac=1.0
559 IF (aerosol_name(m).EQ.id_ASBCM_phy) THEN
560 soluble=.TRUE.
561 spsol=1
562 ELSEIF (aerosol_name(m).EQ.id_ASPOMM_phy) THEN
563 soluble=.TRUE.
564 spsol=2
565 ELSEIF (aerosol_name(m).EQ.id_CSSO4M_phy) THEN
566 soluble=.TRUE.
567 spsol=3
568 !fac=1.375 ! (NH4)2-SO4/SO4 132/96 mass conversion factor for AOD
569 fac=0.0 !--6 March 2017 - OB as Didier H said CSSO4 should not be used
570 ELSEIF (aerosol_name(m).EQ.id_ASSO4M_phy) THEN
571 soluble=.TRUE.
572 spsol=4
573 fac=1.375 ! (NH4)2-SO4/SO4 132/96 mass conversion factor for AOD
574 ELSEIF (aerosol_name(m).EQ.id_SSSSM_phy) THEN
575 soluble=.TRUE.
576 spsol=5
577 ELSEIF (aerosol_name(m).EQ.id_CSSSM_phy) THEN
578 soluble=.TRUE.
579 spsol=6
580 ELSEIF (aerosol_name(m).EQ.id_ASSSM_phy) THEN
581 soluble=.TRUE.
582 spsol=7
583 ELSEIF (aerosol_name(m).EQ.id_CSNO3M_phy) THEN
584 soluble=.TRUE.
585 spsol=8
586 fac=1.2903 ! NO3NH4/NO3 / mass conversion factor for AOD
587 ELSEIF (aerosol_name(m).EQ.id_ASNO3M_phy) THEN
588 soluble=.TRUE.
589 spsol=9
590 fac=1.2903 ! NO3NH4/NO3 / mass conversion factor for AOD
591 ELSEIF (aerosol_name(m).EQ.id_CIDUSTM_phy) THEN
592 soluble=.FALSE.
593 spinsol=1
594 ELSEIF (aerosol_name(m).EQ.id_AIBCM_phy) THEN
595 soluble=.FALSE.
596 spinsol=2
597 ELSEIF (aerosol_name(m).EQ.id_AIPOMM_phy) THEN
598 soluble=.FALSE.
599 spinsol=3
600 ELSEIF (aerosol_name(m).EQ.id_CINO3M_phy) THEN
601 soluble=.FALSE.
602 spinsol=4
603 fac=1.2903 ! NO3NH4/NO3 / mass conversion factor for AOD
604 ELSE
605 CYCLE
606 ENDIF
607
608 !--shortname for aerosol index
609 aerindex=aerosol_name(m)
610
611 IF (soluble) THEN
612
613 !--here we treat the special case of soluble BC internal mixture with Maxwell-Garnett rule
614 IF (spsol.EQ.1 .AND. flag_bc_internal_mixture) THEN
615
616 DO k=1, klev
617 DO i=1, klon
618
619 tmp_var=m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*fac
620 tmp_var_pi=m_allaer_pi(i,k,aerindex)/1.e6*zdh(i,k)*fac
621
622 ! Calculate the dry BC/(BC+SUL) mass ratio for all (natural+anthropogenic) aerosols
623 BC_massfra = m_allaer(i,k,id_ASBCM_phy)/(m_allaer(i,k,id_ASBCM_phy)+m_allaer(i,k,id_ASSO4M_phy))
624
625 IF (BC_massfra.GE.0.20) THEN
626 classbc = 6
627 ELSEIF (BC_massfra.GE.0.10) THEN
628 classbc = 5
629 ELSEIF (BC_massfra.GE.0.05) THEN
630 classbc = 4
631 ELSEIF (BC_massfra.GE.0.02) THEN
632 classbc = 3
633 ELSEIF (BC_massfra.GE.0.01) THEN
634 classbc = 2
635 ELSE
636 classbc = 1
637 ENDIF
638
639 ! Calculate the dry BC/(BC+SUL) mass ratio for natural aerosols
640 BC_massfra_pi = m_allaer_pi(i,k,id_ASBCM_phy)/(m_allaer_pi(i,k,id_ASBCM_phy)+m_allaer_pi(i,k,id_ASSO4M_phy))
641
642 IF (BC_massfra_pi.GE.0.20) THEN
643 classbc_pi = 6
644 ELSEIF (BC_massfra_pi.GE.0.10) THEN
645 classbc_pi = 5
646 ELSEIF (BC_massfra_pi.GE.0.05) THEN
647 classbc_pi = 4
648 ELSEIF (BC_massfra_pi.GE.0.02) THEN
649 classbc_pi = 3
650 ELSEIF (BC_massfra_pi.GE.0.01) THEN
651 classbc_pi = 2
652 ELSE
653 classbc_pi = 1
654 ENDIF
655
656 DO inu=1, NSW
657
658 !--all aerosols
659 tau_ae2b_int= alpha_MG_6bands(RH_num(i,k),inu,classbc)+ &
660 delta(i,k)* (alpha_MG_6bands(RH_num(i,k)+1,inu,classbc) - &
661 alpha_MG_6bands(RH_num(i,k),inu,classbc))
662
663 piz_ae2b_int = piz_MG_6bands(RH_num(i,k),inu,classbc) + &
664 delta(i,k)* (piz_MG_6bands(RH_num(i,k)+1,inu,classbc) - &
665 piz_MG_6bands(RH_num(i,k),inu,classbc))
666
667 cg_ae2b_int = cg_MG_6bands(RH_num(i,k),inu,classbc) + &
668 delta(i,k)* (cg_MG_6bands(RH_num(i,k)+1,inu,classbc) - &
669 cg_MG_6bands(RH_num(i,k),inu,classbc))
670
671 tau_ae(i,k,aerindex,inu) = tmp_var*tau_ae2b_int
672 piz_ae(i,k,aerindex,inu) = piz_ae2b_int
673 cg_ae(i,k,aerindex,inu) = cg_ae2b_int
674
675 !--natural aerosols
676 tau_ae2b_int= alpha_MG_6bands(RH_num(i,k),inu,classbc_pi)+ &
677 delta(i,k)* (alpha_MG_6bands(RH_num(i,k)+1,inu,classbc_pi) - &
678 alpha_MG_6bands(RH_num(i,k),inu,classbc_pi))
679
680 piz_ae2b_int = piz_MG_6bands(RH_num(i,k),inu,classbc_pi) + &
681 delta(i,k)* (piz_MG_6bands(RH_num(i,k)+1,inu,classbc_pi) - &
682 piz_MG_6bands(RH_num(i,k),inu,classbc_pi))
683
684 cg_ae2b_int = cg_MG_6bands(RH_num(i,k),inu,classbc_pi) + &
685 delta(i,k)* (cg_MG_6bands(RH_num(i,k)+1,inu,classbc_pi) - &
686 cg_MG_6bands(RH_num(i,k),inu,classbc_pi))
687
688 tau_ae_pi(i,k,aerindex,inu) = tmp_var_pi* tau_ae2b_int
689 piz_ae_pi(i,k,aerindex,inu) = piz_ae2b_int
690 cg_ae_pi(i,k,aerindex,inu) = cg_ae2b_int
691
692 ENDDO
693 ENDDO
694 ENDDO
695
696 !--else treat all other cases of soluble aerosols
697 ELSE
698
699 DO k=1, klev
700 DO i=1, klon
701 tmp_var=m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*fac
702 tmp_var_pi=m_allaer_pi(i,k,aerindex)/1.e6*zdh(i,k)*fac
703
704 DO inu=1, NSW
705
706 tau_ae2b_int= alpha_aers_6bands(RH_num(i,k),inu,spsol)+ &
707 delta(i,k)* (alpha_aers_6bands(RH_num(i,k)+1,inu,spsol) - &
708 alpha_aers_6bands(RH_num(i,k),inu,spsol))
709
710 piz_ae2b_int = piz_aers_6bands(RH_num(i,k),inu,spsol) + &
711 delta(i,k)* (piz_aers_6bands(RH_num(i,k)+1,inu,spsol) - &
712 piz_aers_6bands(RH_num(i,k),inu,spsol))
713
714 cg_ae2b_int = cg_aers_6bands(RH_num(i,k),inu,spsol) + &
715 delta(i,k)* (cg_aers_6bands(RH_num(i,k)+1,inu,spsol) - &
716 cg_aers_6bands(RH_num(i,k),inu,spsol))
717
718 tau_ae(i,k,aerindex,inu) = tmp_var*tau_ae2b_int
719 tau_ae_pi(i,k,aerindex,inu) = tmp_var_pi* tau_ae2b_int
720 piz_ae(i,k,aerindex,inu) = piz_ae2b_int
721 cg_ae(i,k,aerindex,inu) = cg_ae2b_int
722
723 ENDDO
724 ENDDO
725 ENDDO
726
727 !--external mixture case for soluble BC
728 IF (spsol.EQ.1) THEN
729 piz_ae_pi(:,:,aerindex,:) = piz_ae(:,:,aerindex,:)
730 cg_ae_pi(:,:,aerindex,:) = cg_ae(:,:,aerindex,:)
731 ENDIF
732
733 ENDIF
734
735 ELSE ! For all aerosol insoluble components
736
737 DO k=1, klev
738 DO i=1, klon
739 tmp_var=m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*fac
740 tmp_var_pi=m_allaer_pi(i,k,aerindex)/1.e6*zdh(i,k)*fac
741
742 DO inu=1, NSW
743 tau_ae2b_int = alpha_aeri_6bands(inu,spinsol)
744 piz_ae2b_int = piz_aeri_6bands(inu,spinsol)
745 cg_ae2b_int = cg_aeri_6bands(inu,spinsol)
746
747 tau_ae(i,k,aerindex,inu) = tmp_var*tau_ae2b_int
748 tau_ae_pi(i,k,aerindex,inu) = tmp_var_pi*tau_ae2b_int
749 piz_ae(i,k,aerindex,inu) = piz_ae2b_int
750 cg_ae(i,k,aerindex,inu)= cg_ae2b_int
751 ENDDO
752 ENDDO
753 ENDDO
754
755 ENDIF ! soluble / insoluble
756
757 ENDDO ! nb_aer
758
759 DO inu=1, NSW
760 DO k=1, klev
761 DO i=1, klon
762 !--all (natural + anthropogenic) aerosol
763 tau_allaer(i,k,2,inu)=tau_ae(i,k,id_ASSO4M_phy,inu)+tau_ae(i,k,id_CSSO4M_phy,inu)+ &
764 tau_ae(i,k,id_ASBCM_phy,inu)+tau_ae(i,k,id_AIBCM_phy,inu)+ &
765 tau_ae(i,k,id_ASPOMM_phy,inu)+tau_ae(i,k,id_AIPOMM_phy,inu)+ &
766 tau_ae(i,k,id_ASSSM_phy,inu)+tau_ae(i,k,id_CSSSM_phy,inu)+ &
767 tau_ae(i,k,id_SSSSM_phy,inu)+ tau_ae(i,k,id_CIDUSTM_phy,inu)
768 tau_allaer(i,k,2,inu)=MAX(tau_allaer(i,k,2,inu),tau_min)
769
770 piz_allaer(i,k,2,inu)=(tau_ae(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)+ &
771 tau_ae(i,k,id_CSSO4M_phy,inu)*piz_ae(i,k,id_CSSO4M_phy,inu)+ &
772 tau_ae(i,k,id_ASBCM_phy,inu)*piz_ae(i,k,id_ASBCM_phy,inu)+ &
773 tau_ae(i,k,id_AIBCM_phy,inu)*piz_ae(i,k,id_AIBCM_phy,inu)+ &
774 tau_ae(i,k,id_ASPOMM_phy,inu)*piz_ae(i,k,id_ASPOMM_phy,inu)+ &
775 tau_ae(i,k,id_AIPOMM_phy,inu)*piz_ae(i,k,id_AIPOMM_phy,inu)+ &
776 tau_ae(i,k,id_ASSSM_phy,inu)*piz_ae(i,k,id_ASSSM_phy,inu)+ &
777 tau_ae(i,k,id_CSSSM_phy,inu)*piz_ae(i,k,id_CSSSM_phy,inu)+ &
778 tau_ae(i,k,id_SSSSM_phy,inu)*piz_ae(i,k,id_SSSSM_phy,inu)+ &
779 tau_ae(i,k,id_CIDUSTM_phy,inu)*piz_ae(i,k,id_CIDUSTM_phy,inu)) &
780 /tau_allaer(i,k,2,inu)
781 piz_allaer(i,k,2,inu)=MIN(MAX(piz_allaer(i,k,2,inu),0.01),1.0)
782 IF (tau_allaer(i,k,2,inu).LE.tau_min) piz_allaer(i,k,2,inu)=1.0
783
784 cg_allaer(i,k,2,inu)=(tau_ae(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)*cg_ae(i,k,id_ASSO4M_phy,inu)+ &
785 tau_ae(i,k,id_CSSO4M_phy,inu)*piz_ae(i,k,id_CSSO4M_phy,inu)*cg_ae(i,k,id_CSSO4M_phy,inu)+ &
786 tau_ae(i,k,id_ASBCM_phy,inu)*piz_ae(i,k,id_ASBCM_phy,inu)*cg_ae(i,k,id_ASBCM_phy,inu)+ &
787 tau_ae(i,k,id_AIBCM_phy,inu)*piz_ae(i,k,id_AIBCM_phy,inu)*cg_ae(i,k,id_AIBCM_phy,inu)+ &
788 tau_ae(i,k,id_ASPOMM_phy,inu)*piz_ae(i,k,id_ASPOMM_phy,inu)*cg_ae(i,k,id_ASPOMM_phy,inu)+ &
789 tau_ae(i,k,id_AIPOMM_phy,inu)*piz_ae(i,k,id_AIPOMM_phy,inu)*cg_ae(i,k,id_AIPOMM_phy,inu)+ &
790 tau_ae(i,k,id_ASSSM_phy,inu)*piz_ae(i,k,id_ASSSM_phy,inu)*cg_ae(i,k,id_ASSSM_phy,inu)+ &
791 tau_ae(i,k,id_CSSSM_phy,inu)*piz_ae(i,k,id_CSSSM_phy,inu)*cg_ae(i,k,id_CSSSM_phy,inu)+ &
792 tau_ae(i,k,id_SSSSM_phy,inu)*piz_ae(i,k,id_SSSSM_phy,inu)*cg_ae(i,k,id_SSSSM_phy,inu)+ &
793 tau_ae(i,k,id_CIDUSTM_phy,inu)*piz_ae(i,k,id_CIDUSTM_phy,inu)*cg_ae(i,k,id_CIDUSTM_phy,inu))/ &
794 (tau_allaer(i,k,2,inu)*piz_allaer(i,k,2,inu))
795 cg_allaer(i,k,2,inu)=MIN(MAX(cg_allaer(i,k,2,inu),0.0),1.0)
796
797 IF (.NOT. ok_volcan) THEN
798 !
799 !--this is the default case
800 !--in this case, index 1 of tau_allaer contains natural aerosols only
801 !--because the objective is to perform the double radiation call with and without anthropogenic aerosols
802 !
803 tau_allaer(i,k,1,inu)=tau_ae_pi(i,k,id_ASSO4M_phy,inu)+tau_ae_pi(i,k,id_CSSO4M_phy,inu)+ &
804 tau_ae_pi(i,k,id_ASBCM_phy,inu)+tau_ae_pi(i,k,id_AIBCM_phy,inu)+ &
805 tau_ae_pi(i,k,id_ASPOMM_phy,inu)+tau_ae_pi(i,k,id_AIPOMM_phy,inu)+ &
806 tau_ae_pi(i,k,id_ASSSM_phy,inu)+tau_ae_pi(i,k,id_CSSSM_phy,inu)+ &
807 tau_ae_pi(i,k,id_SSSSM_phy,inu)+ tau_ae_pi(i,k,id_CIDUSTM_phy,inu)
808 tau_allaer(i,k,1,inu)=MAX(tau_allaer(i,k,1,inu),tau_min)
809
810 piz_allaer(i,k,1,inu)=(tau_ae_pi(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)+ &
811 tau_ae_pi(i,k,id_CSSO4M_phy,inu)*piz_ae(i,k,id_CSSO4M_phy,inu)+ &
812 tau_ae_pi(i,k,id_ASBCM_phy,inu)*piz_ae_pi(i,k,id_ASBCM_phy,inu)+ &
813 tau_ae_pi(i,k,id_AIBCM_phy,inu)*piz_ae(i,k,id_AIBCM_phy,inu)+ &
814 tau_ae_pi(i,k,id_ASPOMM_phy,inu)*piz_ae(i,k,id_ASPOMM_phy,inu)+ &
815 tau_ae_pi(i,k,id_AIPOMM_phy,inu)*piz_ae(i,k,id_AIPOMM_phy,inu)+ &
816 tau_ae_pi(i,k,id_ASSSM_phy,inu)*piz_ae(i,k,id_ASSSM_phy,inu)+ &
817 tau_ae_pi(i,k,id_CSSSM_phy,inu)*piz_ae(i,k,id_CSSSM_phy,inu)+ &
818 tau_ae_pi(i,k,id_SSSSM_phy,inu)*piz_ae(i,k,id_SSSSM_phy,inu)+ &
819 tau_ae_pi(i,k,id_CIDUSTM_phy,inu)*piz_ae(i,k,id_CIDUSTM_phy,inu)) &
820 /tau_allaer(i,k,1,inu)
821 piz_allaer(i,k,1,inu)=MIN(MAX(piz_allaer(i,k,1,inu),0.01),1.0)
822 IF (tau_allaer(i,k,1,inu).LE.tau_min) piz_allaer(i,k,1,inu)=1.0
823
824 cg_allaer(i,k,1,inu)=(tau_ae_pi(i,k,id_ASSO4M_phy,inu)*piz_ae(i,k,id_ASSO4M_phy,inu)*cg_ae(i,k,id_ASSO4M_phy,inu)+ &
825 tau_ae_pi(i,k,id_CSSO4M_phy,inu)*piz_ae(i,k,id_CSSO4M_phy,inu)*cg_ae(i,k,id_CSSO4M_phy,inu)+ &
826 tau_ae_pi(i,k,id_ASBCM_phy,inu)*piz_ae_pi(i,k,id_ASBCM_phy,inu)*cg_ae_pi(i,k,id_ASBCM_phy,inu)+ &
827 tau_ae_pi(i,k,id_AIBCM_phy,inu)*piz_ae(i,k,id_AIBCM_phy,inu)*cg_ae(i,k,id_AIBCM_phy,inu)+ &
828 tau_ae_pi(i,k,id_ASPOMM_phy,inu)*piz_ae(i,k,id_ASPOMM_phy,inu)*cg_ae(i,k,id_ASPOMM_phy,inu)+ &
829 tau_ae_pi(i,k,id_AIPOMM_phy,inu)*piz_ae(i,k,id_AIPOMM_phy,inu)*cg_ae(i,k,id_AIPOMM_phy,inu)+ &
830 tau_ae_pi(i,k,id_ASSSM_phy,inu)*piz_ae(i,k,id_ASSSM_phy,inu)*cg_ae(i,k,id_ASSSM_phy,inu)+ &
831 tau_ae_pi(i,k,id_CSSSM_phy,inu)*piz_ae(i,k,id_CSSSM_phy,inu)*cg_ae(i,k,id_CSSSM_phy,inu)+ &
832 tau_ae_pi(i,k,id_SSSSM_phy,inu)*piz_ae(i,k,id_SSSSM_phy,inu)*cg_ae(i,k,id_SSSSM_phy,inu)+ &
833 tau_ae_pi(i,k,id_CIDUSTM_phy,inu)*piz_ae(i,k,id_CIDUSTM_phy,inu)*cg_ae(i,k,id_CIDUSTM_phy,inu))/ &
834 (tau_allaer(i,k,1,inu)*piz_allaer(i,k,1,inu))
835 cg_allaer(i,k,1,inu)=MIN(MAX(cg_allaer(i,k,1,inu),0.0),1.0)
836 !
837 ELSE
838 !
839 !--this is the case for VOLMIP
840 !--in this case index 1 of tau_allaer contains all (natural+anthropogenic) aerosols (same as index 2 above)
841 !--but stratospheric aerosols will not be added in rrtm/readaerosolstrato2 as
842 !--the objective is to have the double radiation call with and without stratospheric aerosols
843 !
844 tau_allaer(i,k,1,inu)=tau_allaer(i,k,2,inu)
845
846 piz_allaer(i,k,1,inu)=piz_allaer(i,k,2,inu)
847
848 cg_allaer(i,k,1,inu) =cg_allaer(i,k,2,inu)
849 !
850 ENDIF
851 ENDDO
852 ENDDO
853 ENDDO
854
855 DEALLOCATE(aerosol_name)
856
857 END SUBROUTINE AEROPT_6BANDS_RRTM
858