Index: XIOS/dev/branch_openmp/bld.cfg
===================================================================
--- XIOS/dev/branch_openmp/bld.cfg	(revision 1462)
+++ XIOS/dev/branch_openmp/bld.cfg	(revision 1463)
@@ -40,5 +40,5 @@
 #bld::target test_omp.exe 
 bld::target test_complete_omp.exe 
-#bld::target test_remap.exe 
+bld::target test_remap.exe 
 bld::target test_remap_ref.exe 
 bld::target test_remap_omp.exe 
Index: XIOS/dev/branch_openmp/extern/remap/src/mapper.cpp
===================================================================
--- XIOS/dev/branch_openmp/extern/remap/src/mapper.cpp	(revision 1462)
+++ XIOS/dev/branch_openmp/extern/remap/src/mapper.cpp	(revision 1463)
@@ -311,12 +311,12 @@
 			MPI_Issend(sendValue[rank],  nbRecvElement[rank], MPI_DOUBLE, rank, 0, communicator, &sendRequest[nbSendRequest]);
 			nbSendRequest++;
-			MPI_Issend(sendArea[rank],  nbRecvElement[rank], MPI_DOUBLE, rank, 0, communicator, &sendRequest[nbSendRequest]);
+			MPI_Issend(sendArea[rank],  nbRecvElement[rank], MPI_DOUBLE, rank, 1, communicator, &sendRequest[nbSendRequest]);
 			nbSendRequest++;
 			if (order == 2)
 			{
 				MPI_Issend(sendGrad[rank], 3*nbRecvElement[rank]*(NMAX+1),
-								MPI_DOUBLE, rank, 0, communicator, &sendRequest[nbSendRequest]);
+								MPI_DOUBLE, rank, 2, communicator, &sendRequest[nbSendRequest]);
 				nbSendRequest++;
-				MPI_Issend(sendNeighIds[rank], 4*nbRecvElement[rank]*(NMAX+1), MPI_INT, rank, 0, communicator, &sendRequest[nbSendRequest]);
+				MPI_Issend(sendNeighIds[rank], 4*nbRecvElement[rank]*(NMAX+1), MPI_INT, rank, 3, communicator, &sendRequest[nbSendRequest]);
 //ym  --> attention taille GloId
 				nbSendRequest++;
@@ -324,5 +324,5 @@
 			else
 			{
-				MPI_Issend(sendNeighIds[rank], 4*nbRecvElement[rank], MPI_INT, rank, 0, communicator, &sendRequest[nbSendRequest]);
+				MPI_Issend(sendNeighIds[rank], 4*nbRecvElement[rank], MPI_INT, rank, 4, communicator, &sendRequest[nbSendRequest]);
 //ym  --> attention taille GloId
 				nbSendRequest++;
@@ -333,12 +333,12 @@
 			MPI_Irecv(recvValue[rank],  nbSendElement[rank], MPI_DOUBLE, rank, 0, communicator, &recvRequest[nbRecvRequest]);
 			nbRecvRequest++;
-			MPI_Irecv(recvArea[rank],  nbSendElement[rank], MPI_DOUBLE, rank, 0, communicator, &recvRequest[nbRecvRequest]);
+			MPI_Irecv(recvArea[rank],  nbSendElement[rank], MPI_DOUBLE, rank, 1, communicator, &recvRequest[nbRecvRequest]);
 			nbRecvRequest++;
 			if (order == 2)
 			{
 				MPI_Irecv(recvGrad[rank], 3*nbSendElement[rank]*(NMAX+1),
-						MPI_DOUBLE, rank, 0, communicator, &recvRequest[nbRecvRequest]);
+						MPI_DOUBLE, rank, 2, communicator, &recvRequest[nbRecvRequest]);
 				nbRecvRequest++;
-				MPI_Irecv(recvNeighIds[rank], 4*nbSendElement[rank]*(NMAX+1), MPI_INT, rank, 0, communicator, &recvRequest[nbRecvRequest]);
+				MPI_Irecv(recvNeighIds[rank], 4*nbSendElement[rank]*(NMAX+1), MPI_INT, rank, 3, communicator, &recvRequest[nbRecvRequest]);
 //ym  --> attention taille GloId
 				nbRecvRequest++;
@@ -346,5 +346,5 @@
 			else
 			{
-				MPI_Irecv(recvNeighIds[rank], 4*nbSendElement[rank], MPI_INT, rank, 0, communicator, &recvRequest[nbRecvRequest]);
+				MPI_Irecv(recvNeighIds[rank], 4*nbSendElement[rank], MPI_INT, rank, 4, communicator, &recvRequest[nbRecvRequest]);
 //ym  --> attention taille GloId
 				nbRecvRequest++;
@@ -415,4 +415,6 @@
 		}
 	}
+        
+        MPI_Barrier(communicator);
 
 	/* free all memory allocated in this function */
Index: XIOS/dev/branch_openmp/inputs/REMAP/iodef.xml
===================================================================
--- XIOS/dev/branch_openmp/inputs/REMAP/iodef.xml	(revision 1462)
+++ XIOS/dev/branch_openmp/inputs/REMAP/iodef.xml	(revision 1463)
@@ -5,26 +5,24 @@
    <calendar type="Gregorian" start_date="2012-03-01 15:00:00" time_origin="2012-02-28 15:00:00 + 1d" />
    <field_definition level="1" >
-    <field_group id="fields_src" operation="instant" detect_missing_value=".false.">
-       <field id="src_field_2D" domain_ref="src_domain" />
-       <field id="src_field_2D_clone" domain_ref="src_domain_clone" />
-       <field id="src_field_3D" domain_ref="src_domain" axis_ref="src_axis"  />
-       <field id="src_field_3D_clone" grid_ref="src_grid_3D"   />       
-       <field id="src_field_3D_pression" grid_ref="src_grid_3D"  />
-       <field id="src_field_4D" grid_ref="src_grid_4D"  />       
+    <field_group id="fields_src" operation="instant">
+       <field id="src_field_2D" domain_ref="src_domain"/>
+       <field id="src_field_2D_clone" domain_ref="src_domain_clone"/>
+       <field id="src_field_3D" domain_ref="src_domain" axis_ref="src_axis"/>       
+       <field id="src_field_3D_pression" grid_ref="src_grid_3D"/>
+       <field id="src_field_4D" grid_ref="grid_4D"/>       
     </field_group>
     <field_group  id="fields_dst">
       <field id="dst_field_2D" field_ref="src_field_2D" domain_ref="dst_domain"/>
       <field id="dst_field_2D_regular_pole" field_ref="src_field_2D" domain_ref="dst_domain_regular_pole"/>
-      <field id="dst_field_2D_clone" field_ref="src_field_2D_clone" domain_ref="dst_domain_regular_pole"  expr="@this" operation="average" />
-      <field id="dst_field_2D_extract" field_ref="src_field_3D_clone" grid_ref="dst_grid_2D_extract"/>
       <field id="dst_field_3D" field_ref="src_field_3D" grid_ref="dst_grid_3D"/>
       <field id="dst_field_3D_interp" field_ref="src_field_3D" axis_ref="dst_axis"/>       
-      <field id="dst_field_4D_extract" field_ref="src_field_4D" grid_ref="dst_grid_4D_extract"/> 
+      <field id="dst_field_4D_extract" field_ref="src_field_4D" grid_ref="grid_4D_extract"/>      
+      <field id="dst_field_2D_clone" field_ref="src_field_2D_clone" domain_ref="dst_domain"/>
     </field_group>
-    <field_group id="read_fields" operation="instant">
-      <field id="tmp_field_0" domain_ref="src_domain_regular_read"/>      
+    <field_group id="read_fields" operation="instant" enabled="FALSE">
+      <field id="tmp_field_0" domain_ref="src_domain_regular_read" enabled="true"/>
+      <field id="tmp_field_clone" field_ref="tmp_field_0"/>
       <field id="tmp_field_1" grid_ref="src_grid_curvilinear_read" />
       <field id="tmp_field_2" grid_ref="src_grid_unstructured_read" />
-      <field id="tmp_field_clone" field_ref="tmp_field_0"/>
       <field id="dst_field_regular" field_ref="tmp_field_2" grid_ref="dst_grid_regular"/>      
       <field id="dst_field_regular_pole_0" field_ref="tmp_field_0" domain_ref="dst_domain_regular_pole"/>
@@ -34,64 +32,48 @@
 
    <file_definition type="one_file" par_access="collective" output_freq="1ts" output_level="10" enabled=".TRUE.">
-      
-      <file_group id="read_then_write_files" enabled=".TRUE.">
-       <file id="output_regular_pole" name="output_dst_regular" enabled=".TRUE."  >
-          <field field_ref="tmp_field_0" name="field_regular_0" enabled=".TRUE."/>
-          <field field_ref="dst_field_regular" name="field_regular" enabled=".TRUE."/>
-          <field field_ref="dst_field_regular_pole_0" name="field_regular_pole_0" enabled=".TRUE." />
-          <field field_ref="dst_field_regular_pole_1" name="field_regular_pole_1" enabled=".TRUE." />
-       </file>
-       <file id="output_dst_curvilinear" name="output_dst_curvilinear" enabled=".TRUE." >
-          <field field_ref="tmp_field_1" operation="instant"/>
-       </file>
-       <file id="output_dst_unstructured" name="output_dst_unstructured" enabled=".TRUE." >
-          <field field_ref="tmp_field_2" operation="instant"/>
-       </file>
-     </file_group>
-
       <file_group id="write_files" >
-        <file id="output_2D" name="output_2D" output_freq="1ts" enabled=".TRUE.">
-          <field field_ref="src_field_2D" name="field_src" enabled=".TRUE."/>
-          <field field_ref="src_field_2D_clone" name="field_src_clone" default_value="100000" enabled=".TRUE."/>
-          <field field_ref="src_field_2D" name="field_dst_regular_0"  domain_ref="dst_domain_regular_pole" enabled=".TRUE."/>
-          <field field_ref="dst_field_2D" name="field_dst_regular_1" enabled=".TRUE." />
-          <field field_ref="dst_field_2D_regular_pole" name="field_dst_regular_2" enabled=".TRUE."/>
-          <field field_ref="dst_field_2D_clone" name="field_dst_regular_3" detect_missing_value=".false." default_value="100000" enabled=".FALSE."/>
-          <field field_ref="dst_field_2D_extract" name="field_dst_regular_4" enabled=".TRUE."/>
+        <file id="output_2D" name="output_2D" >
+          <field field_ref="src_field_2D" name="field_src" />
+          <field field_ref="src_field_2D" name="field_dst_regular_0"  domain_ref="dst_domain_regular_pole" default_value="10.e+5"/>
+          <field field_ref="dst_field_2D" name="field_dst_regular_1" />
+          <field field_ref="dst_field_2D_regular_pole" name="field_dst_regular_2" />
+          <field field_ref="dst_field_2D_clone" name="field_dst_regular_3" />
         </file> 
-       <file id="output_3D" name="output_3D" enabled=".TRUE.">
+       <file id="output_3D" name="output_3D" >
           <field field_ref="src_field_3D" name="field_src" />
           <field field_ref="src_field_3D_pression" name="field" />
           <field field_ref="dst_field_3D_interp" name="field_dst_interp_domain" />
-          <field field_ref="dst_field_3D_interp" name="field_dst_interp_domain_axis" domain_ref="dst_domain_regular_pole" enabled=".TRUE."/>  
+          <field field_ref="dst_field_3D_interp" name="field_dst_interp_domain_axis" domain_ref="dst_domain_regular_pole"/>  
        </file>
-       <file id="output_4D" name="output_4D" enabled=".TRUE.">
+       <file id="output_4D" name="output_4D" >
           <field field_ref="src_field_4D" name="field_4D" />
-          <field field_ref="dst_field_4D_extract" name="field_4D_extract" enabled=".TRUE."/>
+          <field field_ref="dst_field_4D_extract" name="field_4D_extract" />
         </file>
      </file_group>
-     <file_group id="read_files" enabled=".TRUE." >
+     <file_group id="read_files" >
        <file id="output_src_regular" name="output_src_regular" mode="read" >
           <field id="src_field_regular" name="field" grid_ref="src_grid_regular_read" operation="instant"/>
        </file>
-       <file id="output_src_curvilinear" name="output_src_curvilinear" mode="read" >
+<!--        <file id="output_src_curvilinear" name="output_src_curvilinear" mode="read" >
           <field id="src_field_curvilinear" name="field_A" grid_ref="src_grid_curvilinear_read" operation="instant"/>
        </file>
        <file id="output_src_unstructured" name="output_src_unstructured" mode="read" >
           <field id="src_field_unstructured" name="field" grid_ref="src_grid_unstructured_read" operation="instant"/>
+       </file> -->
+      </file_group>
+     <file_group id="read_then_write_files" enabled=".FALSE.">
+<!--        <file id="output_regular_pole" name="output_dst_regular" >
+          <field field_ref="dst_field_regular" name="field_regular" />
+          <field field_ref="dst_field_regular_pole_0" name="field_regular_pole_0" />
+          <field field_ref="dst_field_regular_pole_1" name="field_regular_pole_1" />
        </file>
-      </file_group>
-     
+       <file id="output_dst_curvilinear" name="output_dst_curvilinear">
+          <field field_ref="tmp_field_1" operation="instant"/>
+       </file>
+       <file id="output_dst_unstructured" name="output_dst_unstructured" >
+          <field field_ref="tmp_field_2" operation="instant"/>
+       </file> -->
+     </file_group>
    </file_definition>
-
-   <scalar_definition>
-    <scalar_group id="scalar_src">
-    </scalar_group>
-    <scalar_group id="scalar_dst">
-     <scalar id="scalar_extract">
-       <reduce_axis operation="sum"/>
-     </scalar>
-    </scalar_group>
-   </scalar_definition>
 
    <axis_definition>
@@ -99,5 +81,5 @@
       <axis id="src_axis" positive="down" />
       <axis id="nq" positive="down" />
-      <axis id="src_axis_curvilinear_read" positive="down" />
+      <axis id="src_axis_curvilinear_read" />
     </axis_group>
     <axis_group id="axis_dst">
@@ -118,5 +100,4 @@
       </domain>
       <domain id="src_domain_unstructured_read" type="unstructured">
-        <generate_rectilinear_domain/>
       </domain>
     </domain_group>
@@ -128,10 +109,10 @@
     <domain_group id="domain_dst">
      <domain id="dst_domain">
-       <interpolate_domain write_weight="false" />
+       <interpolate_domain/>
      </domain>
      <domain id="dst_domain_regular_pole" ni_glo="90" nj_glo="45" type="rectilinear">
        <generate_rectilinear_domain id="domain_regular_pole"/>
-       <interpolate_domain write_weight="false" order="1" renormalize="true"/>       
-       <!-- <zoom_domain ibegin="0" ni="45" jbegin="0" nj="45" /> -->
+       <interpolate_domain/>       
+       <zoom_domain ibegin="0" ni="45" jbegin="0" nj="45" />
      </domain>
      <domain id="dst_domain_regular" ni_glo="90" nj_glo="45" type="rectilinear">
@@ -161,5 +142,5 @@
         <axis axis_ref="src_axis"/>
       </grid>
-      <grid id="src_grid_4D">
+      <grid id="grid_4D">
         <domain domain_ref="src_domain"/>
         <axis axis_ref="src_axis"/>
@@ -172,21 +153,13 @@
         <domain domain_ref="dst_domain_regular"/>
       </grid>
-      <grid id="dst_grid_2D_extract">
-        <domain domain_ref="dst_domain_regular"/>
-        <scalar >          
-          <reduce_axis operation="min"/>
-          <!-- <extract_axis position="2"/> -->
-        </scalar>
-      </grid>
       <grid id="dst_grid_3D">
         <domain domain_ref="src_domain"/>
         <axis axis_ref="dst_axis"/>
       </grid>
-      <grid id="dst_grid_4D_extract">
+      <grid id="grid_4D_extract">
         <domain domain_ref="dst_domain_regular_pole"/>      
         <axis axis_ref="src_axis"/>        
         <scalar >
-          <!-- <extract_axis position="1"/> -->
-          <reduce_axis operation="sum"/>
+          <extract_axis position="1"/>
         </scalar>      
       </grid>
@@ -197,4 +170,9 @@
   <context id="xios">
       <variable_definition>
+         <variable_group id="server">
+            <variable id="using_server2" type="bool">false</variable>
+            <variable id="ratio_server2" type="int">50</variable>
+         </variable_group>
+
         <variable_group id="buffer">
             <variable id="optimal_buffer_size" type="string">performance</variable>
@@ -212,2 +190,3 @@
 
 </simulation>
+
Index: XIOS/dev/branch_openmp/inputs/Unstruct/iodef.xml
===================================================================
--- XIOS/dev/branch_openmp/inputs/Unstruct/iodef.xml	(revision 1462)
+++ XIOS/dev/branch_openmp/inputs/Unstruct/iodef.xml	(revision 1463)
@@ -9,4 +9,9 @@
      <field id="field_B_srf"  operation="average" freq_op="3600s" grid_ref="grid_A"/>
      <field id="field_A_expand"  operation="average" grid_ref="grid_dst" field_ref="field_A_srf"/>
+
+   <!--  <field id="tmp_field_0" domain_ref="src_domain_regular_read"/>      
+     <field id="tmp_field_1" grid_ref="src_grid_curvilinear_read" />
+     <field id="tmp_field_2" grid_ref="src_grid_unstructured_read" /> -->
+
    </field_definition>
 
@@ -18,10 +23,21 @@
         <field field_ref="field_A_srf" name="field_rect2" grid_ref="grid_rect2" enabled=".TRUE." />
         <field field_ref="field_A_srf" name="field_rect3" grid_ref="grid_rect3" enabled=".TRUE."/>
-      <!--  <field field_ref="field_A_srf" name="field_curv" grid_ref="grid_curv"/> -->
+      <!--  <field field_ref="tmp_field_0" name="field_regular_0" enabled=".TRUE."/> -->
+    <!--    <field field_ref="tmp_field_1" operation="instant"/> -->
+  <!--        <field field_ref="tmp_field_2" operation="instant"/> -->
      </file>
 
-     <!-- <file id="output_src_curvilinear" name="output_src_curvilinear" mode="read" >
-       <field id="src_field_curvilinear" name="field_A" grid_ref="src_grid_curvilinear_read" operation="instant"/>
-     </file> --> 
+    <!-- <file_group id="read_files" enabled=".TRUE." >
+       <file id="output_src_regular" name="output_src_regular" mode="read" >
+          <field id="src_field_regular" name="field" grid_ref="src_grid_regular_read" operation="instant"/>
+       </file>
+       <file id="output_src_curvilinear" name="output_src_curvilinear" mode="read" >
+          <field id="src_field_curvilinear" name="field_A" grid_ref="src_grid_curvilinear_read" operation="instant"/>
+       </file>
+       <file id="output_src_unstructured" name="output_src_unstructured" mode="read" >
+          <field id="src_field_unstructured" name="field" grid_ref="src_grid_unstructured_read" operation="instant"/>
+       </file>
+     </file_group>
+-->
  
    </file_definition>
@@ -29,5 +45,5 @@
    <axis_definition>
      <axis id="axis_srf" positive="up"/>
-      <axis id="src_axis_curvilinear_read" positive="down" />
+     <axis id="src_axis_curvilinear_read" positive="down" />
    </axis_definition>
 
@@ -53,11 +69,18 @@
        <generate_rectilinear_domain id="domain_regular_pole3"/>
        <interpolate_domain write_weight="false" order="1" renormalize="true"/>       
-       <zoom_domain ibegin="0" ni="40" jbegin="0" nj="40" /> 
+       <zoom_domain ibegin="0" ni="30" jbegin="0" nj="30" /> 
      </domain>
 
-
-     <domain id="src_domain_curvilinear_read" type="curvilinear">
+    <domain_group id="read_domains">
+      <domain id="src_domain_regular_read" type="rectilinear">
         <generate_rectilinear_domain />
-     </domain>
+      </domain>
+      <domain id="src_domain_curvilinear_read" type="curvilinear">
+        <generate_rectilinear_domain />
+      </domain>
+      <domain id="src_domain_unstructured_read" type="unstructured">
+        <generate_rectilinear_domain/>
+      </domain>
+    </domain_group>
 
    </domain_definition>
@@ -90,13 +113,16 @@
 
 
-     <grid id="grid_curv">
-       <domain id="src_domain_curvilinear_read" />
-       <axis axis_ref="axis_srf" />
-     </grid>
-
-     <grid id="src_grid_curvilinear_read">
-        <domain id="src_domain_curvilinear_read"/>
+     <grid_group id="read_grids">
+      <grid id="src_grid_regular_read">
+        <domain domain_ref="src_domain_regular_read"/>
+      </grid>
+      <grid id="src_grid_curvilinear_read">
+        <domain domain_ref="src_domain_curvilinear_read"/>
         <axis axis_ref="src_axis_curvilinear_read" />
-     </grid> 
+      </grid>
+      <grid id="src_grid_unstructured_read">
+        <domain domain_ref="src_domain_unstructured_read"/>
+      </grid>
+    </grid_group> 
 
    </grid_definition>
Index: XIOS/dev/branch_openmp/src/io/inetcdf4.cpp
===================================================================
--- XIOS/dev/branch_openmp/src/io/inetcdf4.cpp	(revision 1462)
+++ XIOS/dev/branch_openmp/src/io/inetcdf4.cpp	(revision 1463)
@@ -494,5 +494,5 @@
   }
 
-
+/*
   bool CINetCDF4::isRectilinear(const StdString& name, const CVarPath* const path)
   {
@@ -513,7 +513,7 @@
     return true;
   }
-
-/*
-  bool CINetCDF4::isRectilinear_1459(const StdString& name, const CVarPath* const path)
+*/
+
+  bool CINetCDF4::isRectilinear(const StdString& name, const CVarPath* const path)
   {
     std::list<StdString> varCoords = this->getCoordinatesIdList(name, path);
@@ -557,5 +557,5 @@
     return (varDims1D.size() == 2);
   }
-*/
+
 
   bool CINetCDF4::isCurvilinear(const StdString& name, const CVarPath* const path)
Index: XIOS/dev/branch_openmp/src/test/test_remap_omp.f90
===================================================================
--- XIOS/dev/branch_openmp/src/test/test_remap_omp.f90	(revision 1462)
+++ XIOS/dev/branch_openmp/src/test/test_remap_omp.f90	(revision 1463)
@@ -206,7 +206,7 @@
                             bounds_lon_1D=dst_boundslon, bounds_lat_1D=dst_boundslat, nvertex=dst_nvertex)
 
-  CALL xios_set_domain_attr("src_domain_unstructured_read", ni_glo=src_ni_glo, ibegin=src_ibegin, ni=src_ni, type="unstructured")
-  CALL xios_set_domain_attr("src_domain_unstructured_read", lonvalue_1D=src_lon_tmp, latvalue_1D=src_lat_tmp, &
-                            bounds_lon_1D=src_boundslon, bounds_lat_1D=src_boundslat, nvertex=src_nvertex)
+  !CALL xios_set_domain_attr("src_domain_unstructured_read", ni_glo=src_ni_glo, ibegin=src_ibegin, ni=src_ni, type="unstructured")
+  !CALL xios_set_domain_attr("src_domain_unstructured_read", lonvalue_1D=src_lon_tmp, latvalue_1D=src_lat_tmp, &
+  !                          bounds_lon_1D=src_boundslon, bounds_lat_1D=src_boundslat, nvertex=src_nvertex)
 
 
@@ -220,34 +220,32 @@
   ALLOCATE(tmp_field_0(src_tmp_ni*src_tmp_nj))
 
-  CALL xios_get_axis_attr("src_axis_curvilinear_read", n=src_tmp_n)
-  CALL xios_get_domain_attr("src_domain_curvilinear_read", ni=src_tmp_ni, nj=src_tmp_nj)
-  ALLOCATE(tmp_field_1(src_tmp_ni*src_tmp_nj*src_tmp_n))
-
-  CALL xios_get_domain_attr("src_domain_unstructured_read", ni=src_tmp_ni, nj=src_tmp_nj)
-  ALLOCATE(tmp_field_2(src_tmp_ni*src_tmp_nj))
-  
-  CALL xios_recv_field("src_field_regular", tmp_field_0)
-  CALL xios_recv_field("src_field_curvilinear", tmp_field_1)
-  CALL xios_recv_field("src_field_unstructured", tmp_field_2)
-
-  DO ts=1,10
+  !CALL xios_get_axis_attr("src_axis_curvilinear_read", n=src_tmp_n)
+  !CALL xios_get_domain_attr("src_domain_curvilinear_read", ni=src_tmp_ni, nj=src_tmp_nj)
+  !ALLOCATE(tmp_field_1(src_tmp_ni*src_tmp_nj*src_tmp_n))
+
+  !CALL xios_get_domain_attr("src_domain_unstructured_read", ni=src_tmp_ni, nj=src_tmp_nj)
+  !ALLOCATE(tmp_field_2(src_tmp_ni*src_tmp_nj))
+  
+  DO ts=1,1
+    CALL xios_recv_field("src_field_regular", tmp_field_0)
+    !CALL xios_recv_field("src_field_curvilinear", tmp_field_1)
+    !CALL xios_recv_field("src_field_unstructured", tmp_field_2)
     CALL xios_update_calendar(ts)
+    
+    !DO i=1,src_ni
+    !  src_field_2D_clone(i) = src_field_2D(i)
+    !  IF ((23.5 * ts < src_lat(i)) .AND. (src_lat(i) < 65.5 *ts) .AND. (0 < src_lon(i)) .AND. (src_lon(i) < 30*ts)) THEN      
+    !    src_field_2D_clone(i) = missing_value    
+    !  ENDIF
+    !ENDDO
+
     CALL xios_send_field("src_field_2D",src_field_2D)
-    
-    DO i=1,src_ni
-      src_field_2D_clone(i) = src_field_2D(i)
-      IF ((23.5 * ts < src_lat(i)) .AND. (src_lat(i) < 65.5 *ts) .AND. (0 < src_lon(i)) .AND. (src_lon(i) < 30*ts)) THEN      
-        src_field_2D_clone(i) = missing_value    
-      ENDIF
-    ENDDO
-
-    CALL xios_send_field("src_field_2D_clone",src_field_2D_clone)
+    CALL xios_send_field("src_field_2D_clone",src_field_2D)
     CALL xios_send_field("src_field_3D",src_field_3D)
-    CALL xios_send_field("src_field_3D_clone",src_field_3D)
-    CALL xios_send_field("src_field_4D",src_field_4D)
-    CALL xios_send_field("src_field_3D_pression",src_field_pression)
+    !CALL xios_send_field("src_field_4D",src_field_4D)
+    !CALL xios_send_field("src_field_3D_pression",src_field_pression)
     CALL xios_send_field("tmp_field_0",tmp_field_0)
-    CALL xios_send_field("tmp_field_1",tmp_field_1)
-    CALL xios_send_field("tmp_field_2",tmp_field_2)
+    !CALL xios_send_field("tmp_field_1",tmp_field_1)
+    !CALL xios_send_field("tmp_field_2",tmp_field_2)
     CALL wait_us(5000) ;
    ENDDO
@@ -257,6 +255,8 @@
   DEALLOCATE(src_lon, src_lat, src_boundslon,src_boundslat, src_field_2D)
   DEALLOCATE(dst_lon, dst_lat, dst_boundslon,dst_boundslat)
-  DEALLOCATE(tmp_field_0, tmp_field_1, tmp_field_2)
-
+  DEALLOCATE(tmp_field_0)
+  !DEALLOCATE(tmp_field_1)
+  !DEALLOCATE(tmp_field_2)
+  
   CALL xios_finalize()
   
