Index: LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5637)
+++ LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5638)
@@ -5388,19 +5388,20 @@
 
 IF (CPPKEY_DUST) THEN
-    !  Avec SPLA, iflag_phytrac est forcé =1
-    CALL       phytracr_spl ( debut,lafin , jD_cur,jH_cur,iflag_con,       &  ! I
-                      pdtphys,ftsol,                                   &  ! I
-                      t,q_seri,paprs,pplay,RHcl,                  &  ! I
-                      pmfu, pmfd, pen_u, pde_u, pen_d, pde_d,          &  ! I
-                      coefh(1:klon,1:klev,is_ave), cdragh, cdragm, u1, v1,                 &  ! I
-                      u_seri, v_seri, latitude_deg, longitude_deg,  &
-                      pphis,pctsrf,pmflxr,pmflxs,prfl,psfl,            &  ! I
-                      da,phi,phi2,d1a,dam,mp,ep,sigd,sij,clw,elij,     &  ! I
-                      epmlmMm,eplaMm,upwd,dnwd,itop_con,ibas_con,      &  ! I
-                      ev,wdtrainAS,  wdtrainM,wght_cvfd,              &  ! I
-                      fm_therm, entr_therm, rneb,                      &  ! I
-                      beta_prec_fisrt,beta_prec, & !I
-                      zu10m,zv10m,wstar,ale_bl,ale_wake,               &  ! I
-                      nsurfwind,surf_wind_value, surf_wind_proba,      & ! I
+    ! Avec SPLA, iflag_phytrac est forcé =1
+
+    CALL       phytracr_spl ( debut,lafin , jD_cur,jH_cur,iflag_con,       &
+                      pdtphys,ftsol,                                       &
+                      t,q_seri,paprs,pplay,RHcl,                           &
+                      pmfu, pmfd, pen_u, pde_u, pen_d, pde_d,              &
+                      coefh(1:klon,1:klev,is_ave), cdragh, cdragm, u1, v1, &  
+                      u_seri, v_seri, latitude_deg, longitude_deg,         &
+                      pphis,pctsrf,pmflxr,pmflxs,prfl,psfl,                &
+                      da,phi,phi2,d1a,dam,mp,ep,sigd,sij,clw,elij,         &
+                      epmlmMm,eplaMm,upwd,dnwd,itop_con,ibas_con,          &
+                      ev,wdtrainA,  wdtrainM,wght_cvfd,                    &
+                      fm_therm, entr_therm, rneb,                          &
+                      beta_prec_fisrt,beta_prec,                           &
+                      zu10m,zv10m,wstar,ale_bl,ale_wake,                   &
+                      nsurfwind,surf_wind_value, surf_wind_proba,          &
                       d_tr_dyn,tr_seri)
 
Index: LMDZ6/trunk/libf/phylmdiso/lmdz_surf_wind.f90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/lmdz_surf_wind.f90	(revision 5638)
+++ LMDZ6/trunk/libf/phylmdiso/lmdz_surf_wind.f90	(revision 5638)
@@ -0,0 +1,1 @@
+link ../phylmd/lmdz_surf_wind.f90
Index: LMDZ6/trunk/libf/phylmdiso/lmdz_surf_wind_ini.f90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/lmdz_surf_wind_ini.f90	(revision 5638)
+++ LMDZ6/trunk/libf/phylmdiso/lmdz_surf_wind_ini.f90	(revision 5638)
@@ -0,0 +1,1 @@
+link ../phylmd/lmdz_surf_wind_ini.f90
Index: LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90	(revision 5637)
+++ LMDZ6/trunk/libf/phylmdiso/physiq_mod.F90	(revision 5638)
@@ -80,4 +80,6 @@
     USE lmdz_call_blowing_snow, ONLY : call_blowing_snow_sublim_sedim
     USE lmdz_wake_ini, ONLY : wake_ini
+    USE lmdz_surf_wind_ini, ONLY : surf_wind_ini
+    USE lmdz_surf_wind, ONLY : surf_wind
     USE yamada_ini_mod, ONLY : yamada_ini
     USE lmdz_atke_turbulence_ini, ONLY : atke_ini
@@ -1372,4 +1374,10 @@
     CHARACTER(len=512) :: namelist_ecrad_file
 
+    ! Subgrid scale wind :
+    ! Need to be allocatable/save because the number of bin is not known (provided by surf_wind_ini)
+    integer, save :: nsurfwind=1 
+    real, dimension(:,:), allocatable, save :: surf_wind_value, surf_wind_proba ! module and probability of sugrdi wind wind sample
+    !$OMP THREADPRIVATE(nsurfwind,surf_wind_value, surf_wind_proba)
+
     !======================================================================!
     ! Bifurcation vers un nouveau moniteur physique pour experimenter      !
@@ -1974,4 +1982,10 @@
 
        CALL iniradia(klon,klev,paprs(1,1:klev+1))
+
+
+!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+       CALL surf_wind_ini(klon,lunout)
+       CALL getin_p('nsurfwind',nsurfwind)
+       allocate(surf_wind_value(klon,nsurfwind),surf_wind_proba(klon,nsurfwind))
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@@ -4949,4 +4963,14 @@
 
     ENDIF
+
+    !
+    !===================================================================
+    ! Computation of subrgid scale near-surface wind distribution
+    ! Developed for dust lifting. Could be extended to coupling with ocean and others
+    ! by default : 1 bin equal to the mean wind
+       
+     call surf_wind(klon,nsurfwind,zu10m,zv10m,wake_s,wake_Cstar,zustar,ale_bl,surf_wind_value,surf_wind_proba)
+    
+
     !
     !===================================================================
@@ -6909,17 +6933,18 @@
 IF (CPPKEY_DUST) THEN
     !  Avec SPLA, iflag_phytrac est forcé =1 
-    CALL       phytracr_spl ( debut,lafin , jD_cur,jH_cur,iflag_con,       &  ! I
-                      pdtphys,ftsol,                                   &  ! I
-                      t,q_seri,paprs,pplay,RHcl,                  &  ! I
-                      pmfu, pmfd, pen_u, pde_u, pen_d, pde_d,          &  ! I
-                      coefh(1:klon,1:klev,is_ave), cdragh, cdragm, u1, v1,                 &  ! I
-                      u_seri, v_seri, latitude_deg, longitude_deg,  &
-                      pphis,pctsrf,pmflxr,pmflxs,prfl,psfl,            &  ! I
-                      da,phi,phi2,d1a,dam,mp,ep,sigd,sij,clw,elij,     &  ! I
-                      epmlmMm,eplaMm,upwd,dnwd,itop_con,ibas_con,      &  ! I
-                      ev,wdtrainA,  wdtrainM,wght_cvfd,              &  ! I
-                      fm_therm, entr_therm, rneb,                      &  ! I
-                      beta_prec_fisrt,beta_prec, & !I
-                      zu10m,zv10m,wstar,ale_bl,ale_wake,               &  ! I
+    CALL       phytracr_spl ( debut,lafin , jD_cur,jH_cur,iflag_con,       &
+                      pdtphys,ftsol,                                       &
+                      t,q_seri,paprs,pplay,RHcl,                           &
+                      pmfu, pmfd, pen_u, pde_u, pen_d, pde_d,              &
+                      coefh(1:klon,1:klev,is_ave), cdragh, cdragm, u1, v1, &
+                      u_seri, v_seri, latitude_deg, longitude_deg,         &
+                      pphis,pctsrf,pmflxr,pmflxs,prfl,psfl,                &
+                      da,phi,phi2,d1a,dam,mp,ep,sigd,sij,clw,elij,         &
+                      epmlmMm,eplaMm,upwd,dnwd,itop_con,ibas_con,          &
+                      ev,wdtrainA,  wdtrainM,wght_cvfd,                    &
+                      fm_therm, entr_therm, rneb,                          &
+                      beta_prec_fisrt,beta_prec,                           &
+                      zu10m,zv10m,wstar,ale_bl,ale_wake,                   &
+                      nsurfwind,surf_wind_value, surf_wind_proba,          &
                       d_tr_dyn,tr_seri)
 
