Index: LMDZ6/trunk/DefLists/context_lmdz.xml
===================================================================
--- LMDZ6/trunk/DefLists/context_lmdz.xml	(revision 4607)
+++ LMDZ6/trunk/DefLists/context_lmdz.xml	(revision 4608)
@@ -27,4 +27,5 @@
   <file_definition src="./file_def_histstrataer_lmdz.xml"/>
   <file_definition src="./file_def_histdaystrataer_lmdz.xml"/>
+<!--  <file_definition src="./file_def_phystoke_lmdz.xml"/>-->
 
   <!-- Define domains and groups of domains -->
Index: LMDZ6/trunk/DefLists/field_def_lmdz.xml
===================================================================
--- LMDZ6/trunk/DefLists/field_def_lmdz.xml	(revision 4607)
+++ LMDZ6/trunk/DefLists/field_def_lmdz.xml	(revision 4608)
@@ -870,4 +870,27 @@
     </field_group>
 
+
+
+    <field_group id="fields_phystokenc_3D" domain_ref="dom_glo" axis_ref="klev"   >
+      <field id="t_stok"         long_name="Temperature" unit="K" />
+      <field id="coefh_stok"     long_name="coeff de melange dans la couche limite" unit="-" />
+      <field id="fm_th_stok"     long_name="Mass flux thermals" unit="kg m-2.s-1" />
+      <field id="en_th_stok"     long_name="Thermal plume entrainment" unit="kg m-1.s-1" />
+      <field id="da_stok"        long_name="adiabatic ascen" unit="kg m-2.s-1" />
+      <field id="mp_stok"        long_name="precipitating downdraft mass flux under hydrostatic approximation" unit="kg m-2.s-1" />
+      <field id="wght_stok"      long_name="weights of the layers feeding convection" unit="-" />
+      <field id="upwd_stok"      long_name="saturated updraft mass flux" unit="kg m-2.s-1" />
+      <field id="dnwd_stok"      long_name="saturated downdraft mass flux" unit="kg m-2.s-1" />
+    </field_group>
+    
+    <field_group id="philev_grp" long_name="mass flow environmental mixing" unit="kg m-2 s-1" domain_ref="dom_glo" axis_ref="klev" operation="average"/>
+
+    <field_group id="fields_phystokenc_2D" grid_ref="grid_glo" >
+      <field id="yu1_stok"       long_name="zonal surface wind" unit="m.s-1" />
+      <field id="yv1_stok"       long_name="wind meridian surface" unit="m.s-1" />
+    </field_group>
+
+
+    
     <field_group id="fields_trac_2D" grid_ref="grid_glo" >
           <field id="cumRN"    long_name="Cumulated tracer  RNVL1"    unit="-" />
Index: LMDZ6/trunk/DefLists/file_def_phystoke_lmdz.xml
===================================================================
--- LMDZ6/trunk/DefLists/file_def_phystoke_lmdz.xml	(revision 4608)
+++ LMDZ6/trunk/DefLists/file_def_phystoke_lmdz.xml	(revision 4608)
@@ -0,0 +1,79 @@
+<file_definition>
+  <file id="phystoke" name="phystoke" output_freq="3h" enabled=".TRUE." >
+
+    <field_group operation="average" freq_op="900s" domain_ref="dom_out" axis_ref="klev">
+      
+      <field field_ref="coefh_stok"      /> 
+      <field field_ref="fm_th_stok"      /> 
+      <field field_ref="en_th_stok"      /> 
+      <field field_ref="da_stok"         /> 
+      <field field_ref="mp_stok"         /> 
+      <field field_ref="upwd_stok"       /> 
+      <field field_ref="dnwd_stok"       /> 
+      <field field_ref="wght_stok"       />
+      <field field_ref="t_stok"       /> 
+
+
+      <field field_ref="phi_lev1"   /> 
+      <field field_ref="phi_lev2"   /> 
+      <field field_ref="phi_lev3"   /> 
+      <field field_ref="phi_lev4"   /> 
+      <field field_ref="phi_lev5"   /> 
+      <field field_ref="phi_lev6"   /> 
+      <field field_ref="phi_lev7"   /> 
+      <field field_ref="phi_lev8"   /> 
+      <field field_ref="phi_lev9"   /> 
+      <field field_ref="phi_lev10"  /> 
+      <field field_ref="phi_lev11"  /> 
+      <field field_ref="phi_lev12"  /> 
+      <field field_ref="phi_lev13"  /> 
+      <field field_ref="phi_lev14"  /> 
+      <field field_ref="phi_lev15"  /> 
+      <field field_ref="phi_lev16"  /> 
+      <field field_ref="phi_lev17"  /> 
+      <field field_ref="phi_lev18"  /> 
+      <field field_ref="phi_lev19"  /> 
+      <field field_ref="phi_lev20"  /> 
+      <field field_ref="phi_lev21"  /> 
+      <field field_ref="phi_lev22"  /> 
+      <field field_ref="phi_lev23"  /> 
+      <field field_ref="phi_lev24"  /> 
+      <field field_ref="phi_lev25"  /> 
+      <field field_ref="phi_lev26"  /> 
+      <field field_ref="phi_lev27"  /> 
+      <field field_ref="phi_lev28"  /> 
+      <field field_ref="phi_lev29"  /> 
+      <field field_ref="phi_lev30"  /> 
+      <field field_ref="phi_lev31"  /> 
+      <field field_ref="phi_lev32"  /> 
+      <field field_ref="phi_lev33"  /> 
+      <field field_ref="phi_lev34"  /> 
+      <field field_ref="phi_lev35"  /> 
+      <field field_ref="phi_lev36"  /> 
+      <field field_ref="phi_lev37"  /> 
+      <field field_ref="phi_lev38"  /> 
+      <field field_ref="phi_lev39"  /> 
+      <field field_ref="phi_lev40"  /> 
+      <field field_ref="phi_lev41"  /> 
+      <field field_ref="phi_lev42"  /> 
+      <field field_ref="phi_lev43"  /> 
+      <field field_ref="phi_lev44"  /> 
+      <field field_ref="phi_lev45"  /> 
+      <field field_ref="phi_lev46"  /> 
+      <field field_ref="phi_lev47"  /> 
+      <field field_ref="phi_lev48"  /> 
+      <field field_ref="phi_lev49"  /> 
+
+    </field_group>
+
+    <field_group operation="average"  grid_ref="grid_out" >
+      <field field_ref="yu1_stok"   />
+      <field field_ref="yv1_stok"   />
+      <field field_ref="aire" /> 
+      <field field_ref="phis" /> 
+    </field_group>
+
+  </file>
+
+
+</file_definition>
Index: LMDZ6/trunk/libf/dyn3dmem/conf_gcm.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3dmem/conf_gcm.F90	(revision 4607)
+++ LMDZ6/trunk/libf/dyn3dmem/conf_gcm.F90	(revision 4608)
@@ -25,5 +25,5 @@
   USE serre_mod, ONLY: clon,clat,grossismx,grossismy,dzoomx,dzoomy, &
                        alphax,alphay,taux,tauy
-  USE temps_mod, ONLY: calend, year_len
+  USE temps_mod, ONLY: calend, year_len, offline_time
 
   IMPLICIT NONE
@@ -628,10 +628,18 @@
 
      !Config  Key  = offline
-     !Config  Desc = Nouvelle eau liquide
+     !Config  Desc = ecriture des flux de masse
      !Config  Def  = n
-     !Config  Help = Permet de mettre en route la
-     !Config         nouvelle parametrisation de l'eau liquide !
+     !Config  Help = Permet de sortir les flux de masse sur la grille plev 
      offline = .FALSE.
      CALL getin('offline',offline)
+
+     !Config Key  = offline_time
+     !Config Desc =  Choix des frequences de stockage pour le offline
+     !Config Def  = 8
+     !Config Help = offline_time=12     ! stockage toutes les 2h=1jour/12
+     !Config Help = offline_time=8      ! stockage toutes les 3h=1jour/8
+     offline_time = 8
+     CALL getin('offline_time',offline_time)
+
      IF (offline .AND. adjust) THEN
         WRITE(lunout,*)  &
@@ -722,4 +730,5 @@
      write(lunout,*)' tauyy = ', tauyy
      write(lunout,*)' offline = ', offline
+     write(lunout,*)' offline_time = ', offline_time
      write(lunout,*)' type_trac = ', type_trac
      write(lunout,*)' ok_dynzon = ', ok_dynzon 
Index: LMDZ6/trunk/libf/dyn3dmem/temps_mod.F90
===================================================================
--- LMDZ6/trunk/libf/dyn3dmem/temps_mod.F90	(revision 4607)
+++ LMDZ6/trunk/libf/dyn3dmem/temps_mod.F90	(revision 4608)
@@ -19,4 +19,5 @@
   REAL      start_time
   CHARACTER (len=10) :: calend ! calendar type
+  INTEGER   offline_time ! offline frequency storage
 
   ! Additionnal Mars stuff:
Index: LMDZ6/trunk/libf/misc/wxios.F90
===================================================================
--- LMDZ6/trunk/libf/misc/wxios.F90	(revision 4607)
+++ LMDZ6/trunk/libf/misc/wxios.F90	(revision 4608)
@@ -183,8 +183,8 @@
       IMPLICIT NONE
 
-      TYPE(xios_fieldgroup) :: group_handle
+      TYPE(xios_fieldgroup) :: group_handle, philev_hdl
       TYPE(xios_field) :: child
       INTEGER :: k, iq
-      CHARACTER(len=12) :: nvar    
+      CHARACTER(len=12) :: nvar, name_phi    
       CHARACTER(LEN=maxlen) :: varname, dn
       CHARACTER(LEN=maxlen) :: unt
@@ -261,4 +261,21 @@
          CALL xios_add_child(group_handle, child, varname)
          CALL xios_set_attr(child, name=varname, unit=unt)
+      ENDDO
+      
+
+      ! group create for offline mass flow variables
+      CALL xios_get_handle("philev_grp", philev_hdl)
+
+      DO k=1,79
+         IF (k<10) THEN
+            WRITE(nvar,'(i1)') k
+         ELSE IF (k<100) THEN
+            WRITE(nvar,'(i2)') k
+         ELSE
+            WRITE(nvar,'(i3)') k
+         END IF
+         name_phi= "phi_lev"//TRIM(nvar)
+         CALL xios_add_child(philev_hdl, child, "phi_lev"//TRIM(nvar)) 
+         CALL xios_set_attr(child, name=trim(name_phi))
       ENDDO
 
Index: LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 4607)
+++ LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 4608)
@@ -19,5 +19,5 @@
        ok_ade, ok_aie, ok_volcan, ivap, iliq, isol, ibs, ok_sync, &
        ptconv, read_climoz, clevSTD, ptconvth, &
-       d_u, d_t, qx, d_qx, zmasse, flag_aerosol, flag_aerosol_strat, ok_cdnc)
+       d_u, d_t, qx, d_qx, zmasse, flag_aerosol, flag_aerosol_strat, ok_cdnc, t, u1, v1)
 
     ! This subroutine does the actual writing of diagnostics that were
@@ -31,4 +31,5 @@
     USE time_phylmdz_mod, ONLY: day_step_phy, start_time, itau_phy
     USE vertical_layers_mod, ONLY : ap, bp, aps, bps
+    USE phystokenc_mod, ONLY: offline
     USE phys_output_ctrlout_mod, ONLY: o_phis, o_aire, is_ter, is_lic, is_oce, &
          o_longitude, o_latitude, &
@@ -360,6 +361,8 @@
          ep, epmax_diag, &  ! epmax_cape
          p_tropopause, t_tropopause, z_tropopause, &
-         zxfluxt,zxfluxq
-!FC
+         zxfluxt,zxfluxq, &
+! offline 
+         da, mp, phi, wght_cvfd
+
 
 #ifdef CPP_StratAer 
@@ -458,4 +461,7 @@
     INTEGER :: flag_aerosol 
     LOGICAL :: ok_cdnc
+    REAL, DIMENSION(klon,klev) :: t   ! output for phystoken - offline flux 
+    REAL, DIMENSION(klon) :: u1, v1   ! output for phystoken - offline flux
+    
     REAL, DIMENSION(3) :: freq_moyNMC
 
@@ -482,8 +488,11 @@
 #endif
     REAL, PARAMETER :: un_jour=86400.
+    CHARACTER(len=12) :: nvar    
     INTEGER :: ISW, itr, ixt, it
     CHARACTER*1 ch1
     CHARACTER(LEN=maxlen) :: varname, dn
-
+    REAL, DIMENSION(klon,klev) :: coefh_stok 
+    
+    
 #ifdef CPP_StratAer 
     LOGICAL, PARAMETER :: debug_strataer=.FALSE.
@@ -874,4 +883,41 @@
        CALL histwrite_phy(o_topl0, toplw0)
 
+! offline 
+#ifdef CPP_XIOS
+       IF (offline) THEN
+
+          coefh_stok(:,1)      = cdragh(:)
+          coefh_stok(:,2:klev) = coefh(:,2:klev, is_ave)
+          
+          CALL histwrite_phy('upwd_stok', upwd)
+          CALL histwrite_phy('t_stok', t)
+          CALL histwrite_phy('fm_th_stok', fm_therm(:,1:klev))
+          CALL histwrite_phy('en_th_stok', entr_therm)
+          CALL histwrite_phy('da_stok',da )
+          CALL histwrite_phy('mp_stok',mp )
+          CALL histwrite_phy('dnwd_stok', dnwd)
+          CALL histwrite_phy('wght_stok', wght_cvfd)
+          CALL histwrite_phy('coefh_stok', coefh_stok)
+          CALL histwrite_phy('yu1_stok', u1) 
+          CALL histwrite_phy('yv1_stok', v1)
+
+          DO k=1,klev
+             IF (k<10) THEN
+                WRITE(nvar,'(i1)') k
+             ELSE IF (k<100) THEN
+                WRITE(nvar,'(i2)') k
+             ELSE
+                WRITE(nvar,'(i3)') k
+             END IF
+             nvar='phi_lev'//trim(nvar)
+             CALL histwrite_phy(nvar,phi(:,:,k))
+          END DO
+          
+       ENDIF
+#endif
+
+
+
+       
        IF (vars_defined) THEN
           zx_tmp_fi2d(:) = swup(:,klevp1)*swradcorr(:)
Index: LMDZ6/trunk/libf/phylmd/physiq_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 4607)
+++ LMDZ6/trunk/libf/phylmd/physiq_mod.F90	(revision 4608)
@@ -1834,5 +1834,5 @@
                               ptconv, read_climoz, clevSTD,                   &
                               ptconvth, d_u, d_t, qx, d_qx, zmasse,           &
-                              flag_aerosol, flag_aerosol_strat, ok_cdnc)
+                              flag_aerosol, flag_aerosol_strat, ok_cdnc, t, u1, v1)
 #endif
 
@@ -5213,4 +5213,6 @@
     !ENDIF    ! (iflag_phytrac=1)
 
+
+#ifndef INCA 
     IF (offline) THEN
 
@@ -5228,5 +5230,5 @@
 
     ENDIF
-
+#endif
     !
     ! Calculer le transport de l'eau et de l'energie (diagnostique)
@@ -5547,5 +5549,5 @@
          ok_sync, ptconv, read_climoz, clevSTD,          &
          ptconvth, d_u, d_t, qx, d_qx, zmasse,           &
-         flag_aerosol, flag_aerosol_strat, ok_cdnc)
+         flag_aerosol, flag_aerosol_strat, ok_cdnc, t, u1, v1 )
 #endif
 
