Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/aeropt_spl.F
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/aeropt_spl.F	(revision 2302)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/aeropt_spl.F	(revision 2303)
@@ -200,5 +200,5 @@
      .                +ss_dust(2)*tr_seri(i,k,id_codu)*
      .                zdz(i,k)*1.e6
-      IF(id_scdu>0)  taue670_dustsco(i)=taue550_dustsco(i)+
+      IF(id_scdu>0)  taue670_dustsco(i)=taue670_dustsco(i)+
      .                ss_dustsco(2)*tr_seri(i,k,id_scdu)*
      .                zdz(i,k)*1.e6
@@ -229,5 +229,5 @@
      .                +ss_dust(3)*tr_seri(i,k,id_codu)*
      .                zdz(i,k)*1.e6
-      IF(id_scdu>0)  taue865_dustsco(i)=taue550_dustsco(i)+
+      IF(id_scdu>0)  taue865_dustsco(i)=taue865_dustsco(i)+
      .                ss_dustsco(3)*tr_seri(i,k,id_scdu)*
      .                zdz(i,k)*1.e6
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/cv3a_uncompress.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/cv3a_uncompress.F90	(revision 2302)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/cv3a_uncompress.F90	(revision 2303)
@@ -138,5 +138,6 @@
       evap1(idcum(i), k) = evap(i, k) !RomP
       ep1(idcum(i), k) = ep(i, k) !RomP
-      eplamm(idcum(i), k) = eplamm(i, k) !RomP+jyg
+      !eplamm(idcum(i), k) = eplamm(i, k) !RomP+jyg
+      eplamm1(idcum(i), k) = eplamm(i, k) !RomP+jyg _ 20150518
       wdtraina1(idcum(i), k) = wdtraina(i, k) !RomP
       wdtrainm1(idcum(i), k) = wdtrainm(i, k) !RomP
@@ -167,5 +168,6 @@
         sigij1(idcum(i), k, j) = sigij(i, k, j) !RomP
         elij1(idcum(i), k, j) = elij(i, k, j) !RomP
-        epmlmmm(idcum(i), k, j) = epmlmmm(i, k, j) !RomP+jyg
+        !epmlmmm(idcum(i), k, j) = epmlmmm(i, k, j) !RomP+jyg
+        epmlmmm1(idcum(i), k, j) = epmlmmm(i, k, j) !RomP+jyg 20150518
       END DO
     END DO
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/dustemission_mod.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/dustemission_mod.F90	(revision 2302)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/dustemission_mod.F90	(revision 2303)
@@ -38,10 +38,13 @@
 !  real   , parameter :: cd=1.*roa/gravity
 ! new values
-!  logical, parameter :: ok_splatunning=.true.
+!  logical, parameter :: ok_splatuning=.true.
 ! Div=3 from S. Alfaro (Sow et al ACPD 2011)
 !JE 20150206
-  integer, parameter :: div1=3.
-  integer, parameter :: div2=3.
-  integer, parameter :: div3=3.
+!  integer, parameter :: div1=3.
+!  integer, parameter :: div2=3.
+!  integer, parameter :: div3=3.
+  integer, parameter :: div1=6.
+  integer, parameter :: div2=6.
+  integer, parameter :: div3=6.
   real   , parameter :: e1=3.61/div1
   real   , parameter :: e2=3.52/div2
@@ -161,4 +164,5 @@
   USE mod_grid_phy_lmdz
   USE mod_phys_lmdz_para
+  USE indice_sol_mod
 
   IMPLICIT NONE
@@ -169,5 +173,5 @@
   REAL,DIMENSION(klon),     INTENT(IN)     :: xlat
   REAL,DIMENSION(klon),     INTENT(IN)     :: xlon
-  REAL,DIMENSION(klon),     INTENT(IN)     :: pctsrf
+  REAL,DIMENSION(klon,nbsrf), INTENT(IN)     :: pctsrf
   REAL,DIMENSION(klon),INTENT(IN)          :: zu10m   ! 10m zonal wind
   REAL,DIMENSION(klon),INTENT(IN)          :: zv10m   ! meridional 10m wind
@@ -218,5 +222,6 @@
   ENDIF
 
-  CALL adaptdustemission(debutphy,emisbinloc,emdustacc,emdustcoa,emdustsco)
+  !CALL adaptdustemission(debutphy,emisbinloc,emdustacc,emdustcoa,emdustsco)
+  CALL adaptdustemission(debutphy,emisbinloc,emdustacc,emdustcoa,emdustsco,maskdust,pctsrf)
   ! output in kg/m2/s
 
@@ -258,5 +263,6 @@
 
  SUBROUTINE adaptdustemission(debutphy,emisbinlocal, &
-                               emdustacc,emdustcoa,emdustsco)
+                emdustacc,emdustcoa,emdustsco,maskdust,pctsrf)
+!                               emdustacc,emdustcoa,emdustsco)
 
   USE dimphy
@@ -265,4 +271,5 @@
   USE mod_grid_phy_lmdz
   USE mod_phys_lmdz_para
+  USE indice_sol_mod
 
   IMPLICIT NONE
@@ -276,4 +283,6 @@
   INTEGER,SAVE ::iminacclow,iminacchigh,imincoalow
   INTEGER,SAVE ::imincoahigh,iminscohigh,iminscolow
+  INTEGER,DIMENSION(klon) :: maskdust ! where the emissions were calculated
+  REAL,DIMENSION(klon,nbsrf),     INTENT(IN)     :: pctsrf
 !  real,parameter :: sizeacclow=0.03
 !  real,parameter :: sizeacchigh=0.5
@@ -286,6 +295,17 @@
   real,parameter :: sizescolow=6.
   real,parameter :: sizescohigh=30.  ! in micrometers
-
-  real,parameter :: tunningfactor=4.5  ! factor for fine bins!!! important!!
+!--------------------------------
+  real,parameter :: tuningfactorfine=1.0  ! factor for fine bins!!! important!!
+!  real,parameter :: tuningfactorfine=4.5  ! factor for fine bins!!! important!!
+  real,parameter :: tuningfactorcoa=4.0  ! factor for coarse bins!!! important!!
+!  real,parameter :: tuningfactorcoa=4.5  ! factor for coarse bins!!! important!!
+  real,parameter :: tuningfactorsco=4.0  ! factor for supercoarse bins!!! important!!
+!  real,parameter :: tuningfactorsco=4.5  ! factor for supercoarse bins!!! important!!
+  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
+ !basesumemission = 1.e-6 increase the AOD in about 12%  (0.03 of AOD) , 
+ !while 1e-8 increase in about 0.12%  (0.003 of AOD)
+
+  real,dimension(klon) :: basesumacc,basesumcoa,basesumsco
+!--------------------------------
 !JE20140915  real,parameter :: sizeacclow=0.06
 !JE20140915  real,parameter :: sizeacchigh=1.0
@@ -317,5 +337,8 @@
    call abort_gcm('adaptdustemission', 'Dust range problem',1)
   endif
-  print *,'ALL DUST BIN: tunning EMISSION factor= ',tunningfactor
+  print *,'FINE DUST BIN: tuning EMISSION factor= ',tuningfactorfine
+  print *,'COA DUST BIN: tuning EMISSION factor= ',tuningfactorcoa
+  print *,'SCO DUST BIN: tuning EMISSION factor= ',tuningfactorsco
+  print *,'ALL DUST BIN: SUM to the emissions (mg/m2/s) = ',basesumemission
   auxr1=9999.
   auxr2=9999.
@@ -386,4 +409,9 @@
 
 ! estimate and integrate bins into only accumulation and coarse
+do k=1,klon
+  basesumacc(k)=basesumemission*(pctsrf(k,is_ter))*1.e-6 ! from mg/m2/s
+  basesumcoa(k)=basesumemission*(pctsrf(k,is_ter))*1.e-6
+  basesumsco(k)=basesumemission*(pctsrf(k,is_ter))*1.e-6
+enddo
 
 
@@ -395,14 +423,37 @@
    auxr1=auxr1+emisbinlocal(k,i)
   enddo
-  emdustacc(k)= auxr1*tunningfactor
+  emdustacc(k)=(auxr1 + basesumacc(k))*tuningfactorfine
   do i=imincoalow,imincoahigh-1
     auxr2=auxr2+emisbinlocal(k,i)
   enddo
-  emdustcoa(k)=auxr2*tunningfactor
+  emdustcoa(k)=(auxr2 + basesumcoa(k))*tuningfactorcoa
   do i=iminscolow,iminscohigh-1
     auxr3=auxr3+emisbinlocal(k,i)
   enddo
-  emdustsco(k)=auxr3*tunningfactor
+  emdustsco(k)=(auxr3 + basesumsco(k))*tuningfactorsco
 enddo
+
+
+!do k=1,klon
+!auxr1=0.0
+!auxr2=0.0
+!auxr3=0.0
+!  do i=iminacclow,iminacchigh-1
+!   auxr1=auxr1+emisbinlocal(k,i)
+!  enddo
+!  emdustacc(k)= auxr1*tuningfactor
+!  do i=imincoalow,imincoahigh-1
+!    auxr2=auxr2+emisbinlocal(k,i)
+!  enddo
+!  emdustcoa(k)=auxr2*tuningfactor
+!  do i=iminscolow,iminscohigh-1
+!    auxr3=auxr3+emisbinlocal(k,i)
+!  enddo
+!  emdustsco(k)=auxr3*tuningfactor
+!enddo
+!
+
+
+
 
 !JEdbg<<
@@ -462,4 +513,5 @@
   USE mod_grid_phy_lmdz
   USE mod_phys_lmdz_para
+  USE indice_sol_mod
 
   IMPLICIT NONE
@@ -467,5 +519,8 @@
   REAL,DIMENSION(klon),     INTENT(IN)     :: xlat
   REAL,DIMENSION(klon),     INTENT(IN)     :: xlon
-  REAL,DIMENSION(klon),     INTENT(IN)     :: pctsrf
+  ! JE20150605<< better to read
+  ! REAL,DIMENSION(klon),     INTENT(IN)     :: pctsrf
+  REAL,DIMENSION(klon,nbsrf),     INTENT(IN)     :: pctsrf
+  ! JE20150605>>
 
   !Local
@@ -613,6 +668,8 @@
       !&      xlat(i).ge.latmin.and.xlat(i).le.latmax    &
       !&      .and.pctsrf(i)>0.5.and.Pini(i,nts)>0.)THEN
-      IF(pctsrf(i)>0.5.and.Pini(i,nts)>0.)THEN
-          
+  ! JE20150605<< easier to read
+  !    IF(pctsrf(i)>0.5.and.Pini(i,nts)>0.)THEN
+      IF(pctsrf(i,is_ter)>0.5.and.Pini(i,nts)>0.)THEN
+  ! JE20150605>>
            sol(i,nts) = solini(i,nts)
              P(i,nts) = Pini(i,nts)
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phys_output_write_mod.F90	(revision 2302)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phys_output_write_mod.F90	(revision 2303)
@@ -24,6 +24,12 @@
        diag_aod550_dust, diag_aod670_dust, diag_aod865_dust , &
        diag_aod550_dustsco, diag_aod670_dustsco, diag_aod865_dustsco, &
-       aod550_aqua, aod670_aqua, aod865_aqua, &
-       aod550_terra, aod670_terra, aod865_terra, &
+!       aod550_aqua, aod670_aqua, aod865_aqua, &
+!       aod550_terra, aod670_terra, aod865_terra, &
+       aod550_aqua,aod550_tr2_aqua,aod550_ss_aqua,aod550_dust_aqua,aod550_dustsco_aqua,&
+       aod670_aqua,aod670_tr2_aqua,aod670_ss_aqua,aod670_dust_aqua,aod670_dustsco_aqua,&
+       aod865_aqua,aod865_tr2_aqua,aod865_ss_aqua,aod865_dust_aqua,aod865_dustsco_aqua,&
+       aod550_terra,aod550_tr2_terra,aod550_ss_terra,aod550_dust_terra,aod550_dustsco_terra,&
+       aod670_terra,aod670_tr2_terra,aod670_ss_terra,aod670_dust_terra,aod670_dustsco_terra,&
+       aod865_terra,aod865_tr2_terra,aod865_ss_terra,aod865_dust_terra,aod865_dustsco_terra,&
        trm01,trm02,trm03,trm04,trm05, &
        sconc01,sconc02,sconc03,sconc04,sconc05, &
@@ -204,5 +210,5 @@
          o_m1dflux,o_m2dflux,o_m3dflux, &
          o_taue550, &
-        o_taue670,o_taue865, &
+         o_taue670,o_taue865, &
          o_taue550_tr2, o_taue670_tr2, o_taue865_tr2, &
          o_taue550_ss,o_taue670_ss, o_taue865_ss, &
@@ -211,4 +217,16 @@
          o_taue550_aqua, o_taue670_aqua, o_taue865_aqua, &
          o_taue550_terra, o_taue670_terra, o_taue865_terra, &
+         o_taue550_fine_aqua     ,         o_taue670_fine_aqua     ,  &
+         o_taue865_fine_aqua     ,         o_taue550_coss_aqua      ,  &
+         o_taue670_coss_aqua      ,         o_taue865_coss_aqua      ,  &
+         o_taue550_codu_aqua    ,         o_taue670_codu_aqua    ,  &
+         o_taue865_codu_aqua    ,         o_taue670_scdu_aqua ,  &
+         o_taue550_scdu_aqua ,         o_taue865_scdu_aqua ,  &
+         o_taue550_fine_terra     ,         o_taue670_fine_terra     ,&
+         o_taue865_fine_terra     ,         o_taue550_coss_terra      ,&
+         o_taue670_coss_terra      ,         o_taue865_coss_terra      ,&
+         o_taue550_codu_terra    ,         o_taue670_codu_terra    ,&
+         o_taue865_codu_terra    ,         o_taue670_scdu_terra ,&
+         o_taue550_scdu_terra ,         o_taue865_scdu_terra ,&
          o_trm01,o_trm02,o_trm03,o_trm04,o_trm05,&
          o_sconc01,o_sconc02,o_sconc03,o_sconc04,o_sconc05, &
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/physiq.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/physiq.F90	(revision 2302)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/physiq.F90	(revision 2303)
@@ -3642,6 +3642,6 @@
   nbreg_wstardust=1
   fileregionsdimsind='regions_ind_meta'
-!  fileregionsdimsdust='regions_dustacc_meta'
-  fileregionsdimsdust='regions_dust_meta'
+  fileregionsdimsdust='regions_dustacc_meta'
+!  fileregionsdimsdust='regions_dust_meta'
   fileregionsdimsbb='regions_bb_meta'
   fileregionsdimswstar='regions_pwstarwake_meta'
@@ -3705,11 +3705,11 @@
   paramname_dustcoa='dustcoasco'
   paramname_dustsco='dustcoasco'
-  paramname_dustacc='dust'
-  paramname_dustcoa='dust'
-  paramname_dustsco='dust'
+!  paramname_dustacc='dust'
+!  paramname_dustcoa='dust'
+!  paramname_dustsco='dust'
   paramname_wstarBL='pwstarbl'
   paramname_wstarWAKE='pwstarwake'
-  paramname_ssacc='ss'
-  paramname_sscoa='ss'
+  paramname_ssacc='ssacc'
+  paramname_sscoa='sscoa'
 
   filescaleparams='modvalues.nc'
@@ -3739,5 +3739,4 @@
   print *, 'wstardustBL', param_wstarBLperregion
   print *, 'wstardustWAKE', param_wstarWAKEperregion
-  print *, 'dustsco', scale_param_dustsco
   print *, 'ff', scale_param_ff  
   print *, 'bb', scale_param_bb  
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phytracr_spl_mod.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phytracr_spl_mod.F90	(revision 2302)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phytracr_spl_mod.F90	(revision 2303)
@@ -73,13 +73,45 @@
 
 
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_tr2_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_ss_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_dust_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_dustsco_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_tr2_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_ss_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_dust_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_dustsco_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_tr2_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_ss_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_dust_terra  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_dustsco_terra  ! AOD at terra overpass time ( 10.30 local hour)
+
+
       REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
-      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_terra ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_tr2_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_ss_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_dust_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod550_dustsco_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
       REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
-      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_terra ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_tr2_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_ss_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_dust_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod670_dustsco_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
       REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
-      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_terra ! AOD at terra overpass time ( 10.30 local hour)
-
-!$OMP THREADPRIVATE(aod550_aqua,aod550_terra,aod670_aqua,aod670_terra)
-!$OMP THREADPRIVATE(aod865_aqua,aod865_terra)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_tr2_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_ss_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_dust_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: aod865_dustsco_aqua  ! AOD at aqua overpass time ( 13.30 local hour)
+
+!$OMP THREADPRIVATE(aod550_aqua,aod550_tr2_aqua,aod550_ss_aqua,aod550_dust_aqua,aod550_dustsco_aqua)
+!$OMP THREADPRIVATE(aod670_aqua,aod670_tr2_aqua,aod670_ss_aqua,aod670_dust_aqua,aod670_dustsco_aqua)
+!$OMP THREADPRIVATE(aod865_aqua,aod865_tr2_aqua,aod865_ss_aqua,aod865_dust_aqua,aod865_dustsco_aqua)
+!$OMP THREADPRIVATE(aod550_terra,aod550_tr2_terra,aod550_ss_terra,aod550_dust_terra,aod550_dustsco_terra)
+!$OMP THREADPRIVATE(aod670_terra,aod670_tr2_terra,aod670_ss_terra,aod670_dust_terra,aod670_dustsco_terra)
+!$OMP THREADPRIVATE(aod865_terra,aod865_tr2_terra,aod865_ss_terra,aod865_dust_terra,aod865_dustsco_terra)
+
+
       REAL, DIMENSION(:), ALLOCATABLE, SAVE :: sconc01 ! surface concentration
       REAL, DIMENSION(:), ALLOCATABLE, SAVE :: trm01   ! burden 
@@ -378,10 +410,40 @@
 
 !JE20141224 >>
-      REAL, DIMENSION(klon_glo) :: aod550_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
-      REAL, DIMENSION(klon_glo) :: aod550_terra_glo ! AOD at terra overpass time ( 10.30 local hour)
-      REAL, DIMENSION(klon_glo) :: aod670_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
-      REAL, DIMENSION(klon_glo) :: aod670_terra_glo ! AOD at terra overpass time ( 10.30 local hour)
-      REAL, DIMENSION(klon_glo) :: aod865_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
-      REAL, DIMENSION(klon_glo) :: aod865_terra_glo ! AOD at terra overpass time ( 10.30 local hour)
+!JE20150518<<
+      REAL, DIMENSION(klon_glo)  :: aod550_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod550_tr2_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod550_ss_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod550_dust_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod550_dustsco_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod670_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod670_tr2_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod670_ss_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod670_dust_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod670_dustsco_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod865_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod865_tr2_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod865_ss_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod865_dust_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod865_dustsco_terra_glo  ! AOD at terra overpass time ( 10.30 local hour)
+
+      REAL, DIMENSION(klon_glo)  :: aod550_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod550_tr2_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod550_ss_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod550_dust_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod550_dustsco_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod670_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod670_tr2_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod670_ss_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod670_dust_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod670_dustsco_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod865_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod865_tr2_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod865_ss_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod865_dust_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+      REAL, DIMENSION(klon_glo)  :: aod865_dustsco_aqua_glo  ! AOD at aqua overpass time ( 13.30 local hour)
+!!!!!!!!!!!!!
+!JE20150518>>
+
+
 
 
@@ -993,17 +1055,4 @@
 
 
-      lmt_dms(:)=0.0
-      aux_var2(:)=0.0
-      aux_var3(:,:)=0.0
-      source_tr(:,:)=0.0
-      flux_tr(:,:)=0.0
-      flux_sparam_bb(:)=0.0
-      flux_sparam_ff(:)=0.0
-      flux_sparam_ind(:)=0.0
-      flux_sparam_ddfine(:)=0.0
-      flux_sparam_ddcoa(:)=0.0
-      flux_sparam_ddsco(:)=0.0
-      flux_sparam_ssfine(:)=0.0
-      flux_sparam_sscoa(:)=0.0
       
 !JE20140507      d_tr_dry(:,:)=0.0
@@ -1740,21 +1789,92 @@
         ALLOCATE(iregion_wstardust(klon))
 
+!JE20150518<<
        ALLOCATE(masque_aqua(klon))  
        ALLOCATE(masque_terra(klon))  
-       ALLOCATE(aod550_aqua(klon))  
-       ALLOCATE(aod550_terra(klon))  
-       ALLOCATE(aod670_aqua(klon))  
-       ALLOCATE(aod670_terra(klon))  
-       ALLOCATE(aod865_aqua(klon))  
-       ALLOCATE(aod865_terra(klon))  
+!       ALLOCATE(aod550_aqua(klon))  
+!       ALLOCATE(aod550_terra(klon))  
+!       ALLOCATE(aod670_aqua(klon))  
+!       ALLOCATE(aod670_terra(klon))  
+!       ALLOCATE(aod865_aqua(klon))  
+!       ALLOCATE(aod865_terra(klon)) 
+
+      ALLOCATE( aod550_terra(klon))  
+      ALLOCATE( aod550_tr2_terra(klon))  
+      ALLOCATE( aod550_ss_terra(klon))   
+      ALLOCATE( aod550_dust_terra(klon))   
+      ALLOCATE( aod550_dustsco_terra(klon))   
+      ALLOCATE( aod670_terra(klon))   
+      ALLOCATE( aod670_tr2_terra(klon))  
+      ALLOCATE( aod670_ss_terra(klon))  
+      ALLOCATE( aod670_dust_terra(klon))  
+      ALLOCATE( aod670_dustsco_terra(klon))  
+      ALLOCATE( aod865_terra(klon))   
+      ALLOCATE( aod865_tr2_terra(klon))  
+      ALLOCATE( aod865_ss_terra(klon))  
+      ALLOCATE( aod865_dust_terra(klon))  
+      ALLOCATE( aod865_dustsco_terra(klon))  
+
+      ALLOCATE( aod550_aqua(klon))  
+      ALLOCATE( aod550_tr2_aqua(klon))  
+      ALLOCATE( aod550_ss_aqua(klon))   
+      ALLOCATE( aod550_dust_aqua(klon))   
+      ALLOCATE( aod550_dustsco_aqua(klon))   
+      ALLOCATE( aod670_aqua(klon))   
+      ALLOCATE( aod670_tr2_aqua(klon))  
+      ALLOCATE( aod670_ss_aqua(klon))  
+      ALLOCATE( aod670_dust_aqua(klon))  
+      ALLOCATE( aod670_dustsco_aqua(klon))  
+      ALLOCATE( aod865_aqua(klon))   
+      ALLOCATE( aod865_tr2_aqua(klon))  
+      ALLOCATE( aod865_ss_aqua(klon))  
+      ALLOCATE( aod865_dust_aqua(klon))  
+      ALLOCATE( aod865_dustsco_aqua(klon))  
+ 
 
        masque_aqua(:)=0
        masque_terra(:)=0
-       aod550_aqua(:)=0.
-       aod550_terra(:)=0.
-       aod670_aqua(:)=0.
-       aod670_terra(:)=0.
-       aod865_aqua(:)=0.
-       aod865_terra(:)=0.
+!       aod550_aqua(:)=0.
+!       aod550_terra(:)=0.
+!       aod670_aqua(:)=0.
+!       aod670_terra(:)=0.
+!       aod865_aqua(:)=0.
+!       aod865_terra(:)=0.
+
+      aod550_terra(:)=0.  
+      aod550_tr2_terra(:)=0.  
+      aod550_ss_terra(:)=0.   
+      aod550_dust_terra(:)=0.   
+      aod550_dustsco_terra(:)=0.   
+      aod670_terra(:)=0.   
+      aod670_tr2_terra(:)=0.  
+      aod670_ss_terra(:)=0.  
+      aod670_dust_terra(:)=0.  
+      aod670_dustsco_terra(:)=0.  
+      aod865_terra(:)=0.   
+      aod865_tr2_terra(:)=0.  
+      aod865_ss_terra(:)=0.  
+      aod865_dust_terra(:)=0.  
+      aod865_dustsco_terra(:)=0.  
+      aod550_aqua(:)=0.  
+      aod550_tr2_aqua(:)=0.  
+      aod550_ss_aqua(:)=0.   
+      aod550_dust_aqua(:)=0.   
+      aod550_dustsco_aqua(:)=0.   
+      aod670_aqua(:)=0.   
+      aod670_tr2_aqua(:)=0.  
+      aod670_ss_aqua(:)=0.  
+      aod670_dust_aqua(:)=0.  
+      aod670_dustsco_aqua(:)=0.  
+      aod865_aqua(:)=0.   
+      aod865_tr2_aqua(:)=0.  
+      aod865_ss_aqua(:)=0.  
+      aod865_dust_aqua(:)=0.  
+      aod865_dustsco_aqua(:)=0.  
+!JE20150518>>
+
+
+
+
+
 !
 !Config Key  = iflag_lscav
@@ -1785,5 +1905,6 @@
 !$OMP END MASTER
 !$OMP BARRIER
-
+       ENDIF ! debutphy
+     
       lmt_dms(:)=0.0
       aux_var2(:)=0.0
@@ -1799,6 +1920,4 @@
       flux_sparam_ssfine(:)=0.0
       flux_sparam_sscoa(:)=0.0
-       ENDIF ! debutphy
-     
 
 ! initialiation for time computation
@@ -2054,6 +2173,6 @@
 !      ENDIF
 !
-      !c_FullName1='regions_dustacc'
-      c_FullName1='regions_dust'
+      c_FullName1='regions_dustacc'
+      !c_FullName1='regions_dust'
       call readregions_spl(iregion_dust,c_FullName1)
       c_FullName1='regions_ind'
@@ -2081,5 +2200,5 @@
       IF (is_mpi_root .AND. is_omp_root) THEN
       DO k=1,klon_glo
-        WRITE(25,'(i)') iauxklon_glo(k)
+        WRITE(25,'(i10)') iauxklon_glo(k)
       ENDDO
       ENDIF ! mpi root
@@ -2090,5 +2209,5 @@
       IF (is_mpi_root .AND. is_omp_root) THEN
       DO k=1,klon_glo
-        WRITE(55,'(i)') iauxklon_glo(k)
+        WRITE(55,'(i10)') iauxklon_glo(k)
       ENDDO
       ENDIF ! mpi root
@@ -2099,5 +2218,5 @@
       IF (is_mpi_root .AND. is_omp_root) THEN
       DO k=1,klon_glo
-        WRITE(75,'(i)') iauxklon_glo(k)
+        WRITE(75,'(i10)') iauxklon_glo(k)
       ENDDO
       ENDIF ! mpi root
@@ -2108,5 +2227,5 @@
       IF (is_mpi_root .AND. is_omp_root) THEN
       DO k=1,klon_glo
-        WRITE(95,'(i)') iauxklon_glo(k)
+        WRITE(95,'(i10)') iauxklon_glo(k)
       ENDDO
       ENDIF ! mpi root
@@ -3291,7 +3410,7 @@
                         id_prec, id_fine, id_coss, id_codu, id_scdu,     &
                         ok_chimeredust,                                 &
-                    diff_aod550_tot,diag_aod670_tot,diag_aod865_tot,     &
-                    diff_aod550_tr2,diag_aod670_tr2,diag_aod865_tr2,     &
-                    diag_aod550_ss,diag_aod670_ss,diag_aod865_ss,        &
+                    diff_aod550_tot, diag_aod670_tot, diag_aod865_tot,     &
+                    diff_aod550_tr2, diag_aod670_tr2, diag_aod865_tr2,     &
+                    diag_aod550_ss,  diag_aod670_ss,  diag_aod865_ss,        &
                     diag_aod550_dust,diag_aod670_dust,diag_aod865_dust,  &
            diag_aod550_dustsco,diag_aod670_dustsco,diag_aod865_dustsco)  
@@ -3316,19 +3435,126 @@
       CALL satellite_out_spla(jD_cur,jH_cur,pdtphys,xlat,xlon,   &
                               masque_aqua_cur, masque_terra_cur )
+      IF (jH_cur-pdtphys/86400. .LT. 0.) THEN
+       !new utc day: put in 0 everything
+!JE20150518<<
+!       aod550_aqua(:) =0.
+!       aod550_terra(:) =0.
+!       aod670_aqua(:) =0.
+!       aod670_terra(:) =0.
+!       aod865_aqua(:) =0.
+!       aod865_terra(:) =0.
+       masque_aqua(:) =0
+       masque_terra(:) =0
+       aod550_terra(:)=0.  
+       aod550_tr2_terra(:)=0.  
+       aod550_ss_terra(:)=0.   
+       aod550_dust_terra(:)=0.   
+       aod550_dustsco_terra(:)=0.   
+       aod670_terra(:)=0.   
+       aod670_tr2_terra(:)=0.  
+       aod670_ss_terra(:)=0.  
+       aod670_dust_terra(:)=0.  
+       aod670_dustsco_terra(:)=0.  
+       aod865_terra(:)=0.   
+       aod865_tr2_terra(:)=0.  
+       aod865_ss_terra(:)=0.  
+       aod865_dust_terra(:)=0.  
+       aod865_dustsco_terra(:)=0.  
+       aod550_aqua(:)=0.  
+       aod550_tr2_aqua(:)=0.  
+       aod550_ss_aqua(:)=0.   
+       aod550_dust_aqua(:)=0.   
+       aod550_dustsco_aqua(:)=0.   
+       aod670_aqua(:)=0.   
+       aod670_tr2_aqua(:)=0.  
+       aod670_ss_aqua(:)=0.  
+       aod670_dust_aqua(:)=0.  
+       aod670_dustsco_aqua(:)=0.  
+       aod865_aqua(:)=0.   
+       aod865_tr2_aqua(:)=0.  
+       aod865_ss_aqua(:)=0.  
+       aod865_dust_aqua(:)=0.  
+       aod865_dustsco_aqua(:)=0.  
+!JE20150518>>
+      ENDIF
 
       DO i=1,klon
-         aod550_aqua(i)=aod550_aqua(i)+   &
+!         aod550_aqua(i)=aod550_aqua(i)+   &
+!                       masque_aqua_cur(i)*diff_aod550_tot(i)
+!         aod670_aqua(i)=aod670_aqua(i)+   &
+!                        masque_aqua_cur(i)*diag_aod670_tot(i)
+!         aod865_aqua(i)=aod865_aqua(i)+   &
+!                       masque_aqua_cur(i)*diag_aod865_tot(i)
+
+       aod550_terra(i)=aod550_terra(i)+   &
+                       masque_terra_cur(i)*diff_aod550_tot(i)
+       aod550_tr2_terra(i)= aod550_tr2_terra(i)+ &
+                       masque_terra_cur(i)*diff_aod550_tr2(i)
+       aod550_ss_terra(i)=aod550_ss_terra(i) + &
+                       masque_terra_cur(i)*diag_aod550_ss(i)
+       aod550_dust_terra(i)=  aod550_dust_terra(i) + &
+                       masque_terra_cur(i)*diag_aod550_dust(i)
+       aod550_dustsco_terra(i)= aod550_dustsco_terra(i) + &
+                       masque_terra_cur(i)*diag_aod550_dustsco(i)
+       aod670_terra(i)=aod670_terra(i)+   &
+                       masque_terra_cur(i)*diag_aod670_tot(i)
+       aod670_tr2_terra(i)= aod670_tr2_terra(i)+ &
+                       masque_terra_cur(i)*diag_aod670_tr2(i)
+       aod670_ss_terra(i)=aod670_ss_terra(i) + &
+                       masque_terra_cur(i)*diag_aod670_ss(i)
+       aod670_dust_terra(i)=  aod670_dust_terra(i) + &
+                       masque_terra_cur(i)*diag_aod670_dust(i)
+       aod670_dustsco_terra(i)= aod670_dustsco_terra(i) + &
+                       masque_terra_cur(i)*diag_aod670_dustsco(i)
+       aod865_terra(i)=aod865_terra(i)+   &
+                       masque_terra_cur(i)*diag_aod865_tot(i)
+       aod865_tr2_terra(i)= aod865_tr2_terra(i)+ &
+                       masque_terra_cur(i)*diag_aod865_tr2(i)
+       aod865_ss_terra(i)=aod865_ss_terra(i) + &
+                       masque_terra_cur(i)*diag_aod865_ss(i)
+       aod865_dust_terra(i)=  aod865_dust_terra(i) + &
+                       masque_terra_cur(i)*diag_aod865_dust(i)
+       aod865_dustsco_terra(i)= aod865_dustsco_terra(i) + &
+                       masque_terra_cur(i)*diag_aod865_dustsco(i)
+
+
+
+       aod550_aqua(i)=aod550_aqua(i)+   &
                        masque_aqua_cur(i)*diff_aod550_tot(i)
-         aod670_aqua(i)=aod670_aqua(i)+   &
-                        masque_aqua_cur(i)*diag_aod670_tot(i)
-         aod865_aqua(i)=aod865_aqua(i)+   &
+       aod550_tr2_aqua(i)= aod550_tr2_aqua(i)+ &
+                       masque_aqua_cur(i)*diff_aod550_tr2(i)
+       aod550_ss_aqua(i)=aod550_ss_aqua(i) + &
+                       masque_aqua_cur(i)*diag_aod550_ss(i)
+       aod550_dust_aqua(i)=  aod550_dust_aqua(i) + &
+                       masque_aqua_cur(i)*diag_aod550_dust(i)
+       aod550_dustsco_aqua(i)= aod550_dustsco_aqua(i) + &
+                       masque_aqua_cur(i)*diag_aod550_dustsco(i)
+       aod670_aqua(i)=aod670_aqua(i)+   &
+                       masque_aqua_cur(i)*diag_aod670_tot(i)
+       aod670_tr2_aqua(i)= aod670_tr2_aqua(i)+ &
+                       masque_aqua_cur(i)*diag_aod670_tr2(i)
+       aod670_ss_aqua(i)=aod670_ss_aqua(i) + &
+                       masque_aqua_cur(i)*diag_aod670_ss(i)
+       aod670_dust_aqua(i)=  aod670_dust_aqua(i) + &
+                       masque_aqua_cur(i)*diag_aod670_dust(i)
+       aod670_dustsco_aqua(i)= aod670_dustsco_aqua(i) + &
+                       masque_aqua_cur(i)*diag_aod670_dustsco(i)
+       aod865_aqua(i)=aod865_aqua(i)+   &
                        masque_aqua_cur(i)*diag_aod865_tot(i)
+       aod865_tr2_aqua(i)= aod865_tr2_aqua(i)+ &
+                       masque_aqua_cur(i)*diag_aod865_tr2(i)
+       aod865_ss_aqua(i)=aod865_ss_aqua(i) + &
+                       masque_aqua_cur(i)*diag_aod865_ss(i)
+       aod865_dust_aqua(i)=  aod865_dust_aqua(i) + &
+                       masque_aqua_cur(i)*diag_aod865_dust(i)
+       aod865_dustsco_aqua(i)= aod865_dustsco_aqua(i) + &
+                       masque_aqua_cur(i)*diag_aod865_dustsco(i)
+!         aod550_terra(i)=aod550_terra(i)+  &
+!                       masque_terra_cur(i)*diff_aod550_tot(i)
+!         aod670_terra(i)=aod670_terra(i)+  &
+!                       masque_terra_cur(i)*diag_aod670_tot(i)
+!         aod865_terra(i)=aod865_terra(i)+   &
+!                       masque_terra_cur(i)*diag_aod865_tot(i)
          masque_aqua(i)=masque_aqua(i)+masque_aqua_cur(i)
-         aod550_terra(i)=aod550_terra(i)+  &
-                       masque_terra_cur(i)*diff_aod550_tot(i)
-         aod670_terra(i)=aod670_terra(i)+  &
-                       masque_terra_cur(i)*diag_aod670_tot(i)
-         aod865_terra(i)=aod865_terra(i)+   &
-                       masque_terra_cur(i)*diag_aod865_tot(i)
          masque_terra(i)=masque_terra(i)+masque_terra_cur(i)
       ENDDO
@@ -3341,19 +3567,76 @@
                    aod670_aqua(i)=aod670_aqua(i)/masque_aqua(i)
                    aod865_aqua(i)=aod865_aqua(i)/masque_aqua(i)
+                   aod550_tr2_aqua(i)=aod550_tr2_aqua(i)/masque_aqua(i)
+                   aod670_tr2_aqua(i)=aod670_tr2_aqua(i)/masque_aqua(i)
+                   aod865_tr2_aqua(i)=aod865_tr2_aqua(i)/masque_aqua(i)
+                   aod550_ss_aqua(i)=aod550_ss_aqua(i)/masque_aqua(i)
+                   aod670_ss_aqua(i)=aod670_ss_aqua(i)/masque_aqua(i)
+                   aod865_ss_aqua(i)=aod865_ss_aqua(i)/masque_aqua(i)
+                   aod550_dust_aqua(i)=aod550_dust_aqua(i)/masque_aqua(i)
+                   aod670_dust_aqua(i)=aod670_dust_aqua(i)/masque_aqua(i)
+                   aod865_dust_aqua(i)=aod865_dust_aqua(i)/masque_aqua(i)
+                   aod550_dustsco_aqua(i)=aod550_dustsco_aqua(i)/masque_aqua(i)
+                   aod670_dustsco_aqua(i)=aod670_dustsco_aqua(i)/masque_aqua(i)
+                   aod865_dustsco_aqua(i)=aod865_dustsco_aqua(i)/masque_aqua(i)
                ELSE 
                    aod550_aqua(i) = -999.
                    aod670_aqua(i) = -999.
                    aod865_aqua(i) = -999.
+                   aod550_tr2_aqua(i)= -999.
+                   aod670_tr2_aqua(i)= -999.
+                   aod865_tr2_aqua(i)= -999.
+                   aod550_ss_aqua(i)= -999.
+                   aod670_ss_aqua(i)= -999.
+                   aod865_ss_aqua(i)= -999.
+                   aod550_dust_aqua(i)= -999.
+                   aod670_dust_aqua(i)= -999.
+                   aod865_dust_aqua(i)= -999.
+                   aod550_dustsco_aqua(i)= -999.
+                   aod670_dustsco_aqua(i)= -999.
+                   aod865_dustsco_aqua(i)= -999.
                ENDIF
                IF (masque_terra(i).GT. 0) THEN
-                   aod550_terra(i) = aod550_terra(i)/masque_terra(i)
+                   aod550_terra(i)=aod550_terra(i)/masque_terra(i)
                    aod670_terra(i)=aod670_terra(i)/masque_terra(i)
                    aod865_terra(i)=aod865_terra(i)/masque_terra(i)
-
-               ELSE
+                   aod550_tr2_terra(i)=aod550_tr2_terra(i)/masque_terra(i)
+                   aod670_tr2_terra(i)=aod670_tr2_terra(i)/masque_terra(i)
+                   aod865_tr2_terra(i)=aod865_tr2_terra(i)/masque_terra(i)
+                   aod550_ss_terra(i)=aod550_ss_terra(i)/masque_terra(i)
+                   aod670_ss_terra(i)=aod670_ss_terra(i)/masque_terra(i)
+                   aod865_ss_terra(i)=aod865_ss_terra(i)/masque_terra(i)
+                   aod550_dust_terra(i)=aod550_dust_terra(i)/masque_terra(i)
+                   aod670_dust_terra(i)=aod670_dust_terra(i)/masque_terra(i)
+                   aod865_dust_terra(i)=aod865_dust_terra(i)/masque_terra(i)
+                   aod550_dustsco_terra(i)=aod550_dustsco_terra(i)/masque_terra(i)
+                   aod670_dustsco_terra(i)=aod670_dustsco_terra(i)/masque_terra(i)
+                   aod865_dustsco_terra(i)=aod865_dustsco_terra(i)/masque_terra(i)
+               ELSE 
                    aod550_terra(i) = -999.
                    aod670_terra(i) = -999.
                    aod865_terra(i) = -999.
+                   aod550_tr2_terra(i)= -999.
+                   aod670_tr2_terra(i)= -999.
+                   aod865_tr2_terra(i)= -999.
+                   aod550_ss_terra(i)= -999.
+                   aod670_ss_terra(i)= -999.
+                   aod865_ss_terra(i)= -999.
+                   aod550_dust_terra(i)= -999.
+                   aod670_dust_terra(i)= -999.
+                   aod865_dust_terra(i)= -999.
+                   aod550_dustsco_terra(i)= -999.
+                   aod670_dustsco_terra(i)= -999.
+                   aod865_dustsco_terra(i)= -999.
                ENDIF
+!              IF (masque_terra(i).GT. 0) THEN
+!                   aod550_terra(i) = aod550_terra(i)/masque_terra(i)
+!                   aod670_terra(i)=aod670_terra(i)/masque_terra(i)
+!                   aod865_terra(i)=aod865_terra(i)/masque_terra(i)
+!
+!               ELSE
+!                   aod550_terra(i) = -999.
+!                   aod670_terra(i) = -999.
+!                   aod865_terra(i) = -999.
+!               ENDIF
           ENDDO          
 !      !write  dbg
@@ -3400,13 +3683,13 @@
 !$OMP BARRIER
       ENDIF
-       !put in 0 everything
-       aod550_aqua(:) =0.
-       aod550_terra(:) =0.
-       aod670_aqua(:) =0.
-       aod670_terra(:) =0.
-       aod865_aqua(:) =0.
-       aod865_terra(:) =0.
-       masque_aqua(:) =0 
-       masque_terra(:) =0 
+!       !put in 0 everything
+!       aod550_aqua(:) =0.
+!       aod550_terra(:) =0.
+!       aod670_aqua(:) =0.
+!       aod670_terra(:) =0.
+!       aod865_aqua(:) =0.
+!       aod865_terra(:) =0.
+!       masque_aqua(:) =0 
+!       masque_terra(:) =0 
       ENDIF 
 
@@ -4692,5 +4975,5 @@
 
       tia_spla=tia_spla+REAL(ti_spla)/REAL(clock_rate)
-  print *,'---times for this timestep: time proc, time proc/time pytracr_spl-'
+  print *,'times for this timestep:timeproc,timeproc/time_pytracr_spl-'
      print *,'time spla',REAL(ti_spla)/REAL(clock_rate)                &
       ,REAL(ti_spla)/REAL(ti_spla)                                      
@@ -4773,5 +5056,5 @@
       OPEN (UNIT=1,FILE=trim(adjustl(fileregions)))
       READ(1,'(a)') auxstr
-      READ(1,'(i)') nbreg
+      READ(1,'(i10)') nbreg
       CLOSE(UNIT=1)
       ENDIF
@@ -4797,15 +5080,15 @@
       OPEN (UNIT=1,FILE=trim(adjustl(fileregionsdimsind)))
       READ(1,'(a)') auxstr
-      READ(1,'(i)') nbreg_ind
+      READ(1,'(i10)') nbreg_ind
       CLOSE(UNIT=1)
 
       OPEN (UNIT=1,FILE=trim(adjustl(fileregionsdimsdust)))
       READ(1,'(a)') auxstr
-      READ(1,'(i)') nbreg_dust
+      READ(1,'(i10)') nbreg_dust
       CLOSE(UNIT=1)
 
       OPEN (UNIT=1,FILE=trim(adjustl(fileregionsdimsbb)))
       READ(1,'(a)') auxstr
-      READ(1,'(i)') nbreg_bb
+      READ(1,'(i10)') nbreg_bb
       CLOSE(UNIT=1)
       
@@ -4834,5 +5117,5 @@
       OPEN(1,file=trim(adjustl(filenameregion)))
       DO k=1,klon_glo
-      READ(1,'(i)') iregion_glo(k)
+      READ(1,'(i10)') iregion_glo(k)
       ENDDO
       CLOSE(UNIT=1)
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/read_surface.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/read_surface.F90	(revision 2302)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/read_surface.F90	(revision 2303)
@@ -21,6 +21,8 @@
 !
        real tmp_dyn(iip1,jjp1)
+! JE no se       real tmp_dyn_glo(nbp_lon+1,nbp_lat)
        real tmp_dyn_glo(nbp_lon,nbp_lat)
        REAL tmp_dyn_invers(iip1,jjp1)
+! JE no se       real tmp_dyn_invers_glo(nbp_lon+1,nbp_lat)
        real tmp_dyn_invers_glo(nbp_lon,nbp_lat)
        real tmp_fi(klon)
@@ -63,5 +65,5 @@
 !       print *,'stat,i',status,i,outcycle,aux4s
 !       print *,'ifclause',status.NE. NF_NOERR ,outcycle == .false.
-       IF ((.not.(status.NE. NF_NOERR) ).and.( outcycle == .false.)) THEN
+       IF ((.not.(status.NE. NF_NOERR) ).and.( .not. outcycle )) THEN
          outcycle=.true.
          latstr=aux4s
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_dat.h
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_dat.h	(revision 2302)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_dat.h	(revision 2303)
@@ -42,10 +42,86 @@
   'taue865_dustsco','Tau ext 865dustsco','', (/ ('', i=1, 9) /))
 
+
+  type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_terra','Tau ext 550 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_fine_terra','Tau ext fine 550 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_coss_terra','Tau ext coss 550 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_codu_terra','Tau ext codu 550 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_scdu_terra','Tau ext scdu 550 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+
+  type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_terra','Tau ext 670 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_fine_terra','Tau ext fine 670 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_coss_terra','Tau ext coss 670 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_codu_terra','Tau ext codu 670 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_scdu_terra','Tau ext scdu 670 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+
+  type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_terra','Tau ext 865 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_fine_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_fine_terra','Tau ext fine 865 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_coss_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_coss_terra','Tau ext coss 865 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_codu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_codu_terra','Tau ext codu 865 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_scdu_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_scdu_terra','Tau ext scdu 865 terra','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+
   type(ctrl_out),save :: o_taue550_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
   'taue550_aqua','Tau ext 550 aqua','', &
       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-  type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue550_terra','Tau ext 550 terra','', &
+  type(ctrl_out),save :: o_taue550_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_fine_aqua','Tau ext fine 550 aqua','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_coss_aqua','Tau ext coss 550 aqua','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_codu_aqua','Tau ext codu 550 aqua','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue550_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_scdu_aqua','Tau ext scdu 550 aqua','', &
       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
@@ -55,7 +131,18 @@
       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-
-  type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue670_terra','Tau ext 670 terra','', &
+  type(ctrl_out),save :: o_taue670_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_fine_aqua','Tau ext fine 670 aqua','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_coss_aqua','Tau ext coss 670 aqua','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_codu_aqua','Tau ext codu 670 aqua','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue670_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_scdu_aqua','Tau ext scdu 670 aqua','', &
       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
@@ -65,9 +152,47 @@
       (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
          't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
-
-  type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
-  'taue865_terra','Tau ext 865 terra','', &
-      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
-         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_fine_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_fine_aqua','Tau ext fine 865 aqua','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_coss_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_coss_aqua','Tau ext coss 865 aqua','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_codu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_codu_aqua','Tau ext codu 865 aqua','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+  type(ctrl_out),save :: o_taue865_scdu_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_scdu_aqua','Tau ext scdu 865 aqua','', &
+      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+
+
+
+!  type(ctrl_out),save :: o_taue550_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+!  'taue550_terra','Tau ext 550 terra','', &
+!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+!         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+!
+!  type(ctrl_out),save :: o_taue670_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+!  'taue670_aqua','Tau ext 670 aqua','', &
+!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+!         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+!
+!  type(ctrl_out),save :: o_taue670_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+!  'taue670_terra','Tau ext 670 terra','', &
+!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+!         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+!
+!  type(ctrl_out),save :: o_taue865_aqua     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+!  'taue865_aqua','Tau ext 865 aqua','', &
+!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+!         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
+!
+!  type(ctrl_out),save :: o_taue865_terra     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+!  'taue865_terra','Tau ext 865 terra','', &
+!      (/ 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', &
+!         't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)', 't_max(X)' /))
 
 	
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_write.h
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_write.h	(revision 2302)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_write.h	(revision 2303)
@@ -27,4 +27,33 @@
       CALL histwrite_phy( o_taue865_aqua     , aod865_aqua    )
       CALL histwrite_phy( o_taue865_terra    , aod865_terra    )
+
+      IF(id_fine>0) CALL histwrite_phy( o_taue550_fine_aqua     ,aod550_tr2_aqua   )
+      IF(id_fine>0) CALL histwrite_phy( o_taue670_fine_aqua     ,aod670_tr2_aqua   )
+      IF(id_fine>0) CALL histwrite_phy( o_taue865_fine_aqua     ,aod865_tr2_aqua   )
+      IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_aqua      ,aod550_ss_aqua    )
+      IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_aqua      ,aod670_ss_aqua    )
+      IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_aqua      ,aod865_ss_aqua    )
+      IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_aqua    ,aod550_dust_aqua    )
+      IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_aqua    ,aod670_dust_aqua    )
+      IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_aqua    ,aod865_dust_aqua    )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_aqua ,aod670_dustsco_aqua    )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_aqua ,aod550_dustsco_aqua    )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_aqua ,aod865_dustsco_aqua    )
+      
+      IF(id_fine>0) CALL histwrite_phy( o_taue550_fine_terra     ,aod550_tr2_terra   )
+      IF(id_fine>0) CALL histwrite_phy( o_taue670_fine_terra     ,aod670_tr2_terra   )
+      IF(id_fine>0) CALL histwrite_phy( o_taue865_fine_terra     ,aod865_tr2_terra   )
+      IF(id_coss>0) CALL histwrite_phy( o_taue550_coss_terra      ,aod550_ss_terra    )
+      IF(id_coss>0) CALL histwrite_phy( o_taue670_coss_terra      ,aod670_ss_terra    )
+      IF(id_coss>0) CALL histwrite_phy( o_taue865_coss_terra      ,aod865_ss_terra    )
+      IF(id_codu>0) CALL histwrite_phy( o_taue550_codu_terra    ,aod550_dust_terra    )
+      IF(id_codu>0) CALL histwrite_phy( o_taue670_codu_terra    ,aod670_dust_terra    )
+      IF(id_codu>0) CALL histwrite_phy( o_taue865_codu_terra    ,aod865_dust_terra    )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue670_scdu_terra ,aod670_dustsco_terra    )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue550_scdu_terra ,aod550_dustsco_terra    )
+      IF(id_scdu>0) CALL histwrite_phy( o_taue865_scdu_terra ,aod865_dustsco_terra    )
+
+
+
       IF(id_prec>0) CALL histwrite_phy( o_trm01 , trm01 )
       IF(id_fine>0) CALL histwrite_phy( o_trm02 , trm02 )
