[2004] | 1 | ! |
---|
[2005] | 2 | ! $Id: aeropt_5wv_rrtm.F90 2669 2016-10-14 12:57:28Z fairhead $ |
---|
[2004] | 3 | ! |
---|
| 4 | |
---|
[2669] | 5 | SUBROUTINE AEROPT_5WV_RRTM( & |
---|
| 6 | pdel, m_allaer, & |
---|
| 7 | RHcl, ai, flag_aerosol, & |
---|
| 8 | flag_bc_internal_mixture, & |
---|
| 9 | pplay, t_seri, & |
---|
[2004] | 10 | tausum, tau ) |
---|
| 11 | |
---|
| 12 | USE DIMPHY |
---|
| 13 | USE aero_mod |
---|
| 14 | USE phys_local_var_mod, only: od550aer,od865aer,ec550aer,od550lt1aer |
---|
| 15 | |
---|
| 16 | ! |
---|
| 17 | ! Yves Balkanski le 12 avril 2006 |
---|
| 18 | ! Celine Deandreis |
---|
| 19 | ! Anne Cozic Avril 2009 |
---|
| 20 | ! a partir d'une sous-routine de Johannes Quaas pour les sulfates |
---|
| 21 | ! Olivier Boucher mars 2014 pour adaptation RRTM |
---|
| 22 | ! |
---|
| 23 | ! Refractive indices for seasalt come from Shettle and Fenn (1979) |
---|
| 24 | ! |
---|
| 25 | ! Refractive indices from water come from Hale and Querry (1973) |
---|
| 26 | ! |
---|
| 27 | ! Refractive indices from Ammonium Sulfate Toon and Pollack (1976) |
---|
| 28 | ! |
---|
| 29 | ! Refractive indices for Dust, internal mixture of minerals coated with 1.5% hematite |
---|
| 30 | ! by Volume (Balkanski et al., 2006) |
---|
| 31 | ! |
---|
| 32 | ! Refractive indices for POM: Kinne (pers. Communication |
---|
| 33 | ! |
---|
| 34 | ! Refractive index for BC from Shettle and Fenn (1979) |
---|
| 35 | ! |
---|
| 36 | ! Shettle, E. P., & Fenn, R. W. (1979), Models for the aerosols of the lower atmosphere and |
---|
| 37 | ! the effects of humidity variations on their optical properties, U.S. Air Force Geophysics |
---|
| 38 | ! Laboratory Rept. AFGL-TR-79-0214, Hanscomb Air Force Base, MA. |
---|
| 39 | ! |
---|
| 40 | ! Hale, G. M. and M. R. Querry, Optical constants of water in the 200-nm to 200-m |
---|
| 41 | ! wavelength region, Appl. Opt., 12, 555-563, 1973. |
---|
| 42 | ! |
---|
| 43 | ! Toon, O. B. and J. B. Pollack, The optical constants of several atmospheric aerosol species: |
---|
| 44 | ! Ammonium sulfate, aluminum oxide, and sodium chloride, J. Geohys. Res., 81, 5733-5748, |
---|
| 45 | ! 1976. |
---|
| 46 | ! |
---|
| 47 | ! Balkanski, Y., M. Schulz, T. Claquin And O. Boucher, Reevaluation of mineral aerosol |
---|
| 48 | ! radiative forcings suggests a better agreement with satellite and AERONET data, Atmospheric |
---|
| 49 | ! Chemistry and Physics Discussions., 6, pp 8383-8419, 2006. |
---|
| 50 | ! |
---|
| 51 | IMPLICIT NONE |
---|
[2160] | 52 | INCLUDE "YOMCST.h" |
---|
[2004] | 53 | ! |
---|
| 54 | ! Input arguments: |
---|
| 55 | ! |
---|
| 56 | REAL, DIMENSION(klon,klev), INTENT(in) :: pdel |
---|
[2160] | 57 | REAL, DIMENSION(klon,klev,naero_tot), INTENT(in) :: m_allaer |
---|
[2004] | 58 | REAL, DIMENSION(klon,klev), INTENT(in) :: RHcl ! humidite relative ciel clair |
---|
| 59 | INTEGER,INTENT(in) :: flag_aerosol |
---|
[2669] | 60 | LOGICAL,INTENT(in) :: flag_bc_internal_mixture |
---|
[2004] | 61 | REAL, DIMENSION(klon,klev), INTENT(in) :: pplay |
---|
| 62 | REAL, DIMENSION(klon,klev), INTENT(in) :: t_seri |
---|
| 63 | ! |
---|
| 64 | ! Output arguments: |
---|
| 65 | ! |
---|
| 66 | REAL, DIMENSION(klon), INTENT(out) :: ai ! POLDER aerosol index |
---|
| 67 | REAL, DIMENSION(klon,nwave,naero_tot), INTENT(out) :: tausum |
---|
| 68 | REAL, DIMENSION(klon,klev,nwave,naero_tot), INTENT(out) :: tau |
---|
| 69 | |
---|
| 70 | ! |
---|
| 71 | ! Local |
---|
| 72 | ! |
---|
[2594] | 73 | INTEGER, PARAMETER :: las = nwave_sw |
---|
[2004] | 74 | LOGICAL :: soluble |
---|
| 75 | |
---|
[2160] | 76 | INTEGER :: i, k, m, aerindex |
---|
[2004] | 77 | INTEGER :: spsol, spinsol, la |
---|
| 78 | INTEGER :: RH_num(klon,klev) |
---|
| 79 | INTEGER, PARAMETER :: la443 = 1 |
---|
| 80 | INTEGER, PARAMETER :: la550 = 2 |
---|
| 81 | INTEGER, PARAMETER :: la670 = 3 |
---|
| 82 | INTEGER, PARAMETER :: la765 = 4 |
---|
| 83 | INTEGER, PARAMETER :: la865 = 5 |
---|
| 84 | INTEGER, PARAMETER :: nbre_RH=12 |
---|
| 85 | INTEGER, PARAMETER :: naero_soluble=7 ! 1- BC soluble; 2- POM soluble; 3- SO4 acc. |
---|
| 86 | ! 4- SO4 coarse; 5 seasalt super-C; 6 seasalt coarse; 7 seasalt acc. |
---|
| 87 | INTEGER, PARAMETER :: naero_insoluble=3 ! 1- Dust; 2- BC insoluble; 3- POM insoluble |
---|
| 88 | |
---|
| 89 | REAL :: zrho |
---|
| 90 | |
---|
| 91 | REAL, PARAMETER :: RH_tab(nbre_RH)=(/0.,10.,20.,30.,40.,50.,60.,70.,80.,85.,90.,95./) |
---|
| 92 | REAL, PARAMETER :: RH_MAX=95. |
---|
| 93 | REAL :: delta(klon,klev), rh(klon,klev) |
---|
| 94 | REAL :: tau_ae5wv_int ! Intermediate computation of epaisseur optique aerosol |
---|
| 95 | REAL :: od670aer(klon) ! epaisseur optique aerosol extinction 670 nm |
---|
| 96 | REAL :: fac |
---|
| 97 | INTEGER, ALLOCATABLE, DIMENSION(:) :: aerosol_name |
---|
[2160] | 98 | INTEGER :: nb_aer, itau |
---|
| 99 | LOGICAL :: ok_itau |
---|
[2004] | 100 | |
---|
[2641] | 101 | REAL :: zdh(klon,klev) |
---|
[2004] | 102 | |
---|
| 103 | ! Soluble components 1- BC soluble; 2- POM soluble; 3- SO4 acc.; 4- SO4 coarse; 5 seasalt super-coarse; 6 seasalt coarse; 7 seasalt acc. |
---|
| 104 | REAL :: alpha_aers_5wv(nbre_RH,las,naero_soluble) ! Ext. coeff. ** m2/g |
---|
| 105 | ! Insoluble components 1- Dust: 2- BC; 3- POM |
---|
| 106 | REAL :: alpha_aeri_5wv(las,naero_insoluble) ! Ext. coeff. ** m2/g |
---|
| 107 | |
---|
| 108 | ! |
---|
[2669] | 109 | ! BC internal mixture |
---|
| 110 | ! |
---|
| 111 | INTEGER, PARAMETER :: nbclassbc = 5 ! Added by Rong Wang/OB for the 5 fractions |
---|
| 112 | ! of BC in the soluble mode: |
---|
| 113 | ! bc_content/0.001, 0.01, 0.02, 0.05, ! 0.1/ |
---|
| 114 | ! for Maxwell-Garnet internal mixture |
---|
| 115 | ! Detailed theory can be found in R. Wang Estimation of global black carbon ! direct |
---|
| 116 | ! radiative forcing and its uncertainty constrained by observations. J. |
---|
| 117 | ! Geophys. Res. Atmos. Added by R. Wang and OB |
---|
| 118 | REAL :: alpha_MG_5wv(nbre_RH,las,nbclassbc) |
---|
| 119 | |
---|
| 120 | ! |
---|
[2004] | 121 | ! Proprietes optiques |
---|
| 122 | ! |
---|
[2669] | 123 | REAL :: fact_RH(nbre_RH), BC_massfra |
---|
| 124 | INTEGER :: n, classbc |
---|
[2160] | 125 | |
---|
[2004] | 126 | ! From here on we look at the optical parameters at 5 wavelengths: |
---|
| 127 | ! 443nm, 550, 670, 765 and 865 nm |
---|
| 128 | ! le 12 AVRIL 2006 |
---|
| 129 | ! |
---|
| 130 | DATA alpha_aers_5wv/ & |
---|
| 131 | ! bc soluble |
---|
[2669] | 132 | 7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, & |
---|
| 133 | 7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, & |
---|
| 134 | 7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994, & |
---|
| 135 | 6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687, & |
---|
| 136 | 6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501, & |
---|
[2004] | 137 | ! pom soluble |
---|
[2669] | 138 | 6.676,6.676,6.676,6.676,6.710,6.934,7.141,7.569,8.034,8.529,9.456,10.511, & |
---|
| 139 | 5.109,5.109,5.109,5.109,5.189,5.535,5.960,6.852,8.008,9.712,12.897,19.676, & |
---|
| 140 | 3.718,3.718,3.718,3.718,3.779,4.042,4.364,5.052,5.956,7.314,9.896,15.688, & |
---|
| 141 | 2.849,2.849,2.849,2.849,2.897,3.107,3.365,3.916,4.649,5.760,7.900,12.863, & |
---|
| 142 | 2.229,2.229,2.229,2.229,2.268,2.437,2.645,3.095,3.692,4.608,6.391,10.633, & |
---|
[2004] | 143 | ! Sulfate (Accumulation) |
---|
[2669] | 144 | 5.751,6.215,6.690,7.024,7.599,8.195,9.156,10.355,12.660,14.823,18.908,24.508, & |
---|
| 145 | 4.320,4.675,5.052,5.375,5.787,6.274,7.066,8.083,10.088,12.003,15.697,21.133, & |
---|
| 146 | 3.079,3.351,3.639,3.886,4.205,4.584,5.206,6.019,7.648,9.234,12.391,17.220, & |
---|
| 147 | 2.336,2.552,2.781,2.979,3.236,3.540,4.046,4.711,6.056,7.388,10.093,14.313, & |
---|
| 148 | 1.777,1.949,2.134,2.292,2.503,2.751,3.166,3.712,4.828,5.949,8.264,11.922, & |
---|
[2004] | 149 | ! Sulfate (Coarse) |
---|
[2669] | 150 | 5.751,6.215,6.690,7.024,7.599,8.195,9.156,10.355,12.660,14.823,18.908,24.508, & |
---|
| 151 | 4.320,4.675,5.052,5.375,5.787,6.274,7.066,8.083,10.088,12.003,15.697,21.133, & |
---|
| 152 | 3.079,3.351,3.639,3.886,4.205,4.584,5.206,6.019,7.648,9.234,12.391,17.220, & |
---|
| 153 | 2.336,2.552,2.781,2.979,3.236,3.540,4.046,4.711,6.056,7.388,10.093,14.313, & |
---|
| 154 | 1.777,1.949,2.134,2.292,2.503,2.751,3.166,3.712,4.828,5.949,8.264,11.922, & |
---|
[2004] | 155 | ! seasalt seasalt Super Coarse Soluble (SS) |
---|
[2669] | 156 | 0.218, 0.272, 0.293, 0.316, 0.343, 0.380, 0.429, 0.501, 0.636, 0.755, 0.967, 1.495, & |
---|
| 157 | 0.221, 0.275, 0.297, 0.320, 0.348, 0.383, 0.432, 0.509, 0.640, 0.759, 0.972, 1.510, & |
---|
| 158 | 0.224, 0.279, 0.301, 0.324, 0.352, 0.388, 0.438, 0.514, 0.647, 0.768, 0.985, 1.514, & |
---|
| 159 | 0.227, 0.282, 0.303, 0.327, 0.356, 0.392, 0.441, 0.518, 0.652, 0.770, 0.987, 1.529, & |
---|
| 160 | 0.230, 0.285, 0.306, 0.330, 0.359, 0.396, 0.446, 0.522, 0.656, 0.777, 0.993, 1.539, & |
---|
[2004] | 161 | ! seasalt seasalt Coarse Soluble (CS) |
---|
[2669] | 162 | 0.578, 0.706, 0.756, 0.809, 0.876, 0.964, 1.081, 1.256, 1.577, 1.858, 2.366, 3.613, & |
---|
| 163 | 0.598, 0.725, 0.779, 0.833, 0.898, 0.990, 1.109, 1.290, 1.609, 1.889, 2.398, 3.682, & |
---|
| 164 | 0.619, 0.750, 0.802, 0.857, 0.927, 1.022, 1.141, 1.328, 1.648, 1.939, 2.455, 3.729, & |
---|
| 165 | 0.633, 0.767, 0.820, 0.879, 0.948, 1.044, 1.167, 1.353, 1.683, 1.969, 2.491, 3.785, & |
---|
| 166 | 0.648, 0.785, 0.838, 0.896, 0.967, 1.066, 1.192, 1.381, 1.714, 2.006, 2.531, 3.836, & |
---|
[2004] | 167 | ! seasalt seasalt Accumulation Soluble (AS) |
---|
[2669] | 168 | 4.432, 5.899, 6.505, 7.166, 7.964, 7.962, 9.232,11.257,14.979,18.337,24.223,37.811, & |
---|
| 169 | 3.298, 4.569, 5.110, 5.709, 6.446, 6.268, 7.396, 9.246,12.787,16.113,22.197,37.136, & |
---|
| 170 | 2.340, 3.358, 3.803, 4.303, 4.928, 4.696, 5.629, 7.198,10.308,13.342,19.120,34.296, & |
---|
| 171 | 1.789, 2.626, 2.999, 3.422, 3.955, 3.730, 4.519, 5.864, 8.593,11.319,16.653,31.331, & |
---|
| 172 | 1.359, 2.037, 2.343, 2.693, 3.139, 2.940, 3.596, 4.729, 7.076, 9.469,14.266,28.043 / |
---|
[2004] | 173 | |
---|
| 174 | DATA alpha_aeri_5wv/ & |
---|
| 175 | ! dust insoluble |
---|
| 176 | 0.759, 0.770, 0.775, 0.775, 0.772, & |
---|
| 177 | !!jb bc insoluble |
---|
| 178 | 11.536,10.033, 8.422, 7.234, 6.270, & |
---|
| 179 | ! pom insoluble |
---|
| 180 | 5.042, 3.101, 1.890, 1.294, 0.934/ |
---|
[2669] | 181 | |
---|
| 182 | ! internal mixture |
---|
| 183 | DATA alpha_MG_5wv/ & |
---|
| 184 | ! bc content = 0.001 |
---|
| 185 | 7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, & |
---|
| 186 | 7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, & |
---|
| 187 | 7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994, & |
---|
| 188 | 6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687, & |
---|
| 189 | 6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501, & |
---|
| 190 | ! bc content = 0.01 |
---|
| 191 | 7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, & |
---|
| 192 | 7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, & |
---|
| 193 | 7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994, & |
---|
| 194 | 6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687, & |
---|
| 195 | 6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501, & |
---|
| 196 | ! bc content = 0.02 |
---|
| 197 | 7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, & |
---|
| 198 | 7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, & |
---|
| 199 | 7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994, & |
---|
| 200 | 6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687, & |
---|
| 201 | 6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501, & |
---|
| 202 | ! bc content = 0.05 |
---|
| 203 | 7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, & |
---|
| 204 | 7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, & |
---|
| 205 | 7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994, & |
---|
| 206 | 6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687, & |
---|
| 207 | 6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501, & |
---|
| 208 | ! bc content = 0.10 |
---|
| 209 | 7.930,7.930,7.930,7.930,7.930,7.930,7.930,7.930,10.893,12.618,14.550,16.613, & |
---|
| 210 | 7.658,7.658,7.658,7.658,7.658,7.658,7.658,7.658,10.351,11.879,13.642,15.510, & |
---|
| 211 | 7.195,7.195,7.195,7.195,7.195,7.195,7.195,7.195,9.551,10.847,12.381,13.994, & |
---|
| 212 | 6.736,6.736,6.736,6.736,6.736,6.736,6.736,6.736,8.818,9.938,11.283,12.687, & |
---|
| 213 | 6.277,6.277,6.277,6.277,6.277,6.277,6.277,6.277,8.123,9.094,10.275,11.501 / |
---|
| 214 | |
---|
[2004] | 215 | ! |
---|
| 216 | ! Initialisations |
---|
| 217 | ai(:) = 0. |
---|
| 218 | tausum(:,:,:) = 0. |
---|
[2641] | 219 | tau(:,:,:,:)=0. |
---|
[2004] | 220 | |
---|
| 221 | DO k=1, klev |
---|
| 222 | DO i=1, klon |
---|
| 223 | zrho=pplay(i,k)/t_seri(i,k)/RD ! kg/m3 |
---|
[2641] | 224 | zdh(i,k)=pdel(i,k)/(RG*zrho) ! m |
---|
[2004] | 225 | ENDDO |
---|
| 226 | ENDDO |
---|
| 227 | |
---|
| 228 | IF (flag_aerosol .EQ. 1) THEN |
---|
| 229 | nb_aer = 2 |
---|
| 230 | ALLOCATE (aerosol_name(nb_aer)) |
---|
[2160] | 231 | aerosol_name(1) = id_ASSO4M_phy |
---|
| 232 | aerosol_name(2) = id_CSSO4M_phy |
---|
[2004] | 233 | ELSEIF (flag_aerosol .EQ. 2) THEN |
---|
| 234 | nb_aer = 2 |
---|
| 235 | ALLOCATE (aerosol_name(nb_aer)) |
---|
[2160] | 236 | aerosol_name(1) = id_ASBCM_phy |
---|
| 237 | aerosol_name(2) = id_AIBCM_phy |
---|
[2004] | 238 | ELSEIF (flag_aerosol .EQ. 3) THEN |
---|
| 239 | nb_aer = 2 |
---|
| 240 | ALLOCATE (aerosol_name(nb_aer)) |
---|
[2160] | 241 | aerosol_name(1) = id_ASPOMM_phy |
---|
| 242 | aerosol_name(2) = id_AIPOMM_phy |
---|
[2004] | 243 | ELSEIF (flag_aerosol .EQ. 4) THEN |
---|
| 244 | nb_aer = 3 |
---|
| 245 | ALLOCATE (aerosol_name(nb_aer)) |
---|
[2160] | 246 | aerosol_name(1) = id_CSSSM_phy |
---|
| 247 | aerosol_name(2) = id_SSSSM_phy |
---|
| 248 | aerosol_name(3) = id_ASSSM_phy |
---|
[2004] | 249 | ELSEIF (flag_aerosol .EQ. 5) THEN |
---|
| 250 | nb_aer = 1 |
---|
| 251 | ALLOCATE (aerosol_name(nb_aer)) |
---|
[2160] | 252 | aerosol_name(1) = id_CIDUSTM_phy |
---|
[2004] | 253 | ELSEIF (flag_aerosol .EQ. 6) THEN |
---|
| 254 | nb_aer = 10 |
---|
| 255 | ALLOCATE (aerosol_name(nb_aer)) |
---|
[2160] | 256 | aerosol_name(1) = id_ASSO4M_phy |
---|
| 257 | aerosol_name(2) = id_ASBCM_phy |
---|
| 258 | aerosol_name(3) = id_AIBCM_phy |
---|
| 259 | aerosol_name(4) = id_ASPOMM_phy |
---|
| 260 | aerosol_name(5) = id_AIPOMM_phy |
---|
| 261 | aerosol_name(6) = id_CSSSM_phy |
---|
| 262 | aerosol_name(7) = id_SSSSM_phy |
---|
| 263 | aerosol_name(8) = id_ASSSM_phy |
---|
| 264 | aerosol_name(9) = id_CIDUSTM_phy |
---|
[2669] | 265 | aerosol_name(10)= id_CSSO4M_phy |
---|
[2004] | 266 | ENDIF |
---|
| 267 | |
---|
| 268 | ! |
---|
| 269 | ! Loop over modes, use of precalculated nmd and corresponding sigma |
---|
| 270 | ! loop over wavelengths |
---|
| 271 | ! for each mass species in mode |
---|
| 272 | ! interpolate from Sext to retrieve Sext_at_gridpoint_per_species |
---|
| 273 | ! compute optical_thickness_at_gridpoint_per_species |
---|
| 274 | ! |
---|
| 275 | ! Calculations that need to be done since we are not in the subroutines INCA |
---|
| 276 | ! |
---|
| 277 | |
---|
| 278 | DO n=1,nbre_RH-1 |
---|
| 279 | fact_RH(n)=1./(RH_tab(n+1)-RH_tab(n)) |
---|
| 280 | ENDDO |
---|
| 281 | |
---|
[2641] | 282 | DO k=1, klev |
---|
| 283 | DO i=1, klon |
---|
[2004] | 284 | rh(i,k)=MIN(RHcl(i,k)*100.,RH_MAX) |
---|
| 285 | RH_num(i,k) = INT( rh(i,k)/10. + 1.) |
---|
| 286 | IF (rh(i,k).GT.85.) RH_num(i,k)=10 |
---|
| 287 | IF (rh(i,k).GT.90.) RH_num(i,k)=11 |
---|
| 288 | delta(i,k)=(rh(i,k)-RH_tab(RH_num(i,k)))*fact_RH(RH_num(i,k)) |
---|
| 289 | ENDDO |
---|
| 290 | ENDDO |
---|
| 291 | |
---|
| 292 | DO m=1,nb_aer ! tau is only computed for each mass |
---|
| 293 | fac=1.0 |
---|
[2160] | 294 | IF (aerosol_name(m).EQ.id_ASBCM_phy) THEN |
---|
[2004] | 295 | soluble=.TRUE. |
---|
| 296 | spsol=1 |
---|
[2160] | 297 | ELSEIF (aerosol_name(m).EQ.id_ASPOMM_phy) THEN |
---|
[2004] | 298 | soluble=.TRUE. |
---|
| 299 | spsol=2 |
---|
[2160] | 300 | ELSEIF (aerosol_name(m).EQ.id_ASSO4M_phy) THEN |
---|
[2004] | 301 | soluble=.TRUE. |
---|
| 302 | spsol=3 |
---|
[2669] | 303 | fac=1.375 ! (NH4)2-SO4/SO4 132/96 mass conversion factor for AOD |
---|
[2160] | 304 | ELSEIF (aerosol_name(m).EQ.id_CSSO4M_phy) THEN |
---|
[2004] | 305 | soluble=.TRUE. |
---|
| 306 | spsol=4 |
---|
[2669] | 307 | fac=1.375 ! (NH4)2-SO4/SO4 132/96 mass conversion factor for AOD |
---|
[2160] | 308 | ELSEIF (aerosol_name(m).EQ.id_SSSSM_phy) THEN |
---|
[2004] | 309 | soluble=.TRUE. |
---|
| 310 | spsol=5 |
---|
[2160] | 311 | ELSEIF (aerosol_name(m).EQ.id_CSSSM_phy) THEN |
---|
[2004] | 312 | soluble=.TRUE. |
---|
| 313 | spsol=6 |
---|
[2160] | 314 | ELSEIF (aerosol_name(m).EQ.id_ASSSM_phy) THEN |
---|
[2004] | 315 | soluble=.TRUE. |
---|
| 316 | spsol=7 |
---|
[2160] | 317 | ELSEIF (aerosol_name(m).EQ.id_CIDUSTM_phy) THEN |
---|
[2004] | 318 | soluble=.FALSE. |
---|
| 319 | spinsol=1 |
---|
[2160] | 320 | ELSEIF (aerosol_name(m).EQ.id_AIBCM_phy) THEN |
---|
[2004] | 321 | soluble=.FALSE. |
---|
| 322 | spinsol=2 |
---|
[2160] | 323 | ELSEIF (aerosol_name(m).EQ.id_AIPOMM_phy) THEN |
---|
[2004] | 324 | soluble=.FALSE. |
---|
| 325 | spinsol=3 |
---|
| 326 | ELSE |
---|
| 327 | CYCLE |
---|
| 328 | ENDIF |
---|
| 329 | |
---|
[2160] | 330 | aerindex=aerosol_name(m) |
---|
| 331 | |
---|
[2004] | 332 | DO la=1,las |
---|
| 333 | |
---|
[2641] | 334 | !--only 550, 670 and 865 nm are used |
---|
| 335 | IF (la.NE.la550.AND.la.NE.la670.AND.la.NE.la865) CYCLE |
---|
| 336 | |
---|
[2004] | 337 | IF (soluble) THEN ! For soluble aerosol |
---|
| 338 | |
---|
[2669] | 339 | !--treat special case of soluble BC internal mixture |
---|
| 340 | IF (spsol.EQ.1 .AND. flag_bc_internal_mixture) THEN |
---|
| 341 | |
---|
[2641] | 342 | DO k=1, klev |
---|
| 343 | DO i=1, klon |
---|
[2669] | 344 | |
---|
| 345 | BC_massfra = m_allaer(i,k,id_ASBCM_phy)/(m_allaer(i,k,id_ASBCM_phy)+m_allaer(i,k,id_ASSO4M_phy)) |
---|
| 346 | |
---|
| 347 | IF (BC_massfra.GE.0.10) THEN |
---|
| 348 | classbc = 5 |
---|
| 349 | ELSEIF (BC_massfra.GE.0.05) THEN |
---|
| 350 | classbc = 4 |
---|
| 351 | ELSEIF (BC_massfra.GE.0.02) THEN |
---|
| 352 | classbc = 3 |
---|
| 353 | ELSEIF (BC_massfra.GE.0.01) THEN |
---|
| 354 | classbc = 2 |
---|
| 355 | ELSE |
---|
| 356 | classbc = 1 |
---|
| 357 | ENDIF |
---|
| 358 | |
---|
| 359 | tau_ae5wv_int = alpha_MG_5wv(RH_num(i,k),la,classbc)+DELTA(i,k)* & |
---|
| 360 | (alpha_MG_5wv(RH_num(i,k)+1,la,classbc) - & |
---|
| 361 | alpha_MG_5wv(RH_num(i,k),la,classbc)) |
---|
| 362 | tau(i,k,la,aerindex) = m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*tau_ae5wv_int*fac |
---|
| 363 | tausum(i,la,aerindex)=tausum(i,la,aerindex)+tau(i,k,la,aerindex) |
---|
| 364 | ENDDO |
---|
| 365 | ENDDO |
---|
| 366 | |
---|
| 367 | !--other cases of soluble aerosols |
---|
| 368 | ELSE |
---|
| 369 | |
---|
| 370 | DO k=1, klev |
---|
| 371 | DO i=1, klon |
---|
[2004] | 372 | tau_ae5wv_int = alpha_aers_5wv(RH_num(i,k),la,spsol)+DELTA(i,k)* & |
---|
| 373 | (alpha_aers_5wv(RH_num(i,k)+1,la,spsol) - & |
---|
| 374 | alpha_aers_5wv(RH_num(i,k),la,spsol)) |
---|
[2641] | 375 | tau(i,k,la,aerindex) = m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*tau_ae5wv_int*fac |
---|
[2160] | 376 | tausum(i,la,aerindex)=tausum(i,la,aerindex)+tau(i,k,la,aerindex) |
---|
[2004] | 377 | ENDDO |
---|
| 378 | ENDDO |
---|
[2669] | 379 | |
---|
| 380 | ENDIF |
---|
[2160] | 381 | |
---|
[2669] | 382 | ! cases of insoluble aerosol |
---|
| 383 | ELSE |
---|
[2004] | 384 | |
---|
[2641] | 385 | DO k=1, klev |
---|
| 386 | DO i=1, klon |
---|
[2004] | 387 | tau_ae5wv_int = alpha_aeri_5wv(la,spinsol) |
---|
[2641] | 388 | tau(i,k,la,aerindex) = m_allaer(i,k,aerindex)/1.e6*zdh(i,k)*tau_ae5wv_int*fac |
---|
[2160] | 389 | tausum(i,la,aerindex)= tausum(i,la,aerindex)+tau(i,k,la,aerindex) |
---|
[2004] | 390 | ENDDO |
---|
| 391 | ENDDO |
---|
| 392 | |
---|
| 393 | ENDIF |
---|
| 394 | |
---|
| 395 | ENDDO ! Boucle sur les longueurs d'onde |
---|
| 396 | ENDDO ! Boucle sur les masses de traceurs |
---|
| 397 | |
---|
[2641] | 398 | !--AOD calculations for diagnostics |
---|
| 399 | od550aer(:)=SUM(tausum(:,la550,:),dim=2) |
---|
| 400 | od670aer(:)=SUM(tausum(:,la670,:),dim=2) |
---|
| 401 | od865aer(:)=SUM(tausum(:,la865,:),dim=2) |
---|
[2004] | 402 | |
---|
[2641] | 403 | !--extinction coefficient for diagnostic |
---|
| 404 | ec550aer(:,:)=SUM(tau(:,:,la550,:),dim=3)/zdh(:,:) |
---|
[2004] | 405 | |
---|
[2641] | 406 | !--aerosol index |
---|
| 407 | ai(:)=-LOG(MAX(od670aer(:),1.e-8)/MAX(od865aer(:),1.e-8))/LOG(670./865.) |
---|
[2004] | 408 | |
---|
[2160] | 409 | od550lt1aer(:)=tausum(:,la550,id_ASSO4M_phy)+tausum(:,la550,id_ASBCM_phy) +tausum(:,la550,id_AIBCM_phy)+ & |
---|
| 410 | tausum(:,la550,id_ASPOMM_phy)+tausum(:,la550,id_AIPOMM_phy)+tausum(:,la550,id_ASSSM_phy)+ & |
---|
| 411 | 0.03*tausum(:,la550,id_CSSSM_phy)+0.4*tausum(:,la550,id_CIDUSTM_phy) |
---|
[2004] | 412 | |
---|
| 413 | DEALLOCATE(aerosol_name) |
---|
| 414 | |
---|
| 415 | END SUBROUTINE AEROPT_5WV_RRTM |
---|