Changeset 2303
- Timestamp:
- Jun 17, 2015, 8:06:14 PM (10 years ago)
- Location:
- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/aeropt_spl.F
r2217 r2303 200 200 . +ss_dust(2)*tr_seri(i,k,id_codu)* 201 201 . zdz(i,k)*1.e6 202 IF(id_scdu>0) taue670_dustsco(i)=taue 550_dustsco(i)+202 IF(id_scdu>0) taue670_dustsco(i)=taue670_dustsco(i)+ 203 203 . ss_dustsco(2)*tr_seri(i,k,id_scdu)* 204 204 . zdz(i,k)*1.e6 … … 229 229 . +ss_dust(3)*tr_seri(i,k,id_codu)* 230 230 . zdz(i,k)*1.e6 231 IF(id_scdu>0) taue865_dustsco(i)=taue 550_dustsco(i)+231 IF(id_scdu>0) taue865_dustsco(i)=taue865_dustsco(i)+ 232 232 . ss_dustsco(3)*tr_seri(i,k,id_scdu)* 233 233 . zdz(i,k)*1.e6 -
LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/cv3a_uncompress.F90
r1992 r2303 138 138 evap1(idcum(i), k) = evap(i, k) !RomP 139 139 ep1(idcum(i), k) = ep(i, k) !RomP 140 eplamm(idcum(i), k) = eplamm(i, k) !RomP+jyg 140 !eplamm(idcum(i), k) = eplamm(i, k) !RomP+jyg 141 eplamm1(idcum(i), k) = eplamm(i, k) !RomP+jyg _ 20150518 141 142 wdtraina1(idcum(i), k) = wdtraina(i, k) !RomP 142 143 wdtrainm1(idcum(i), k) = wdtrainm(i, k) !RomP … … 167 168 sigij1(idcum(i), k, j) = sigij(i, k, j) !RomP 168 169 elij1(idcum(i), k, j) = elij(i, k, j) !RomP 169 epmlmmm(idcum(i), k, j) = epmlmmm(i, k, j) !RomP+jyg 170 !epmlmmm(idcum(i), k, j) = epmlmmm(i, k, j) !RomP+jyg 171 epmlmmm1(idcum(i), k, j) = epmlmmm(i, k, j) !RomP+jyg 20150518 170 172 END DO 171 173 END DO -
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) -
LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phys_output_write_mod.F90
r2196 r2303 24 24 diag_aod550_dust, diag_aod670_dust, diag_aod865_dust , & 25 25 diag_aod550_dustsco, diag_aod670_dustsco, diag_aod865_dustsco, & 26 aod550_aqua, aod670_aqua, aod865_aqua, & 27 aod550_terra, aod670_terra, aod865_terra, & 26 ! aod550_aqua, aod670_aqua, aod865_aqua, & 27 ! aod550_terra, aod670_terra, aod865_terra, & 28 aod550_aqua,aod550_tr2_aqua,aod550_ss_aqua,aod550_dust_aqua,aod550_dustsco_aqua,& 29 aod670_aqua,aod670_tr2_aqua,aod670_ss_aqua,aod670_dust_aqua,aod670_dustsco_aqua,& 30 aod865_aqua,aod865_tr2_aqua,aod865_ss_aqua,aod865_dust_aqua,aod865_dustsco_aqua,& 31 aod550_terra,aod550_tr2_terra,aod550_ss_terra,aod550_dust_terra,aod550_dustsco_terra,& 32 aod670_terra,aod670_tr2_terra,aod670_ss_terra,aod670_dust_terra,aod670_dustsco_terra,& 33 aod865_terra,aod865_tr2_terra,aod865_ss_terra,aod865_dust_terra,aod865_dustsco_terra,& 28 34 trm01,trm02,trm03,trm04,trm05, & 29 35 sconc01,sconc02,sconc03,sconc04,sconc05, & … … 204 210 o_m1dflux,o_m2dflux,o_m3dflux, & 205 211 o_taue550, & 206 o_taue670,o_taue865, &212 o_taue670,o_taue865, & 207 213 o_taue550_tr2, o_taue670_tr2, o_taue865_tr2, & 208 214 o_taue550_ss,o_taue670_ss, o_taue865_ss, & … … 211 217 o_taue550_aqua, o_taue670_aqua, o_taue865_aqua, & 212 218 o_taue550_terra, o_taue670_terra, o_taue865_terra, & 219 o_taue550_fine_aqua , o_taue670_fine_aqua , & 220 o_taue865_fine_aqua , o_taue550_coss_aqua , & 221 o_taue670_coss_aqua , o_taue865_coss_aqua , & 222 o_taue550_codu_aqua , o_taue670_codu_aqua , & 223 o_taue865_codu_aqua , o_taue670_scdu_aqua , & 224 o_taue550_scdu_aqua , o_taue865_scdu_aqua , & 225 o_taue550_fine_terra , o_taue670_fine_terra ,& 226 o_taue865_fine_terra , o_taue550_coss_terra ,& 227 o_taue670_coss_terra , o_taue865_coss_terra ,& 228 o_taue550_codu_terra , o_taue670_codu_terra ,& 229 o_taue865_codu_terra , o_taue670_scdu_terra ,& 230 o_taue550_scdu_terra , o_taue865_scdu_terra ,& 213 231 o_trm01,o_trm02,o_trm03,o_trm04,o_trm05,& 214 232 o_sconc01,o_sconc02,o_sconc03,o_sconc04,o_sconc05, & -
LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/physiq.F90
r2217 r2303 3642 3642 nbreg_wstardust=1 3643 3643 fileregionsdimsind='regions_ind_meta' 3644 !fileregionsdimsdust='regions_dustacc_meta'3645 fileregionsdimsdust='regions_dust_meta'3644 fileregionsdimsdust='regions_dustacc_meta' 3645 ! fileregionsdimsdust='regions_dust_meta' 3646 3646 fileregionsdimsbb='regions_bb_meta' 3647 3647 fileregionsdimswstar='regions_pwstarwake_meta' … … 3705 3705 paramname_dustcoa='dustcoasco' 3706 3706 paramname_dustsco='dustcoasco' 3707 paramname_dustacc='dust'3708 paramname_dustcoa='dust'3709 paramname_dustsco='dust'3707 ! paramname_dustacc='dust' 3708 ! paramname_dustcoa='dust' 3709 ! paramname_dustsco='dust' 3710 3710 paramname_wstarBL='pwstarbl' 3711 3711 paramname_wstarWAKE='pwstarwake' 3712 paramname_ssacc='ss '3713 paramname_sscoa='ss '3712 paramname_ssacc='ssacc' 3713 paramname_sscoa='sscoa' 3714 3714 3715 3715 filescaleparams='modvalues.nc' … … 3739 3739 print *, 'wstardustBL', param_wstarBLperregion 3740 3740 print *, 'wstardustWAKE', param_wstarWAKEperregion 3741 print *, 'dustsco', scale_param_dustsco3742 3741 print *, 'ff', scale_param_ff 3743 3742 print *, 'bb', scale_param_bb -
LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phytracr_spl_mod.F90
r2217 r2303 73 73 74 74 75 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_terra ! AOD at terra overpass time ( 10.30 local hour) 76 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_tr2_terra ! AOD at terra overpass time ( 10.30 local hour) 77 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_ss_terra ! AOD at terra overpass time ( 10.30 local hour) 78 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_dust_terra ! AOD at terra overpass time ( 10.30 local hour) 79 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_dustsco_terra ! AOD at terra overpass time ( 10.30 local hour) 80 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_terra ! AOD at terra overpass time ( 10.30 local hour) 81 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_tr2_terra ! AOD at terra overpass time ( 10.30 local hour) 82 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_ss_terra ! AOD at terra overpass time ( 10.30 local hour) 83 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_dust_terra ! AOD at terra overpass time ( 10.30 local hour) 84 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_dustsco_terra ! AOD at terra overpass time ( 10.30 local hour) 85 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_terra ! AOD at terra overpass time ( 10.30 local hour) 86 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_tr2_terra ! AOD at terra overpass time ( 10.30 local hour) 87 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_ss_terra ! AOD at terra overpass time ( 10.30 local hour) 88 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_dust_terra ! AOD at terra overpass time ( 10.30 local hour) 89 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_dustsco_terra ! AOD at terra overpass time ( 10.30 local hour) 90 91 75 92 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_aqua ! AOD at aqua overpass time ( 13.30 local hour) 76 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_terra ! AOD at terra overpass time ( 10.30 local hour) 93 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_tr2_aqua ! AOD at aqua overpass time ( 13.30 local hour) 94 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_ss_aqua ! AOD at aqua overpass time ( 13.30 local hour) 95 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_dust_aqua ! AOD at aqua overpass time ( 13.30 local hour) 96 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_dustsco_aqua ! AOD at aqua overpass time ( 13.30 local hour) 77 97 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_aqua ! AOD at aqua overpass time ( 13.30 local hour) 78 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_terra ! AOD at terra overpass time ( 10.30 local hour) 98 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_tr2_aqua ! AOD at aqua overpass time ( 13.30 local hour) 99 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_ss_aqua ! AOD at aqua overpass time ( 13.30 local hour) 100 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_dust_aqua ! AOD at aqua overpass time ( 13.30 local hour) 101 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_dustsco_aqua ! AOD at aqua overpass time ( 13.30 local hour) 79 102 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_aqua ! AOD at aqua overpass time ( 13.30 local hour) 80 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_terra ! AOD at terra overpass time ( 10.30 local hour) 81 82 !$OMP THREADPRIVATE(aod550_aqua,aod550_terra,aod670_aqua,aod670_terra) 83 !$OMP THREADPRIVATE(aod865_aqua,aod865_terra) 103 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_tr2_aqua ! AOD at aqua overpass time ( 13.30 local hour) 104 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_ss_aqua ! AOD at aqua overpass time ( 13.30 local hour) 105 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_dust_aqua ! AOD at aqua overpass time ( 13.30 local hour) 106 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_dustsco_aqua ! AOD at aqua overpass time ( 13.30 local hour) 107 108 !$OMP THREADPRIVATE(aod550_aqua,aod550_tr2_aqua,aod550_ss_aqua,aod550_dust_aqua,aod550_dustsco_aqua) 109 !$OMP THREADPRIVATE(aod670_aqua,aod670_tr2_aqua,aod670_ss_aqua,aod670_dust_aqua,aod670_dustsco_aqua) 110 !$OMP THREADPRIVATE(aod865_aqua,aod865_tr2_aqua,aod865_ss_aqua,aod865_dust_aqua,aod865_dustsco_aqua) 111 !$OMP THREADPRIVATE(aod550_terra,aod550_tr2_terra,aod550_ss_terra,aod550_dust_terra,aod550_dustsco_terra) 112 !$OMP THREADPRIVATE(aod670_terra,aod670_tr2_terra,aod670_ss_terra,aod670_dust_terra,aod670_dustsco_terra) 113 !$OMP THREADPRIVATE(aod865_terra,aod865_tr2_terra,aod865_ss_terra,aod865_dust_terra,aod865_dustsco_terra) 114 115 84 116 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: sconc01 ! surface concentration 85 117 REAL, DIMENSION(:), ALLOCATABLE, SAVE :: trm01 ! burden … … 378 410 379 411 !JE20141224 >> 380 REAL, DIMENSION(klon_glo) :: aod550_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 381 REAL, DIMENSION(klon_glo) :: aod550_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 382 REAL, DIMENSION(klon_glo) :: aod670_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 383 REAL, DIMENSION(klon_glo) :: aod670_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 384 REAL, DIMENSION(klon_glo) :: aod865_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 385 REAL, DIMENSION(klon_glo) :: aod865_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 412 !JE20150518<< 413 REAL, DIMENSION(klon_glo) :: aod550_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 414 REAL, DIMENSION(klon_glo) :: aod550_tr2_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 415 REAL, DIMENSION(klon_glo) :: aod550_ss_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 416 REAL, DIMENSION(klon_glo) :: aod550_dust_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 417 REAL, DIMENSION(klon_glo) :: aod550_dustsco_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 418 REAL, DIMENSION(klon_glo) :: aod670_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 419 REAL, DIMENSION(klon_glo) :: aod670_tr2_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 420 REAL, DIMENSION(klon_glo) :: aod670_ss_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 421 REAL, DIMENSION(klon_glo) :: aod670_dust_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 422 REAL, DIMENSION(klon_glo) :: aod670_dustsco_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 423 REAL, DIMENSION(klon_glo) :: aod865_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 424 REAL, DIMENSION(klon_glo) :: aod865_tr2_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 425 REAL, DIMENSION(klon_glo) :: aod865_ss_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 426 REAL, DIMENSION(klon_glo) :: aod865_dust_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 427 REAL, DIMENSION(klon_glo) :: aod865_dustsco_terra_glo ! AOD at terra overpass time ( 10.30 local hour) 428 429 REAL, DIMENSION(klon_glo) :: aod550_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 430 REAL, DIMENSION(klon_glo) :: aod550_tr2_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 431 REAL, DIMENSION(klon_glo) :: aod550_ss_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 432 REAL, DIMENSION(klon_glo) :: aod550_dust_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 433 REAL, DIMENSION(klon_glo) :: aod550_dustsco_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 434 REAL, DIMENSION(klon_glo) :: aod670_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 435 REAL, DIMENSION(klon_glo) :: aod670_tr2_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 436 REAL, DIMENSION(klon_glo) :: aod670_ss_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 437 REAL, DIMENSION(klon_glo) :: aod670_dust_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 438 REAL, DIMENSION(klon_glo) :: aod670_dustsco_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 439 REAL, DIMENSION(klon_glo) :: aod865_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 440 REAL, DIMENSION(klon_glo) :: aod865_tr2_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 441 REAL, DIMENSION(klon_glo) :: aod865_ss_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 442 REAL, DIMENSION(klon_glo) :: aod865_dust_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 443 REAL, DIMENSION(klon_glo) :: aod865_dustsco_aqua_glo ! AOD at aqua overpass time ( 13.30 local hour) 444 !!!!!!!!!!!!! 445 !JE20150518>> 446 447 386 448 387 449 … … 993 1055 994 1056 995 lmt_dms(:)=0.0996 aux_var2(:)=0.0997 aux_var3(:,:)=0.0998 source_tr(:,:)=0.0999 flux_tr(:,:)=0.01000 flux_sparam_bb(:)=0.01001 flux_sparam_ff(:)=0.01002 flux_sparam_ind(:)=0.01003 flux_sparam_ddfine(:)=0.01004 flux_sparam_ddcoa(:)=0.01005 flux_sparam_ddsco(:)=0.01006 flux_sparam_ssfine(:)=0.01007 flux_sparam_sscoa(:)=0.01008 1057 1009 1058 !JE20140507 d_tr_dry(:,:)=0.0 … … 1740 1789 ALLOCATE(iregion_wstardust(klon)) 1741 1790 1791 !JE20150518<< 1742 1792 ALLOCATE(masque_aqua(klon)) 1743 1793 ALLOCATE(masque_terra(klon)) 1744 ALLOCATE(aod550_aqua(klon)) 1745 ALLOCATE(aod550_terra(klon)) 1746 ALLOCATE(aod670_aqua(klon)) 1747 ALLOCATE(aod670_terra(klon)) 1748 ALLOCATE(aod865_aqua(klon)) 1749 ALLOCATE(aod865_terra(klon)) 1794 ! ALLOCATE(aod550_aqua(klon)) 1795 ! ALLOCATE(aod550_terra(klon)) 1796 ! ALLOCATE(aod670_aqua(klon)) 1797 ! ALLOCATE(aod670_terra(klon)) 1798 ! ALLOCATE(aod865_aqua(klon)) 1799 ! ALLOCATE(aod865_terra(klon)) 1800 1801 ALLOCATE( aod550_terra(klon)) 1802 ALLOCATE( aod550_tr2_terra(klon)) 1803 ALLOCATE( aod550_ss_terra(klon)) 1804 ALLOCATE( aod550_dust_terra(klon)) 1805 ALLOCATE( aod550_dustsco_terra(klon)) 1806 ALLOCATE( aod670_terra(klon)) 1807 ALLOCATE( aod670_tr2_terra(klon)) 1808 ALLOCATE( aod670_ss_terra(klon)) 1809 ALLOCATE( aod670_dust_terra(klon)) 1810 ALLOCATE( aod670_dustsco_terra(klon)) 1811 ALLOCATE( aod865_terra(klon)) 1812 ALLOCATE( aod865_tr2_terra(klon)) 1813 ALLOCATE( aod865_ss_terra(klon)) 1814 ALLOCATE( aod865_dust_terra(klon)) 1815 ALLOCATE( aod865_dustsco_terra(klon)) 1816 1817 ALLOCATE( aod550_aqua(klon)) 1818 ALLOCATE( aod550_tr2_aqua(klon)) 1819 ALLOCATE( aod550_ss_aqua(klon)) 1820 ALLOCATE( aod550_dust_aqua(klon)) 1821 ALLOCATE( aod550_dustsco_aqua(klon)) 1822 ALLOCATE( aod670_aqua(klon)) 1823 ALLOCATE( aod670_tr2_aqua(klon)) 1824 ALLOCATE( aod670_ss_aqua(klon)) 1825 ALLOCATE( aod670_dust_aqua(klon)) 1826 ALLOCATE( aod670_dustsco_aqua(klon)) 1827 ALLOCATE( aod865_aqua(klon)) 1828 ALLOCATE( aod865_tr2_aqua(klon)) 1829 ALLOCATE( aod865_ss_aqua(klon)) 1830 ALLOCATE( aod865_dust_aqua(klon)) 1831 ALLOCATE( aod865_dustsco_aqua(klon)) 1832 1750 1833 1751 1834 masque_aqua(:)=0 1752 1835 masque_terra(:)=0 1753 aod550_aqua(:)=0. 1754 aod550_terra(:)=0. 1755 aod670_aqua(:)=0. 1756 aod670_terra(:)=0. 1757 aod865_aqua(:)=0. 1758 aod865_terra(:)=0. 1836 ! aod550_aqua(:)=0. 1837 ! aod550_terra(:)=0. 1838 ! aod670_aqua(:)=0. 1839 ! aod670_terra(:)=0. 1840 ! aod865_aqua(:)=0. 1841 ! aod865_terra(:)=0. 1842 1843 aod550_terra(:)=0. 1844 aod550_tr2_terra(:)=0. 1845 aod550_ss_terra(:)=0. 1846 aod550_dust_terra(:)=0. 1847 aod550_dustsco_terra(:)=0. 1848 aod670_terra(:)=0. 1849 aod670_tr2_terra(:)=0. 1850 aod670_ss_terra(:)=0. 1851 aod670_dust_terra(:)=0. 1852 aod670_dustsco_terra(:)=0. 1853 aod865_terra(:)=0. 1854 aod865_tr2_terra(:)=0. 1855 aod865_ss_terra(:)=0. 1856 aod865_dust_terra(:)=0. 1857 aod865_dustsco_terra(:)=0. 1858 aod550_aqua(:)=0. 1859 aod550_tr2_aqua(:)=0. 1860 aod550_ss_aqua(:)=0. 1861 aod550_dust_aqua(:)=0. 1862 aod550_dustsco_aqua(:)=0. 1863 aod670_aqua(:)=0. 1864 aod670_tr2_aqua(:)=0. 1865 aod670_ss_aqua(:)=0. 1866 aod670_dust_aqua(:)=0. 1867 aod670_dustsco_aqua(:)=0. 1868 aod865_aqua(:)=0. 1869 aod865_tr2_aqua(:)=0. 1870 aod865_ss_aqua(:)=0. 1871 aod865_dust_aqua(:)=0. 1872 aod865_dustsco_aqua(:)=0. 1873 !JE20150518>> 1874 1875 1876 1877 1878 1759 1879 ! 1760 1880 !Config Key = iflag_lscav … … 1785 1905 !$OMP END MASTER 1786 1906 !$OMP BARRIER 1787 1907 ENDIF ! debutphy 1908 1788 1909 lmt_dms(:)=0.0 1789 1910 aux_var2(:)=0.0 … … 1799 1920 flux_sparam_ssfine(:)=0.0 1800 1921 flux_sparam_sscoa(:)=0.0 1801 ENDIF ! debutphy1802 1803 1922 1804 1923 ! initialiation for time computation … … 2054 2173 ! ENDIF 2055 2174 ! 2056 !c_FullName1='regions_dustacc'2057 c_FullName1='regions_dust'2175 c_FullName1='regions_dustacc' 2176 !c_FullName1='regions_dust' 2058 2177 call readregions_spl(iregion_dust,c_FullName1) 2059 2178 c_FullName1='regions_ind' … … 2081 2200 IF (is_mpi_root .AND. is_omp_root) THEN 2082 2201 DO k=1,klon_glo 2083 WRITE(25,'(i )') iauxklon_glo(k)2202 WRITE(25,'(i10)') iauxklon_glo(k) 2084 2203 ENDDO 2085 2204 ENDIF ! mpi root … … 2090 2209 IF (is_mpi_root .AND. is_omp_root) THEN 2091 2210 DO k=1,klon_glo 2092 WRITE(55,'(i )') iauxklon_glo(k)2211 WRITE(55,'(i10)') iauxklon_glo(k) 2093 2212 ENDDO 2094 2213 ENDIF ! mpi root … … 2099 2218 IF (is_mpi_root .AND. is_omp_root) THEN 2100 2219 DO k=1,klon_glo 2101 WRITE(75,'(i )') iauxklon_glo(k)2220 WRITE(75,'(i10)') iauxklon_glo(k) 2102 2221 ENDDO 2103 2222 ENDIF ! mpi root … … 2108 2227 IF (is_mpi_root .AND. is_omp_root) THEN 2109 2228 DO k=1,klon_glo 2110 WRITE(95,'(i )') iauxklon_glo(k)2229 WRITE(95,'(i10)') iauxklon_glo(k) 2111 2230 ENDDO 2112 2231 ENDIF ! mpi root … … 3291 3410 id_prec, id_fine, id_coss, id_codu, id_scdu, & 3292 3411 ok_chimeredust, & 3293 diff_aod550_tot, diag_aod670_tot,diag_aod865_tot, &3294 diff_aod550_tr2, diag_aod670_tr2,diag_aod865_tr2, &3295 diag_aod550_ss, diag_aod670_ss,diag_aod865_ss, &3412 diff_aod550_tot, diag_aod670_tot, diag_aod865_tot, & 3413 diff_aod550_tr2, diag_aod670_tr2, diag_aod865_tr2, & 3414 diag_aod550_ss, diag_aod670_ss, diag_aod865_ss, & 3296 3415 diag_aod550_dust,diag_aod670_dust,diag_aod865_dust, & 3297 3416 diag_aod550_dustsco,diag_aod670_dustsco,diag_aod865_dustsco) … … 3316 3435 CALL satellite_out_spla(jD_cur,jH_cur,pdtphys,xlat,xlon, & 3317 3436 masque_aqua_cur, masque_terra_cur ) 3437 IF (jH_cur-pdtphys/86400. .LT. 0.) THEN 3438 !new utc day: put in 0 everything 3439 !JE20150518<< 3440 ! aod550_aqua(:) =0. 3441 ! aod550_terra(:) =0. 3442 ! aod670_aqua(:) =0. 3443 ! aod670_terra(:) =0. 3444 ! aod865_aqua(:) =0. 3445 ! aod865_terra(:) =0. 3446 masque_aqua(:) =0 3447 masque_terra(:) =0 3448 aod550_terra(:)=0. 3449 aod550_tr2_terra(:)=0. 3450 aod550_ss_terra(:)=0. 3451 aod550_dust_terra(:)=0. 3452 aod550_dustsco_terra(:)=0. 3453 aod670_terra(:)=0. 3454 aod670_tr2_terra(:)=0. 3455 aod670_ss_terra(:)=0. 3456 aod670_dust_terra(:)=0. 3457 aod670_dustsco_terra(:)=0. 3458 aod865_terra(:)=0. 3459 aod865_tr2_terra(:)=0. 3460 aod865_ss_terra(:)=0. 3461 aod865_dust_terra(:)=0. 3462 aod865_dustsco_terra(:)=0. 3463 aod550_aqua(:)=0. 3464 aod550_tr2_aqua(:)=0. 3465 aod550_ss_aqua(:)=0. 3466 aod550_dust_aqua(:)=0. 3467 aod550_dustsco_aqua(:)=0. 3468 aod670_aqua(:)=0. 3469 aod670_tr2_aqua(:)=0. 3470 aod670_ss_aqua(:)=0. 3471 aod670_dust_aqua(:)=0. 3472 aod670_dustsco_aqua(:)=0. 3473 aod865_aqua(:)=0. 3474 aod865_tr2_aqua(:)=0. 3475 aod865_ss_aqua(:)=0. 3476 aod865_dust_aqua(:)=0. 3477 aod865_dustsco_aqua(:)=0. 3478 !JE20150518>> 3479 ENDIF 3318 3480 3319 3481 DO i=1,klon 3320 aod550_aqua(i)=aod550_aqua(i)+ & 3482 ! aod550_aqua(i)=aod550_aqua(i)+ & 3483 ! masque_aqua_cur(i)*diff_aod550_tot(i) 3484 ! aod670_aqua(i)=aod670_aqua(i)+ & 3485 ! masque_aqua_cur(i)*diag_aod670_tot(i) 3486 ! aod865_aqua(i)=aod865_aqua(i)+ & 3487 ! masque_aqua_cur(i)*diag_aod865_tot(i) 3488 3489 aod550_terra(i)=aod550_terra(i)+ & 3490 masque_terra_cur(i)*diff_aod550_tot(i) 3491 aod550_tr2_terra(i)= aod550_tr2_terra(i)+ & 3492 masque_terra_cur(i)*diff_aod550_tr2(i) 3493 aod550_ss_terra(i)=aod550_ss_terra(i) + & 3494 masque_terra_cur(i)*diag_aod550_ss(i) 3495 aod550_dust_terra(i)= aod550_dust_terra(i) + & 3496 masque_terra_cur(i)*diag_aod550_dust(i) 3497 aod550_dustsco_terra(i)= aod550_dustsco_terra(i) + & 3498 masque_terra_cur(i)*diag_aod550_dustsco(i) 3499 aod670_terra(i)=aod670_terra(i)+ & 3500 masque_terra_cur(i)*diag_aod670_tot(i) 3501 aod670_tr2_terra(i)= aod670_tr2_terra(i)+ & 3502 masque_terra_cur(i)*diag_aod670_tr2(i) 3503 aod670_ss_terra(i)=aod670_ss_terra(i) + & 3504 masque_terra_cur(i)*diag_aod670_ss(i) 3505 aod670_dust_terra(i)= aod670_dust_terra(i) + & 3506 masque_terra_cur(i)*diag_aod670_dust(i) 3507 aod670_dustsco_terra(i)= aod670_dustsco_terra(i) + & 3508 masque_terra_cur(i)*diag_aod670_dustsco(i) 3509 aod865_terra(i)=aod865_terra(i)+ & 3510 masque_terra_cur(i)*diag_aod865_tot(i) 3511 aod865_tr2_terra(i)= aod865_tr2_terra(i)+ & 3512 masque_terra_cur(i)*diag_aod865_tr2(i) 3513 aod865_ss_terra(i)=aod865_ss_terra(i) + & 3514 masque_terra_cur(i)*diag_aod865_ss(i) 3515 aod865_dust_terra(i)= aod865_dust_terra(i) + & 3516 masque_terra_cur(i)*diag_aod865_dust(i) 3517 aod865_dustsco_terra(i)= aod865_dustsco_terra(i) + & 3518 masque_terra_cur(i)*diag_aod865_dustsco(i) 3519 3520 3521 3522 aod550_aqua(i)=aod550_aqua(i)+ & 3321 3523 masque_aqua_cur(i)*diff_aod550_tot(i) 3322 aod670_aqua(i)=aod670_aqua(i)+ & 3323 masque_aqua_cur(i)*diag_aod670_tot(i) 3324 aod865_aqua(i)=aod865_aqua(i)+ & 3524 aod550_tr2_aqua(i)= aod550_tr2_aqua(i)+ & 3525 masque_aqua_cur(i)*diff_aod550_tr2(i) 3526 aod550_ss_aqua(i)=aod550_ss_aqua(i) + & 3527 masque_aqua_cur(i)*diag_aod550_ss(i) 3528 aod550_dust_aqua(i)= aod550_dust_aqua(i) + & 3529 masque_aqua_cur(i)*diag_aod550_dust(i) 3530 aod550_dustsco_aqua(i)= aod550_dustsco_aqua(i) + & 3531 masque_aqua_cur(i)*diag_aod550_dustsco(i) 3532 aod670_aqua(i)=aod670_aqua(i)+ & 3533 masque_aqua_cur(i)*diag_aod670_tot(i) 3534 aod670_tr2_aqua(i)= aod670_tr2_aqua(i)+ & 3535 masque_aqua_cur(i)*diag_aod670_tr2(i) 3536 aod670_ss_aqua(i)=aod670_ss_aqua(i) + & 3537 masque_aqua_cur(i)*diag_aod670_ss(i) 3538 aod670_dust_aqua(i)= aod670_dust_aqua(i) + & 3539 masque_aqua_cur(i)*diag_aod670_dust(i) 3540 aod670_dustsco_aqua(i)= aod670_dustsco_aqua(i) + & 3541 masque_aqua_cur(i)*diag_aod670_dustsco(i) 3542 aod865_aqua(i)=aod865_aqua(i)+ & 3325 3543 masque_aqua_cur(i)*diag_aod865_tot(i) 3544 aod865_tr2_aqua(i)= aod865_tr2_aqua(i)+ & 3545 masque_aqua_cur(i)*diag_aod865_tr2(i) 3546 aod865_ss_aqua(i)=aod865_ss_aqua(i) + & 3547 masque_aqua_cur(i)*diag_aod865_ss(i) 3548 aod865_dust_aqua(i)= aod865_dust_aqua(i) + & 3549 masque_aqua_cur(i)*diag_aod865_dust(i) 3550 aod865_dustsco_aqua(i)= aod865_dustsco_aqua(i) + & 3551 masque_aqua_cur(i)*diag_aod865_dustsco(i) 3552 ! aod550_terra(i)=aod550_terra(i)+ & 3553 ! masque_terra_cur(i)*diff_aod550_tot(i) 3554 ! aod670_terra(i)=aod670_terra(i)+ & 3555 ! masque_terra_cur(i)*diag_aod670_tot(i) 3556 ! aod865_terra(i)=aod865_terra(i)+ & 3557 ! masque_terra_cur(i)*diag_aod865_tot(i) 3326 3558 masque_aqua(i)=masque_aqua(i)+masque_aqua_cur(i) 3327 aod550_terra(i)=aod550_terra(i)+ &3328 masque_terra_cur(i)*diff_aod550_tot(i)3329 aod670_terra(i)=aod670_terra(i)+ &3330 masque_terra_cur(i)*diag_aod670_tot(i)3331 aod865_terra(i)=aod865_terra(i)+ &3332 masque_terra_cur(i)*diag_aod865_tot(i)3333 3559 masque_terra(i)=masque_terra(i)+masque_terra_cur(i) 3334 3560 ENDDO … … 3341 3567 aod670_aqua(i)=aod670_aqua(i)/masque_aqua(i) 3342 3568 aod865_aqua(i)=aod865_aqua(i)/masque_aqua(i) 3569 aod550_tr2_aqua(i)=aod550_tr2_aqua(i)/masque_aqua(i) 3570 aod670_tr2_aqua(i)=aod670_tr2_aqua(i)/masque_aqua(i) 3571 aod865_tr2_aqua(i)=aod865_tr2_aqua(i)/masque_aqua(i) 3572 aod550_ss_aqua(i)=aod550_ss_aqua(i)/masque_aqua(i) 3573 aod670_ss_aqua(i)=aod670_ss_aqua(i)/masque_aqua(i) 3574 aod865_ss_aqua(i)=aod865_ss_aqua(i)/masque_aqua(i) 3575 aod550_dust_aqua(i)=aod550_dust_aqua(i)/masque_aqua(i) 3576 aod670_dust_aqua(i)=aod670_dust_aqua(i)/masque_aqua(i) 3577 aod865_dust_aqua(i)=aod865_dust_aqua(i)/masque_aqua(i) 3578 aod550_dustsco_aqua(i)=aod550_dustsco_aqua(i)/masque_aqua(i) 3579 aod670_dustsco_aqua(i)=aod670_dustsco_aqua(i)/masque_aqua(i) 3580 aod865_dustsco_aqua(i)=aod865_dustsco_aqua(i)/masque_aqua(i) 3343 3581 ELSE 3344 3582 aod550_aqua(i) = -999. 3345 3583 aod670_aqua(i) = -999. 3346 3584 aod865_aqua(i) = -999. 3585 aod550_tr2_aqua(i)= -999. 3586 aod670_tr2_aqua(i)= -999. 3587 aod865_tr2_aqua(i)= -999. 3588 aod550_ss_aqua(i)= -999. 3589 aod670_ss_aqua(i)= -999. 3590 aod865_ss_aqua(i)= -999. 3591 aod550_dust_aqua(i)= -999. 3592 aod670_dust_aqua(i)= -999. 3593 aod865_dust_aqua(i)= -999. 3594 aod550_dustsco_aqua(i)= -999. 3595 aod670_dustsco_aqua(i)= -999. 3596 aod865_dustsco_aqua(i)= -999. 3347 3597 ENDIF 3348 3598 IF (masque_terra(i).GT. 0) THEN 3349 aod550_terra(i) =aod550_terra(i)/masque_terra(i)3599 aod550_terra(i)=aod550_terra(i)/masque_terra(i) 3350 3600 aod670_terra(i)=aod670_terra(i)/masque_terra(i) 3351 3601 aod865_terra(i)=aod865_terra(i)/masque_terra(i) 3352 3353 ELSE 3602 aod550_tr2_terra(i)=aod550_tr2_terra(i)/masque_terra(i) 3603 aod670_tr2_terra(i)=aod670_tr2_terra(i)/masque_terra(i) 3604 aod865_tr2_terra(i)=aod865_tr2_terra(i)/masque_terra(i) 3605 aod550_ss_terra(i)=aod550_ss_terra(i)/masque_terra(i) 3606 aod670_ss_terra(i)=aod670_ss_terra(i)/masque_terra(i) 3607 aod865_ss_terra(i)=aod865_ss_terra(i)/masque_terra(i) 3608 aod550_dust_terra(i)=aod550_dust_terra(i)/masque_terra(i) 3609 aod670_dust_terra(i)=aod670_dust_terra(i)/masque_terra(i) 3610 aod865_dust_terra(i)=aod865_dust_terra(i)/masque_terra(i) 3611 aod550_dustsco_terra(i)=aod550_dustsco_terra(i)/masque_terra(i) 3612 aod670_dustsco_terra(i)=aod670_dustsco_terra(i)/masque_terra(i) 3613 aod865_dustsco_terra(i)=aod865_dustsco_terra(i)/masque_terra(i) 3614 ELSE 3354 3615 aod550_terra(i) = -999. 3355 3616 aod670_terra(i) = -999. 3356 3617 aod865_terra(i) = -999. 3618 aod550_tr2_terra(i)= -999. 3619 aod670_tr2_terra(i)= -999. 3620 aod865_tr2_terra(i)= -999. 3621 aod550_ss_terra(i)= -999. 3622 aod670_ss_terra(i)= -999. 3623 aod865_ss_terra(i)= -999. 3624 aod550_dust_terra(i)= -999. 3625 aod670_dust_terra(i)= -999. 3626 aod865_dust_terra(i)= -999. 3627 aod550_dustsco_terra(i)= -999. 3628 aod670_dustsco_terra(i)= -999. 3629 aod865_dustsco_terra(i)= -999. 3357 3630 ENDIF 3631 ! IF (masque_terra(i).GT. 0) THEN 3632 ! aod550_terra(i) = aod550_terra(i)/masque_terra(i) 3633 ! aod670_terra(i)=aod670_terra(i)/masque_terra(i) 3634 ! aod865_terra(i)=aod865_terra(i)/masque_terra(i) 3635 ! 3636 ! ELSE 3637 ! aod550_terra(i) = -999. 3638 ! aod670_terra(i) = -999. 3639 ! aod865_terra(i) = -999. 3640 ! ENDIF 3358 3641 ENDDO 3359 3642 ! !write dbg … … 3400 3683 !$OMP BARRIER 3401 3684 ENDIF 3402 !put in 0 everything3403 aod550_aqua(:) =0.3404 aod550_terra(:) =0.3405 aod670_aqua(:) =0.3406 aod670_terra(:) =0.3407 aod865_aqua(:) =0.3408 aod865_terra(:) =0.3409 masque_aqua(:) =03410 masque_terra(:) =03685 ! !put in 0 everything 3686 ! aod550_aqua(:) =0. 3687 ! aod550_terra(:) =0. 3688 ! aod670_aqua(:) =0. 3689 ! aod670_terra(:) =0. 3690 ! aod865_aqua(:) =0. 3691 ! aod865_terra(:) =0. 3692 ! masque_aqua(:) =0 3693 ! masque_terra(:) =0 3411 3694 ENDIF 3412 3695 … … 4692 4975 4693 4976 tia_spla=tia_spla+REAL(ti_spla)/REAL(clock_rate) 4694 print *,' ---times for this timestep: time proc, time proc/timepytracr_spl-'4977 print *,'times for this timestep:timeproc,timeproc/time_pytracr_spl-' 4695 4978 print *,'time spla',REAL(ti_spla)/REAL(clock_rate) & 4696 4979 ,REAL(ti_spla)/REAL(ti_spla) … … 4773 5056 OPEN (UNIT=1,FILE=trim(adjustl(fileregions))) 4774 5057 READ(1,'(a)') auxstr 4775 READ(1,'(i )') nbreg5058 READ(1,'(i10)') nbreg 4776 5059 CLOSE(UNIT=1) 4777 5060 ENDIF … … 4797 5080 OPEN (UNIT=1,FILE=trim(adjustl(fileregionsdimsind))) 4798 5081 READ(1,'(a)') auxstr 4799 READ(1,'(i )') nbreg_ind5082 READ(1,'(i10)') nbreg_ind 4800 5083 CLOSE(UNIT=1) 4801 5084 4802 5085 OPEN (UNIT=1,FILE=trim(adjustl(fileregionsdimsdust))) 4803 5086 READ(1,'(a)') auxstr 4804 READ(1,'(i )') nbreg_dust5087 READ(1,'(i10)') nbreg_dust 4805 5088 CLOSE(UNIT=1) 4806 5089 4807 5090 OPEN (UNIT=1,FILE=trim(adjustl(fileregionsdimsbb))) 4808 5091 READ(1,'(a)') auxstr 4809 READ(1,'(i )') nbreg_bb5092 READ(1,'(i10)') nbreg_bb 4810 5093 CLOSE(UNIT=1) 4811 5094 … … 4834 5117 OPEN(1,file=trim(adjustl(filenameregion))) 4835 5118 DO k=1,klon_glo 4836 READ(1,'(i )') iregion_glo(k)5119 READ(1,'(i10)') iregion_glo(k) 4837 5120 ENDDO 4838 5121 CLOSE(UNIT=1) -
LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/read_surface.F90
r2175 r2303 21 21 ! 22 22 real tmp_dyn(iip1,jjp1) 23 ! JE no se real tmp_dyn_glo(nbp_lon+1,nbp_lat) 23 24 real tmp_dyn_glo(nbp_lon,nbp_lat) 24 25 REAL tmp_dyn_invers(iip1,jjp1) 26 ! JE no se real tmp_dyn_invers_glo(nbp_lon+1,nbp_lat) 25 27 real tmp_dyn_invers_glo(nbp_lon,nbp_lat) 26 28 real tmp_fi(klon) … … 63 65 ! print *,'stat,i',status,i,outcycle,aux4s 64 66 ! print *,'ifclause',status.NE. NF_NOERR ,outcycle == .false. 65 IF ((.not.(status.NE. NF_NOERR) ).and.( outcycle == .false.)) THEN67 IF ((.not.(status.NE. NF_NOERR) ).and.( .not. outcycle )) THEN 66 68 outcycle=.true. 67 69 latstr=aux4s -
LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_dat.h
r2176 r2303 42 42 'taue865_dustsco','Tau ext 865dustsco','', (/ ('', i=1, 9) /)) 43 43 44 45 type(ctrl_out),save :: o_taue550_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 46 'taue550_terra','Tau ext 550 terra','', & 47 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 48 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 49 type(ctrl_out),save :: o_taue550_fine_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 50 'taue550_fine_terra','Tau ext fine 550 terra','', & 51 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 52 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 53 type(ctrl_out),save :: o_taue550_coss_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 54 'taue550_coss_terra','Tau ext coss 550 terra','', & 55 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 56 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 57 type(ctrl_out),save :: o_taue550_codu_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 58 'taue550_codu_terra','Tau ext codu 550 terra','', & 59 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 60 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 61 type(ctrl_out),save :: o_taue550_scdu_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 62 'taue550_scdu_terra','Tau ext scdu 550 terra','', & 63 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 64 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 65 66 type(ctrl_out),save :: o_taue670_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 67 'taue670_terra','Tau ext 670 terra','', & 68 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 69 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 70 type(ctrl_out),save :: o_taue670_fine_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 71 'taue670_fine_terra','Tau ext fine 670 terra','', & 72 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 73 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 74 type(ctrl_out),save :: o_taue670_coss_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 75 'taue670_coss_terra','Tau ext coss 670 terra','', & 76 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 77 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 78 type(ctrl_out),save :: o_taue670_codu_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 79 'taue670_codu_terra','Tau ext codu 670 terra','', & 80 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 81 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 82 type(ctrl_out),save :: o_taue670_scdu_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 83 'taue670_scdu_terra','Tau ext scdu 670 terra','', & 84 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 85 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 86 87 type(ctrl_out),save :: o_taue865_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 88 'taue865_terra','Tau ext 865 terra','', & 89 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 90 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 91 type(ctrl_out),save :: o_taue865_fine_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 92 'taue865_fine_terra','Tau ext fine 865 terra','', & 93 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 94 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 95 type(ctrl_out),save :: o_taue865_coss_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 96 'taue865_coss_terra','Tau ext coss 865 terra','', & 97 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 98 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 99 type(ctrl_out),save :: o_taue865_codu_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 100 'taue865_codu_terra','Tau ext codu 865 terra','', & 101 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 102 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 103 type(ctrl_out),save :: o_taue865_scdu_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 104 'taue865_scdu_terra','Tau ext scdu 865 terra','', & 105 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 106 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 107 44 108 type(ctrl_out),save :: o_taue550_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 45 109 'taue550_aqua','Tau ext 550 aqua','', & 46 110 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 47 111 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 48 type(ctrl_out),save :: o_taue550_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 49 'taue550_terra','Tau ext 550 terra','', & 112 type(ctrl_out),save :: o_taue550_fine_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 113 'taue550_fine_aqua','Tau ext fine 550 aqua','', & 114 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 115 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 116 type(ctrl_out),save :: o_taue550_coss_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 117 'taue550_coss_aqua','Tau ext coss 550 aqua','', & 118 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 119 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 120 type(ctrl_out),save :: o_taue550_codu_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 121 'taue550_codu_aqua','Tau ext codu 550 aqua','', & 122 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 123 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 124 type(ctrl_out),save :: o_taue550_scdu_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 125 'taue550_scdu_aqua','Tau ext scdu 550 aqua','', & 50 126 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 51 127 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) … … 55 131 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 56 132 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 57 58 type(ctrl_out),save :: o_taue670_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 59 'taue670_terra','Tau ext 670 terra','', & 133 type(ctrl_out),save :: o_taue670_fine_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 134 'taue670_fine_aqua','Tau ext fine 670 aqua','', & 135 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 136 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 137 type(ctrl_out),save :: o_taue670_coss_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 138 'taue670_coss_aqua','Tau ext coss 670 aqua','', & 139 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 140 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 141 type(ctrl_out),save :: o_taue670_codu_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 142 'taue670_codu_aqua','Tau ext codu 670 aqua','', & 143 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 144 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 145 type(ctrl_out),save :: o_taue670_scdu_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 146 'taue670_scdu_aqua','Tau ext scdu 670 aqua','', & 60 147 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 61 148 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) … … 65 152 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 66 153 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 67 68 type(ctrl_out),save :: o_taue865_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 69 'taue865_terra','Tau ext 865 terra','', & 70 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 71 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 154 type(ctrl_out),save :: o_taue865_fine_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 155 'taue865_fine_aqua','Tau ext fine 865 aqua','', & 156 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 157 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 158 type(ctrl_out),save :: o_taue865_coss_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 159 'taue865_coss_aqua','Tau ext coss 865 aqua','', & 160 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 161 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 162 type(ctrl_out),save :: o_taue865_codu_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 163 'taue865_codu_aqua','Tau ext codu 865 aqua','', & 164 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 165 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 166 type(ctrl_out),save :: o_taue865_scdu_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 167 'taue865_scdu_aqua','Tau ext scdu 865 aqua','', & 168 (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 169 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 170 171 172 173 ! type(ctrl_out),save :: o_taue550_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 174 ! 'taue550_terra','Tau ext 550 terra','', & 175 ! (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 176 ! 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 177 ! 178 ! type(ctrl_out),save :: o_taue670_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 179 ! 'taue670_aqua','Tau ext 670 aqua','', & 180 ! (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 181 ! 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 182 ! 183 ! type(ctrl_out),save :: o_taue670_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 184 ! 'taue670_terra','Tau ext 670 terra','', & 185 ! (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 186 ! 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 187 ! 188 ! type(ctrl_out),save :: o_taue865_aqua = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 189 ! 'taue865_aqua','Tau ext 865 aqua','', & 190 ! (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 191 ! 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 192 ! 193 ! type(ctrl_out),save :: o_taue865_terra = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), & 194 ! 'taue865_terra','Tau ext 865 terra','', & 195 ! (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', & 196 ! 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /)) 72 197 73 198 -
LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_write.h
r2196 r2303 27 27 CALL histwrite_phy( o_taue865_aqua , aod865_aqua ) 28 28 CALL histwrite_phy( o_taue865_terra , aod865_terra ) 29 30 IF(id_fine>0) CALL histwrite_phy( o_taue550_fine_aqua ,aod550_tr2_aqua ) 31 IF(id_fine>0) CALL histwrite_phy( o_taue670_fine_aqua ,aod670_tr2_aqua ) 32 IF(id_fine>0) CALL histwrite_phy( o_taue865_fine_aqua ,aod865_tr2_aqua ) 33 IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_aqua ,aod550_ss_aqua ) 34 IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_aqua ,aod670_ss_aqua ) 35 IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_aqua ,aod865_ss_aqua ) 36 IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_aqua ,aod550_dust_aqua ) 37 IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_aqua ,aod670_dust_aqua ) 38 IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_aqua ,aod865_dust_aqua ) 39 IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_aqua ,aod670_dustsco_aqua ) 40 IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_aqua ,aod550_dustsco_aqua ) 41 IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_aqua ,aod865_dustsco_aqua ) 42 43 IF(id_fine>0) CALL histwrite_phy( o_taue550_fine_terra ,aod550_tr2_terra ) 44 IF(id_fine>0) CALL histwrite_phy( o_taue670_fine_terra ,aod670_tr2_terra ) 45 IF(id_fine>0) CALL histwrite_phy( o_taue865_fine_terra ,aod865_tr2_terra ) 46 IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_terra ,aod550_ss_terra ) 47 IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_terra ,aod670_ss_terra ) 48 IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_terra ,aod865_ss_terra ) 49 IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_terra ,aod550_dust_terra ) 50 IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_terra ,aod670_dust_terra ) 51 IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_terra ,aod865_dust_terra ) 52 IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_terra ,aod670_dustsco_terra ) 53 IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_terra ,aod550_dustsco_terra ) 54 IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_terra ,aod865_dustsco_terra ) 55 56 57 29 58 IF(id_prec>0) CALL histwrite_phy( o_trm01 , trm01 ) 30 59 IF(id_fine>0) CALL histwrite_phy( o_trm02 , trm02 )
Note: See TracChangeset
for help on using the changeset viewer.