- Timestamp:
- Jun 17, 2015, 8:06:14 PM (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/dustemission_mod.F90
r2217 r2303 38 38 ! real , parameter :: cd=1.*roa/gravity 39 39 ! new values 40 ! logical, parameter :: ok_splatun ning=.true.40 ! logical, parameter :: ok_splatuning=.true. 41 41 ! Div=3 from S. Alfaro (Sow et al ACPD 2011) 42 42 !JE 20150206 43 integer, parameter :: div1=3. 44 integer, parameter :: div2=3. 45 integer, parameter :: div3=3. 43 ! integer, parameter :: div1=3. 44 ! integer, parameter :: div2=3. 45 ! integer, parameter :: div3=3. 46 integer, parameter :: div1=6. 47 integer, parameter :: div2=6. 48 integer, parameter :: div3=6. 46 49 real , parameter :: e1=3.61/div1 47 50 real , parameter :: e2=3.52/div2 … … 161 164 USE mod_grid_phy_lmdz 162 165 USE mod_phys_lmdz_para 166 USE indice_sol_mod 163 167 164 168 IMPLICIT NONE … … 169 173 REAL,DIMENSION(klon), INTENT(IN) :: xlat 170 174 REAL,DIMENSION(klon), INTENT(IN) :: xlon 171 REAL,DIMENSION(klon ),INTENT(IN) :: pctsrf175 REAL,DIMENSION(klon,nbsrf), INTENT(IN) :: pctsrf 172 176 REAL,DIMENSION(klon),INTENT(IN) :: zu10m ! 10m zonal wind 173 177 REAL,DIMENSION(klon),INTENT(IN) :: zv10m ! meridional 10m wind … … 218 222 ENDIF 219 223 220 CALL adaptdustemission(debutphy,emisbinloc,emdustacc,emdustcoa,emdustsco) 224 !CALL adaptdustemission(debutphy,emisbinloc,emdustacc,emdustcoa,emdustsco) 225 CALL adaptdustemission(debutphy,emisbinloc,emdustacc,emdustcoa,emdustsco,maskdust,pctsrf) 221 226 ! output in kg/m2/s 222 227 … … 258 263 259 264 SUBROUTINE adaptdustemission(debutphy,emisbinlocal, & 260 emdustacc,emdustcoa,emdustsco) 265 emdustacc,emdustcoa,emdustsco,maskdust,pctsrf) 266 ! emdustacc,emdustcoa,emdustsco) 261 267 262 268 USE dimphy … … 265 271 USE mod_grid_phy_lmdz 266 272 USE mod_phys_lmdz_para 273 USE indice_sol_mod 267 274 268 275 IMPLICIT NONE … … 276 283 INTEGER,SAVE ::iminacclow,iminacchigh,imincoalow 277 284 INTEGER,SAVE ::imincoahigh,iminscohigh,iminscolow 285 INTEGER,DIMENSION(klon) :: maskdust ! where the emissions were calculated 286 REAL,DIMENSION(klon,nbsrf), INTENT(IN) :: pctsrf 278 287 ! real,parameter :: sizeacclow=0.03 279 288 ! real,parameter :: sizeacchigh=0.5 … … 286 295 real,parameter :: sizescolow=6. 287 296 real,parameter :: sizescohigh=30. ! in micrometers 288 289 real,parameter :: tunningfactor=4.5 ! factor for fine bins!!! important!! 297 !-------------------------------- 298 real,parameter :: tuningfactorfine=1.0 ! factor for fine bins!!! important!! 299 ! real,parameter :: tuningfactorfine=4.5 ! factor for fine bins!!! important!! 300 real,parameter :: tuningfactorcoa=4.0 ! factor for coarse bins!!! important!! 301 ! real,parameter :: tuningfactorcoa=4.5 ! factor for coarse bins!!! important!! 302 real,parameter :: tuningfactorsco=4.0 ! factor for supercoarse bins!!! important!! 303 ! real,parameter :: tuningfactorsco=4.5 ! factor for supercoarse bins!!! important!! 304 real,parameter :: basesumemission= 0.0 !1.e-6 ! emissions to SUM to each land pixel FOR ASSIMILATION ONLY important!! in mg/m2/s, per bin 305 !basesumemission = 1.e-6 increase the AOD in about 12% (0.03 of AOD) , 306 !while 1e-8 increase in about 0.12% (0.003 of AOD) 307 308 real,dimension(klon) :: basesumacc,basesumcoa,basesumsco 309 !-------------------------------- 290 310 !JE20140915 real,parameter :: sizeacclow=0.06 291 311 !JE20140915 real,parameter :: sizeacchigh=1.0 … … 317 337 call abort_gcm('adaptdustemission', 'Dust range problem',1) 318 338 endif 319 print *,'ALL DUST BIN: tunning EMISSION factor= ',tunningfactor 339 print *,'FINE DUST BIN: tuning EMISSION factor= ',tuningfactorfine 340 print *,'COA DUST BIN: tuning EMISSION factor= ',tuningfactorcoa 341 print *,'SCO DUST BIN: tuning EMISSION factor= ',tuningfactorsco 342 print *,'ALL DUST BIN: SUM to the emissions (mg/m2/s) = ',basesumemission 320 343 auxr1=9999. 321 344 auxr2=9999. … … 386 409 387 410 ! estimate and integrate bins into only accumulation and coarse 411 do k=1,klon 412 basesumacc(k)=basesumemission*(pctsrf(k,is_ter))*1.e-6 ! from mg/m2/s 413 basesumcoa(k)=basesumemission*(pctsrf(k,is_ter))*1.e-6 414 basesumsco(k)=basesumemission*(pctsrf(k,is_ter))*1.e-6 415 enddo 388 416 389 417 … … 395 423 auxr1=auxr1+emisbinlocal(k,i) 396 424 enddo 397 emdustacc(k)= auxr1*tunningfactor425 emdustacc(k)=(auxr1 + basesumacc(k))*tuningfactorfine 398 426 do i=imincoalow,imincoahigh-1 399 427 auxr2=auxr2+emisbinlocal(k,i) 400 428 enddo 401 emdustcoa(k)= auxr2*tunningfactor429 emdustcoa(k)=(auxr2 + basesumcoa(k))*tuningfactorcoa 402 430 do i=iminscolow,iminscohigh-1 403 431 auxr3=auxr3+emisbinlocal(k,i) 404 432 enddo 405 emdustsco(k)= auxr3*tunningfactor433 emdustsco(k)=(auxr3 + basesumsco(k))*tuningfactorsco 406 434 enddo 435 436 437 !do k=1,klon 438 !auxr1=0.0 439 !auxr2=0.0 440 !auxr3=0.0 441 ! do i=iminacclow,iminacchigh-1 442 ! auxr1=auxr1+emisbinlocal(k,i) 443 ! enddo 444 ! emdustacc(k)= auxr1*tuningfactor 445 ! do i=imincoalow,imincoahigh-1 446 ! auxr2=auxr2+emisbinlocal(k,i) 447 ! enddo 448 ! emdustcoa(k)=auxr2*tuningfactor 449 ! do i=iminscolow,iminscohigh-1 450 ! auxr3=auxr3+emisbinlocal(k,i) 451 ! enddo 452 ! emdustsco(k)=auxr3*tuningfactor 453 !enddo 454 ! 455 456 457 407 458 408 459 !JEdbg<< … … 462 513 USE mod_grid_phy_lmdz 463 514 USE mod_phys_lmdz_para 515 USE indice_sol_mod 464 516 465 517 IMPLICIT NONE … … 467 519 REAL,DIMENSION(klon), INTENT(IN) :: xlat 468 520 REAL,DIMENSION(klon), INTENT(IN) :: xlon 469 REAL,DIMENSION(klon), INTENT(IN) :: pctsrf 521 ! JE20150605<< better to read 522 ! REAL,DIMENSION(klon), INTENT(IN) :: pctsrf 523 REAL,DIMENSION(klon,nbsrf), INTENT(IN) :: pctsrf 524 ! JE20150605>> 470 525 471 526 !Local … … 613 668 !& xlat(i).ge.latmin.and.xlat(i).le.latmax & 614 669 !& .and.pctsrf(i)>0.5.and.Pini(i,nts)>0.)THEN 615 IF(pctsrf(i)>0.5.and.Pini(i,nts)>0.)THEN 616 670 ! JE20150605<< easier to read 671 ! IF(pctsrf(i)>0.5.and.Pini(i,nts)>0.)THEN 672 IF(pctsrf(i,is_ter)>0.5.and.Pini(i,nts)>0.)THEN 673 ! JE20150605>> 617 674 sol(i,nts) = solini(i,nts) 618 675 P(i,nts) = Pini(i,nts)
Note: See TracChangeset
for help on using the changeset viewer.