Index: LMDZ6/trunk/libf/phylmd/cpl_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/cpl_mod.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/cpl_mod.F90	(revision 4370)
@@ -49,6 +49,8 @@
   !$OMP THREADPRIVATE(cpl_snow,cpl_evap,cpl_tsol)
 
-  REAL, ALLOCATABLE, SAVE:: cpl_delta_sst(:), cpl_delta_sal(:)
-  !$OMP THREADPRIVATE(cpl_delta_sst, cpl_delta_sal)
+  REAL, ALLOCATABLE, SAVE:: cpl_delta_sst(:), cpl_delta_sal(:), cpl_dter(:), &
+       cpl_dser(:), cpl_dt_ds(:)
+  !$OMP THREADPRIVATE(cpl_delta_sst, cpl_delta_sal, cpl_dter, cpl_dser)
+  !$OMP THREADPRIVATE(cpl_dt_ds)
   
   REAL, ALLOCATABLE, DIMENSION(:,:), SAVE   :: cpl_fder, cpl_albe, cpl_taux, cpl_tauy
@@ -96,6 +98,8 @@
   !$OMP THREADPRIVATE(cpl_snow2D, cpl_evap2D, cpl_tsol2D)
 
-  REAL, ALLOCATABLE, SAVE:: cpl_delta_sst_2D(:,:), cpl_delta_sal_2D(:,:)
+  REAL, ALLOCATABLE, SAVE:: cpl_delta_sst_2D(:, :), cpl_delta_sal_2D(:, :), &
+       cpl_dter_2D(:, :), cpl_dser_2D(:, :), cpl_dt_ds_2D(:, :)
   !$OMP THREADPRIVATE(cpl_delta_sst_2D, cpl_delta_sal_2D)
+  !$OMP THREADPRIVATE(cpl_dter_2D, cpl_dser_2D, cpl_dt_ds_2D)
 
   REAL, ALLOCATABLE, DIMENSION(:,:,:), SAVE :: cpl_fder2D, cpl_albe2D
@@ -242,5 +246,6 @@
     
        if (activate_ocean_skin == 2) then
-          ALLOCATE(cpl_delta_sst(klon), cpl_delta_sal(klon), stat = error)
+          ALLOCATE(cpl_delta_sst(klon), cpl_delta_sal(klon), cpl_dter(klon), &
+               cpl_dser(klon), cpl_dt_ds(klon), stat = error)
           sum_error = sum_error + error
        end if
@@ -654,5 +659,5 @@
        precip_rain, precip_snow, evap, tsurf, fder, albsol, taux, tauy, windsp,&
        sens_prec_liq, sens_prec_sol, lat_prec_liq, lat_prec_sol, delta_sst, &
-       delta_sal)
+       delta_sal, dTer, dSer, dt_ds)
 
     ! This subroutine cumulates some fields for each time-step during
@@ -687,4 +692,16 @@
     real, intent(in):: delta_sal(:) ! (knon)
     ! Ocean-air interface salinity minus bulk salinity, in ppt.
+
+    REAL, intent(in):: dter(:) ! (knon)
+    ! Temperature variation in the diffusive microlayer, that is
+    ! ocean-air interface temperature minus subskin temperature. In
+    ! K.
+
+    REAL, intent(in):: dser(:) ! (knon)
+    ! Salinity variation in the diffusive microlayer, that is
+    ! ocean-air interface salinity minus subskin salinity. In ppt.
+
+    real, intent(in):: dt_ds(:) ! (knon)
+    ! (tks / tkt) * dTer, in K
 
 ! Local variables
@@ -726,4 +743,7 @@
           cpl_delta_sst = 0.
           cpl_delta_sal = 0.
+          cpl_dter = 0.
+          cpl_dser = 0.
+          cpl_dt_ds = 0.
        end if
     ENDIF
@@ -772,4 +792,7 @@
           cpl_delta_sst(ig) = cpl_delta_sst(ig) + delta_sst(ig) / REAL(nexca)
           cpl_delta_sal(ig) = cpl_delta_sal(ig) + delta_sal(ig) / REAL(nexca)
+          cpl_dter(ig) = cpl_dter(ig) + dter(ig) / REAL(nexca)
+          cpl_dser(ig) = cpl_dser(ig) + dser(ig) / REAL(nexca)
+          cpl_dt_ds(ig) = cpl_dt_ds(ig) + dt_ds(ig) / REAL(nexca)
        end if
      ENDDO
@@ -821,5 +844,7 @@
           if (activate_ocean_skin == 2) then
              ALLOCATE(cpl_delta_sst_2D(nbp_lon, jj_nb), &
-                  cpl_delta_sal_2D(nbp_lon, jj_nb), stat = error)
+                  cpl_delta_sal_2D(nbp_lon, jj_nb), &
+                  cpl_dter_2D(nbp_lon, jj_nb), cpl_dser_2D(nbp_lon, jj_nb), &
+                  cpl_dt_ds_2D(nbp_lon, jj_nb), stat = error)
              sum_error = sum_error + error
           end if
@@ -882,4 +907,7 @@
           CALL gath2cpl(cpl_delta_sst, cpl_delta_sst_2D, knon, knindex)
           CALL gath2cpl(cpl_delta_sal, cpl_delta_sal_2D, knon, knindex)
+          CALL gath2cpl(cpl_dter, cpl_dter_2D, knon, knindex)
+          CALL gath2cpl(cpl_dser, cpl_dser_2D, knon, knindex)
+          CALL gath2cpl(cpl_dt_ds, cpl_dt_ds_2D, knon, knindex)
        end if
     ENDIF
@@ -1283,4 +1311,7 @@
        tab_flds(:, :, ids_delta_sst) = cpl_delta_sst_2D
        tab_flds(:, :, ids_delta_sal) = cpl_delta_sal_2D
+       tab_flds(:, :, ids_dter) = cpl_dter_2D
+       tab_flds(:, :, ids_dser) = cpl_dser_2D
+       tab_flds(:, :, ids_dt_ds) = cpl_dt_ds_2D
     end if
     
@@ -1522,5 +1553,6 @@
     ENDIF
 
-    if (activate_ocean_skin == 2) deallocate(cpl_delta_sst_2d, cpl_delta_sal_2d)
+    if (activate_ocean_skin == 2) deallocate(cpl_delta_sst_2d, &
+         cpl_delta_sal_2d, cpl_dter_2d, cpl_dser_2d, cpl_dt_ds_2d)
 
     IF (sum_error /= 0) THEN
Index: LMDZ6/trunk/libf/phylmd/oasis.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/oasis.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/oasis.F90	(revision 4370)
@@ -62,7 +62,8 @@
   INTEGER, PARAMETER :: ids_qraiic = 28
   INTEGER, PARAMETER :: ids_qsnoic = 29
-  INTEGER, PARAMETER :: ids_delta_sst = 30, ids_delta_sal = 31
-  
-  INTEGER, PARAMETER :: maxsend    = 31  ! Maximum number of fields to send
+  INTEGER, PARAMETER :: ids_delta_sst = 30, ids_delta_sal = 31, ids_dter = 32, &
+       ids_dser = 33, ids_dt_ds = 34
+  
+  INTEGER, PARAMETER :: maxsend    = 34  ! Maximum number of fields to send
   
   ! Id for fields received from ocean
@@ -201,4 +202,10 @@
        infosend(ids_delta_sal)%action = .TRUE.
        infosend(ids_delta_sal)%name = 'CODELSSS'
+       infosend(ids_dter)%action = .TRUE.
+       infosend(ids_dter)%name = 'CODELTER'
+       infosend(ids_dser)%action = .TRUE.
+       infosend(ids_dser)%name = 'CODELSER'
+       infosend(ids_dt_ds)%action = .TRUE.
+       infosend(ids_dt_ds)%name = 'CODTDS'
     end if
            
Index: LMDZ6/trunk/libf/phylmd/ocean_cpl_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/ocean_cpl_mod.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/ocean_cpl_mod.F90	(revision 4370)
@@ -56,5 +56,5 @@
        qsurf, evap, fluxsens, fluxlat, flux_u1, flux_v1, &
        tsurf_new, dflux_s, dflux_l, sens_prec_liq, sss, delta_sal, rhoa, &
-       delta_sst)
+       delta_sst, dTer, dSer, dt_ds)
 
 !
@@ -103,4 +103,16 @@
     ! only if activate_ocean_skin >= 1.
 
+    REAL, intent(in):: dter(:) ! (knon)
+    ! Temperature variation in the diffusive microlayer, that is
+    ! ocean-air interface temperature minus subskin temperature. In
+    ! K.
+
+    REAL, intent(in):: dser(:) ! (knon)
+    ! Salinity variation in the diffusive microlayer, that is
+    ! ocean-air interface salinity minus subskin salinity. In ppt.
+
+    real, intent(in):: dt_ds(:) ! (knon)
+    ! (tks / tkt) * dTer, in K
+
 ! In/Output arguments
 !****************************************************************************************
@@ -219,5 +231,5 @@
          fluxsens, precip_rain, precip_snow, evap, tsurf_new, fder_new, alb1, &
          flux_u1, flux_v1, windsp, sens_prec_liq, sens_prec_sol, lat_prec_liq, &
-         lat_prec_sol, delta_sst, delta_sal)
+         lat_prec_sol, delta_sst, delta_sal, dTer, dSer, dt_ds)
 
   END SUBROUTINE ocean_cpl_noice
Index: LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/pbl_surface_mod.F90	(revision 4370)
@@ -313,6 +313,7 @@
     USE print_control_mod,  ONLY : prt_level,lunout
     USE ioipsl_getin_p_mod, ONLY : getin_p
-    use phys_state_var_mod, only: ds_ns, dt_ns, delta_sst, delta_sal, zsig, zmea
-    use phys_output_var_mod, only: dter, dser, tkt, tks, taur, sss
+    use phys_state_var_mod, only: ds_ns, dt_ns, delta_sst, delta_sal, dter, &
+         dser, dt_ds, zsig, zmea
+    use phys_output_var_mod, only: tkt, tks, taur, sss
 #ifdef CPP_XIOS
     USE wxios, ONLY: missing_val
@@ -875,8 +876,8 @@
     ! Martin
 
-    REAL, DIMENSION(klon):: ydelta_sst, ydelta_sal, yds_ns, ydt_ns, ydter, ydser, &
-         ytkt, ytks, ytaur, ysss
-    ! compression of delta_sst, delta_sal, ds_ns, dt_ns, dter, dser, tkt, tks,
-    ! taur, sss on ocean points
+    REAL, DIMENSION(klon):: ydelta_sst, ydelta_sal, yds_ns, ydt_ns, ydter, &
+         ydser, ydt_ds, ytkt, ytks, ytaur, ysss
+    ! compression of delta_sst, delta_sal, ds_ns, dt_ns, dter, dser,
+    ! dt_ds, tkt, tks, taur, sss on ocean points
 
 !****************************************************************************************
@@ -1533,4 +1534,7 @@
              ydelta_sal(:knon) = delta_sal(ni(:knon))
              ydelta_sst(:knon) = delta_sst(ni(:knon))
+             ydter(:knon) = dter(ni(:knon))
+             ydser(:knon) = dser(ni(:knon))
+             ydt_ds(:knon) = dt_ds(ni(:knon))
           end if
           
@@ -2113,5 +2117,5 @@
                y_flux_u1, y_flux_v1, ydelta_sst(:knon), ydelta_sal(:knon), &
                yds_ns(:knon), ydt_ns(:knon), ydter(:knon), ydser(:knon), &
-               ytkt(:knon), ytks(:knon), ytaur(:knon), ysss)
+               ydt_ds(:knon), ytkt(:knon), ytks(:knon), ytaur(:knon), ysss)
       IF (prt_level >=10) THEN
           print *,'arg de surf_ocean: ycdragh ',ycdragh
@@ -2860,4 +2864,9 @@
           taur(ni(:knon)) = ytaur(:knon)
           sss(ni(:knon)) = ysss(:knon)
+
+          if (activate_ocean_skin == 2 .and. type_ocean == "couple") then
+             dt_ds = missing_val
+             dt_ds(ni(:knon)) = ydt_ds(:knon)
+          end if
        end if
 
@@ -3527,5 +3536,6 @@
 
     USE indice_sol_mod
-    use phys_state_var_mod, only: delta_sal, ds_ns, dt_ns, delta_sst
+    use phys_state_var_mod, only: delta_sal, ds_ns, dt_ns, delta_sst, dter, &
+         dser, dt_ds
     use config_ocean_skin_m, only: activate_ocean_skin
 
@@ -3620,4 +3630,7 @@
                          delta_sal(i) = 0.
                          delta_sst(i) = 0.
+                         dter(i) = 0.
+                         dser(i) = 0.
+                         dt_ds(i) = 0.
                       end if
                       
Index: LMDZ6/trunk/libf/phylmd/phyetat0_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phyetat0_mod.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/phyetat0_mod.F90	(revision 4370)
@@ -27,5 +27,6 @@
        wake_s, wake_dens, awake_dens, cv_gen, zgam, zmax0, zmea, zpic, zsig, &
        zstd, zthe, zval, ale_bl, ale_bl_trig, alp_bl, u10m, v10m, treedrg, &
-       ale_wake, ale_bl_stat, ds_ns, dt_ns, delta_sst, delta_sal, ratqs_inter
+       ale_wake, ale_bl_stat, ds_ns, dt_ns, delta_sst, delta_sal, dter, dser, &
+       dt_ds, ratqs_inter
 !FC
   USE geometry_mod,     ONLY: longitude_deg, latitude_deg
@@ -558,4 +559,17 @@
         found = phyetat0_get(delta_sst, "delta_SST", &
              "ocean-air interface temperature minus bulk SST", 0.)
+        found = phyetat0_get(dter, "dter", &
+             "ocean-air interface temperature minus subskin temperature", 0.)
+        found = phyetat0_get(dser, "dser", &
+             "ocean-air interface salinity minus subskin salinity", 0.)
+        found = phyetat0_get(dt_ds, "dt_ds", "(tks / tkt) * dTer", 0.)
+
+        where (pctsrf(:, is_oce) == 0.)
+           delta_sst = missing_val
+           delta_sal = missing_val
+           dter = missing_val
+           dser = missing_val
+           dt_ds = missing_val
+        end where
      end if
      
Index: LMDZ6/trunk/libf/phylmd/phyredem.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phyredem.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/phyredem.F90	(revision 4370)
@@ -30,5 +30,5 @@
                                 du_gwd_rando, du_gwd_front, u10m, v10m, &
                                 treedrg, solswfdiff, delta_sal, ds_ns, dt_ns, &
-                                delta_sst, ratqs_inter
+                                delta_sst, ratqs_inter, dter, dser, dt_ds
 
   USE geometry_mod, ONLY : longitude_deg, latitude_deg
@@ -378,4 +378,11 @@
           CALL put_field(pass, "delta_SST", &
                "ocean-air interface temperature minus bulk SST", delta_sst)
+          CALL put_field(pass, "dter", &
+               "ocean-air interface temperature minus subskin temperature", &
+               dter)
+          CALL put_field(pass, "dser", &
+               "ocean-air interface salinity minus subskin salinity", dser)
+          CALL put_field(pass, "dt_ds", &
+               "(tks / tkt) * dTer", dt_ds)
        end if
        
Index: LMDZ6/trunk/libf/phylmd/phys_output_var_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_var_mod.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/phys_output_var_mod.F90	(revision 4370)
@@ -135,25 +135,17 @@
   ! Ocean-atmosphere interface, subskin ocean and near-surface ocean:
   
-  REAL, ALLOCATABLE, SAVE:: dter(:)
-  ! Temperature variation in the diffusive microlayer, that is
-  ! ocean-air interface temperature minus subskin temperature. In K.
-      
-  REAL, SAVE, ALLOCATABLE:: dser(:)
-  ! Temperature variation in the diffusive microlayer, that is
-  ! subskin temperature minus ocean-air interface temperature. In K.
-
-  REAL, SAVE, ALLOCATABLE:: tkt(:)
+  REAL, SAVE, ALLOCATABLE:: tkt(:) ! (klon)
   ! épaisseur (m) de la couche de diffusion thermique (microlayer)
   ! cool skin thickness
 
-  REAL, SAVE, ALLOCATABLE:: tks(:)
+  REAL, SAVE, ALLOCATABLE:: tks(:) ! (klon)
   ! épaisseur (m) de la couche de diffusion de masse (microlayer)
   
-  REAL, SAVE, ALLOCATABLE:: taur(:) ! momentum flux due to rain, in Pa
-
-  REAL, SAVE, ALLOCATABLE:: sss(:)
+  REAL, SAVE, ALLOCATABLE:: taur(:) ! (klon) momentum flux due to rain, in Pa
+
+  REAL, SAVE, ALLOCATABLE:: sss(:) ! (klon)
   ! bulk salinity of the surface layer of the ocean, in ppt
   
-  !$OMP THREADPRIVATE(dter, dser, tkt, tks, taur, sss)
+  !$OMP THREADPRIVATE(tkt, tks, taur, sss)
 
 CONTAINS
@@ -216,6 +208,6 @@
     IF (ok_gwd_rando) allocate(zustr_gwd_rando(klon), zvstr_gwd_rando(klon))
 
-    if (activate_ocean_skin >= 1) allocate(dter(klon), dser(klon), tkt(klon), &
-         tks(klon), taur(klon), sss(klon))
+    if (activate_ocean_skin >= 1) allocate(tkt(klon), tks(klon), taur(klon), &
+         sss(klon))
 
   END SUBROUTINE phys_output_var_init
Index: LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/phys_output_write_mod.F90	(revision 4370)
@@ -271,5 +271,5 @@
         xtrain_con, xtsnow_con, xtrain_fall, xtsnow_fall, &
 #endif
-         dt_ns, delta_sst
+         dt_ns, delta_sst, dter, dser
 
     USE phys_local_var_mod, ONLY: zxfluxlat, slp, ptstar, pt0, zxtsol, zt2m, &
@@ -390,5 +390,5 @@
          alt_tropo, &
 !Ionela
-         ok_4xCO2atm, dter, dser, tkt, tks, taur, sss
+         ok_4xCO2atm, tkt, tks, taur, sss
 
     USE ocean_slab_mod, ONLY: nslay, tslab, slab_bilg, tice, seaice, &
Index: LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/phys_state_var_mod.F90	(revision 4370)
@@ -489,5 +489,16 @@
       ! Ocean-air interface salinity minus bulk salinity, in ppt
       
-      !$OMP THREADPRIVATE(delta_sal, ds_ns, dt_ns, delta_sst)
+      REAL, ALLOCATABLE, SAVE:: dter(:) ! (klon)
+      ! Temperature variation in the diffusive microlayer, that is
+      ! ocean-air interface temperature minus subskin temperature. In K.
+
+      REAL, SAVE, ALLOCATABLE:: dser(:) ! (klon)
+      ! Salinity variation in the diffusive microlayer, that is
+      ! ocean-air interface salinity minus subskin salinity. In ppt.
+
+      real, SAVE, ALLOCATABLE:: dt_ds(:) ! (klon)
+      ! (tks / tkt) * dTer, in K
+
+      !$OMP THREADPRIVATE(delta_sal, ds_ns, dt_ns, delta_sst, dter, dser, dt_ds)
 
     CONTAINS
@@ -503,4 +514,5 @@
 USE indice_sol_mod
 use config_ocean_skin_m, only: activate_ocean_skin
+use surface_data, only: type_ocean
 IMPLICIT NONE
 
@@ -726,6 +738,11 @@
         du_gwd_front(:,:) = 0 !ym missing init   
       ENDIF
-      if (activate_ocean_skin >= 1) ALLOCATE(delta_sal(klon), ds_ns(klon), &
-           dt_ns(klon), delta_sst(klon))
+
+      if (activate_ocean_skin >= 1) then
+         ALLOCATE(delta_sal(klon), ds_ns(klon), dt_ns(klon), delta_sst(klon), &
+              dter(klon), dser(klon))
+         if (activate_ocean_skin == 2 .and. type_ocean == "couple") &
+              allocate(dt_ds(klon))
+      end if
 
     END SUBROUTINE phys_state_var_init
@@ -737,4 +754,5 @@
 USE indice_sol_mod
 use config_ocean_skin_m, only: activate_ocean_skin
+use surface_data, only: type_ocean
 IMPLICIT NONE
 include "clesphys.h"
@@ -865,6 +883,9 @@
       DEALLOCATE(ratqs_inter)
 
-      if (activate_ocean_skin >= 1) deALLOCATE(delta_sal, ds_ns, dt_ns, &
-           delta_sst)
+      if (activate_ocean_skin >= 1) then
+         deALLOCATE(delta_sal, ds_ns, dt_ns, delta_sst, dter, dser)
+         if (activate_ocean_skin == 2 .and. type_ocean == "couple") &
+              deALLOCATE(dt_ds)
+      end if
 
 #ifdef ISO    
Index: LMDZ6/trunk/libf/phylmd/surf_ocean_mod.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/surf_ocean_mod.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/surf_ocean_mod.F90	(revision 4370)
@@ -20,6 +20,6 @@
        z0m, z0h, SFRWL, alb_dir_new, alb_dif_new, evap, fluxsens, fluxlat, & 
        tsurf_new, dflux_s, dflux_l, lmt_bils, &
-       flux_u1, flux_v1, delta_sst, delta_sal, ds_ns, dt_ns, dter, dser, tkt, tks, &
-       taur, sss)
+       flux_u1, flux_v1, delta_sst, delta_sal, ds_ns, dt_ns, dter, dser, &
+       dt_ds, tkt, tks, taur, sss)
 
     use albedo, only: alboc, alboc_cd
@@ -94,4 +94,16 @@
     ! minus foundation temperature. (Can be negative.) In K.
 
+    REAL, intent(inout):: dter(:) ! (knon)
+    ! Temperature variation in the diffusive microlayer, that is
+    ! ocean-air interface temperature minus subskin temperature. In
+    ! K.
+
+    REAL, intent(inout):: dser(:) ! (knon)
+    ! Salinity variation in the diffusive microlayer, that is
+    ! ocean-air interface salinity minus subskin salinity. In ppt.
+
+    real, intent(inout):: dt_ds(:) ! (knon)
+    ! (tks / tkt) * dTer, in K
+
     ! Output variables
     !**************************************************************************
@@ -109,13 +121,4 @@
     REAL, DIMENSION(klon), INTENT(OUT)       :: flux_u1, flux_v1
 
-    REAL, intent(out):: dter(:) ! (knon)
-    ! Temperature variation in the diffusive microlayer, that is
-    ! ocean-air interface temperature minus subskin temperature. In
-    ! K.
-
-    REAL, intent(out):: dser(:) ! (knon)
-    ! Salinity variation in the diffusive microlayer, that is
-    ! ocean-air interface salinity minus subskin salinity. In ppt.
-
     REAL, intent(out):: tkt(:) ! (knon)
     ! épaisseur (m) de la couche de diffusion thermique (microlayer)
@@ -192,5 +195,5 @@
             qsurf, evap, fluxsens, fluxlat, flux_u1, flux_v1, &
             tsurf_new, dflux_s, dflux_l, sens_prec_liq, sss, delta_sal, rhoa, &
-            delta_sst)
+            delta_sst, dTer, dSer, dt_ds)
 
     CASE('slab')
@@ -331,5 +334,9 @@
        delta_sst = t_int - tsurf_new(:knon)
        delta_sal = s_int - sss(:knon)
-       if (activate_ocean_skin >= 2) tsurf_new(:knon) = t_int
+
+       if (activate_ocean_skin == 2) then
+          tsurf_new(:knon) = t_int
+          if (type_ocean == 'couple') dt_ds = (tks / tkt) * dter
+       end if
     end if
     
Index: LMDZ6/trunk/libf/phylmd/wake.F90
===================================================================
--- LMDZ6/trunk/libf/phylmd/wake.F90	(revision 4369)
+++ LMDZ6/trunk/libf/phylmd/wake.F90	(revision 4370)
@@ -2238,5 +2238,5 @@
     d_deltaqw, sigmaw, d_sigmaw, alpha)
   ! ------------------------------------------------------
-  ! Dtermination du coefficient alpha tel que les tendances
+  ! D\'etermination du coefficient alpha tel que les tendances
   ! corriges alpha*d_G, pour toutes les grandeurs G, correspondent
   ! a une humidite positive dans la zone (x) et dans la zone (w).
