Index: LMDZ4/branches/LMDZ4-dev/libf/phylmd/cpl_mod.F90
===================================================================
--- LMDZ4/branches/LMDZ4-dev/libf/phylmd/cpl_mod.F90	(revision 1132)
+++ LMDZ4/branches/LMDZ4-dev/libf/phylmd/cpl_mod.F90	(revision 1133)
@@ -278,5 +278,4 @@
     USE surface_data
     USE phys_state_var_mod, ONLY : rlon, rlat
-    USE Write_Field
 
     INCLUDE "indicesol.h"
@@ -615,38 +614,38 @@
        
 
-       CALL gath2cpl(cpl_sols(1,cpl_index), cpl_sols2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_nsol(1,cpl_index), cpl_nsol2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_rain(1,cpl_index), cpl_rain2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_snow(1,cpl_index), cpl_snow2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_evap(1,cpl_index), cpl_evap2D(1,1,cpl_index), &
+       CALL gath2cpl(cpl_sols(:,cpl_index), cpl_sols2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_nsol(:,cpl_index), cpl_nsol2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_rain(:,cpl_index), cpl_rain2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_snow(:,cpl_index), cpl_snow2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_evap(:,cpl_index), cpl_evap2D(:,:,cpl_index), &
             knon, knindex)
 
 ! cpl_tsol2D(:,:,:) not used!
-       CALL gath2cpl(cpl_tsol(1,cpl_index), cpl_tsol2D(1,1, cpl_index), &
+       CALL gath2cpl(cpl_tsol(:,cpl_index), cpl_tsol2D(:,:, cpl_index), &
             knon, knindex)
 
 ! cpl_fder2D(:,:,1) not used, only cpl_fder(:,:,2)!
-       CALL gath2cpl(cpl_fder(1,cpl_index), cpl_fder2D(1,1,cpl_index), &
+       CALL gath2cpl(cpl_fder(:,cpl_index), cpl_fder2D(:,:,cpl_index), &
             knon, knindex)
 
 ! cpl_albe2D(:,:,:) not used!
-       CALL gath2cpl(cpl_albe(1,cpl_index), cpl_albe2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_taux(1,cpl_index), cpl_taux2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_tauy(1,cpl_index), cpl_tauy2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_windsp(1,cpl_index), cpl_windsp2D(1,1), &
+       CALL gath2cpl(cpl_albe(:,cpl_index), cpl_albe2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_taux(:,cpl_index), cpl_taux2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_tauy(:,cpl_index), cpl_tauy2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_windsp(:,cpl_index), cpl_windsp2D(:,:), &
             knon, knindex)
 
@@ -693,5 +692,5 @@
     CHARACTER(len = 25)                     :: modname = 'cpl_send_seaice_fields'
     CHARACTER(len = 80)                     :: abort_message
-
+    REAL, DIMENSION(klon)                   :: cpl_fder_tmp
 
 !*************************************************************************************
@@ -783,34 +782,39 @@
        ENDIF
 
-       CALL gath2cpl(cpl_sols(1,cpl_index), cpl_sols2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_nsol(1,cpl_index), cpl_nsol2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_rain(1,cpl_index), cpl_rain2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_snow(1,cpl_index), cpl_snow2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_evap(1,cpl_index), cpl_evap2D(1,1,cpl_index), &
+       CALL gath2cpl(cpl_sols(:,cpl_index), cpl_sols2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_nsol(:,cpl_index), cpl_nsol2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_rain(:,cpl_index), cpl_rain2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_snow(:,cpl_index), cpl_snow2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_evap(:,cpl_index), cpl_evap2D(:,:,cpl_index), &
             knon, knindex)
 
 ! cpl_tsol2D(:,:,:) not used!
-       CALL gath2cpl(cpl_tsol(1,cpl_index), cpl_tsol2D(1,1, cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_fder(1,cpl_index), cpl_fder2D(1,1,cpl_index), &
-            knon, knindex)
+       CALL gath2cpl(cpl_tsol(:,cpl_index), cpl_tsol2D(:,:, cpl_index), &
+            knon, knindex)
+
+       ! Set default value and decompress before gath2cpl
+       cpl_fder_tmp(:) = -20.
+       DO ig = 1, knon
+          cpl_fder_tmp(knindex(ig))=cpl_fder(ig,cpl_index)
+       END DO
+       CALL gath2cpl(cpl_fder_tmp(:), cpl_fder2D(:,:,cpl_index), &
+            klon, unity)
 
 ! cpl_albe2D(:,:,:) not used!
-       CALL gath2cpl(cpl_albe(1,cpl_index), cpl_albe2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_taux(1,cpl_index), cpl_taux2D(1,1,cpl_index), &
-            knon, knindex)
-
-       CALL gath2cpl(cpl_tauy(1,cpl_index), cpl_tauy2D(1,1,cpl_index), &
+       CALL gath2cpl(cpl_albe(:,cpl_index), cpl_albe2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_taux(:,cpl_index), cpl_taux2D(:,:,cpl_index), &
+            knon, knindex)
+
+       CALL gath2cpl(cpl_tauy(:,cpl_index), cpl_tauy2D(:,:,cpl_index), &
             knon, knindex)
 
@@ -996,7 +1000,5 @@
     tab_flds(:,:,7)  = cpl_windsp2D(:,:)
     tab_flds(:,:,8)  = cpl_sols2D(:,:,2)
-    tab_flds(:,:,9)  = cpl_sols2D(:,:,1)
     tab_flds(:,:,10) = cpl_nsol2D(:,:,2)
-    tab_flds(:,:,11) = cpl_nsol2D(:,:,1)
     tab_flds(:,:,12) = cpl_fder2D(:,:,2)
     
@@ -1004,4 +1006,6 @@
        tab_flds(:,:,18) = cpl_rriv2D(:,:) + cpl_rcoa2D(:,:)
     ELSE IF (version_ocean=='opa8') THEN
+       tab_flds(:,:,9)  = cpl_sols2D(:,:,1)
+       tab_flds(:,:,11) = cpl_nsol2D(:,:,1)
        tab_flds(:,:,13) = cpl_evap2D(:,:,2)
        tab_flds(:,:,14) = cpl_evap2D(:,:,1)
@@ -1074,7 +1078,10 @@
 
        IF (version_ocean=='nemo') THEN
-          tab_flds(:,:,13) = cpl_evap2D(:,:,2) - (cpl_rain2D(:,:,2) + cpl_snow2D(:,:,2))
-
+          tab_flds(:,:,9)  = 0.0
+          tab_flds(:,:,11) = 0.0
+          tab_flds(:,:,13) = 0.0
           tab_flds(:,:,14) = 0.0
+          tab_flds(:,:,15) = 0.0
+  
           tmp_taux(:,:)    = 0.0
           tmp_tauy(:,:)    = 0.0
@@ -1085,15 +1092,17 @@
              tmp_tauy = cpl_tauy2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
                   cpl_tauy2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
+             
+             tab_flds(:,:,9) = cpl_sols2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
+                  cpl_sols2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
+             tab_flds(:,:,11) = cpl_nsol2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
+                  cpl_nsol2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
+             tab_flds(:,:,13) = cpl_rain2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
+                  cpl_rain2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
              tab_flds(:,:,14) = cpl_snow2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
                   cpl_snow2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
-             
-          ENDWHERE
-
-!          WHERE (pctsrf2D(:,:,is_sic) == 0)
-!             cpl_evap2D(:,:,2) = 0.0
-!          END WHERE
-          
-          tab_flds(:,:,14) = cpl_evap2D(:,:,2) - tab_flds(:,:,14)
-          tab_flds(:,:,15) = cpl_evap2D(:,:,1) - (cpl_rain2D(:,:,1) + cpl_snow2D(:,:,1))
+             tab_flds(:,:,15) = cpl_evap2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
+                  cpl_evap2D(:,:,2)  * pctsrf2D(:,:,is_sic) / deno(:,:)
+         ENDWHERE
+
           tab_flds(:,:,16) = cpl_evap2D(:,:,2) 
           
Index: LMDZ4/branches/LMDZ4-dev/libf/phylmd/oasis.F90
===================================================================
--- LMDZ4/branches/LMDZ4-dev/libf/phylmd/oasis.F90	(revision 1132)
+++ LMDZ4/branches/LMDZ4-dev/libf/phylmd/oasis.F90	(revision 1133)
@@ -159,17 +159,19 @@
     cl_writ(7)='COWINDSP'
     cl_writ(8)='COSHFICE'
-    cl_writ(9)='COSHFOCE'
     cl_writ(10)='CONSFICE'
-    cl_writ(11)='CONSFOCE'
     cl_writ(12)='CODFLXDT'
 
     IF (version_ocean=='nemo') THEN
-      cl_writ(13)='COEMPSIC'
-      cl_writ(14)='CONESOPR'
-      cl_writ(15)='COEMPOCE'
+      cl_writ(9)='COQSRMIX'
+      cl_writ(11)='COQNSMIX'
+      cl_writ(13)='COTOTRAI'
+      cl_writ(14)='COTOTSNO'
+      cl_writ(15)='COTOTEVA'
       cl_writ(16)='COICEVAP'
       cl_writ(17)='COCALVIN'
       cl_writ(18)='COLIQRUN'
     ELSE IF (version_ocean=='opa8') THEN
+       cl_writ(9)='COSHFOCE'
+       cl_writ(11)='CONSFOCE'
        cl_writ(13)='COTFSICE'
        cl_writ(14)='COTFSOCE'
