Changeset 2196 for LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/coarsemission.F
- Timestamp:
- Feb 6, 2015, 6:53:57 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/coarsemission.F
r2175 r2196 18 18 . flux_sparam_ssfine,flux_sparam_sscoa, 19 19 . id_prec,id_fine,id_coss,id_codu,id_scdu, 20 . ok_chimeredust, 20 21 . source_tr,flux_tr) 21 22 ! . wth,cly,zprecipinsoil,lmt_sea_salt, … … 41 42 c============================== INPUT ================================== 42 43 INTEGER nbjour 44 LOGICAL ok_chimeredust 43 45 REAL pdtphys ! pas d'integration pour la physique (seconde) 44 46 REAL t_seri(klon,klev) ! temperature … … 133 135 134 136 c 137 IF (.NOT. ok_chimeredust) THEN 135 138 DO i=1, klon 136 139 !! IF (cly(i).GE.9990..OR.wth(i).GE.9990..OR. … … 154 157 ! flux_sparam_ddcoa(i)=scale_param_dustcoa(iregion_dust(i)) * 155 158 ! . dust_ec(i)*1.e3*0.905*1.e3 156 source_tr(i,id_fine)=scale_param_dustacc(iregion_dust(i))* 157 . dust_ec(i)*1.e3*0.114 ! g/m2/s 158 source_tr(i,id_codu)=scale_param_dustcoa(iregion_dust(i))* 159 . dust_ec(i)*1.e3*0.108 ! g/m2/s bin 0.5-3um 160 source_tr(i,id_scdu)=scale_param_dustsco(iregion_dust(i))* 161 . dust_ec(i)*1.e3*0.778 ! g/m2/s bin 3-15um 162 ! Original line (4 tracers) 163 flux_tr(i,id_fine)=scale_param_dustacc(iregion_dust(i))* 164 . dust_ec(i)*1.e3*0.114*1.e3 !mg/m2/s 165 flux_tr(i,id_codu)=scale_param_dustcoa(iregion_dust(i))* 166 . dust_ec(i)*1.e3*0.108*1.e3 !mg/m2/s bin 0.5-3um 167 flux_tr(i,id_scdu)=scale_param_dustsco(iregion_dust(i))* 168 . dust_ec(i)*1.e3*0.778*1.e3 !mg/m2/s bin 0.5-3um 159 IF(id_fine>0) source_tr(i,id_fine)= 160 . scale_param_dustacc(iregion_dust(i))* 161 . dust_ec(i)*1.e3*0.093 ! g/m2/s 162 IF(id_codu>0) source_tr(i,id_codu)= 163 . scale_param_dustcoa(iregion_dust(i))* 164 . dust_ec(i)*1.e3*0.905 ! g/m2/s bin 0.5-10um 165 IF(id_scdu>0) source_tr(i,id_scdu)=0. ! no supercoarse 166 ! Original line (4 tracers) 167 IF(id_fine>0) flux_tr(i,id_fine)= 168 . scale_param_dustacc(iregion_dust(i))* 169 . dust_ec(i)*1.e3*0.093*1.e3 !mg/m2/s 170 IF(id_codu>0) flux_tr(i,id_codu)= 171 . scale_param_dustcoa(iregion_dust(i))* 172 . dust_ec(i)*1.e3*0.905*1.e3 !mg/m2/s bin 0.5-10um 173 IF(id_scdu>0) flux_tr(i,id_scdu)=0. 169 174 170 175 flux_sparam_ddfine(i)=scale_param_dustacc(iregion_dust(i)) * 171 . dust_ec(i)*1.e3*0. 114*1.e3176 . dust_ec(i)*1.e3*0.093*1.e3 172 177 flux_sparam_ddcoa(i)=scale_param_dustcoa(iregion_dust(i)) * 173 . dust_ec(i)*1.e3*0.108*1.e3 174 flux_sparam_ddsco(i)=scale_param_dustsco(iregion_dust(i)) * 175 . dust_ec(i)*1.e3*0.778*1.e3 176 ENDDO 177 178 . dust_ec(i)*1.e3*0.905*1.e3 179 flux_sparam_ddsco(i)=0. 180 ENDDO 181 ENDIF 178 182 !*****************NEW CHIMERE DUST EMISSION Sahara***** 179 183 ! je 20140522 180 IF( .TRUE.) THEN184 IF(ok_chimeredust) THEN 181 185 print *,'MIX- NEW SAHARA DUST SOURCE SCHEME...' 182 186 … … 195 199 DO i=1,klon 196 200 if (maskd(i).gt.0) then 197 source_tr(i,id_fine)=scale_param_dustacc(iregion_dust(i))* 201 IF(id_fine>0) source_tr(i,id_fine)= 202 . scale_param_dustacc(iregion_dust(i))* 198 203 . dustsourceacc(i)*1.e3 ! g/m2/s bin 0.03-0.5 199 source_tr(i,id_codu)=scale_param_dustcoa(iregion_dust(i))* 204 IF(id_codu>0) source_tr(i,id_codu)= 205 . scale_param_dustcoa(iregion_dust(i))* 200 206 . dustsourcecoa(i)*1.e3 ! g/m2/s bin 0.5-3um 201 source_tr(i,id_scdu)=scale_param_dustsco(iregion_dust(i))* 207 IF(id_scdu>0) source_tr(i,id_scdu)= 208 . scale_param_dustsco(iregion_dust(i))* 202 209 . dustsourcesco(i)*1.e3 ! g/m2/s bin 3-15um 203 210 ! Original line (4 tracers) 204 flux_tr(i,id_fine)=scale_param_dustacc(iregion_dust(i))* 211 IF(id_fine>0) flux_tr(i,id_fine)= 212 . scale_param_dustacc(iregion_dust(i))* 205 213 . dustsourceacc(i)*1.e3*1.e3 !mg/m2/s 206 flux_tr(i,id_codu)=scale_param_dustcoa(iregion_dust(i))* 214 IF(id_codu>0) flux_tr(i,id_codu)= 215 . scale_param_dustcoa(iregion_dust(i))* 207 216 . dustsourcecoa(i)*1.e3*1.e3 !mg/m2/s bin 0.5-3um 208 flux_tr(i,id_scdu)=scale_param_dustsco(iregion_dust(i))* 217 IF(id_scdu>0) flux_tr(i,id_scdu)= 218 . scale_param_dustsco(iregion_dust(i))* 209 219 . dustsourcesco(i)*1.e3*1.e3 !mg/m2/s bin 3-15um 210 220 flux_sparam_ddfine(i)=scale_param_dustacc(iregion_dust(i)) * … … 215 225 . dustsourcesco(i)*1.e3*1.e3 216 226 else 217 source_tr(i,id_fine)=scale_param_dustacc(iregion_dust(i))* 227 IF(id_fine>0) source_tr(i,id_fine)= 228 . scale_param_dustacc(iregion_dust(i))* 218 229 . dust_ec(i)*1.e3*0.114 ! g/m2/s 219 source_tr(i,id_codu)=scale_param_dustcoa(iregion_dust(i))* 230 IF(id_codu>0) source_tr(i,id_codu)= 231 . scale_param_dustcoa(iregion_dust(i))* 220 232 . dust_ec(i)*1.e3*0.108 ! g/m2/s bin 0.5-3um 221 source_tr(i,id_scdu)=scale_param_dustsco(iregion_dust(i))* 233 IF(id_scdu>0) source_tr(i,id_scdu)= 234 . scale_param_dustsco(iregion_dust(i))* 222 235 . dust_ec(i)*1.e3*0.778 ! g/m2/s bin 3-15um 223 236 ! Original line (4 tracers) 224 flux_tr(i,id_fine)=scale_param_dustacc(iregion_dust(i))* 237 IF(id_fine>0) flux_tr(i,id_fine)= 238 . scale_param_dustacc(iregion_dust(i))* 225 239 . dust_ec(i)*1.e3*0.114*1.e3 !mg/m2/s 226 flux_tr(i,id_codu)=scale_param_dustcoa(iregion_dust(i))* 240 IF(id_codu>0) flux_tr(i,id_codu)= 241 . scale_param_dustcoa(iregion_dust(i))* 227 242 . dust_ec(i)*1.e3*0.108*1.e3 !mg/m2/s bin 0.5-3um 228 flux_tr(i,id_scdu)=scale_param_dustsco(iregion_dust(i))* 243 IF(id_scdu>0) flux_tr(i,id_scdu)= 244 . scale_param_dustsco(iregion_dust(i))* 229 245 . dust_ec(i)*1.e3*0.778*1.e3 !mg/m2/s bin 0.5-3um 230 246 … … 257 273 ENDDO 258 274 CALL minmaxsource(tmp_var2,qmin,qmax,'src: before SS emiss') 275 IF(id_coss>0) then 259 276 print *,'Source = ',SUM(source_tr(:,id_coss)), 260 277 . MINVAL(source_tr(:,id_coss)), MAXVAL(source_tr(:,id_coss)) 261 !ENDIF278 ENDIF 262 279 ! 263 280 DO i=1,klon 264 281 ! Original line (4 tracers) 265 source_tr(i,id_fine)=source_tr(i,id_fine)+scale_param_ssacc* 282 IF(id_fine>0) source_tr(i,id_fine)= 283 . source_tr(i,id_fine)+scale_param_ssacc* 266 284 . lmt_sea_salt(i,1)*1.e4 !g/m2/s 267 285 268 286 ! Original line (4 tracers) 269 flux_tr(i,id_fine)=flux_tr(i,id_fine)+scale_param_ssacc 287 IF(id_fine>0) flux_tr(i,id_fine)= 288 . flux_tr(i,id_fine)+scale_param_ssacc 270 289 . *lmt_sea_salt(i,1)*1.e4*1.e3 !mg/m2/s 271 290 ! 272 source_tr(i,id_coss)=scale_param_sscoa*lmt_sea_salt(i,2)*1.e4 !g/m2/s 273 flux_tr(i,id_coss)=scale_param_sscoa*lmt_sea_salt(i,2)*1.e4*1.e3 !mg/m2/s 291 IF(id_coss>0) source_tr(i,id_coss)= 292 . scale_param_sscoa*lmt_sea_salt(i,2)*1.e4 !g/m2/s 293 IF(id_coss>0) flux_tr(i,id_coss)= 294 . scale_param_sscoa*lmt_sea_salt(i,2)*1.e4*1.e3 !mg/m2/s 274 295 c 275 296 flux_sparam_ssfine(i)=scale_param_ssacc * … … 285 306 ENDDO 286 307 CALL minmaxsource(tmp_var2,qmin,qmax,'src: after SS emiss') 308 IF(id_coss>0) then 287 309 print *,'Source = ',SUM(source_tr(:,id_coss)), 288 310 . MINVAL(source_tr(:,id_coss)), MAXVAL(source_tr(:,id_coss)) 289 !ENDIF311 ENDIF 290 312 c 291 313
Note: See TracChangeset
for help on using the changeset viewer.