Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/dustemission_mod.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/dustemission_mod.F90	(revision 2175)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/dustemission_mod.F90	(revision 2176)
@@ -83,4 +83,14 @@
   INTEGER :: ncl
 
+! outputs
+  REAL,DIMENSION(:),  ALLOCATABLE,SAVE :: m1dflux !fluxes for each soil mode
+  REAL,DIMENSION(:),  ALLOCATABLE,SAVE :: m2dflux
+  REAL,DIMENSION(:),  ALLOCATABLE,SAVE :: m3dflux
+
+
+
+!$OMP THREADPRIVATE(m1dflux)
+!$OMP THREADPRIVATE(m2dflux)
+!$OMP THREADPRIVATE(m3dflux)
 !$OMP THREADPRIVATE(massfrac) 
 !$OMP THREADPRIVATE(binsHR) 
@@ -532,4 +542,9 @@
     ALLOCATE( srel(nats,nclass) )
     ALLOCATE( srel2(nats,nclass) )
+    ALLOCATE( m1dflux(klon) )
+    ALLOCATE( m2dflux(klon) )
+    ALLOCATE( m3dflux(klon) )
+
+
 
   ! read input data from donnees_lisa.nc
@@ -1204,4 +1219,8 @@
         fluxdust(i,3)=fluxdust(i,3)+flux3*probu(kwb)
    ENDDO !kwb=1,nwb
+      m1dflux(i)=10.*fluxdust(i,1)
+      m2dflux(i)=10.*fluxdust(i,2)          ! tous en Kg/m2/s
+      m3dflux(i)=10.*fluxdust(i,3)
+
 
 
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phys_output_ctrlout_mod.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 2175)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 2176)
@@ -1255,5 +1255,7 @@
    TYPE(ctrl_out), SAVE :: o_TxT = ctrl_out((/ 11, 11, 11, 11, 11, 11, 6, 6, 6 /), &
        'T2', 'T2', 'K2', (/ "inst(X)", "inst(X)", "inst(X)", &
-       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                  
-
+       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))                                                                                 
+!! JE20141223 <<<< including SPLA output in standard model outputs
+#include "spla_output_dat.h"
+!! JE20141223 >>>>
 END MODULE phys_output_ctrlout_mod
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phys_output_write_mod.F90	(revision 2175)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phys_output_write_mod.F90	(revision 2176)
@@ -3,16 +3,58 @@
 !
 MODULE phys_output_write_mod
-
-!JE20140507<<
-!  USE phytrac_mod, ONLY : d_tr_cl, d_tr_th, d_tr_cv, d_tr_lessi_impa, &
+!JE20141213<
+!!JE20140507<<
+!!  USE phytrac_mod, ONLY : d_tr_cl, d_tr_th, d_tr_cv, d_tr_lessi_impa, &
+!!       d_tr_lessi_nucl, d_tr_insc, d_tr_bcscav, d_tr_evapls, d_tr_ls,  &
+!!       d_tr_trsp, d_tr_sscav, d_tr_sat, d_tr_uscav
+!  USE phytracr_spl_mod, ONLY : d_tr_cl, d_tr_th, d_tr_cv, d_tr_lessi_impa, &
 !       d_tr_lessi_nucl, d_tr_insc, d_tr_bcscav, d_tr_evapls, d_tr_ls,  &
 !       d_tr_trsp, d_tr_sscav, d_tr_sat, d_tr_uscav
+!!JE20140507>>
+
   USE phytracr_spl_mod, ONLY : d_tr_cl, d_tr_th, d_tr_cv, d_tr_lessi_impa, &
        d_tr_lessi_nucl, d_tr_insc, d_tr_bcscav, d_tr_evapls, d_tr_ls,  &
-       d_tr_trsp, d_tr_sscav, d_tr_sat, d_tr_uscav
-!JE20140507>>
-
-
-
+       d_tr_trsp, d_tr_sscav, d_tr_sat, d_tr_uscav ,&
+       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, &
+       aod550_aqua, aod670_aqua, aod865_aqua, &
+       aod550_terra, aod670_terra, aod865_terra, &
+       trm01,trm02,trm03,trm04,trm05, &
+       sconc01,sconc02,sconc03,sconc04,sconc05, &
+       flux01,flux02,flux03,flux04,flux05,&
+       ds01,ds02,ds03,ds04,ds05, &
+       dh01,dh02,dh03,dh04,dh05, &
+       dtrconv01,dtrconv02,dtrconv03,dtrconv04,dtrconv05, &
+       dtherm01,dtherm02,dtherm03,dtherm04,dtherm05, &
+       dhkecv01,dhkecv02,dhkecv03,dhkecv04,dhkecv05, &
+       dhkelsc01,dhkelsc02,dhkelsc03,dhkelsc04,dhkelsc05, &
+       d_tr_cv01,d_tr_cv02,d_tr_cv03,d_tr_cv04,d_tr_cv05, &
+       d_tr_trsp01,d_tr_trsp02,d_tr_trsp03,d_tr_trsp04,d_tr_trsp05, &
+       d_tr_sscav01,d_tr_sscav02,d_tr_sscav03,d_tr_sscav04,d_tr_sscav05, &
+       d_tr_sat01,d_tr_sat02,d_tr_sat03,d_tr_sat04,d_tr_sat05, &
+       d_tr_uscav01,d_tr_uscav02,d_tr_uscav03,d_tr_uscav04,d_tr_uscav05, &
+       sed_ss,sed_dust,sed_dustsco,his_g2pgas,his_g2paer, &
+       fluxbb, &
+       fluxff,fluxbcbb,fluxbcff,fluxbcnff, &
+       fluxbcba,fluxbc,fluxombb,fluxomff,fluxomnff, &
+       fluxomba,fluxomnat,fluxom,fluxh2sff,fluxh2snff, & 
+       fluxso2ff,fluxso2nff,fluxso2bb,fluxso2vol,fluxso2ba, &
+       fluxso2,fluxso4ff,fluxso4nff,fluxso4ba,fluxso4bb, &
+       fluxso4,fluxdms,fluxh2sbio,fluxdustec,& 
+       fluxddfine,  &
+       fluxddcoa,fluxddsco,fluxdd, &
+       fluxssfine,fluxsscoa, & 
+       fluxss,flux_sparam_ind,flux_sparam_bb,flux_sparam_ff, & 
+       flux_sparam_ddfine,flux_sparam_ddcoa, &
+       flux_sparam_ddsco,flux_sparam_ssfine, &
+       flux_sparam_sscoa,u10m_ss,v10m_ss
+       
+  USE dustemission_mod, ONLY : m1dflux, m2dflux, m3dflux
+
+!JE20141213>
 
   ! Author: Abderrahmane IDELKADI (original include file)
@@ -155,5 +197,47 @@
          o_dtr_ls, o_dtr_trsp, o_dtr_sscav, &
          o_dtr_sat, o_dtr_uscav, o_trac_cum, o_du_gwd_rando, o_dv_gwd_rando, &
-         o_vstr_gwd_rando
+!JE         o_vstr_gwd_rando
+         o_vstr_gwd_rando, &
+! JE20141223 spla outputs
+         o_m1dflux,o_m2dflux,o_m3dflux, &
+         o_taue550, &
+        o_taue670,o_taue865, &
+         o_taue550_tr2, o_taue670_tr2, o_taue865_tr2, &
+         o_taue550_ss,o_taue670_ss, o_taue865_ss, &
+         o_taue550_dust, o_taue670_dust, o_taue865_dust, &
+         o_taue550_dustsco, o_taue670_dustsco, o_taue865_dustsco, &
+         o_taue550_aqua, o_taue670_aqua, o_taue865_aqua, &
+         o_taue550_terra, o_taue670_terra, o_taue865_terra, &
+         o_trm01,o_trm02,o_trm03,o_trm04,o_trm05,&
+         o_sconc01,o_sconc02,o_sconc03,o_sconc04,o_sconc05, &
+         o_flux01,o_flux02,o_flux03,o_flux04,o_flux05, &
+         o_ds01,o_ds02,o_ds03,o_ds04,o_ds05, &
+         o_dh01,o_dh02,o_dh03,o_dh04,o_dh05, &
+         o_dtrconv01,o_dtrconv02,o_dtrconv03,o_dtrconv04,o_dtrconv05, &
+         o_dtherm01,o_dtherm02,o_dtherm03,o_dtherm04,o_dtherm05, &
+         o_dhkecv01,o_dhkecv02,o_dhkecv03,o_dhkecv04,o_dhkecv05, &
+         o_dhkelsc01,o_dhkelsc02,o_dhkelsc03,o_dhkelsc04,o_dhkelsc05, &
+         o_d_tr_sat01,o_d_tr_cv01,o_d_tr_cv02,o_d_tr_cv03,o_d_tr_cv04,o_d_tr_cv05, &
+         o_d_tr_trsp01,o_d_tr_trsp02,o_d_tr_trsp03,o_d_tr_trsp04,o_d_tr_trsp05, &
+         o_d_tr_sscav01,o_d_tr_sscav02,o_d_tr_sscav03,o_d_tr_sscav04,o_d_tr_sscav05, &
+         o_d_tr_sat02,o_d_tr_sat03,o_d_tr_sat04,o_d_tr_sat05,  &
+         o_d_tr_uscav01,o_d_tr_uscav02,o_d_tr_uscav03,o_d_tr_uscav04,o_d_tr_uscav05, &
+         o_sed_ss,o_sed_dust,o_sed_dustsco,o_g2p_gas,o_g2p_aer, &
+         o_fluxbb, &
+         o_fluxff    ,o_fluxbcbb  ,o_fluxbcff  ,o_fluxbcnff , &
+         o_fluxbcba  ,o_fluxbc    ,o_fluxombb  ,o_fluxomff  , &
+         o_fluxomnff ,o_fluxomba  ,o_fluxomnat ,o_fluxom    , &
+         o_fluxh2sff ,o_fluxh2snff,o_fluxso2ff ,o_fluxso2nff, &
+         o_fluxso2bb ,o_fluxso2vol,o_fluxso2ba ,o_fluxso2   , &
+         o_fluxso4ff ,o_fluxso4nff,o_fluxso4bb ,o_fluxso4ba , &
+         o_fluxso4   ,o_fluxdms   ,o_fluxh2sbio,o_fluxdustec, &
+         o_fluxddfine,o_fluxddcoa ,o_fluxddsco ,o_fluxdd    ,&
+         o_fluxssfine,o_fluxsscoa, o_fluxss, &
+         o_flux_sparam_ind,o_flux_sparam_bb, &
+         o_flux_sparam_ff ,o_flux_sparam_ddfine  ,o_flux_sparam_ddcoa, &
+         o_flux_sparam_ddsco,o_flux_sparam_ssfine,o_flux_sparam_sscoa, &
+         o_u10m_ss,o_v10m_ss
+
+ 
 
     USE phys_state_var_mod, only: pctsrf, paire_ter, rain_fall, snow_fall, &
@@ -326,4 +410,8 @@
        CALL histwrite_phy(o_aireTER, paire_ter)
 !!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+! JE20141223 <<
+#include "spla_output_write.h"
+! JE20141223 >>
+
        CALL histwrite_phy(o_flat, zxfluxlat)
        CALL histwrite_phy(o_slp, slp)
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/physiq.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/physiq.F90	(revision 2175)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/physiq.F90	(revision 2176)
@@ -953,14 +953,16 @@
 
   !-output phytrac variables
-  REAL diff_aod550_tot(ngridmx)  ! epaisseur optique total aerosol 550  nm
-  REAL diag_aod865_tot(ngridmx)  ! epaisseur optique total aerosol 865 nm
-  REAL diff_aod550_tr2(ngridmx)  ! epaisseur optique Traceur 2 aerosol 550 nm, diagnostic
-  REAL diag_aod865_tr2(ngridmx)  ! epaisseur optique Traceur 2 aerosol 865 nm, diagnostic
-  REAL diag_aod550_dust(ngridmx) ! epaisseur optique Dust coarse aerosol 550 nm, diagnostic
-  REAL diag_aod865_dust(ngridmx) ! epaisseur optique Dust coarse aerosol 865 nm, diagnostic
-  REAL diag_aod550_dustsco(ngridmx) ! epaisseur optique Dust SCOarse aerosol 550 nm, diagnostic
-  REAL diag_aod865_dustsco(ngridmx) ! epaisseur optique Dust SCOarse aerosol 865 nm, diagnostic
-  REAL diag_aod550_ss(ngridmx)   ! epaisseur optique Sels marins aerosol 550 nm, diagnostic
-  REAL diag_aod865_ss(ngridmx)   ! epaisseur optique Sels marins aerosol 865 nm, diagnostic
+!JE20141224 <<
+!  REAL diff_aod550_tot(ngridmx)  ! epaisseur optique total aerosol 550  nm
+!  REAL diag_aod865_tot(ngridmx)  ! epaisseur optique total aerosol 865 nm
+!  REAL diff_aod550_tr2(ngridmx)  ! epaisseur optique Traceur 2 aerosol 550 nm, diagnostic
+!  REAL diag_aod865_tr2(ngridmx)  ! epaisseur optique Traceur 2 aerosol 865 nm, diagnostic
+!  REAL diag_aod550_dust(ngridmx) ! epaisseur optique Dust coarse aerosol 550 nm, diagnostic
+!  REAL diag_aod865_dust(ngridmx) ! epaisseur optique Dust coarse aerosol 865 nm, diagnostic
+!  REAL diag_aod550_dustsco(ngridmx) ! epaisseur optique Dust SCOarse aerosol 550 nm, diagnostic
+!  REAL diag_aod865_dustsco(ngridmx) ! epaisseur optique Dust SCOarse aerosol 865 nm, diagnostic
+!  REAL diag_aod550_ss(ngridmx)   ! epaisseur optique Sels marins aerosol 550 nm, diagnostic
+!  REAL diag_aod865_ss(ngridmx)   ! epaisseur optique Sels marins aerosol 865 nm, diagnostic
+!JE20141224 >>
   ! others
   REAL tsol(ngridmx)
@@ -3835,10 +3837,13 @@
                   lmt_omff, lmt_omnff, lmt_ombb_l, lmt_ombb_h, & !E
                   lmt_omnat, lmt_omba, & !E
-                  tr_seri, & !O
-                  diff_aod550_tot,diag_aod865_tot, & !O
-                  diff_aod550_tr2,diag_aod865_tr2, & !O
-                  diag_aod550_dust,diag_aod865_dust, & !O
-                  diag_aod550_dustsco,diag_aod865_dustsco, & !O
-                  diag_aod550_ss,diag_aod865_ss) !O
+                  tr_seri)  !O
+!JE20141224<<
+!                  tr_seri, & !O
+!                  diff_aod550_tot,diag_aod865_tot, & !O
+!                  diff_aod550_tr2,diag_aod865_tr2, & !O
+!                  diag_aod550_dust,diag_aod865_dust, & !O
+!                  diag_aod550_dustsco,diag_aod865_dustsco, & !O
+!                  diag_aod550_ss,diag_aod865_ss) !O
+!JE20141224>>
 !  ENDIF
 !   DO i=1,nbtr
@@ -4142,5 +4147,4 @@
 
   !On effectue les sorties:
-  print *,' JE: aqui deberia escribir la salida!!!!!!!!!!'
 
   CALL phys_output_write(itap, pdtphys, paprs, pphis,               &
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phytracr_spl_mod.F90
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phytracr_spl_mod.F90	(revision 2175)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/phytracr_spl_mod.F90	(revision 2176)
@@ -48,4 +48,189 @@
 !$OMP THREADPRIVATE(id_prec,id_fine,id_coss,id_codu,id_scdu)
 
+! JE20141224 <<
+
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diff_aod550_tot  ! epaisseur optique total aerosol 550  nm
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod670_tot  ! epaisseur optique total aerosol 670 nm
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod865_tot  ! epaisseur optique total aerosol 865 nm
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diff_aod550_tr2  ! epaisseur optique Traceur 2 aerosol 550 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod670_tr2  ! epaisseur optique Traceur 2 aerosol 670 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod865_tr2  ! epaisseur optique Traceur 2 aerosol 865 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod550_ss  ! epaisseur optique Sels marins aerosol 550 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod670_ss  ! epaisseur optique Sels marins aerosol 670 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod865_ss   ! epaisseur optique Sels marins aerosol 865 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod550_dust ! epaisseur optique Dust aerosol 550 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod670_dust ! epaisseur optique Dust aerosol 670 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod865_dust ! epaisseur optique Dust aerosol 865 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod550_dustsco ! epaisseur optique Dust SCOarse aerosol 550 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod670_dustsco ! epaisseur optique Dust SCOarse aerosol 670 nm, diagnostic
+      REAL,DIMENSION(:),ALLOCATABLE,SAVE :: diag_aod865_dustsco ! epaisseur optique Dust SCOarse aerosol 865 nm, diagnostic
+
+!$OMP THREADPRIVATE(diff_aod550_tot,diag_aod670_tot,diag_aod865_tot)
+!$OMP THREADPRIVATE(diff_aod550_tr2,diag_aod670_tr2,diag_aod865_tr2)
+!$OMP THREADPRIVATE(diag_aod550_ss,diag_aod670_ss,diag_aod865_ss,diag_aod550_dust)
+!$OMP THREADPRIVATE(diag_aod670_dust,diag_aod865_dust,diag_aod550_dustsco)
+!$OMP THREADPRIVATE(diag_aod670_dustsco,diag_aod865_dustsco)
+
+
+      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 :: 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 :: 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 :: sconc01 ! surface concentration
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: trm01   ! burden 
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: sconc02 ! surface concentration
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: trm02   ! burden 
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: sconc03 ! surface concentration
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: trm03   ! burden 
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: sconc04 ! surface concentration
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: trm04   ! burden 
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: sconc05 ! surface concentration
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: trm05   ! burden 
+!$OMP THREADPRIVATE(sconc01,sconc02,sconc03,sconc04,sconc05)
+!$OMP THREADPRIVATE(trm01,trm02,trm03,trm04,trm05)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux01        
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux02       
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux03       
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux04       
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux05       
+!$OMP THREADPRIVATE(flux01,flux02,flux03,flux04,flux05)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: ds01         
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: ds02         
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: ds03         
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: ds04         
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: ds05         
+!$OMP THREADPRIVATE(ds01,ds02,ds03,ds04,ds05)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dh01         
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dh02         
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dh03         
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dh04         
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dh05         
+!$OMP THREADPRIVATE(dh01,dh02,dh03,dh04,dh05)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dtrconv01    
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dtrconv02    
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dtrconv03    
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dtrconv04    
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dtrconv05    
+!$OMP THREADPRIVATE(dtrconv01,dtrconv02,dtrconv03,dtrconv04,dtrconv05)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dtherm01     
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dtherm02     
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dtherm03     
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dtherm04     
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dtherm05     
+!$OMP THREADPRIVATE(dtherm01,dtherm02,dtherm03,dtherm04,dtherm05)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dhkecv01     
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dhkecv02     
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dhkecv03     
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dhkecv04     
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dhkecv05     
+!$OMP THREADPRIVATE(dhkecv01,dhkecv02,dhkecv03,dhkecv04,dhkecv05)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dhkelsc01    
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dhkelsc02    
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dhkelsc03    
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dhkelsc04    
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: dhkelsc05    
+!$OMP THREADPRIVATE(dhkelsc01,dhkelsc02,dhkelsc03,dhkelsc04,dhkelsc05)
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_cv01    
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_cv02    
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_cv03    
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_cv04    
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_cv05    
+!$OMP THREADPRIVATE(d_tr_cv01,d_tr_cv02,d_tr_cv03,d_tr_cv04,d_tr_cv05)
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_trsp01  
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_trsp02  
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_trsp03  
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_trsp04  
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_trsp05  
+!$OMP THREADPRIVATE(d_tr_trsp01,d_tr_trsp02,d_tr_trsp03,d_tr_trsp04,d_tr_trsp05)
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_sscav01 
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_sscav02 
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_sscav03 
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_sscav04 
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_sscav05 
+!$OMP THREADPRIVATE(d_tr_sscav01,d_tr_sscav02,d_tr_sscav03,d_tr_sscav04,d_tr_sscav05)
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_sat01   
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_sat02   
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_sat03   
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_sat04   
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_sat05   
+!$OMP THREADPRIVATE(d_tr_sat01,d_tr_sat02,d_tr_sat03,d_tr_sat04,d_tr_sat05)
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_uscav01 
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_uscav02 
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_uscav03 
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_uscav04 
+      REAL, DIMENSION(:,:), ALLOCATABLE, SAVE :: d_tr_uscav05 
+!$OMP THREADPRIVATE(d_tr_uscav01,d_tr_uscav02,d_tr_uscav03,d_tr_uscav04,d_tr_uscav05)
+
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: sed_ss    ! corresponds to tracer 3
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: sed_dust  ! corresponds to tracer 4
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: sed_dustsco  ! corresponds to tracer 4
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: his_g2pgas  ! corresponds to tracer 4
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: his_g2paer  ! corresponds to tracer 4
+!$OMP THREADPRIVATE(sed_ss,sed_dust,sed_dustsco,his_g2pgas,his_g2paer)
+
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxbb
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxff
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxbcbb
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxbcff
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxbcnff
+!$OMP THREADPRIVATE(fluxbb,fluxff,fluxbcbb,fluxbcff,fluxbcnff)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxbcba
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxbc
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxombb
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxomff
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxomnff
+!$OMP THREADPRIVATE(fluxbcba,fluxbc,fluxombb,fluxomff,fluxomnff)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxomba
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxomnat
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxom
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxh2sff
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxh2snff
+!$OMP THREADPRIVATE(fluxomba,fluxomnat,fluxom,fluxh2sff,fluxh2snff)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso2ff
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso2nff
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso2bb
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso2vol
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso2ba
+!$OMP THREADPRIVATE(fluxso2ff,fluxso2nff,fluxso2bb,fluxso2vol,fluxso2ba)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso2
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso4ff
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso4nff
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso4bb
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso4ba
+!$OMP THREADPRIVATE(fluxso2,fluxso4ff,fluxso4nff,fluxso4ba,fluxso4bb)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxso4
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxdms
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxh2sbio
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxdustec
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxddfine
+!$OMP THREADPRIVATE(fluxso4,fluxdms,fluxh2sbio,fluxdustec,fluxddfine)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxddcoa
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxddsco
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxdd
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxssfine
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxsscoa
+!$OMP THREADPRIVATE(fluxddcoa,fluxddsco,fluxdd,fluxssfine,fluxsscoa)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: fluxss
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux_sparam_ind
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux_sparam_bb
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux_sparam_ff
+!$OMP THREADPRIVATE(fluxss,flux_sparam_ind,flux_sparam_bb,flux_sparam_ff)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux_sparam_ddfine
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux_sparam_ddcoa
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux_sparam_ddsco
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux_sparam_ssfine
+!$OMP THREADPRIVATE(flux_sparam_ddfine,flux_sparam_ddcoa)
+!$OMP THREADPRIVATE(flux_sparam_ddsco,flux_sparam_ssfine)
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: flux_sparam_sscoa
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: u10m_ss
+      REAL, DIMENSION(:), ALLOCATABLE, SAVE :: v10m_ss
+!$OMP THREADPRIVATE(flux_sparam_sscoa,u10m_ss,v10m_ss)
+
+! JE20141224 >>
 
 
@@ -83,12 +268,13 @@
                       lmt_bcba,lmt_omff,lmt_omnff,lmt_ombb_l,          &  ! E
                       lmt_ombb_h,lmt_omnat,lmt_omba,                   &  ! E
-                      tr_seri,                                         &  ! O
-                      diff_aod550_tot,diag_aod865_tot,                 &  ! O
-                      diff_aod550_tr2,diag_aod865_tr2,                 &  ! O
-                      diag_aod550_dust,diag_aod865_dust,               &  ! O
-                      diag_aod550_dustsco,diag_aod865_dustsco,         &  ! O
-                      diag_aod550_ss,diag_aod865_ss)                      ! O
-!     E                   wth,cly,zprecipinsoil,lmt_sea_salt, ! Titane    
-!                                                                         
+                      tr_seri)                                            ! O
+!                      tr_seri,                                         &  ! O
+!JE20141224                      diff_aod550_tot,diag_aod865_tot,                 &  ! O
+!                      diff_aod550_tr2,diag_aod865_tr2,                 &  ! O
+!                      diag_aod550_dust,diag_aod865_dust,               &  ! O
+!                      diag_aod550_dustsco,diag_aod865_dustsco,         &  ! O
+!                      diag_aod550_ss,diag_aod865_ss)                      ! O
+!!!     E                   wth,cly,zprecipinsoil,lmt_sea_salt, ! Titane    
+!!!                                                                         
       USE mod_grid_phy_lmdz
       USE mod_phys_lmdz_para
@@ -153,19 +339,21 @@
 !$OMP THREADPRIVATE(nbjour)
 !
-      REAL diff_aod550_tot(klon)  ! epaisseur optique total aerosol 550  nm
-      REAL diag_aod670_tot(klon)  ! epaisseur optique total aerosol 670 nm
-      REAL diag_aod865_tot(klon)  ! epaisseur optique total aerosol 865 nm
-      REAL diff_aod550_tr2(klon)  ! epaisseur optique Traceur 2 aerosol 550 nm, diagnostic
-      REAL diag_aod670_tr2(klon)  ! epaisseur optique Traceur 2 aerosol 670 nm, diagnostic
-      REAL diag_aod865_tr2(klon)  ! epaisseur optique Traceur 2 aerosol 865 nm, diagnostic
-      REAL diag_aod550_ss(klon)   ! epaisseur optique Sels marins aerosol 550 nm, diagnostic
-      REAL diag_aod670_ss(klon)   ! epaisseur optique Sels marins aerosol 670 nm, diagnostic
-      REAL diag_aod865_ss(klon)   ! epaisseur optique Sels marins aerosol 865 nm, diagnostic
-      REAL diag_aod550_dust(klon) ! epaisseur optique Dust aerosol 550 nm, diagnostic
-      REAL diag_aod670_dust(klon) ! epaisseur optique Dust aerosol 670 nm, diagnostic
-      REAL diag_aod865_dust(klon) ! epaisseur optique Dust aerosol 865 nm, diagnostic
-      REAL diag_aod550_dustsco(klon) ! epaisseur optique Dust SCOarse aerosol 550 nm, diagnostic
-      REAL diag_aod670_dustsco(klon) ! epaisseur optique Dust SCOarse aerosol 670 nm, diagnostic
-      REAL diag_aod865_dustsco(klon) ! epaisseur optique Dust SCOarse aerosol 865 nm, diagnostic
+!JE20141224 <<
+!      REAL diff_aod550_tot(klon)  ! epaisseur optique total aerosol 550  nm
+!      REAL diag_aod670_tot(klon)  ! epaisseur optique total aerosol 670 nm
+!      REAL diag_aod865_tot(klon)  ! epaisseur optique total aerosol 865 nm
+!      REAL diff_aod550_tr2(klon)  ! epaisseur optique Traceur 2 aerosol 550 nm, diagnostic
+!      REAL diag_aod670_tr2(klon)  ! epaisseur optique Traceur 2 aerosol 670 nm, diagnostic
+!      REAL diag_aod865_tr2(klon)  ! epaisseur optique Traceur 2 aerosol 865 nm, diagnostic
+!      REAL diag_aod550_ss(klon)   ! epaisseur optique Sels marins aerosol 550 nm, diagnostic
+!      REAL diag_aod670_ss(klon)   ! epaisseur optique Sels marins aerosol 670 nm, diagnostic
+!      REAL diag_aod865_ss(klon)   ! epaisseur optique Sels marins aerosol 865 nm, diagnostic
+!      REAL diag_aod550_dust(klon) ! epaisseur optique Dust aerosol 550 nm, diagnostic
+!      REAL diag_aod670_dust(klon) ! epaisseur optique Dust aerosol 670 nm, diagnostic
+!      REAL diag_aod865_dust(klon) ! epaisseur optique Dust aerosol 865 nm, diagnostic
+!      REAL diag_aod550_dustsco(klon) ! epaisseur optique Dust SCOarse aerosol 550 nm, diagnostic
+!      REAL diag_aod670_dustsco(klon) ! epaisseur optique Dust SCOarse aerosol 670 nm, diagnostic
+!      REAL diag_aod865_dustsco(klon) ! epaisseur optique Dust SCOarse aerosol 865 nm, diagnostic
+!JE20141224 >>
 
       INTEGER  masque_aqua_cur(klon)
@@ -174,14 +362,16 @@
       INTEGER, DIMENSION(:), ALLOCATABLE, SAVE :: masque_terra !
 !$OMP THREADPRIVATE(masque_aqua,masque_terra)
-      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 :: 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 :: 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)
-
+!JE20141224 <<
+!      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 :: 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 :: 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)
+
+!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)
@@ -409,4 +599,5 @@
 !----------------------------------------------------------------------
       REAL his_ds(klon,nbtr)
+      REAL his_dh(klon,nbtr)
       REAL his_dhlsc(klon,nbtr)        ! in-cloud scavenging lsc
       REAL his_dhcon(klon,nbtr)       ! in-cloud scavenging con
@@ -444,7 +635,7 @@
       REAL flux_tr(klon,nbtr)
       REAL m_conc(klon,klev)
-      REAL sed_ss(klon)    ! corresponds to tracer 3
-      REAL sed_dust(klon)  ! corresponds to tracer 4
-      REAL sed_dustsco(klon)  ! corresponds to tracer 4
+!      REAL sed_ss(klon)    ! corresponds to tracer 3
+!      REAL sed_dust(klon)  ! corresponds to tracer 4
+!      REAL sed_dustsco(klon)  ! corresponds to tracer 4
       REAL henry(nbtr)  !--cste de Henry  mol/l/atm
       REAL kk(nbtr)     !--coefficient de var avec T (K)
@@ -471,5 +662,6 @@
       CHARACTER*2 str2
       LOGICAL ok_histrac
-      PARAMETER (ok_histrac=.true.)
+!JE2014124      PARAMETER (ok_histrac=.true.)
+      PARAMETER (ok_histrac=.false.)
       INTEGER ndex2d(iim*(jjm+1)), ndex3d(iim*(jjm+1)*klev)
       INTEGER nhori1, nhori2, nhori3, nhori4, nhori5, nvert
@@ -489,24 +681,27 @@
       REAL zx_lon_glo(nbp_lon,nbp_lat), zx_lat_glo(nbp_lon,nbp_lat)
       REAL zsto, zout, zout_h, zout_m, zjulian
-      REAL fluxbb(klon), fluxff(klon)
-      REAL fluxbcbb(klon), fluxbcff(klon), fluxbcnff(klon)
-      REAL fluxombb(klon), fluxomff(klon), fluxomnat(klon)
-      REAL fluxomnff(klon), fluxomba(klon), fluxbcba(klon)
-      REAL fluxso2ff(klon), fluxso2bb(klon), fluxso2(klon)
-      REAL fluxso2nff(klon), fluxso2vol(klon), fluxso2ba(klon) 
-      REAL fluxh2sff(klon), fluxh2snff(klon)
-      REAL fluxso4ff(klon), fluxso4bb(klon), fluxso4ba(klon)
-      REAL fluxh2sbio(klon), fluxso4nff(klon)
-      REAL fluxdms(klon)
-      REAL fluxbc(klon), fluxom(klon), fluxso4(klon)
-      REAL fluxdd(klon), fluxss(klon)
-      REAL fluxdustec(klon), fluxssfine(klon), fluxsscoa(klon)
-      REAL fluxddfine(klon), fluxddcoa(klon) ,fluxddsco(klon)
-      REAL flux_sparam_bb(klon), flux_sparam_ff(klon)
-      REAL flux_sparam_ind(klon) !, flux_sparam_sulf(klon,klev)
-      REAL flux_sparam_ddfine(klon), flux_sparam_ddcoa(klon)
-      REAL flux_sparam_ddsco(klon)
-      REAL flux_sparam_ssfine(klon), flux_sparam_sscoa(klon)
-
+
+! JE20141224 <<
+!      REAL fluxbb(klon), fluxff(klon)
+!      REAL fluxbcbb(klon), fluxbcff(klon), fluxbcnff(klon)
+!      REAL fluxombb(klon), fluxomff(klon), fluxomnat(klon)
+!      REAL fluxomnff(klon), fluxomba(klon), fluxbcba(klon)
+!      REAL fluxso2ff(klon), fluxso2bb(klon), fluxso2(klon)
+!      REAL fluxso2nff(klon), fluxso2vol(klon), fluxso2ba(klon) 
+!      REAL fluxh2sff(klon), fluxh2snff(klon)
+!      REAL fluxso4ff(klon), fluxso4bb(klon), fluxso4ba(klon)
+!      REAL fluxh2sbio(klon), fluxso4nff(klon)
+!      REAL fluxdms(klon)
+!      REAL fluxbc(klon), fluxom(klon), fluxso4(klon)
+!      REAL fluxdd(klon), fluxss(klon)
+!      REAL fluxdustec(klon), fluxssfine(klon), fluxsscoa(klon)
+!      REAL fluxddfine(klon), fluxddcoa(klon) ,fluxddsco(klon)
+!      REAL flux_sparam_bb(klon), flux_sparam_ff(klon)
+!      REAL flux_sparam_ind(klon) !, flux_sparam_sulf(klon,klev)
+!      REAL flux_sparam_ddfine(klon), flux_sparam_ddcoa(klon)
+!      REAL flux_sparam_ddsco(klon)
+!      REAL flux_sparam_ssfine(klon), flux_sparam_sscoa(klon)
+!
+! JE20141224 >>
 !------------------DMS  SO2  SO4   H2S  DMSO MSA H2O2 
 !------------------BC1, BC2, OM1, OM2,flyash  dust1   dust2 
@@ -562,7 +757,7 @@
 !JE20140507      REAL,DIMENSION(klon,nbtr)        ::  flux_tr_dry
 !      SAVE  d_tr_dry
-! JE for include gas to particle conversion in output
-      REAL his_g2pgas(klon)      ! gastoparticle in gas units (check!)
-      REAL his_g2paer(klon)      ! gastoparticle in aerosol units (check!)
+!! JE for include gas to particle conversion in output
+!      REAL his_g2pgas(klon)      ! gastoparticle in gas units (check!)
+!      REAL his_g2paer(klon)      ! gastoparticle in aerosol units (check!)
 !
       INTEGER ,intent(in) :: iflag_conv
@@ -1343,11 +1538,151 @@
       ALLOCATE(d_tr_lessi_nucl(klon,klev,nbtr))
 
-
-
-
-
-        ALLOCATE(d_tr_cv_o(klon,klev,nbtr))
-        ALLOCATE(d_tr_trsp_o(klon,klev,nbtr))
-        ALLOCATE(d_tr_sscav_o(klon,klev,nbtr), &
+      ALLOCATE( diff_aod550_tot(klon)     )
+      ALLOCATE( diag_aod670_tot(klon)     )
+      ALLOCATE( diag_aod865_tot(klon)     )
+      ALLOCATE( diff_aod550_tr2(klon)     )
+      ALLOCATE( diag_aod670_tr2(klon)     )
+      ALLOCATE( diag_aod865_tr2(klon)     )
+      ALLOCATE( diag_aod550_ss(klon)      )
+      ALLOCATE( diag_aod670_ss(klon)      )
+      ALLOCATE( diag_aod865_ss(klon)      )
+      ALLOCATE( diag_aod550_dust(klon)    )
+      ALLOCATE( diag_aod670_dust(klon)    )
+      ALLOCATE( diag_aod865_dust(klon)    )
+      ALLOCATE( diag_aod550_dustsco(klon)  )
+      ALLOCATE( diag_aod670_dustsco(klon)  )
+      ALLOCATE( diag_aod865_dustsco(klon)  )
+
+
+      ALLOCATE(  sconc01(klon)     )
+      ALLOCATE(  trm01(klon)     )
+      ALLOCATE(  sconc02(klon)     )
+      ALLOCATE(  trm02(klon)     )
+      ALLOCATE(  sconc03(klon)     )
+      ALLOCATE(  trm03(klon)     )
+      ALLOCATE(  sconc04(klon)     )
+      ALLOCATE(  trm04(klon)     )
+      ALLOCATE(  sconc05(klon)     )
+      ALLOCATE(  trm05(klon)     )
+
+
+      ALLOCATE(  flux01(klon)     )
+      ALLOCATE(  flux02(klon)     )
+      ALLOCATE(  flux03(klon)     )
+      ALLOCATE(  flux04(klon)     )
+      ALLOCATE(  flux05(klon)     )
+      ALLOCATE(  ds01(klon)     )
+      ALLOCATE(  ds02(klon)     )
+      ALLOCATE(  ds03(klon)     )
+      ALLOCATE(  ds04(klon)     )
+      ALLOCATE(  ds05(klon)     )
+      ALLOCATE(  dh01(klon)     )
+      ALLOCATE(  dh02(klon)     )
+      ALLOCATE(  dh03(klon)     )
+      ALLOCATE(  dh04(klon)     )
+      ALLOCATE(  dh05(klon)     )
+      ALLOCATE(  dtrconv01(klon)     )
+      ALLOCATE(  dtrconv02(klon)     )
+      ALLOCATE(  dtrconv03(klon)     )
+      ALLOCATE(  dtrconv04(klon)     )
+      ALLOCATE(  dtrconv05(klon)     )
+      ALLOCATE(  dtherm01(klon)     )
+      ALLOCATE(  dtherm02(klon)     )
+      ALLOCATE(  dtherm03(klon)     )
+      ALLOCATE(  dtherm04(klon)     )
+      ALLOCATE(  dtherm05(klon)     )
+      ALLOCATE(  dhkecv01(klon)     )
+      ALLOCATE(  dhkecv02(klon)     )
+      ALLOCATE(  dhkecv03(klon)     )
+      ALLOCATE(  dhkecv04(klon)     )
+      ALLOCATE(  dhkecv05(klon)     )
+      ALLOCATE(  dhkelsc01(klon)     )
+      ALLOCATE(  dhkelsc02(klon)     )
+      ALLOCATE(  dhkelsc03(klon)     )
+      ALLOCATE(  dhkelsc04(klon)     )
+      ALLOCATE(  dhkelsc05(klon)     )
+      ALLOCATE(  d_tr_cv01(klon,klev))
+      ALLOCATE(  d_tr_cv02(klon,klev))
+      ALLOCATE(  d_tr_cv03(klon,klev))
+      ALLOCATE(  d_tr_cv04(klon,klev))
+      ALLOCATE(  d_tr_cv05(klon,klev))
+      ALLOCATE(  d_tr_trsp01(klon,klev))
+      ALLOCATE(  d_tr_trsp02(klon,klev))
+      ALLOCATE(  d_tr_trsp03(klon,klev))
+      ALLOCATE(  d_tr_trsp04(klon,klev))
+      ALLOCATE(  d_tr_trsp05(klon,klev))
+      ALLOCATE(  d_tr_sscav01(klon,klev))
+      ALLOCATE(  d_tr_sscav02(klon,klev))
+      ALLOCATE(  d_tr_sscav03(klon,klev))
+      ALLOCATE(  d_tr_sscav04(klon,klev))
+      ALLOCATE(  d_tr_sscav05(klon,klev))
+      ALLOCATE(  d_tr_sat01(klon,klev))
+      ALLOCATE(  d_tr_sat02(klon,klev))
+      ALLOCATE(  d_tr_sat03(klon,klev))
+      ALLOCATE(  d_tr_sat04(klon,klev))
+      ALLOCATE(  d_tr_sat05(klon,klev))
+      ALLOCATE(  d_tr_uscav01(klon,klev))
+      ALLOCATE(  d_tr_uscav02(klon,klev))
+      ALLOCATE(  d_tr_uscav03(klon,klev))
+      ALLOCATE(  d_tr_uscav04(klon,klev))
+      ALLOCATE(  d_tr_uscav05(klon,klev))
+
+      ALLOCATE( sed_ss(klon))
+      ALLOCATE( sed_dust(klon))
+      ALLOCATE( sed_dustsco(klon))
+      ALLOCATE( his_g2pgas(klon))
+      ALLOCATE( his_g2paer(klon))
+
+      ALLOCATE( fluxbb(klon))
+      ALLOCATE( fluxff(klon))
+      ALLOCATE( fluxbcbb(klon))
+      ALLOCATE( fluxbcff(klon))
+      ALLOCATE( fluxbcnff(klon))
+      ALLOCATE( fluxbcba(klon))
+      ALLOCATE( fluxbc(klon))
+      ALLOCATE( fluxombb(klon))
+      ALLOCATE( fluxomff(klon))
+      ALLOCATE( fluxomnff(klon))
+      ALLOCATE( fluxomba(klon))
+      ALLOCATE( fluxomnat(klon))
+      ALLOCATE( fluxom(klon))
+      ALLOCATE( fluxh2sff(klon))
+      ALLOCATE( fluxh2snff(klon))
+      ALLOCATE( fluxso2ff(klon))
+      ALLOCATE( fluxso2nff(klon))
+      ALLOCATE( fluxso2bb(klon))
+      ALLOCATE( fluxso2vol(klon))
+      ALLOCATE( fluxso2ba(klon))
+      ALLOCATE( fluxso2(klon))
+      ALLOCATE( fluxso4ff(klon))
+      ALLOCATE( fluxso4nff(klon))
+      ALLOCATE( fluxso4bb(klon))
+      ALLOCATE( fluxso4ba(klon))
+      ALLOCATE( fluxso4(klon))
+      ALLOCATE( fluxdms(klon))
+      ALLOCATE( fluxh2sbio(klon))
+      ALLOCATE( fluxdustec(klon))
+      ALLOCATE( fluxddfine(klon))
+      ALLOCATE( fluxddcoa(klon))
+      ALLOCATE( fluxddsco(klon))
+      ALLOCATE( fluxdd(klon))
+      ALLOCATE( fluxssfine(klon))
+      ALLOCATE( fluxsscoa(klon))
+      ALLOCATE( fluxss(klon))
+      ALLOCATE( flux_sparam_ind(klon))
+      ALLOCATE( flux_sparam_bb(klon))
+      ALLOCATE( flux_sparam_ff(klon))
+      ALLOCATE( flux_sparam_ddfine(klon))
+      ALLOCATE( flux_sparam_ddcoa(klon))
+      ALLOCATE( flux_sparam_ddsco(klon))
+      ALLOCATE( flux_sparam_ssfine(klon))
+      ALLOCATE( flux_sparam_sscoa(klon))
+      ALLOCATE( u10m_ss(klon))
+      ALLOCATE( v10m_ss(klon))
+
+
+       ALLOCATE(d_tr_cv_o(klon,klev,nbtr))
+       ALLOCATE(d_tr_trsp_o(klon,klev,nbtr))
+       ALLOCATE(d_tr_sscav_o(klon,klev,nbtr), &
                 d_tr_sat_o(klon,klev,nbtr))
         ALLOCATE(d_tr_uscav_o(klon,klev,nbtr))
@@ -1481,4 +1816,5 @@
       DO it=1, nbtr
       DO i=1, klon 
+        his_dh(i,it)=0.0
         his_dhlsc(i,it)=0.0
         his_dhcon(i,it)=0.0
@@ -2965,4 +3301,5 @@
 
 
+      IF (ok_histrac) THEN
 !      write in output file
       call gather(aod550_aqua,aod550_aqua_glo)
@@ -2999,5 +3336,5 @@
 !$OMP END MASTER
 !$OMP BARRIER
-
+      ENDIF
        !put in 0 everything
        aod550_aqua(:) =0.
@@ -3042,5 +3379,5 @@
 !======================================================================
 !
-      IF (ok_histrac) THEN
+!JE20141224      IF (ok_histrac) THEN
 !
       ndex2d = 0
@@ -3252,5 +3589,14 @@
 
 
-
+     DO it=1,nbtr
+      WRITE(str2,'(i2.2)') it
+       DO i=1, klon                                                        
+        his_dh(i,it)= his_dhlsc(i,it)+his_dhcon(i,it)+               &
+                   his_dhbclsc(i,it)+his_dhbccon(i,it)
+
+       ENDDO
+      ENDDO
+
+      IF (ok_histrac) THEN
 !
 ! SAVING VARIABLES IN TRACEUR
@@ -3459,4 +3805,7 @@
        zx_tmp_fi2d(i) = his_dhlsc(i,it)+his_dhcon(i,it)+               &  
                         his_dhbclsc(i,it)+his_dhbccon(i,it)
+       his_dh(i,it)= his_dhlsc(i,it)+his_dhcon(i,it)+               &  
+                   his_dhbclsc(i,it)+his_dhbccon(i,it)
+
       ENDDO
 !
@@ -4101,4 +4450,94 @@
       ENDIF ! ok_histrac                                                    
                                                                             
+
+
+
+!JE20141224
+! saving variables for output
+! 2D outputs
+
+      DO i=1, klon
+       trm01(i)=trm(i,id_prec) 
+       trm02(i)=trm(i,id_fine) 
+       trm03(i)=trm(i,id_coss) 
+       trm04(i)=trm(i,id_codu) 
+       trm05(i)=trm(i,id_scdu)
+       sconc01(i)=sconc_seri(i,id_prec)
+       sconc02(i)=sconc_seri(i,id_fine)
+       sconc03(i)=sconc_seri(i,id_coss)
+       sconc04(i)=sconc_seri(i,id_codu)
+       sconc05(i)=sconc_seri(i,id_scdu)
+       flux01(i)=flux_tr(i,id_prec)
+       flux02(i)=flux_tr(i,id_fine)
+       flux03(i)=flux_tr(i,id_coss)
+       flux04(i)=flux_tr(i,id_codu)
+       flux05(i)=flux_tr(i,id_scdu)
+       ds01(i)=his_ds(i,id_prec)
+       ds02(i)=his_ds(i,id_fine)
+       ds03(i)=his_ds(i,id_coss)
+       ds04(i)=his_ds(i,id_codu)
+       ds05(i)=his_ds(i,id_scdu)
+       dh01(i)=his_dh(i,id_prec)
+       dh02(i)=his_dh(i,id_fine)
+       dh03(i)=his_dh(i,id_coss)
+       dh04(i)=his_dh(i,id_codu)
+       dh05(i)=his_dh(i,id_scdu)
+       dtrconv01(i)=dtrconv(i,id_prec)
+       dtrconv02(i)=dtrconv(i,id_fine)
+       dtrconv03(i)=dtrconv(i,id_coss)
+       dtrconv04(i)=dtrconv(i,id_codu)
+       dtrconv05(i)=dtrconv(i,id_scdu)
+       dtherm01(i)=his_th(i,id_prec)
+       dtherm02(i)=his_th(i,id_fine)
+       dtherm03(i)=his_th(i,id_coss)
+       dtherm04(i)=his_th(i,id_codu)
+       dtherm05(i)=his_th(i,id_scdu)
+       dhkecv01(i)=his_dhkecv(i,id_prec)
+       dhkecv02(i)=his_dhkecv(i,id_fine)
+       dhkecv03(i)=his_dhkecv(i,id_coss)
+       dhkecv04(i)=his_dhkecv(i,id_codu)
+       dhkecv05(i)=his_dhkecv(i,id_scdu)
+       dhkelsc01(i)=his_dhkelsc(i,id_prec)
+       dhkelsc02(i)=his_dhkelsc(i,id_fine)
+       dhkelsc03(i)=his_dhkelsc(i,id_coss)
+       dhkelsc04(i)=his_dhkelsc(i,id_codu)
+       dhkelsc05(i)=his_dhkelsc(i,id_scdu)
+       u10m_ss(i)=u10m_ec(i)
+       v10m_ss(i)=v10m_ec(i)
+      ENDDO
+! 3D outs
+      DO i=1, klon
+        DO k=1,klev
+           d_tr_cv01(i,k)=d_tr_cv_o(i,k,id_prec)
+           d_tr_cv02(i,k)=d_tr_cv_o(i,k,id_fine)
+           d_tr_cv03(i,k)=d_tr_cv_o(i,k,id_coss)
+           d_tr_cv04(i,k)=d_tr_cv_o(i,k,id_codu)
+           d_tr_cv05(i,k)=d_tr_cv_o(i,k,id_scdu)
+           d_tr_trsp01(i,k)=d_tr_trsp_o(i,k,id_prec)
+           d_tr_trsp02(i,k)=d_tr_trsp_o(i,k,id_fine)
+           d_tr_trsp03(i,k)=d_tr_trsp_o(i,k,id_coss)
+           d_tr_trsp04(i,k)=d_tr_trsp_o(i,k,id_codu)
+           d_tr_trsp05(i,k)=d_tr_trsp_o(i,k,id_scdu)
+           d_tr_sscav01(i,k)=d_tr_sscav_o(i,k,id_prec)
+           d_tr_sscav02(i,k)=d_tr_sscav_o(i,k,id_fine)
+           d_tr_sscav03(i,k)=d_tr_sscav_o(i,k,id_coss)
+           d_tr_sscav04(i,k)=d_tr_sscav_o(i,k,id_codu)
+           d_tr_sscav05(i,k)=d_tr_sscav_o(i,k,id_scdu)
+           d_tr_sat01(i,k)=d_tr_sat_o(i,k,id_prec)
+           d_tr_sat02(i,k)=d_tr_sat_o(i,k,id_fine)
+           d_tr_sat03(i,k)=d_tr_sat_o(i,k,id_coss)
+           d_tr_sat04(i,k)=d_tr_sat_o(i,k,id_codu)
+           d_tr_sat05(i,k)=d_tr_sat_o(i,k,id_scdu)
+           d_tr_uscav01(i,k)=d_tr_uscav_o(i,k,id_prec)
+           d_tr_uscav02(i,k)=d_tr_uscav_o(i,k,id_fine)
+           d_tr_uscav03(i,k)=d_tr_uscav_o(i,k,id_coss)
+           d_tr_uscav04(i,k)=d_tr_uscav_o(i,k,id_codu)
+           d_tr_uscav05(i,k)=d_tr_uscav_o(i,k,id_scdu)
+        ENDDO
+      ENDDO
+     
+
+
+
 
       IF (logitime) THEN
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_dat.h
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_dat.h	(revision 2176)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_dat.h	(revision 2176)
@@ -0,0 +1,402 @@
+! Outputs for spla model control file
+! JE201041224
+
+!Dust emission module
+  type(ctrl_out),save :: o_m1dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'm1dflux','m1dflux','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_m2dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'm2dflux','m2dflux','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_m3dflux      = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'm3dflux','m3dflux','', (/ ('', i=1, 9) /))
+
+! traceur_spl
+  type(ctrl_out),save :: o_taue550    = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550','Tau ext 550','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue670     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670','Tau ext 670','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue865     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865','Tau ext 865','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue550_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_tr2','Tau ext 550tr2','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue670_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_tr2','Tau ext 670tr2','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue865_tr2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_tr2','Tau ext 865tr2','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue550_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_ss','Tau ext 550ss','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue670_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_ss','Tau ext 670ss','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue865_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_ss','Tau ext 865ss','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue550_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_dust','Tau ext 550dust','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue670_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_dust','Tau ext 670dust','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue865_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_dust','Tau ext 865dust','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue550_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue550_dustsco','Tau ext 550dustsco','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue670_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue670_dustsco','Tau ext 670dustsco','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_taue865_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'taue865_dustsco','Tau ext 865dustsco','', (/ ('', i=1, 9) /))
+
+  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','', &
+      (/ '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)' /))
+
+	
+  type(ctrl_out),save :: o_trm01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'trm01','Burden PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_trm02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'trm02','Burden FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_trm03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'trm03','Burden COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_trm04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'trm04','Burden CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_trm05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'trm05','Burden SCDU','', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_sconc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'sconc01','Surf. Conc. PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_sconc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'sconc02','Surf. Conc. FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_sconc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'sconc03','Surf. Conc. COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_sconc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'sconc04','Surf. Conc. CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_sconc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'sconc05','Surf. Conc. SCDU','', (/ ('', i=1, 9) /))
+
+
+
+
+!lessivage
+
+  type(ctrl_out),save :: o_flux01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux01','emission PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_flux02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux02','emission FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_flux03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux03','emission COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_flux04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux04','emission CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_flux05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux05','emission SCDU','', (/ ('', i=1, 9) /))
+
+
+  type(ctrl_out),save :: o_ds01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'ds01','Depot sec PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_ds02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'ds02','Depot sec FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_ds03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'ds03','Depot sec COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_ds04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'ds04','Depot sec CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_ds05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'ds05','Depot sec SCDU','', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_dh01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dh01','Depot hum PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dh02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dh02','Depot hum FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dh03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dh03','Depot hum COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dh04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dh04','Depot hum CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dh05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dh05','Depot hum SCDU','', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_dtrconv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dtrconv01','Tiedke convective PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dtrconv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dtrconv02','Tiedke convective FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dtrconv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dtrconv03','Tiedke convective COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dtrconv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dtrconv04','Tiedke convective CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dtrconv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dtrconv05','Tiedke convective SCDU','', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_dtherm01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dtherm01','Thermals dtracer PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dtherm02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dtherm02','Thermals dtracer FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dtherm03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dtherm03','Thermals dtracer COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dtherm04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dtherm04','Thermals dtracer CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dtherm05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dtherm05','Thermals dtracer SCDU','', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_dhkecv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dhkecv01','KE dep hum convective PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dhkecv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dhkecv02','KE dep hum convective FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dhkecv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dhkecv03','KE dep hum convective COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dhkecv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dhkecv04','KE dep hum convective CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dhkecv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dhkecv05','KE dep hum convective SCDU','', (/ ('', i=1, 9) /))
+
+
+
+  type(ctrl_out),save :: o_dhkelsc01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dhkelsc01','KE dep hum large scale PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dhkelsc02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dhkelsc02','KE dep hum large scale FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dhkelsc03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dhkelsc03','KE dep hum large scale COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dhkelsc04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dhkelsc04','KE dep hum large scale CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_dhkelsc05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'dhkelsc05','KE dep hum large scale SCDU','', (/ ('', i=1, 9) /))
+
+
+  type(ctrl_out),save :: o_d_tr_cv01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cv01','cvltr d_tr_cv PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_cv02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cv02','cvltr d_tr_cv FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_cv03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cv03','cvltr d_tr_cv COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_cv04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cv04','cvltr d_tr_cv CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_cv05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_cv05','cvltr d_tr_cv SCDU','', (/ ('', i=1, 9) /))
+
+
+  type(ctrl_out),save :: o_d_tr_trsp01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_trsp01','cvltr d_tr_trsp PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_trsp02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_trsp02','cvltr d_tr_trsp FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_trsp03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_trsp03','cvltr d_tr_trsp COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_trsp04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_trsp04','cvltr d_tr_trsp CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_trsp05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_trsp05','cvltr d_tr_trsp SCDU','', (/ ('', i=1, 9) /))
+
+
+  type(ctrl_out),save :: o_d_tr_sscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sscav01','cvltr d_tr_sscav PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_sscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sscav02','cvltr d_tr_sscav FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_sscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sscav03','cvltr d_tr_sscav COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_sscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sscav04','cvltr d_tr_sscav CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_sscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sscav05','cvltr d_tr_sscav SCDU','', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_d_tr_sat01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sat01','cvltr d_tr_sat PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_sat02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sat02','cvltr d_tr_sat FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_sat03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sat03','cvltr d_tr_sat COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_sat04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sat04','cvltr d_tr_sat CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_sat05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_sat05','cvltr d_tr_sat SCDU','', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_d_tr_uscav01     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_uscav01','cvltr d_tr_uscav PREC','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_uscav02     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_uscav02','cvltr d_tr_uscav FINE','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_uscav03     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_uscav03','cvltr d_tr_uscav COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_uscav04     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_uscav04','cvltr d_tr_uscav CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_d_tr_uscav05     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'd_tr_uscav05','cvltr d_tr_uscav SCDU','', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_sed_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'sed_ss','Sedmet. COSS','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_sed_dust     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'sed_dust','Sedmet. CODU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_sed_dustsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'sed_dustsco','Sedmet. SCDU','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_g2p_gas     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'g2p_gas','Gas2particle gas sink','', (/ ('', i=1, 9) /))
+  type(ctrl_out),save :: o_g2p_aer     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'g2p_aer','Gas2particle tr2 src','', (/ ('', i=1, 9) /))
+
+! histrac
+
+  type(ctrl_out),save :: o_fluxbb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbb','Flux BB','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxff','Flux FF','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxbcbb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbcbb','Flux BC-BB','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxbcff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbcff','Flux BC-FF','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxbcnff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbcnff','Flux BC-NFF','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxbcba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbcba','Flux BC-BA','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxbc     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxbc','Flux BC','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxombb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxombb','Flux OM-BB','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxomff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxomff','Flux OM-FF','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxomnff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxomnff','Flux OM-NFF','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxomba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxomba','Flux OM-BA','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxomnat     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxomnat','Flux OM-NT','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxom     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxom','Flux OM','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxh2sff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxh2sff','Flux H2S FF','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxh2snff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxh2snff','Flux H2S non-FF','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso2ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2ff','Flux SO2 FF','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso2nff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2nff','Flux SO2 non-FF','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso2bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2bb','Flux SO2 BB','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso2vol     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2vol','Flux SO2 Vol','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso2ba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2ba','Flux SO2 Ba','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso2     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso2','Flux SO2','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso4ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso4ff','Flux SO4 FF','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso4nff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso4nff','Flux SO4 non-FF','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso4bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso4bb','Flux SO4 BB','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso4ba     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso4ba','Flux SO4 Ba','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxso4     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxso4','Flux SO4','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxdms     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxdms','Flux DMS','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxh2sbio     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxh2sbio','Flux H2S Bio','mgS/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxdustec     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxdustec','Flux Dust EC','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxddfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxddfine','DD Fine Mode','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxddcoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxddcoa','DD Coarse Mode','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxddsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxddsco','DD SCoarse Mode','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxdd     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxdd','Flux DD','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxssfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxssfine','SS Fine Mode','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxsscoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxsscoa','SS Coarse Mode','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_fluxss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'fluxss','Flux SS','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ind     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ind','Ind emiss','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_flux_sparam_bb     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_bb','BB emiss','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ff     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ff','FF emiss','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ddfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ddfine','DD fine emiss','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ddcoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ddcoa','DD coarse emiss','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ddsco     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ddsco','DD Scoarse emiss','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_flux_sparam_ssfine     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_ssfine','SS fine emiss','mg/m2/s', (/ ('', i=1, 9) /))
+
+
+  type(ctrl_out),save :: o_flux_sparam_sscoa     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'flux_sparam_sscoa','SS coarse emiss','mg/m2/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_u10m_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'u10m_ss','Zonal wind at 10 m SS','m/s', (/ ('', i=1, 9) /))
+
+  type(ctrl_out),save :: o_v10m_ss     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+  'v10m_ss','Meridional wind at 10 m SS','m/s', (/ ('', i=1, 9) /))
+
+
+!  type(ctrl_out),save :: o_     = ctrl_out((/ 4, 4, 4, 10, 10, 10, 10, 10, 10 /), &
+!  '','','', (/ ('', i=1, 9) /))
+
+
+
+!example  TYPE(ctrl_out), SAVE :: o_psbg = ctrl_out((/ 11, 11, 11, 11, 11, 11, 5, 5, 5 /), &
+!       'psbg', 'Pressure sfce below ground', '%', (/ "inst(X)", "inst(X)", "inst(X)", &
+!       "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)", "inst(X)"  /))
+
+
+
Index: LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_write.h
===================================================================
--- LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_write.h	(revision 2176)
+++ LMDZ5/branches/LMDZ5_SPLA/libf/phylmd/spla_output_write.h	(revision 2176)
@@ -0,0 +1,166 @@
+!! Output SPLA
+! JE20141223
+      CALL histwrite_phy(o_m1dflux,m1dflux)
+      CALL histwrite_phy(o_m2dflux,m2dflux)
+      CALL histwrite_phy(o_m3dflux,m3dflux)
+! traceur
+
+      CALL histwrite_phy( o_taue550          , diff_aod550_tot          )
+      CALL histwrite_phy( o_taue670          , diag_aod670_tot   )
+      CALL histwrite_phy( o_taue865          , diag_aod865_tot  ) 
+      CALL histwrite_phy( o_taue550_tr2      , diff_aod550_tr2  )
+      CALL histwrite_phy( o_taue670_tr2      , diag_aod670_tr2   )
+      CALL histwrite_phy( o_taue865_tr2      , diag_aod865_tr2  )
+      CALL histwrite_phy( o_taue550_ss       , diag_aod550_ss       )
+      CALL histwrite_phy( o_taue670_ss       , diag_aod670_ss   )
+      CALL histwrite_phy( o_taue865_ss       , diag_aod865_ss    )
+      CALL histwrite_phy( o_taue550_dust     , diag_aod550_dust   )
+      CALL histwrite_phy( o_taue670_dust     , diag_aod670_dust )
+      CALL histwrite_phy( o_taue865_dust     , diag_aod865_dust )
+      CALL histwrite_phy( o_taue550_dustsco  , diag_aod550_dustsco )
+      CALL histwrite_phy( o_taue670_dustsco  , diag_aod670_dustsco )
+      CALL histwrite_phy( o_taue865_dustsco  , diag_aod865_dustsco )
+      CALL histwrite_phy( o_taue550_aqua     , aod550_aqua  )
+      CALL histwrite_phy( o_taue550_terra    , aod550_terra    )
+      CALL histwrite_phy( o_taue670_aqua     , aod670_aqua     )
+      CALL histwrite_phy( o_taue670_terra    , aod670_terra    )
+      CALL histwrite_phy( o_taue865_aqua     , aod865_aqua    )
+      CALL histwrite_phy( o_taue865_terra    , aod865_terra    )
+      CALL histwrite_phy( o_trm01 , trm01 )
+      CALL histwrite_phy( o_trm02 , trm02 )
+      CALL histwrite_phy( o_trm03 , trm03 )
+      CALL histwrite_phy( o_trm04 , trm04 )
+      CALL histwrite_phy( o_trm05 , trm05 )
+      CALL histwrite_phy( o_sconc01 , sconc01 )
+      CALL histwrite_phy( o_sconc02 , sconc02 )
+      CALL histwrite_phy( o_sconc03 , sconc03 )
+      CALL histwrite_phy( o_sconc04 , sconc04 )
+      CALL histwrite_phy( o_sconc05 , sconc05 )
+
+! Lessivage
+
+      CALL histwrite_phy( o_flux01       , flux01 )
+      CALL histwrite_phy( o_flux02       , flux02 )
+      CALL histwrite_phy( o_flux03       , flux03 )
+      CALL histwrite_phy( o_flux04       , flux04 )
+      CALL histwrite_phy( o_flux05       , flux05 )
+      CALL histwrite_phy( o_ds01         , ds01 )
+      CALL histwrite_phy( o_ds02         , ds02 )
+      CALL histwrite_phy( o_ds03         , ds03 )
+      CALL histwrite_phy( o_ds04         , ds04 )
+      CALL histwrite_phy( o_ds05         , ds05 )
+      CALL histwrite_phy( o_dh01         , dh01 )
+      CALL histwrite_phy( o_dh02         , dh02 )
+      CALL histwrite_phy( o_dh03         , dh03 )
+      CALL histwrite_phy( o_dh04         , dh04 )
+      CALL histwrite_phy( o_dh05         , dh05 )
+      CALL histwrite_phy( o_dtrconv01    , dtrconv01 )
+      CALL histwrite_phy( o_dtrconv02    , dtrconv02 )
+      CALL histwrite_phy( o_dtrconv03    , dtrconv03 )
+      CALL histwrite_phy( o_dtrconv04    , dtrconv04 )
+      CALL histwrite_phy( o_dtrconv05    , dtrconv05 )
+      CALL histwrite_phy( o_dtherm01     , dtherm01 )
+      CALL histwrite_phy( o_dtherm02     , dtherm02 )
+      CALL histwrite_phy( o_dtherm03     , dtherm03 )
+      CALL histwrite_phy( o_dtherm04     , dtherm04 )
+      CALL histwrite_phy( o_dtherm05     , dtherm05 )
+      CALL histwrite_phy( o_dhkecv01     , dhkecv01 )
+      CALL histwrite_phy( o_dhkecv02     , dhkecv02 )
+      CALL histwrite_phy( o_dhkecv03     , dhkecv03 )
+      CALL histwrite_phy( o_dhkecv04     , dhkecv04 )
+      CALL histwrite_phy( o_dhkecv05     , dhkecv05 )
+      CALL histwrite_phy( o_dhkelsc01    , dhkelsc01 )
+      CALL histwrite_phy( o_dhkelsc02    , dhkelsc02 )
+      CALL histwrite_phy( o_dhkelsc03    , dhkelsc03 )
+      CALL histwrite_phy( o_dhkelsc04    , dhkelsc04 )
+      CALL histwrite_phy( o_dhkelsc05    , dhkelsc05 )
+      CALL histwrite_phy( o_d_tr_cv01    , d_tr_cv01 )
+      CALL histwrite_phy( o_d_tr_cv02    , d_tr_cv02 )
+      CALL histwrite_phy( o_d_tr_cv03    , d_tr_cv03 )
+      CALL histwrite_phy( o_d_tr_cv04    , d_tr_cv04 )
+      CALL histwrite_phy( o_d_tr_cv05    , d_tr_cv05 )
+      CALL histwrite_phy( o_d_tr_trsp01  , d_tr_trsp01 )
+      CALL histwrite_phy( o_d_tr_trsp02  , d_tr_trsp02 )
+      CALL histwrite_phy( o_d_tr_trsp03  , d_tr_trsp03 )
+      CALL histwrite_phy( o_d_tr_trsp04  , d_tr_trsp04 )
+      CALL histwrite_phy( o_d_tr_trsp05  , d_tr_trsp05 )
+      CALL histwrite_phy( o_d_tr_sscav01 , d_tr_sscav01 )
+      CALL histwrite_phy( o_d_tr_sscav02 , d_tr_sscav02 )
+      CALL histwrite_phy( o_d_tr_sscav03 , d_tr_sscav03 )
+      CALL histwrite_phy( o_d_tr_sscav04 , d_tr_sscav04 )
+      CALL histwrite_phy( o_d_tr_sscav05 , d_tr_sscav05 )
+      CALL histwrite_phy( o_d_tr_sat01   , d_tr_sat01 )
+      CALL histwrite_phy( o_d_tr_sat02   , d_tr_sat02 )
+      CALL histwrite_phy( o_d_tr_sat03   , d_tr_sat03 )
+      CALL histwrite_phy( o_d_tr_sat04   , d_tr_sat04 )
+      CALL histwrite_phy( o_d_tr_sat05   , d_tr_sat05 )
+      CALL histwrite_phy( o_d_tr_uscav01 , d_tr_uscav01 )
+      CALL histwrite_phy( o_d_tr_uscav02 , d_tr_uscav02 )
+      CALL histwrite_phy( o_d_tr_uscav03 , d_tr_uscav03 )
+      CALL histwrite_phy( o_d_tr_uscav04 , d_tr_uscav04 )
+      CALL histwrite_phy( o_d_tr_uscav05 , d_tr_uscav05 )
+
+
+      CALL histwrite_phy( o_sed_ss , sed_ss)
+      CALL histwrite_phy( o_sed_dust , sed_dust)
+      CALL histwrite_phy( o_sed_dustsco , sed_dustsco)
+      CALL histwrite_phy( o_g2p_gas , his_g2pgas )
+      CALL histwrite_phy( o_g2p_aer , his_g2paer)
+
+! histrac_spl
+!
+
+      CALL histwrite_phy( o_fluxbb              , fluxbb               )
+      CALL histwrite_phy( o_fluxff              , fluxff               )
+      CALL histwrite_phy( o_fluxbcbb            , fluxbcbb             )
+      CALL histwrite_phy( o_fluxbcff            , fluxbcff             )
+      CALL histwrite_phy( o_fluxbcnff           , fluxbcnff            )
+      CALL histwrite_phy( o_fluxbcba            , fluxbcba             )
+      CALL histwrite_phy( o_fluxbc              , fluxbc               )
+      CALL histwrite_phy( o_fluxombb            , fluxombb             )
+      CALL histwrite_phy( o_fluxomff            , fluxomff             )
+      CALL histwrite_phy( o_fluxomnff           , fluxomnff            )
+      CALL histwrite_phy( o_fluxomba            , fluxomba             )
+      CALL histwrite_phy( o_fluxomnat           , fluxomnat            )
+      CALL histwrite_phy( o_fluxom              , fluxom               )
+      CALL histwrite_phy( o_fluxh2sff           , fluxh2sff            )
+      CALL histwrite_phy( o_fluxh2snff          , fluxh2snff           )
+      CALL histwrite_phy( o_fluxso2ff           , fluxso2ff            )
+      CALL histwrite_phy( o_fluxso2nff          , fluxso2nff           )
+      CALL histwrite_phy( o_fluxso2bb           , fluxso2bb            )
+      CALL histwrite_phy( o_fluxso2vol          , fluxso2vol           )
+      CALL histwrite_phy( o_fluxso2ba           , fluxso2ba            )
+      CALL histwrite_phy( o_fluxso2             , fluxso2              )
+      CALL histwrite_phy( o_fluxso4ff           , fluxso4ff            )
+      CALL histwrite_phy( o_fluxso4nff          , fluxso4nff           )
+      CALL histwrite_phy( o_fluxso4bb           , fluxso4bb            )
+      CALL histwrite_phy( o_fluxso4ba           , fluxso4ba            )
+      CALL histwrite_phy( o_fluxso4             , fluxso4              )
+      CALL histwrite_phy( o_fluxdms             , fluxdms              )
+      CALL histwrite_phy( o_fluxh2sbio          , fluxh2sbio           )
+      CALL histwrite_phy( o_fluxdustec          , fluxdustec           )
+     CALL histwrite_phy( o_fluxddfine          , fluxddfine           )
+     CALL histwrite_phy( o_fluxddcoa           , fluxddcoa            )
+     CALL histwrite_phy( o_fluxddsco           , fluxddsco            )
+     CALL histwrite_phy( o_fluxdd              , fluxdd               )
+      CALL histwrite_phy( o_fluxssfine          , fluxssfine           )
+      CALL histwrite_phy( o_fluxsscoa           , fluxsscoa            )
+      CALL histwrite_phy( o_fluxss              , fluxss               )
+      CALL histwrite_phy( o_flux_sparam_ind     , flux_sparam_ind      )
+      CALL histwrite_phy( o_flux_sparam_bb      , flux_sparam_bb       )
+      CALL histwrite_phy( o_flux_sparam_ff      , flux_sparam_ff       )
+      CALL histwrite_phy( o_flux_sparam_ddfine  , flux_sparam_ddfine   )
+      CALL histwrite_phy( o_flux_sparam_ddcoa   , flux_sparam_ddcoa    )
+      CALL histwrite_phy( o_flux_sparam_ddsco   , flux_sparam_ddsco    )
+      CALL histwrite_phy( o_flux_sparam_ssfine  , flux_sparam_ssfine   )
+      CALL histwrite_phy( o_flux_sparam_sscoa   , flux_sparam_sscoa    )
+      CALL histwrite_phy( o_u10m_ss             , u10m_ss              )
+      CALL histwrite_phy( o_v10m_ss             , v10m_ss              )
+
+
+!      CALL histwrite_phy(  ,)
+!
+
+
+
+
