Index: /LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/cpl_mod.F90
===================================================================
--- /LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/cpl_mod.F90	(revision 1074)
+++ /LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/cpl_mod.F90	(revision 1075)
@@ -305,15 +305,9 @@
 
 ! Save each field in a 2D array. 
-    IF (version_ocean=='nemo') THEN
-       read_sst(:,:)     = tab_read_flds(:,:,1)  ! Sea surface temperature
-       read_sic(:,:)     = tab_read_flds(:,:,2)  ! Sea ice concentration
-       read_sit(:,:)     = tab_read_flds(:,:,3)  ! Sea ice temperature
-       read_alb_sic(:,:) = tab_read_flds(:,:,4)  ! Albedo at sea ice
-    ELSE IF (version_ocean=='opa8') THEN
-       read_sst(:,:)     = tab_read_flds(:,:,1)  ! Sea surface temperature
-       read_sic(:,:)     = tab_read_flds(:,:,2)  ! Sea ice concentration
-       read_alb_sic(:,:) = tab_read_flds(:,:,3)  ! Albedo at sea ice
-       read_sit(:,:)     = tab_read_flds(:,:,4)  ! Sea ice temperature
-    ENDIF
+
+    read_sst(:,:)     = tab_read_flds(:,:,1)  ! Sea surface temperature
+    read_sic(:,:)     = tab_read_flds(:,:,2)  ! Sea ice concentration
+    read_alb_sic(:,:) = tab_read_flds(:,:,3)  ! Albedo at sea ice
+    read_sit(:,:)     = tab_read_flds(:,:,4)  ! Sea ice temperature
 
 !*************************************************************************************
@@ -954,24 +948,18 @@
 !*************************************************************************************
 ! All fields are stored in a table tab_flds(:,:,:)
-! First store the fields 7 to 18 which are already on the right format
-!
-!*************************************************************************************
+! First store the fields which are already on the right format
+!
+!*************************************************************************************
+
+    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)
+    
     IF (version_ocean=='nemo') THEN
-       tab_flds(:,:,7)  = cpl_windsp2D(:,:)
-       tab_flds(:,:,14) = cpl_sols2D(:,:,2)
-       tab_flds(:,:,12) = cpl_sols2D(:,:,1)
-       tab_flds(:,:,15) = cpl_nsol2D(:,:,2)
-       tab_flds(:,:,13) = cpl_nsol2D(:,:,1)
-       tab_flds(:,:,16) = cpl_fder2D(:,:,2)
-       tab_flds(:,:,11) = cpl_evap2D(:,:,2)
-       tab_flds(:,:,18) = cpl_rriv2D(:,:)
-       tab_flds(:,:,19) = cpl_rcoa2D(:,:)
+       tab_flds(:,:,18) = cpl_rriv2D(:,:) + cpl_rcoa2D(:,:)
     ELSE IF (version_ocean=='opa8') THEN
-       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)
        tab_flds(:,:,13) = cpl_evap2D(:,:,2)
        tab_flds(:,:,14) = cpl_evap2D(:,:,1)
@@ -1037,7 +1025,4 @@
 ! fractions of ocean and seaice.
 !
-! Store the fields for rain and snow directly in tab_flds(:,:,15) and 
-! tab_flds(:,:,16) respectively.
-!
 !*************************************************************************************    
     ! fraction oce+seaice
@@ -1045,21 +1030,29 @@
 
     IF (version_ocean=='nemo') THEN
-       tab_flds(:,:,10) = 0.0
+       tab_flds(:,:,13) = cpl_evap2D(:,:,2) - (cpl_rain2D(:,:,2) + cpl_snow2D(:,:,2))
+
+       tab_flds(:,:,14) = 0.0
        tmp_taux(:,:)    = 0.0
        tmp_tauy(:,:)    = 0.0
        ! For all valid grid cells containing some fraction of ocean or sea-ice
        WHERE ( deno(:,:) /= 0 )
-          tab_flds(:,:,10) = cpl_snow2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
-               cpl_snow2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
-          
-          tmp_taux = cpl_taux2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
-               cpl_taux2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
-          tmp_tauy = cpl_tauy2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
-               cpl_tauy2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
+           tmp_taux = cpl_taux2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
+              cpl_taux2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
+           tmp_tauy = cpl_tauy2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
+              cpl_tauy2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
+           tab_flds(:,:,14) = cpl_snow2D(:,:,1) * pctsrf2D(:,:,is_oce) / deno(:,:) +    &
+              cpl_snow2D(:,:,2) * pctsrf2D(:,:,is_sic) / deno(:,:)
        ENDWHERE
-       tab_flds(:,:,8) = (cpl_evap2D(:,:,1) - ( cpl_rain2D(:,:,1) + cpl_snow2D(:,:,1)))
-       tab_flds(:,:,9) = (cpl_evap2D(:,:,2) - ( cpl_rain2D(:,:,2) + cpl_snow2D(:,:,2)))
-       
+
+       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(:,:,16) = cpl_evap2D(:,:,2) 
+
     ELSE IF (version_ocean=='opa8') THEN
+       ! Store fields for rain and snow in tab_flds(:,:,15) and tab_flds(:,:,16)
        tab_flds(:,:,15) = 0.0
        tab_flds(:,:,16) = 0.0
Index: /LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/oasis.F90
===================================================================
--- /LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/oasis.F90	(revision 1074)
+++ /LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/oasis.F90	(revision 1075)
@@ -127,5 +127,9 @@
 !************************************************************************************
 !     Define symbolic name for fields exchanged from atmos to coupler,
-!         must be the same as (1) of the field  definition in namcouple:
+!         must be the same as (1) of the field definition in namcouple:
+!
+!   Initialization
+    cl_writ(:)='NOFLDATM'
+
     cl_writ(1)='COTAUXXU'
     cl_writ(2)='COTAUYYU'
@@ -135,24 +139,18 @@
     cl_writ(6)='COTAUZZV'
     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(8) ='COPEFWAT'
-      cl_writ(9) ='COPEFICE'
-      cl_writ(10)='COTOSPSU'
-      cl_writ(11)='COICEVAP'
-      cl_writ(12)='COSWFLDO'
-      cl_writ(13)='CONSFLDO'
-      cl_writ(14)='COSHFLIC'
-      cl_writ(15)='CONSFLIC'
-      cl_writ(16)='CODFLXDT'
-      cl_writ(17)='CRWOCEIS'
-      cl_writ(18)='CRWOCERD'
-      cl_writ(19)='CRWOCECD'
+      cl_writ(13)='COEMPSIC'
+      cl_writ(14)='CONESOPR'
+      cl_writ(15)='COEMPOCE'
+      cl_writ(16)='COICEVAP'
+      cl_writ(17)='COCALVIN'
+      cl_writ(18)='COLIQRUN'
     ELSE IF (version_ocean=='opa8') THEN
-       cl_writ(8)='COSHFICE'
-       cl_writ(9)='COSHFOCE'
-       cl_writ(10)='CONSFICE'
-       cl_writ(11)='CONSFOCE'
-       cl_writ(12)='CODFLXDT'
        cl_writ(13)='COTFSICE'
        cl_writ(14)='COTFSOCE'
@@ -165,17 +163,13 @@
 !
 !     Define symbolic name for fields exchanged from coupler to atmosphere,
-!         must be the same as (2) of the field  definition in namcouple:
-!
-    IF (version_ocean=='nemo') THEN
-       cl_read(1)='SISUTESW'
-       cl_read(2)='SIICECOV'
-       cl_read(4)='SIICEALW'
-       cl_read(3)='SIICTEMW'
-    ELSE IF (version_ocean=='opa8') THEN
-       cl_read(1)='SISUTESW'
-       cl_read(2)='SIICECOV'
-       cl_read(3)='SIICEALW'
-       cl_read(4)='SIICTEMW'
-    ENDIF
+!         must be the same as (2) of the field definition in namcouple:
+!
+!   Initialization
+    cl_read(:)='NOFLDATM'
+
+    cl_read(1)='SISUTESW'
+    cl_read(2)='SIICECOV'
+    cl_read(3)='SIICEALW'
+    cl_read(4)='SIICTEMW'
     
     il_var_nodims(1) = 2
