Index: LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90	(revision 5423)
+++ LMDZ6/trunk/libf/phylmd/phys_local_var_mod.F90	(revision 5425)
@@ -512,6 +512,6 @@
       REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: pmflxr, pmflxs
 !$OMP THREADPRIVATE(pmflxr, pmflxs)
-      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: wdtrainA, wdtrainS, wdtrainM
-!$OMP THREADPRIVATE(wdtrainA, wdtrainS, wdtrainM)
+      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: wdtrainA, wdtrainS, wdtrainM, wdtrainAS
+!$OMP THREADPRIVATE(wdtrainA, wdtrainS, wdtrainM, wdtrainAS)
       REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: da, mp
 !$OMP THREADPRIVATE(da, mp)
@@ -1125,5 +1125,5 @@
 !  Deep convective variables used in phytrac
       ALLOCATE(pmflxr(klon, klev+1), pmflxs(klon, klev+1))
-      ALLOCATE(wdtrainA(klon,klev),wdtrainS(klon,klev),wdtrainM(klon,klev))
+      ALLOCATE(wdtrainA(klon,klev),wdtrainS(klon,klev),wdtrainM(klon,klev),wdtrainAS(klon,klev))
       ALLOCATE(dnwd(klon, klev), upwd(klon, klev))
       ALLOCATE(ep(klon,klev))                          ! epmax_cape
@@ -1540,5 +1540,5 @@
 
       DEALLOCATE(pmflxr, pmflxs)
-      DEALLOCATE(wdtrainA, wdtrainS, wdtrainM)
+      DEALLOCATE(wdtrainA, wdtrainS, wdtrainM, wdtrainAS)
       DEALLOCATE(upwd, dnwd)
       DEALLOCATE(ep)
Index: LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5423)
+++ LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 5425)
@@ -301,5 +301,5 @@
        !    Deep convective variables used in phytrac
        pmflxr, pmflxs,  &
-       wdtrainA, wdtrainS, wdtrainM,  &
+       wdtrainA, wdtrainS, wdtrainM, wdtrainAS,  &
        upwd, dnwd, &
        ep,  &
@@ -3084,4 +3084,5 @@
     wdtrainS(:,:) = 0.
     wdtrainM(:,:) = 0.
+    wdtrainAS(:,:) = 0.
     upwd(:,:) = 0.
     dnwd(:,:) = 0.
@@ -5318,4 +5319,9 @@
     ENDIF
 
+    ! Merge wdtrainA and wdtrainS in the total source of precipitation due to
+    ! adiabatic updraughts.
+    !
+    wdtrainAS(:,:) = wdtrainA(:,:) + wdtrainS(:,:)
+
 IF (CPPKEY_DUST) THEN
     !  Avec SPLA, iflag_phytrac est forcé =1
@@ -5329,5 +5335,5 @@
                       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
+                      ev,wdtrainAS,  wdtrainM,wght_cvfd,              &  ! I
                       fm_therm, entr_therm, rneb,                      &  ! I
                       beta_prec_fisrt,beta_prec, & !I
@@ -5354,5 +5360,5 @@
          da,       phi,       mp,       upwd, &
          phi2,     d1a,       dam,      sij, wght_cvfd, &        !<<RomP+RL
-         wdtrainA, wdtrainM,  sigd,     clw,elij, &   !<<RomP
+         wdtrainAS, wdtrainM,  sigd,     clw,elij, &   !<<RomP
          ev,       ep,        epmlmMm,  eplaMm, &     !<<RomP
          dnwd,     aerosol_couple,      flxmass_w, &
