Index: LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90	(revision 4283)
+++ LMDZ6/trunk/libf/phylmdiso/pbl_surface_mod.F90	(revision 4285)
@@ -14,5 +14,5 @@
   USE mod_grid_phy_lmdz,   ONLY : klon_glo
   USE ioipsl
-  USE surface_data,        ONLY : type_ocean, ok_veget
+  USE surface_data,        ONLY : type_ocean, ok_veget, landice_opt
   USE surf_land_mod,       ONLY : surf_land
   USE surf_landice_mod,    ONLY : surf_landice
@@ -2382,67 +2382,70 @@
        CASE(is_lic)
           ! Martin
-          CALL surf_landice(itap, dtime, knon, ni, &
-               rlon, rlat, debut, lafin, &
-               yrmu0, ylwdown, yalb, zgeo1, &
-               ysolsw, ysollw, yts, ypplay(:,1), &
-!!jyg               ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),&
-               ycdragh, ycdragm, yrain_f, ysnow_f, yt1, yq1,&
-               AcoefH, AcoefQ, BcoefH, BcoefQ, &
-               AcoefU, AcoefV, BcoefU, BcoefV, &
-               ypsref, yu1, yv1, ygustiness, yrugoro, pctsrf, &
-               ysnow, yqsurf, yqsol, yagesno, &
-               ytsoil, yz0m, yz0h, SFRWL, yalb_dir_new, yalb_dif_new, yevap,yfluxsens,yfluxlat, &
-               ytsurf_new, y_dflux_t, y_dflux_q, &
-               yzmea, yzsig, ycldt, &
-               ysnowhgt, yqsnow, ytoice, ysissnow, &
-               yalb3_new, yrunoff, &
-               y_flux_u1, y_flux_v1 &
-#ifdef ISO
-           &    ,yxtrain_f, yxtsnow_f,yxt1,yRland_ice &
-           &    ,yxtsnow,yxtsol,yxtevap &
+          IF (landice_opt .LT. 2) THEN
+             ! Land ice is treated by LMDZ and not by ORCHIDEE
+             
+             CALL surf_landice(itap, dtime, knon, ni, &
+                  rlon, rlat, debut, lafin, &
+                  yrmu0, ylwdown, yalb, zgeo1, &
+                  ysolsw, ysollw, yts, ypplay(:,1), &
+                  !!jyg               ycdragh, ycdragm, yrain_f, ysnow_f, yt(:,1), yq(:,1),&
+                  ycdragh, ycdragm, yrain_f, ysnow_f, yt1, yq1,&
+                  AcoefH, AcoefQ, BcoefH, BcoefQ, &
+                  AcoefU, AcoefV, BcoefU, BcoefV, &
+                  ypsref, yu1, yv1, ygustiness, yrugoro, pctsrf, &
+                  ysnow, yqsurf, yqsol, yagesno, &
+                  ytsoil, yz0m, yz0h, SFRWL, yalb_dir_new, yalb_dif_new, yevap,yfluxsens,yfluxlat, &
+                  ytsurf_new, y_dflux_t, y_dflux_q, &
+                  yzmea, yzsig, ycldt, &
+                  ysnowhgt, yqsnow, ytoice, ysissnow, &
+                  yalb3_new, yrunoff, &
+                  y_flux_u1, y_flux_v1 &
+#ifdef ISO
+                  &    ,yxtrain_f, yxtsnow_f,yxt1,yRland_ice &
+                  &    ,yxtsnow,yxtsol,yxtevap &
 #endif              
-           &    )
-
-!jyg<
-!!          alb3_lic(:)=0.
-!>jyg
-          DO j = 1, knon
-             i = ni(j)
-             alb3_lic(i) = yalb3_new(j)
-             snowhgt(i)   = ysnowhgt(j)
-             qsnow(i)     = yqsnow(j)
-             to_ice(i)    = ytoice(j)
-             sissnow(i)   = ysissnow(j)
-             runoff(i)    = yrunoff(j)
-          ENDDO
-          ! Martin
-! Special DICE MPL 05082013 puis BOMEX MPL 20150410
-       IF (ok_prescr_ust) THEN
-          DO j=1,knon
-          y_flux_u1(j)=ycdragm(j)*(1.+sqrt(yu(j,1)*yu(j,1)+yv(j,1)*yv(j,1)))*yu(j,1)*ypplay(j,1)/RD/yt(j,1)
-          y_flux_v1(j)=ycdragm(j)*(1.+sqrt(yu(j,1)*yu(j,1)+yv(j,1)*yv(j,1)))*yv(j,1)*ypplay(j,1)/RD/yt(j,1)
-          ENDDO
-      ENDIF
-
+                  &    )
+             
+             !jyg<
+             !!          alb3_lic(:)=0.
+             !>jyg
+             DO j = 1, knon
+                i = ni(j)
+                alb3_lic(i) = yalb3_new(j)
+                snowhgt(i)   = ysnowhgt(j)
+                qsnow(i)     = yqsnow(j)
+                to_ice(i)    = ytoice(j)
+                sissnow(i)   = ysissnow(j)
+                runoff(i)    = yrunoff(j)
+             ENDDO
+             ! Martin
+             ! Special DICE MPL 05082013 puis BOMEX MPL 20150410
+             IF (ok_prescr_ust) THEN
+                DO j=1,knon
+                   y_flux_u1(j)=ycdragm(j)*(1.+sqrt(yu(j,1)*yu(j,1)+yv(j,1)*yv(j,1)))*yu(j,1)*ypplay(j,1)/RD/yt(j,1)
+                   y_flux_v1(j)=ycdragm(j)*(1.+sqrt(yu(j,1)*yu(j,1)+yv(j,1)*yv(j,1)))*yv(j,1)*ypplay(j,1)/RD/yt(j,1)
+                ENDDO
+             ENDIF
+             
 #ifdef ISOVERIF
-        do j=1,knon
-          do ixt=1,ntraciso
-            call iso_verif_noNaN(yxtevap(ixt,j), &
-         &      'pbl_surface 1095a: apres surf_landice')
-            call iso_verif_noNaN(yxtsol(ixt,j), &
-         &      'pbl_surface 1095b: apres surf_landice')
-          enddo
-        enddo
+             do j=1,knon
+                do ixt=1,ntraciso
+                   call iso_verif_noNaN(yxtevap(ixt,j), &
+                        &      'pbl_surface 1095a: apres surf_landice')
+                   call iso_verif_noNaN(yxtsol(ixt,j), &
+                        &      'pbl_surface 1095b: apres surf_landice')
+                enddo
+             enddo
 #endif
 #ifdef ISOVERIF
-        !write(*,*) 'pbl_surface_mod 1060: sortie surf_landice'
-        do j=1,knon
-          if (iso_eau.gt.0) then     
-                 call iso_verif_egalite(yxtsnow(iso_eau,j), &
-     &                  ysnow(j),'pbl_surf_mod 1064')
-           endif !if (iso_eau.gt.0) then
-        enddo !do i=1,klon
-#endif
-          
+             !write(*,*) 'pbl_surface_mod 1060: sortie surf_landice'
+             do j=1,knon
+                if (iso_eau.gt.0) then     
+                   call iso_verif_egalite(yxtsnow(iso_eau,j), &
+                        &                  ysnow(j),'pbl_surf_mod 1064')
+                endif !if (iso_eau.gt.0) then
+             enddo !do i=1,klon
+#endif
+          END IF
        CASE(is_oce)
            CALL surf_ocean(rlon, rlat, ysolsw, ysollw, yalb_vis, &
Index: LMDZ6/trunk/libf/phylmdiso/surf_land_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/surf_land_mod.F90	(revision 4283)
+++ LMDZ6/trunk/libf/phylmdiso/surf_land_mod.F90	(revision 4285)
@@ -30,7 +30,5 @@
     USE dimphy
     USE surface_data, ONLY    : ok_veget
-! >> PC
     USE carbon_cycle_mod 
-! << PC
 
     ! See comments in each module surf_land_orchidee_xxx for compatiblity with ORCHIDEE
@@ -51,5 +49,11 @@
     USE surf_land_orchidee_nounstruct_mod
 #else
+#if ORCHIDEE_NOLIC
+    ! Compilation with cpp key ORCHIDEE_NOLIC
+    USE surf_land_orchidee_nolic_mod
+#else
+    ! Default version#else
     USE surf_land_orchidee_mod
+#endif
 #endif
 #endif
@@ -67,8 +71,6 @@
 #endif
 #endif
-
-! >> PC
+    
     USE print_control_mod, ONLY: lunout
-! << PC
 
     INCLUDE "dimsoil.h"
Index: LMDZ6/trunk/libf/phylmdiso/surf_land_orchidee_nolic_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/surf_land_orchidee_nolic_mod.F90	(revision 4285)
+++ LMDZ6/trunk/libf/phylmdiso/surf_land_orchidee_nolic_mod.F90	(revision 4285)
@@ -0,0 +1,1 @@
+link ../phylmd/surf_land_orchidee_nolic_mod.F90
Index: LMDZ6/trunk/libf/phylmdiso/surf_landice_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmdiso/surf_landice_mod.F90	(revision 4283)
+++ LMDZ6/trunk/libf/phylmdiso/surf_landice_mod.F90	(revision 4285)
@@ -144,4 +144,5 @@
     INTEGER                  :: i,j,nt
     REAL, DIMENSION(klon)    :: fqfonte,ffonte
+    REAL, DIMENSION(klon)    :: run_off_lic_frac
 #ifdef ISO       
       real, parameter :: t_coup = 273.15
@@ -484,8 +485,15 @@
 ! Send run-off on land-ice to coupler if coupled ocean.
 ! run_off_lic has been calculated in fonte_neige or surf_inlandsis
-!
-!****************************************************************************************
-    IF (type_ocean=='couple') THEN
-       CALL cpl_send_landice_fields(itime, knon, knindex, run_off_lic)
+! If landice_opt>=2, corresponding call is done from surf_land_orchidee
+!****************************************************************************************
+    IF (type_ocean=='couple' .AND. landice_opt .LT. 2) THEN
+       ! Compress fraction where run_off_lic is active (here all pctsrf(is_lic))
+       run_off_lic_frac(:)=0.0
+       DO j = 1, knon
+          i = knindex(j)
+          run_off_lic_frac(j) = pctsrf(i,is_lic)
+       ENDDO
+       
+       CALL cpl_send_landice_fields(itime, knon, knindex, run_off_lic, run_off_lic_frac)
     ENDIF
 
