diff --git a/src/ARCH_SRC/CPL_WAVE/MNH/ground_paramn.f90 b/src/ARCH_SRC/CPL_WAVE/MNH/ground_paramn.f90
index d7bc15b7f2397fdddb78827242193ffdd2e8f4da..489a2fade8efbe3736878d15dc5161d14e112f37 100644
--- a/src/ARCH_SRC/CPL_WAVE/MNH/ground_paramn.f90
+++ b/src/ARCH_SRC/CPL_WAVE/MNH/ground_paramn.f90
@@ -522,17 +522,19 @@ CALL TEMPORAL_DIST(TDTCUR%TDATE%YEAR,TDTCUR%TDATE%MONTH,               &
                        ZTIMEC)
 !
 #ifdef CPLOASIS
-IF ( MOD(ZTIMEC,1.0) .LE. 1E-2 .OR. (1.0 - MOD(ZTIMEC,1.0)) .LE. 1E-2 ) THEN
-  IF ( NINT(ZTIMEC-(XSEGLEN-XTSTEP)) .LT. 0 ) THEN
-    WRITE(NLUOUT,*) '----------------------------'
-    WRITE(NLUOUT,*) ' Reception des champs avec OASIS'
-    WRITE(NLUOUT,*) 'NINT(ZTIMEC)=', NINT(ZTIMEC)
-    CALL MNH_OASIS_RECV(CPROGRAM,IDIM1D,SIZE(XSW_BANDS),ZTIMEC+XTSTEP,XTSTEP,         &
+IF (LOASIS) THEN
+  IF ( MOD(ZTIMEC,1.0) .LE. 1E-2 .OR. (1.0 - MOD(ZTIMEC,1.0)) .LE. 1E-2 ) THEN
+    IF ( NINT(ZTIMEC-(XSEGLEN-XTSTEP)) .LT. 0 ) THEN
+      WRITE(NLUOUT,*) '----------------------------'
+      WRITE(NLUOUT,*) ' Reception des champs avec OASIS'
+      WRITE(NLUOUT,*) 'NINT(ZTIMEC)=', NINT(ZTIMEC)
+      CALL MNH_OASIS_RECV(CPROGRAM,IDIM1D,SIZE(XSW_BANDS),ZTIMEC+XTSTEP,XTSTEP,         &
                         ZP_ZENITH,XSW_BANDS                                         ,         &
                         ZP_TSRAD,ZP_DIR_ALB,ZP_SCA_ALB,ZP_EMIS,ZP_TSURF)
-    WRITE(NLUOUT,*) '----------------------------'
+      WRITE(NLUOUT,*) '----------------------------'
+    END IF
   END IF
-ENDIF
+END IF
 #endif
 !
 ! Call to surface schemes
@@ -550,13 +552,15 @@ CALL COUPLING_SURF_ATM_n(YSURF_CUR,'MESONH', 'E',ZTIMEC,
                'OK'                                                                           )
 !
 #ifdef CPLOASIS
-IF ( MOD(ZTIMEC,1.0) .LE. 1E-2 .OR. (1.0 - MOD(ZTIMEC,1.0)) .LE. 1E-2 ) THEN
-  IF (NINT(ZTIMEC-(XSEGLEN-XTSTEP)) .LT. 0) THEN
-    WRITE(NLUOUT,*) '----------------------------'
-    WRITE(NLUOUT,*) ' Envoi des champs avec OASIS'
-    WRITE(NLUOUT,*) 'NINT(ZTIMEC)=', NINT(ZTIMEC)
-    CALL MNH_OASIS_SEND(CPROGRAM,IDIM1D,ZTIMEC+XTSTEP,XTSTEP)
-    WRITE(NLUOUT,*) '----------------------------'
+IF (LOASIS) THEN
+  IF ( MOD(ZTIMEC,1.0) .LE. 1E-2 .OR. (1.0 - MOD(ZTIMEC,1.0)) .LE. 1E-2 ) THEN
+    IF (NINT(ZTIMEC-(XSEGLEN-XTSTEP)) .LT. 0) THEN
+      WRITE(NLUOUT,*) '----------------------------'
+      WRITE(NLUOUT,*) ' Envoi des champs avec OASIS'
+      WRITE(NLUOUT,*) 'NINT(ZTIMEC)=', NINT(ZTIMEC)
+      CALL MNH_OASIS_SEND(CPROGRAM,IDIM1D,ZTIMEC+XTSTEP,XTSTEP)
+      WRITE(NLUOUT,*) '----------------------------'
+    END IF
   END IF
 END IF
 #endif
diff --git a/src/ARCH_SRC/CPL_WAVE/MNH/ini_modeln.f90 b/src/ARCH_SRC/CPL_WAVE/MNH/ini_modeln.f90
index f7b37b513ffacee22c903c20212bfb105f5c048f..2a6867392b6aed1e66aef2e0f42d31fff66f68b1 100644
--- a/src/ARCH_SRC/CPL_WAVE/MNH/ini_modeln.f90
+++ b/src/ARCH_SRC/CPL_WAVE/MNH/ini_modeln.f90
@@ -268,6 +268,8 @@ END MODULE MODI_INI_MODEL_n
 !!      Modification    01/2016  (JP Pinty) Add LIMA
 !!                   Aug.  2016 (J.Pianezze) Add SFX_OASIS_READ_NAM function from SurfEx
 !!                   M.Leriche 2016 Chemistry
+!!                   10/2016 M.Mazoyer New KHKO output fields
+!!                      10/2016 (C.Lac) Add max values
 !---------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -672,7 +674,10 @@ IF (LMEAN_FIELD) THEN
   ALLOCATE(XWM_MEAN(IIU,IJU,IKU))      ; XWM_MEAN  = 0.0
   ALLOCATE(XTHM_MEAN(IIU,IJU,IKU))     ; XTHM_MEAN = 0.0
   ALLOCATE(XTEMPM_MEAN(IIU,IJU,IKU))   ; XTEMPM_MEAN = 0.0
-  ALLOCATE(XTKEM_MEAN(IIU,IJU,IKU))    ; XTKEM_MEAN = 0.0
+  IF (CTURB/='NONE') THEN
+     ALLOCATE(XTKEM_MEAN(IIU,IJU,IKU))    
+     XTKEM_MEAN = 0.0
+  END IF
   ALLOCATE(XPABSM_MEAN(IIU,IJU,IKU))   ; XPABSM_MEAN = 0.0
 !
   ALLOCATE(XU2_MEAN(IIU,IJU,IKU))      ; XU2_MEAN  = 0.0
@@ -684,7 +689,7 @@ IF (LMEAN_FIELD) THEN
 !
 END IF
 !
-IF (CUVW_ADV_SCHEME(1:3)=='CEN') THEN
+IF ((CUVW_ADV_SCHEME(1:3)=='CEN') .AND. (CTEMP_SCHEME == 'LEFR') ) THEN
   ALLOCATE(XUM(IIU,IJU,IKU))
   ALLOCATE(XVM(IIU,IJU,IKU))
   ALLOCATE(XWM(IIU,IJU,IKU))
@@ -1442,6 +1447,13 @@ ELSE
   ALLOCATE(XCIT(0,0,0))
 END IF
 !
+IF ( CCLOUD == 'KHKO') THEN
+   ALLOCATE(XSUPSAT(IIU,IJU,IKU))
+   ALLOCATE(XNACT(IIU,IJU,IKU))
+   ALLOCATE(XNPRO(IIU,IJU,IKU))
+   ALLOCATE(XSSPRO(IIU,IJU,IKU))
+END IF
+!
 !*      3.12   Module MODD_TURB_CLOUD
 !
 IF (.NOT.(ALLOCATED(XCEI))) ALLOCATE(XCEI(0,0,0))
@@ -1477,7 +1489,7 @@ IF ( CBUTYPE /= "NONE" .AND. NBUMOD == KMI ) THEN
              LNUMDIFU,LNUMDIFTH,LNUMDIFSV,                                    &
              LHORELAX_UVWTH,LHORELAX_RV, LHORELAX_RC,LHORELAX_RR,             &
              LHORELAX_RI,LHORELAX_RS,LHORELAX_RG, LHORELAX_RH,LHORELAX_TKE,   &
-             LHORELAX_SV,LVE_RELAX,LCHTRANS,LNUDGING,LDRAGTREE,               &
+             LHORELAX_SV,LVE_RELAX,LCHTRANS,LNUDGING,LDRAGTREE,LDEPOTREE,     &
              CRAD,CDCONV,CSCONV,CTURB,CTURBDIM,CCLOUD                         )
 END IF
 !
@@ -1556,7 +1568,7 @@ CALL READ_FIELD(HINIFILE,HLUOUT,IMASDEV, IIU,IJU,IKU,XTSTEP,                  &
                 CGETTKET,CGETRVT,CGETRCT,CGETRRT,CGETRIT,CGETCIT,             &
                 CGETRST,CGETRGT,CGETRHT,CGETSVT,CGETSRCT,CGETSIGS,CGETCLDFR,  &
                 CGETBL_DEPTH,CGETSBL_DEPTH,CGETPHC,CGETPHR,CUVW_ADV_SCHEME,   &
-                NSIZELBX_ll,NSIZELBXU_ll,NSIZELBY_ll,NSIZELBYV_ll,            &
+                CTEMP_SCHEME,NSIZELBX_ll,NSIZELBXU_ll,NSIZELBY_ll,NSIZELBYV_ll,&
                 NSIZELBXTKE_ll,NSIZELBYTKE_ll,                                &
                 NSIZELBXR_ll,NSIZELBYR_ll,NSIZELBXSV_ll,NSIZELBYSV_ll,        &
                 XUM,XVM,XWM,XDUM,XDVM,XDWM,                                   &
diff --git a/src/ARCH_SRC/CPL_WAVE/MNH/mesonh.f90 b/src/ARCH_SRC/CPL_WAVE/MNH/mesonh.f90
index 10e7f11bc0fe263618d4c8e3fe7985d0da5876a1..153b0755f82d3b10a18407f638a3ef10638ebc70 100644
--- a/src/ARCH_SRC/CPL_WAVE/MNH/mesonh.f90
+++ b/src/ARCH_SRC/CPL_WAVE/MNH/mesonh.f90
@@ -87,7 +87,7 @@
 #ifdef CPLOASIS
   USE MODD_VAR_ll, ONLY : NMNH_COMM_WORLD, IP
   USE MODD_DYN_n, ONLY : XTSTEP
-  USE MODD_SFX_OASIS, ONLY : LOASIS_GRID
+  USE MODD_SFX_OASIS, ONLY : LOASIS, LOASIS_GRID
 #endif
 !
 USE MODD_CONF
@@ -177,7 +177,9 @@ ENDIF
 !                ------------------------------
 !
 #ifdef CPLOASIS
+IF (LOASIS) THEN
   CALL MNH_OASIS_DEFINE(CPROGRAM,IP)
+END IF
 #endif
 !
 !-------------------------------------------------------------------------------
@@ -222,7 +224,9 @@ IF (LCHECK) THEN
 ELSE
   CALL END_PARA_ll(IINFO_ll)
 #ifdef CPLOASIS
-  CALL SFX_OASIS_END 
+IF (LOASIS) THEN
+  CALL SFX_OASIS_END
+END IF
 #endif
 END IF
 !
diff --git a/src/ARCH_SRC/CPL_WAVE/SURCOUCHE/mode_init_ll.f90 b/src/ARCH_SRC/CPL_WAVE/SURCOUCHE/mode_init_ll.f90
index a06b15757c13235756f943d27b73d1166c8d7f10..2b021e7de4aace46ae09133a200bf3584d78534b 100644
--- a/src/ARCH_SRC/CPL_WAVE/SURCOUCHE/mode_init_ll.f90
+++ b/src/ARCH_SRC/CPL_WAVE/SURCOUCHE/mode_init_ll.f90
@@ -760,7 +760,7 @@
 !!    -------------
 !     Original 01/06/98
 !     R. Guivarch 15/09/99  deallocation of grid-nesting arrays
-!     J. Pianezze 01/11/2014 - add CPLOASIS cpp key
+!     J. Pianezze 11/2016 - add LOASIS flag
 !
 !-------------------------------------------------------------------------------
 !
@@ -770,6 +770,7 @@
 !  USE MODD_STRUCTURE_ll
 !  USE MODD_VAR_ll, ONLY : NIOUNIT, YOUTPUTFILE
   USE MODD_IO_ll,          ONLY : ISP
+  USE MODD_SFX_OASIS, ONLY : LOASIS
 !
 #ifdef MNH_GA
 USE MODE_GA
@@ -803,9 +804,9 @@ USE MODE_GA
   endif
 #endif
 !
-#ifndef CPLOASIS
+IF (.NOT. LOASIS) THEN
   CALL MPI_FINALIZE(KINFO_ll)
-#endif
+END IF
 !
 !-------------------------------------------------------------------------------
 !
diff --git a/src/ARCH_SRC/CPL_WAVE/SURCOUCHE/mode_io.f90 b/src/ARCH_SRC/CPL_WAVE/SURCOUCHE/mode_io.f90
index e56a4b5758803654ffaa72008ecd19ae0cc820d0..bc23ed7fd282a0b461543123883770c96e790147 100644
--- a/src/ARCH_SRC/CPL_WAVE/SURCOUCHE/mode_io.f90
+++ b/src/ARCH_SRC/CPL_WAVE/SURCOUCHE/mode_io.f90
@@ -21,7 +21,7 @@
 !     J.Escobar   18/10/10   bug with PGI compiler on ADJUSTL
 !     Philippe 04/02/2016: bug with DELIM='NONE' and GCC 5.2/5.3
 !     D.Gazen   : avril 2016 change error message 
-!     J. Pianezze 01/08/2016  add CPLOASIS cpp key
+!     J. Pianezze 01/08/2016  add LOASIS flag
 !
 MODULE MODE_IO_ll
 
@@ -156,6 +156,7 @@ CONTAINS
   
   SUBROUTINE INITIO_ll()
     USE  MODE_MNH_WORLD , ONLY :  INIT_NMNH_COMM_WORLD
+    USE MODD_SFX_OASIS, ONLY : LOASIS
     USE MODD_IO_ll
     IMPLICIT NONE
 
@@ -164,15 +165,15 @@ CONTAINS
 
     ISTDERR = 0
 
-#ifndef CPLOASIS
-    CALL MPI_INITIALIZED(GISINIT, IERR)
-    IF (.NOT. GISINIT) THEN
-       !CALL MPI_INIT(IERR)
-       CALL INIT_NMNH_COMM_WORLD(IERR)
-       if (IERR .NE.0) STOP "mode_io.f90::INITIO_ll() MPI_INIT ---> PROBLEME WITH REMAPPING NMNH_COMM_WORLD "
+    IF (.NOT. LOASIS) THEN
+      CALL MPI_INITIALIZED(GISINIT, IERR)
+      IF (.NOT. GISINIT) THEN
+         !CALL MPI_INIT(IERR)
+         CALL INIT_NMNH_COMM_WORLD(IERR)
+         if (IERR .NE.0) STOP "mode_io.f90::INITIO_ll() MPI_INIT ---> PROBLEME WITH REMAPPING NMNH_COMM_WORLD "
+      END IF
+      !! Now MPI is initialized for sure
     END IF
-    !! Now MPI is initialized for sure
-#endif
 
     CALL INITFD()