Index: LMDZ5/trunk/libf/phylmd/hbtm.F
===================================================================
--- LMDZ5/trunk/libf/phylmd/hbtm.F	(revision 1815)
+++ LMDZ5/trunk/libf/phylmd/hbtm.F	(revision 1816)
@@ -4,5 +4,5 @@
 
       SUBROUTINE HBTM(knon, paprs, pplay,
-     .                t2m,t10m,q2m,q10m,ustar,
+     .                t2m,t10m,q2m,q10m,ustar,wstar,
      .                flux_t,flux_q,u,v,t,q,
      .                pblh,cape,EauLiq,ctei,pblT,
@@ -54,4 +54,5 @@
       REAL q2m(klon), q10m(klon) ! q a 2 et 10m
       REAL ustar(klon)
+      REAL wstar(klon)       ! w*, convective velocity scale
       REAL paprs(klon,klev+1) ! pression a inter-couche (Pa)
       REAL pplay(klon,klev)   ! pression au milieu de couche (Pa)
@@ -158,5 +159,5 @@
       REAL fak1(klon)       ! k*ustar*pblh
       REAL fak2(klon)       ! k*wm*pblh
-      REAL fak3(klon)       ! fakn*wstr/wm
+      REAL fak3(klon)       ! fakn*wstar/wm
       REAL pblk(klon)       ! level eddy diffusivity for momentum
       REAL pr(klon)         ! Prandtl number for eddy diffusivities
@@ -164,5 +165,4 @@
       REAL zh(klon)         ! zmzp / pblh
       REAL zzh(klon)        ! (1-(zmzp/pblh))**2
-      REAL wstr(klon)       ! w*, convective velocity scale
       REAL zm(klon)         ! current level height
       REAL zp(klon)         ! current level height + one level up
@@ -625,6 +625,6 @@
           wm(i)      = ustar(i)*phiminv(i)
           fak2(i)    = wm(i)*pblh(i)*vk
-          wstr(i)    = (heatv(i)*RG*pblh(i)/zxt)**onet
-          fak3(i)    = fakn*wstr(i)/wm(i)
+          wstar(i)    = (heatv(i)*RG*pblh(i)/zxt)**onet
+          fak3(i)    = fakn*wstar(i)/wm(i)
         ENDIF
 c Computes Theta_e for thermal (all cases : to be modified)
Index: LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90
===================================================================
--- LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90	(revision 1815)
+++ LMDZ5/trunk/libf/phylmd/pbl_surface_mod.F90	(revision 1816)
@@ -174,5 +174,5 @@
        t,         q,         u,        v,             &
        pplay,     paprs,     pctsrf,                  &
-       ts,        alb1,      alb2,ustar, u10m, v10m,  &
+       ts,        alb1, alb2,ustar, u10m, v10m,wstar, &
        lwdown_m,  cdragh,    cdragm,   zu1,    zv1,   &
        alb1_m,    alb2_m,    zxsens,   zxevap,        &
@@ -294,4 +294,5 @@
     REAL, DIMENSION(klon, nbsrf), INTENT(INOUT)     :: alb2    ! albedo in near infra-red SW interval
     REAL, DIMENSION(klon, nbsrf), INTENT(INOUT)     :: ustar   ! u* (m/s)
+    REAL, DIMENSION(klon, nbsrf+1), INTENT(INOUT)   :: wstar   ! w* (m/s)
     REAL, DIMENSION(klon, nbsrf), INTENT(INOUT)     :: u10m    ! u speed at 10m
     REAL, DIMENSION(klon, nbsrf), INTENT(INOUT)     :: v10m    ! v speed at 10m
@@ -406,4 +407,5 @@
     REAL, DIMENSION(klon)              :: yt2m, yq2m, yu10m
     REAL, DIMENSION(klon)              :: yustar
+    REAL, DIMENSION(klon)              :: ywstar
     REAL, DIMENSION(klon)              :: ywindsp
     REAL, DIMENSION(klon)              :: yt10m, yq10m
@@ -1065,4 +1067,5 @@
        q2m(:,nsrf)    = 0.
        ustar(:,nsrf)   = 0.
+       wstar(:,nsrf)   = 0.
        u10m(:,nsrf)   = 0.
        v10m(:,nsrf)   = 0.
@@ -1145,6 +1148,6 @@
 
 !   print*,'OK pbl 5'
-       CALL HBTM(knon, ypaprs, ypplay, &
-            yt2m,yt10m,yq2m,yq10m,yustar, &
+       CALL hbtm(knon, ypaprs, ypplay, &
+            yt2m,yt10m,yq2m,yq10m,yustar,ywstar, &
             y_flux_t,y_flux_q,yu,yv,yt,yq, &
             ypblh,ycapCL,yoliqCL,ycteiCL,ypblT, &
@@ -1154,4 +1157,5 @@
           i = ni(j)
           pblh(i,nsrf)   = ypblh(j)
+          wstar(i,nsrf)  = ywstar(j)
           plcl(i,nsrf)   = ylcl(j)
           capCL(i,nsrf)  = ycapCL(j)
@@ -1215,4 +1219,5 @@
     s_therm(:) = 0.0 ; s_trmb1(:) = 0.0
     s_trmb2(:) = 0.0 ; s_trmb3(:) = 0.0
+    wstar(:,is_ave)=0.
     
 !   print*,'OK pbl 9'
@@ -1233,4 +1238,5 @@
           zq2m(i)  = zq2m(i)  + q2m(i,nsrf)  * pctsrf(i,nsrf)
           zustar(i) = zustar(i) + ustar(i,nsrf) * pctsrf(i,nsrf)
+          wstar(i,is_ave)=wstar(i,is_ave)+wstar(i,nsrf)*pctsrf(i,nsrf)
           zu10m(i) = zu10m(i) + u10m(i,nsrf) * pctsrf(i,nsrf)
           zv10m(i) = zv10m(i) + v10m(i,nsrf) * pctsrf(i,nsrf)
Index: LMDZ5/trunk/libf/phylmd/phys_output_ctrlout_mod.F90
===================================================================
--- LMDZ5/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 1815)
+++ LMDZ5/trunk/libf/phylmd/phys_output_ctrlout_mod.F90	(revision 1816)
@@ -93,4 +93,16 @@
       ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'ustar_sic', &
       "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 6) /)) /)
+
+  TYPE(ctrl_out), SAVE, DIMENSION(5) :: o_wstar         = (/ &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'wstar_ter', &
+      "Friction velocity "//clnsurf(1),"m/s", (/ ('', i=1, 6) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'wstar_lic', &
+      "Friction velocity "//clnsurf(2),"m/s", (/ ('', i=1, 6) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'wstar_oce', &
+      "Friction velocity "//clnsurf(3),"m/s", (/ ('', i=1, 6) /)), &
+      ctrl_out((/ 10, 6, 10, 10, 10, 10 /),'wstar_sic', &
+      "Friction velocity "//clnsurf(4),"m/s", (/ ('', i=1, 6) /)), &
+      ctrl_out((/ 5, 5, 10, 10, 10, 10 /),'wstar', &
+      "w* convective velocity "//clnsurf(4),"m/s", (/ ('', i=1, 6) /)) /)
 
   TYPE(ctrl_out), SAVE, DIMENSION(4) :: o_u10m_srf     = (/ &
Index: LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 1815)
+++ LMDZ5/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 1816)
@@ -319,4 +319,8 @@
 
       ENDDO
+      DO nsrf=1,nbsrf+1
+         CALL histwrite_phy(o_wstar(nsrf), wstar(1 : klon, nsrf))
+      ENDDO
+
       CALL histwrite_phy(o_cdrm, cdragm)
       CALL histwrite_phy(o_cdrh, cdragh)
Index: LMDZ5/trunk/libf/phylmd/physiq.F
===================================================================
--- LMDZ5/trunk/libf/phylmd/physiq.F	(revision 1815)
+++ LMDZ5/trunk/libf/phylmd/physiq.F	(revision 1816)
@@ -1999,5 +1999,5 @@
      e     t_seri,    q_seri,    u_seri,  v_seri,   
      e     pplay,     paprs,     pctsrf,            
-     +     ftsol,     falb1,     falb2,   ustar, u10m,   v10m,
+     +     ftsol,falb1,falb2,ustar,u10m,v10m,wstar,
      s     sollwdown, cdragh,    cdragm,  u1,    v1,
      s     albsol1,   albsol2,   sens,    evap,  
@@ -3640,5 +3640,4 @@
        END IF
 
-      wstar=0. ! FH 2013/07/22 a corriger des que dans pbl_surface_mod
       call phytrac (
      I     itap,     days_elapsed+1,    jH_cur,   debut,
