[1150] | 1 | |
---|
| 2 | |
---|
| 3 | SUBROUTINE AEROPT_5WV(& |
---|
| 4 | pdel, m_allaer, delt, & |
---|
| 5 | RHcl, ai, flag_aerosol, & |
---|
[1181] | 6 | pplay, t_seri, & |
---|
| 7 | tausum, tau) |
---|
[1150] | 8 | |
---|
| 9 | USE DIMPHY |
---|
[1183] | 10 | USE aero_mod |
---|
[1150] | 11 | |
---|
| 12 | ! |
---|
| 13 | ! Yves Balkanski le 12 avril 2006 |
---|
| 14 | ! Celine Deandreis |
---|
| 15 | ! Anne Cozic Avril 2009 |
---|
| 16 | ! a partir d'une sous-routine de Johannes Quaas pour les sulfates |
---|
| 17 | ! |
---|
| 18 | ! |
---|
| 19 | ! Refractive indices for seasalt come from Shettle and Fenn (1979) |
---|
| 20 | ! |
---|
| 21 | ! Refractive indices from water come from Hale and Querry (1973) |
---|
| 22 | ! |
---|
| 23 | ! Refractive indices from Ammonium Sulfate Toon and Pollack (1976) |
---|
| 24 | ! |
---|
| 25 | ! Refractive indices for Dust, internal mixture of minerals coated with 1.5% hematite |
---|
| 26 | ! by Volume (Balkanski et al., 2006) |
---|
| 27 | ! |
---|
| 28 | ! Refractive indices for POM: Kinne (pers. Communication |
---|
| 29 | ! |
---|
| 30 | ! Refractive index for BC from Shettle and Fenn (1979) |
---|
| 31 | ! |
---|
| 32 | ! Shettle, E. P., & Fenn, R. W. (1979), Models for the aerosols of the lower atmosphere and |
---|
| 33 | ! the effects of humidity variations on their optical properties, U.S. Air Force Geophysics |
---|
| 34 | ! Laboratory Rept. AFGL-TR-79-0214, Hanscomb Air Force Base, MA. |
---|
| 35 | ! |
---|
| 36 | ! Hale, G. M. and M. R. Querry, Optical constants of water in the 200-nm to 200-m |
---|
| 37 | ! wavelength region, Appl. Opt., 12, 555-563, 1973. |
---|
| 38 | ! |
---|
| 39 | ! Toon, O. B. and J. B. Pollack, The optical constants of several atmospheric aerosol species: |
---|
| 40 | ! Ammonium sulfate, aluminum oxide, and sodium chloride, J. Geohys. Res., 81, 5733-5748, |
---|
| 41 | ! 1976. |
---|
| 42 | ! |
---|
| 43 | ! Balkanski, Y., M. Schulz, T. Claquin And O. Boucher, Reevaluation of mineral aerosol |
---|
| 44 | ! radiative forcings suggests a better agreement with satellite and AERONET data, Atmospheric |
---|
| 45 | ! Chemistry and Physics Discussions., 6, pp 8383-8419, 2006. |
---|
| 46 | ! |
---|
| 47 | IMPLICIT NONE |
---|
| 48 | INCLUDE "YOMCST.h" |
---|
| 49 | ! |
---|
| 50 | ! Input arguments: |
---|
| 51 | ! |
---|
| 52 | REAL, DIMENSION(klon,klev), INTENT(in) :: pdel |
---|
| 53 | REAL, INTENT(in) :: delt |
---|
[1181] | 54 | REAL, DIMENSION(klon,klev,naero_spc), INTENT(in) :: m_allaer |
---|
[1150] | 55 | REAL, DIMENSION(klon,klev), INTENT(in) :: RHcl ! humidite relative ciel clair |
---|
| 56 | INTEGER,INTENT(in) :: flag_aerosol |
---|
| 57 | REAL, DIMENSION(klon,klev), INTENT(in) :: pplay |
---|
| 58 | REAL, DIMENSION(klon,klev), INTENT(in) :: t_seri |
---|
| 59 | ! |
---|
| 60 | ! Output arguments: |
---|
| 61 | ! |
---|
[1181] | 62 | REAL, DIMENSION(klon), INTENT(out) :: ai ! POLDER aerosol index |
---|
| 63 | REAL, DIMENSION(klon,nwave,naero_spc), INTENT(out) :: tausum |
---|
| 64 | REAL, DIMENSION(klon,klev,nwave,naero_spc), INTENT(out) :: tau |
---|
[1150] | 65 | |
---|
[1181] | 66 | |
---|
[1150] | 67 | ! |
---|
| 68 | ! Local |
---|
| 69 | ! |
---|
[1181] | 70 | INTEGER, PARAMETER :: las = nwave |
---|
[1150] | 71 | LOGICAL :: soluble |
---|
| 72 | |
---|
| 73 | INTEGER :: i, k, m |
---|
| 74 | INTEGER :: spsol, spinsol, la |
---|
| 75 | INTEGER :: RH_num |
---|
| 76 | INTEGER, PARAMETER :: la443 = 1 |
---|
| 77 | INTEGER, PARAMETER :: la550 = 2 |
---|
| 78 | INTEGER, PARAMETER :: la670 = 3 |
---|
| 79 | INTEGER, PARAMETER :: la765 = 4 |
---|
| 80 | INTEGER, PARAMETER :: la865 = 5 |
---|
| 81 | INTEGER, PARAMETER :: nbre_RH=12 |
---|
| 82 | INTEGER, PARAMETER :: nbsol_compaer=5 ! 1- Seasalt AS: 2- Sesalt CS; 3- BC soluble; 4- POM soluble; 5- SO4. |
---|
| 83 | INTEGER, PARAMETER :: nbinsol_compaer=3 ! 1- Dust; 2- BC insoluble; 3- POM insoluble |
---|
| 84 | REAL :: zrho |
---|
| 85 | REAL :: RH_tab(nbre_RH) |
---|
| 86 | REAL :: DELTA, rh |
---|
| 87 | REAL :: tau_ae5wv_int(KLON,KLEV,las) ! Intermediate computation of epaisseur optique aerosol |
---|
| 88 | REAL :: piz_ae5wv_int(KLON,KLEV,las) ! Intermediate single scattering albedo aerosol |
---|
| 89 | REAL :: cg_ae5wv_int(KLON,KLEV,las) ! Intermediate asymmetry parameter aerosol |
---|
| 90 | REAL, PARAMETER :: RH_MAX=95. |
---|
| 91 | DATA RH_tab/0.,10.,20.,30.,40.,50.,60.,70.,80.,85.,90.,95./ |
---|
| 92 | REAL :: taue670(KLON) ! epaisseur optique aerosol absorption 550 nm |
---|
| 93 | REAL :: taue865(KLON) ! epaisseur optique aerosol extinction 865 nm |
---|
| 94 | REAL :: fac |
---|
| 95 | REAL :: zdp1(klon,klev) |
---|
| 96 | REAL, PARAMETER :: gravit = 9.80616 ! m2/s |
---|
| 97 | INTEGER, ALLOCATABLE, DIMENSION(:) :: aerosol_name |
---|
| 98 | INTEGER :: nb_aer |
---|
| 99 | |
---|
| 100 | REAL :: tau3d(KLON,KLEV), piz3d(KLON,KLEV), cg3d(KLON,KLEV) |
---|
| 101 | REAL :: abs3d(KLON,KLEV) ! epaisseur optique d'absorption |
---|
| 102 | |
---|
| 103 | |
---|
| 104 | REAL :: alpha_aers_5wv(nbre_RH,las,nbsol_compaer) ! ext. coeff. Soluble comp. units *** m2/g |
---|
| 105 | ! 1- Seasalt AS: 2- Sesalt CS; 3- BC; 4- POM; 5- SO4. |
---|
| 106 | REAL :: alpha_aeri_5wv(las,nbinsol_compaer) ! ext. coeff. Insoluble comp. 1- Dust: 2- BC; 3- POM |
---|
| 107 | REAL :: cg_aers_5wv(nbre_RH,las,nbsol_compaer) ! Asym. param. soluble comp. |
---|
| 108 | ! 1- Seasalt AS: 2- Sesalt CS; 3- BC; 4- POM; 5- SO4. |
---|
| 109 | REAL :: cg_aeri_5wv(las,nbinsol_compaer) ! Asym. param. insoluble comp. 1- Dust: 2- BC; 3- POM |
---|
| 110 | REAL :: piz_aers_5wv(nbre_RH,las,nbsol_compaer) |
---|
| 111 | ! 1- Seasalt AS: 2- Sesalt CS; 3- BC; 4- POM; 5- SO4. |
---|
| 112 | REAL :: piz_aeri_5wv(las,nbinsol_compaer) ! Insoluble comp. 1- Dust: 2- BC; 3- POM |
---|
| 113 | |
---|
[1181] | 114 | REAL, DIMENSION(klon,klev,naero_spc) :: mass_temp |
---|
[1150] | 115 | |
---|
| 116 | ! |
---|
| 117 | ! Proprietes optiques |
---|
| 118 | ! |
---|
| 119 | REAL :: radry = 287.054 ! dry air mass constant |
---|
| 120 | |
---|
| 121 | ! |
---|
| 122 | ! |
---|
| 123 | ! |
---|
| 124 | ! From here on we look at the optical parameters at 5 wavelengths: |
---|
| 125 | ! 443nm, 550, 670, 765 and 865 nm |
---|
| 126 | ! le 12 AVRIL 2006 |
---|
| 127 | ! |
---|
| 128 | DATA alpha_aers_5wv/ & |
---|
| 129 | ! seasalt soluble CS |
---|
| 130 | 0.50,0.90,1.05,1.21,1.40,2.41, & |
---|
| 131 | 2.66,3.11,3.88,4.52,5.69,8.84, & |
---|
| 132 | 0.51,0.92,1.07,1.23,1.42,2.45, & |
---|
| 133 | 2.70,3.16,3.94,4.58,5.76,8.94, & |
---|
| 134 | 0.52,0.93,1.08,1.24,1.43,2.47, & |
---|
| 135 | 2.73,3.20,3.99,4.64,5.84,9.04, & |
---|
| 136 | 0.52,0.93,1.09,1.25,1.44,2.50, & |
---|
| 137 | 2.76,3.23,4.03,4.68,5.89,9.14, & |
---|
| 138 | 0.52,0.94,1.09,1.26,1.45,2.51, & |
---|
| 139 | 2.78,3.25,4.06,4.72,5.94,9.22, & |
---|
| 140 | ! seasalt soluble AS |
---|
| 141 | 4.28, 7.17, 8.44, 9.85,11.60,22.44, & |
---|
| 142 | 25.34,30.54,39.38,46.52,59.33,91.77, & |
---|
| 143 | 3.40, 5.67, 6.69, 7.85, 9.32,19.03, & |
---|
| 144 | 21.78,26.88,35.87,43.40,57.33,93.43, & |
---|
| 145 | 2.48, 4.22, 5.02, 5.94, 7.11,15.29, & |
---|
| 146 | 17.70,22.31,30.73,38.06,52.15,90.59, & |
---|
| 147 | 1.90, 3.29, 3.94, 4.69, 5.65, 12.58, & |
---|
| 148 | 14.68,18.77,26.41,33.25,46.77,85.50, & |
---|
| 149 | 1.47, 2.59, 3.12, 3.74, 4.54, 10.42, & |
---|
| 150 | 12.24,15.82,22.66,28.91,41.54,79.33, & |
---|
| 151 | ! bc soluble |
---|
| 152 | 7.930,7.930,7.930,7.930,7.930,7.930, & |
---|
| 153 | 7.930,7.930,10.893,12.618,14.550,16.613, & |
---|
| 154 | 7.658,7.658,7.658,7.658,7.658,7.658, & |
---|
| 155 | 7.658,7.658,10.351,11.879,13.642,15.510, & |
---|
| 156 | 7.195,7.195,7.195,7.195,7.195,7.195, & |
---|
| 157 | 7.195,7.195,9.551,10.847,12.381,13.994, & |
---|
| 158 | 6.736,6.736,6.736,6.736,6.736,6.736, & |
---|
| 159 | 6.736,6.736,8.818,9.938,11.283,12.687, & |
---|
| 160 | 6.277,6.277,6.277,6.277,6.277,6.277, & |
---|
| 161 | 6.277,6.277,8.123,9.094,10.275,11.501, & |
---|
| 162 | ! pom soluble |
---|
| 163 | 6.676,6.676,6.676,6.676,6.710,6.934, & |
---|
| 164 | 7.141,7.569,8.034,8.529,9.456,10.511, & |
---|
| 165 | 5.109,5.109,5.109,5.109,5.189,5.535, & |
---|
| 166 | 5.960,6.852,8.008,9.712,12.897,19.676, & |
---|
| 167 | 3.718,3.718,3.718,3.718,3.779,4.042, & |
---|
| 168 | 4.364,5.052,5.956,7.314,9.896,15.688, & |
---|
| 169 | 2.849,2.849,2.849,2.849,2.897,3.107, & |
---|
| 170 | 3.365,3.916,4.649,5.760,7.900,12.863, & |
---|
| 171 | 2.229,2.229,2.229,2.229,2.268,2.437, & |
---|
| 172 | 2.645,3.095,3.692,4.608,6.391,10.633, & |
---|
| 173 | ! Sulfate |
---|
| 174 | 5.751,6.215,6.690,7.024,7.599,8.195, & |
---|
| 175 | 9.156,10.355,12.660,14.823,18.908,24.508, & |
---|
| 176 | 4.320,4.675,5.052,5.375,5.787,6.274, & |
---|
| 177 | 7.066,8.083,10.088,12.003,15.697,21.133, & |
---|
| 178 | 3.079,3.351,3.639,3.886,4.205,4.584, & |
---|
| 179 | 5.206,6.019,7.648,9.234,12.391,17.220, & |
---|
| 180 | 2.336,2.552,2.781,2.979,3.236,3.540, & |
---|
| 181 | 4.046,4.711,6.056,7.388,10.093,14.313, & |
---|
| 182 | 1.777,1.949,2.134,2.292,2.503,2.751, & |
---|
| 183 | 3.166,3.712,4.828,5.949,8.264,11.922/ |
---|
| 184 | |
---|
| 185 | DATA alpha_aeri_5wv/ & |
---|
| 186 | ! dust insoluble |
---|
| 187 | 0.759, 0.770, 0.775, 0.775, 0.772, & |
---|
| 188 | !!jb bc insoluble |
---|
| 189 | 11.536,10.033, 8.422, 7.234, 6.270, & |
---|
| 190 | ! pom insoluble |
---|
| 191 | 5.042, 3.101, 1.890, 1.294, 0.934/ |
---|
| 192 | |
---|
| 193 | DATA cg_aers_5wv/ & |
---|
| 194 | ! seasalt soluble (CS) |
---|
| 195 | 0.730,0.753,0.760,0.766,0.772,0.793, & |
---|
| 196 | 0.797,0.802,0.809,0.813,0.820,0.830, & |
---|
| 197 | 0.719,0.744,0.751,0.757,0.764,0.786, & |
---|
| 198 | 0.791,0.796,0.803,0.808,0.815,0.826, & |
---|
| 199 | 0.721,0.744,0.750,0.756,0.762,0.784, & |
---|
| 200 | 0.787,0.793,0.800,0.804,0.811,0.822, & |
---|
| 201 | 0.717,0.741,0.747,0.753,0.759,0.780, & |
---|
| 202 | 0.784,0.789,0.795,0.800,0.806,0.817, & |
---|
| 203 | 0.715,0.739,0.745,0.751,0.757,0.777, & |
---|
| 204 | 0.781,0.786,0.793,0.797,0.803,0.814, & |
---|
| 205 | ! seasalt soluble (AS) |
---|
| 206 | 0.698,0.722,0.729,0.736,0.743,0.765, & |
---|
| 207 | 0.768,0.773,0.777,0.779,0.781,0.779, & |
---|
| 208 | 0.682,0.710,0.719,0.727,0.735,0.764, & |
---|
| 209 | 0.769,0.776,0.783,0.787,0.791,0.792, & |
---|
| 210 | 0.658,0.691,0.701,0.710,0.720,0.756, & |
---|
| 211 | 0.763,0.771,0.782,0.788,0.795,0.801, & |
---|
| 212 | 0.632,0.668,0.679,0.690,0.701,0.743, & |
---|
| 213 | 0.750,0.762,0.775,0.783,0.792,0.804, & |
---|
| 214 | 0.605,0.644,0.656,0.669,0.681,0.729, & |
---|
| 215 | 0.737,0.750,0.765,0.775,0.787,0.803, & |
---|
| 216 | ! bc soluble |
---|
| 217 | .651, .651, .651, .651, .651, .651, & |
---|
| 218 | .651, .651, .738, .764, .785, .800, & |
---|
| 219 | .597, .597, .597, .597, .597, .597, & |
---|
| 220 | .597, .597, .695, .725, .751, .770, & |
---|
| 221 | .543, .543, .543, .543, .543, .543, & |
---|
| 222 | .543, .543, .650, .684, .714, .736, & |
---|
| 223 | .504, .504, .504, .504, .504, .504, & |
---|
| 224 | .504, .504, .614, .651, .683, .708, & |
---|
| 225 | .469, .469, .469, .469, .469, .469, & |
---|
| 226 | .469, .469, .582, .620, .655, .681, & |
---|
| 227 | ! pom soluble |
---|
| 228 | .679, .679, .679, .679, .683, .691, & |
---|
| 229 | .703, .720, .736, .751, .766, .784, & |
---|
| 230 | .656, .656, .656, .656, .659, .669, & |
---|
| 231 | .681, .699, .717, .735, .750, .779, & |
---|
| 232 | .623, .623, .623, .623, .627, .637, & |
---|
| 233 | .649, .668, .688, .709, .734, .762, & |
---|
| 234 | .592, .592, .592, .592, .595, .605, & |
---|
| 235 | .618, .639, .660, .682, .711, .743, & |
---|
| 236 | .561, .561, .561, .561, .565, .575, & |
---|
| 237 | .588, .609, .632, .656, .688, .724, & |
---|
| 238 | ! sulfate |
---|
| 239 | .671, .684, .697, .704, .714, .723, & |
---|
| 240 | .734, .746, .762, .771, .781, .789, & |
---|
| 241 | .653, .666, .678, .687, .697, .707, & |
---|
| 242 | .719, .732, .751, .762, .775, .789, & |
---|
| 243 | .622, .635, .648, .657, .667, .678, & |
---|
| 244 | .691, .705, .728, .741, .758, .777, & |
---|
| 245 | .591, .604, .617, .627, .638, .650, & |
---|
| 246 | .664, .679, .704, .719, .739, .761, & |
---|
| 247 | .560, .574, .587, .597, .609, .621, & |
---|
| 248 | .637, .653, .680, .697, .719, .745/ |
---|
| 249 | ! |
---|
| 250 | |
---|
| 251 | DATA cg_aeri_5wv/& |
---|
| 252 | ! dust insoluble |
---|
| 253 | 0.714, 0.697, 0.688, 0.683, 0.679, & |
---|
| 254 | ! bc insoluble |
---|
| 255 | 0.511, 0.445, 0.384, 0.342, 0.307, & |
---|
| 256 | !c pom insoluble |
---|
| 257 | 0.596, 0.536, 0.466, 0.409, 0.359/ |
---|
| 258 | ! |
---|
| 259 | DATA piz_aers_5wv/& |
---|
| 260 | ! seasalt soluble (CS) |
---|
| 261 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 262 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 263 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 264 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 265 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 266 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 267 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 268 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 269 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 270 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 271 | ! seasalt soluble (AS) |
---|
| 272 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 273 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 274 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 275 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 276 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 277 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 278 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 279 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 280 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 281 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 282 | ! bc soluble |
---|
| 283 | .445, .445, .445, .445, .445, .445, & |
---|
| 284 | .445, .445, .470, .487, .508, .531, & |
---|
| 285 | .442, .442, .442, .442, .442, .442, & |
---|
| 286 | .442, .442, .462, .481, .506, .533, & |
---|
| 287 | .427, .427, .427, .427, .427, .427, & |
---|
| 288 | .427, .427, .449, .470, .497, .526, & |
---|
| 289 | .413, .413, .413, .413, .413, .413, & |
---|
| 290 | .413, .413, .437, .458, .486, .516, & |
---|
| 291 | .399, .399, .399, .399, .399, .399, & |
---|
| 292 | .399, .399, .423, .445, .473, .506, & |
---|
| 293 | ! pom soluble |
---|
| 294 | .975, .975, .975, .975, .975, .977, & |
---|
| 295 | .979, .982, .984, .987, .990, .994, & |
---|
| 296 | .972, .972, .972, .972, .973, .974, & |
---|
| 297 | .977, .980, .983, .986, .989, .993, & |
---|
| 298 | .963, .963, .963, .963, .964, .966, & |
---|
| 299 | .969, .974, .977, .982, .986, .991, & |
---|
| 300 | .955, .955, .955, .955, .955, .958, & |
---|
| 301 | .962, .967, .972, .977, .983, .989, & |
---|
| 302 | .944, .944, .944, .944, .944, .948, & |
---|
| 303 | .952, .959, .962, .972, .979, .987, & |
---|
| 304 | ! sulfate |
---|
| 305 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 306 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 307 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 308 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 309 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 310 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 311 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 312 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 313 | 1.000,1.000,1.000,1.000,1.000,1.000, & |
---|
| 314 | 1.000,1.000,1.000,1.000,1.000,1.000/ |
---|
| 315 | ! |
---|
| 316 | DATA piz_aeri_5wv/& |
---|
| 317 | ! dust insoluble |
---|
| 318 | 0.944, 0.970, 0.977, 0.982, 0.987, & |
---|
| 319 | ! bc insoluble |
---|
| 320 | 0.415, 0.387, 0.355, 0.328, 0.301, & |
---|
| 321 | ! pom insoluble |
---|
| 322 | 0.972, 0.963, 0.943, 0.923, 0.897/ |
---|
| 323 | |
---|
[1181] | 324 | ! Initialisations |
---|
| 325 | ai(:) = 0. |
---|
| 326 | tau_ae5wv_int(:,:,:) = 0. |
---|
| 327 | piz_ae5wv_int(:,:,:) = 0. |
---|
| 328 | cg_ae5wv_int(:,:,:) = 0. |
---|
| 329 | tausum(:,:,:) = 0. |
---|
| 330 | tau(:,:,:,:) = 0. |
---|
[1150] | 331 | |
---|
| 332 | |
---|
| 333 | DO k=1, klev |
---|
| 334 | DO i=1, klon |
---|
| 335 | IF (t_seri(i,k).EQ.0) stop 'stop aeropt_5wv T ' |
---|
| 336 | IF (pplay(i,k).EQ.0) stop 'stop aeropt_5wv p ' |
---|
| 337 | |
---|
| 338 | zrho=pplay(i,k)/t_seri(i,k)/RD ! kg/m3 |
---|
| 339 | mass_temp(i,k,:) = m_allaer(i,k,:) / zrho / 1.e+9 |
---|
| 340 | |
---|
| 341 | ENDDO |
---|
| 342 | ENDDO |
---|
| 343 | |
---|
| 344 | |
---|
| 345 | IF (flag_aerosol .EQ. 1) THEN |
---|
[1181] | 346 | nb_aer = 1 |
---|
| 347 | ALLOCATE (aerosol_name(nb_aer)) |
---|
| 348 | aerosol_name(1) = id_ASSO4M |
---|
[1150] | 349 | ELSEIF (flag_aerosol .EQ. 2) THEN |
---|
[1181] | 350 | nb_aer = 2 |
---|
| 351 | ALLOCATE (aerosol_name(nb_aer)) |
---|
| 352 | aerosol_name(1) = id_ASBCM |
---|
| 353 | aerosol_name(2) = id_AIBCM |
---|
[1150] | 354 | ELSEIF (flag_aerosol .EQ. 3) THEN |
---|
[1181] | 355 | nb_aer = 2 |
---|
| 356 | ALLOCATE (aerosol_name(nb_aer)) |
---|
| 357 | aerosol_name(1) = id_ASPOMM |
---|
| 358 | aerosol_name(2) = id_AIPOMM |
---|
[1150] | 359 | ELSEIF (flag_aerosol .EQ. 4) THEN |
---|
[1181] | 360 | nb_aer = 3 |
---|
| 361 | ALLOCATE (aerosol_name(nb_aer)) |
---|
| 362 | aerosol_name(1) = id_CSSSM |
---|
| 363 | aerosol_name(2) = id_SSSSM |
---|
| 364 | aerosol_name(3) = id_ASSSM |
---|
[1150] | 365 | ELSEIF (flag_aerosol .EQ. 5) THEN |
---|
[1181] | 366 | nb_aer = 1 |
---|
| 367 | ALLOCATE (aerosol_name(nb_aer)) |
---|
| 368 | aerosol_name(1) = id_CIDUSTM |
---|
[1150] | 369 | ELSEIF (flag_aerosol .EQ. 6) THEN |
---|
[1181] | 370 | nb_aer = 9 |
---|
| 371 | ALLOCATE (aerosol_name(nb_aer)) |
---|
| 372 | aerosol_name(1) = id_ASSO4M |
---|
| 373 | aerosol_name(2) = id_ASBCM |
---|
| 374 | aerosol_name(3) = id_AIBCM |
---|
| 375 | aerosol_name(4) = id_ASPOMM |
---|
| 376 | aerosol_name(5) = id_AIPOMM |
---|
| 377 | aerosol_name(6) = id_CSSSM |
---|
| 378 | aerosol_name(7) = id_SSSSM |
---|
| 379 | aerosol_name(8) = id_ASSSM |
---|
| 380 | aerosol_name(9) = id_CIDUSTM |
---|
[1150] | 381 | ENDIF |
---|
| 382 | |
---|
| 383 | ! |
---|
| 384 | ! loop over modes, use of precalculated nmd and corresponding sigma |
---|
| 385 | ! loop over wavelengths |
---|
| 386 | ! for each mass species in mode |
---|
| 387 | ! interpolate from Sext to retrieve Sext_at_gridpoint_per_species |
---|
| 388 | ! compute optical_thickness_at_gridpoint_per_species |
---|
| 389 | |
---|
[1181] | 390 | |
---|
[1150] | 391 | ! |
---|
| 392 | ! Calculations that need to be done since we are not in the subroutines INCA |
---|
| 393 | ! |
---|
| 394 | ! air mass auxiliary variable --> zdp1 [kg/(m^2 *s)] |
---|
[1181] | 395 | zdp1=pdel(:,:)/(gravit*delt) |
---|
[1150] | 396 | |
---|
| 397 | DO m=1,nb_aer ! tau is only computed for each mass |
---|
| 398 | |
---|
| 399 | fac=1.0 |
---|
| 400 | IF (aerosol_name(m).EQ.id_SSSSM) THEN ! for now |
---|
| 401 | soluble=.TRUE. |
---|
| 402 | spsol=1 |
---|
| 403 | ELSEIF (aerosol_name(m).EQ.id_CSSSM) THEN |
---|
| 404 | soluble=.TRUE. |
---|
| 405 | spsol=1 |
---|
| 406 | ELSEIF (aerosol_name(m).EQ.id_ASSSM) THEN |
---|
| 407 | soluble=.TRUE. |
---|
| 408 | spsol=2 |
---|
| 409 | ELSEIF (aerosol_name(m).EQ.id_ASBCM) THEN |
---|
| 410 | soluble=.TRUE. |
---|
| 411 | spsol=3 |
---|
| 412 | ELSEIF (aerosol_name(m).EQ.id_ASPOMM) THEN |
---|
| 413 | soluble=.TRUE. |
---|
| 414 | spsol=4 |
---|
| 415 | ELSEIF ((aerosol_name(m).EQ.id_ASSO4M) .OR. (aerosol_name(m).EQ.id_CSSO4M)) THEN |
---|
| 416 | soluble=.TRUE. |
---|
| 417 | spsol=5 |
---|
| 418 | fac=1.375 ! (NH4)2-SO4/SO4 132/96 mass conversion factor for OD |
---|
| 419 | ELSEIF (aerosol_name(m).EQ.id_CIDUSTM) THEN |
---|
| 420 | soluble=.FALSE. |
---|
| 421 | spinsol=1 |
---|
| 422 | ELSEIF (aerosol_name(m).EQ.id_AIBCM) THEN |
---|
| 423 | soluble=.FALSE. |
---|
| 424 | spinsol=2 |
---|
| 425 | ELSEIF (aerosol_name(m).EQ.id_AIPOMM) THEN |
---|
| 426 | soluble=.FALSE. |
---|
| 427 | spinsol=3 |
---|
| 428 | ELSE |
---|
| 429 | CYCLE |
---|
| 430 | ENDIF |
---|
| 431 | |
---|
| 432 | DO la=1,las |
---|
| 433 | tau3d(:,:)=0. |
---|
| 434 | piz3d(:,:)=0. |
---|
| 435 | cg3d(:,:)=0. |
---|
| 436 | abs3d(:,:)=0. |
---|
| 437 | |
---|
| 438 | DO k=1, KLEV |
---|
| 439 | DO i=1, KLON |
---|
| 440 | |
---|
| 441 | rh=MIN(RHcl(i,k)*100.,RH_MAX) |
---|
| 442 | RH_num = INT( rh/10. + 1.) |
---|
| 443 | |
---|
| 444 | IF (rh.GT.85.) RH_num=10 |
---|
| 445 | IF (rh.GT.90.) RH_num=11 |
---|
| 446 | DELTA=(rh-RH_tab(RH_num))/(RH_tab(RH_num+1)-RH_tab(RH_num)) |
---|
| 447 | |
---|
| 448 | IF (soluble) THEN |
---|
| 449 | tau_ae5wv_int(i,k,la) = & |
---|
| 450 | alpha_aers_5wv(RH_num,la,spsol)+DELTA* & |
---|
| 451 | (alpha_aers_5wv(RH_num+1,la,spsol) - & |
---|
| 452 | alpha_aers_5wv(RH_num,la,spsol)) |
---|
| 453 | |
---|
| 454 | piz_ae5wv_int(i,k,la) = & |
---|
| 455 | piz_aers_5wv(RH_num,la,spsol)+DELTA* & |
---|
| 456 | (piz_aers_5wv(RH_num+1,la,spsol) - & |
---|
| 457 | piz_aers_5wv(RH_num,la,spsol)) |
---|
| 458 | |
---|
| 459 | cg_ae5wv_int(i,k,la) = & |
---|
| 460 | cg_aers_5wv(RH_num,la,spsol)+DELTA* & |
---|
| 461 | (cg_aers_5wv(RH_num+1,la,spsol) - & |
---|
| 462 | cg_aers_5wv(RH_num,la,spsol)) |
---|
| 463 | |
---|
| 464 | tau3d(i,k) = & |
---|
| 465 | mass_temp(i,k,spsol)*1000.*zdp1(i,k)*tau_ae5wv_int(i,k,la)*delt*fac |
---|
| 466 | |
---|
| 467 | ELSE |
---|
| 468 | tau_ae5wv_int(i,k,la) = alpha_aeri_5wv(la,spinsol) |
---|
| 469 | piz_ae5wv_int(i,k,la) = piz_aeri_5wv(la,spinsol) |
---|
| 470 | cg_ae5wv_int(i,k,la) = cg_aeri_5wv(la,spinsol) |
---|
| 471 | |
---|
| 472 | tau3d(i,k) = & |
---|
| 473 | mass_temp(i,k,5+spinsol)*1000.*zdp1(i,k)*tau_ae5wv_int(i,k,la)*delt*fac |
---|
| 474 | ENDIF |
---|
| 475 | |
---|
| 476 | |
---|
| 477 | ENDDO ! Boucle sur les points géographiques (grille horizontale) |
---|
| 478 | ENDDO ! Boucle sur les niveaux verticaux |
---|
[1181] | 479 | |
---|
| 480 | IF (soluble) THEN |
---|
| 481 | |
---|
| 482 | tau(:,:,la,spsol)=tau3d(:,:) |
---|
[1150] | 483 | |
---|
[1181] | 484 | DO k=1, KLEV |
---|
| 485 | DO i=1,KLON |
---|
| 486 | tausum(i,la,spsol)=tausum(i,la,spsol)+tau3d(i,k) |
---|
| 487 | ENDDO |
---|
| 488 | ENDDO |
---|
| 489 | ELSE |
---|
| 490 | tau(:,:,la,spsol)=tau3d(:,:) |
---|
[1150] | 491 | |
---|
[1181] | 492 | DO k=1, KLEV |
---|
| 493 | DO i=1,KLON |
---|
| 494 | tausum(i,la,5+spinsol)=tausum(i,la,5+spinsol)+tau3d(i,k) |
---|
| 495 | ENDDO |
---|
| 496 | ENDDO |
---|
| 497 | ENDIF |
---|
[1150] | 498 | |
---|
| 499 | |
---|
| 500 | |
---|
[1181] | 501 | ENDDO ! boucle sur les longueurs d'onde |
---|
| 502 | ENDDO ! Boucle sur les masses de traceurs |
---|
| 503 | ! |
---|
| 504 | ! |
---|
| 505 | ! taue670(:) = SUM(tausum(:,la670,:),dim=2) |
---|
| 506 | ! taue865(:) = SUM(tausum(:,la865,:),dim=2) |
---|
| 507 | ! |
---|
| 508 | ! DO i=1, klon |
---|
| 509 | ! ai(i)=-LOG(MAX(taue670(i),0.0001)/ & |
---|
| 510 | ! MAX(taue865(i),0.0001))/LOG(670./865.) |
---|
| 511 | ! ENDDO |
---|
[1150] | 512 | |
---|
[1181] | 513 | DEALLOCATE(aerosol_name) |
---|
[1150] | 514 | |
---|
| 515 | END SUBROUTINE AEROPT_5WV |
---|