Index: vendors/XMLIO_SERVER/current/src/IOSERVER/main.f90
===================================================================
--- vendors/XMLIO_SERVER/current/src/IOSERVER/main.f90	(revision 1897)
+++ vendors/XMLIO_SERVER/current/src/IOSERVER/main.f90	(revision 2765)
@@ -1,4 +1,4 @@
 PROGRAM ioslave
-USE mod_pack, ONLY : set_pack_buffer,pack,unpack
+USE mod_pack, ONLY : set_pack_buffer,pack_data,unpack_data
 USE mod_wait
 IMPLICIT NONE
@@ -28,18 +28,18 @@
   f(3)="COUCOU3"
   
-  CALL pack(b)
-  CALL pack(f)
-  CALL pack(a)
-  CALL pack(d)
-  CALL pack(e)
-  CALL pack(c)
+  CALL pack_data(b)
+  CALL pack_data(f)
+  CALL pack_data(a)
+  CALL pack_data(d)
+  CALL pack_data(e)
+  CALL pack_data(c)
   
   CALL set_pack_buffer(buffer,1)
-  CALL unpack(bout)
-  CALL unpack(fout)
-  CALL unpack(aout)
-  CALL unpack(dout)
-  CALL unpack(eout)
-  CALL unpack(cout)
+  CALL unpack_data(bout)
+  CALL unpack_data(fout)
+  CALL unpack_data(aout)
+  CALL unpack_data(dout)
+  CALL unpack_data(eout)
+  CALL unpack_data(cout)
   
   PRINT *,a,b,c,d,e,"  ",f
Index: vendors/XMLIO_SERVER/current/src/IOSERVER/mod_event_client.f90
===================================================================
--- vendors/XMLIO_SERVER/current/src/IOSERVER/mod_event_client.f90	(revision 1897)
+++ vendors/XMLIO_SERVER/current/src/IOSERVER/mod_event_client.f90	(revision 2765)
@@ -1,4 +1,4 @@
 MODULE mod_event_client
-  USE mod_pack, ONLY : pack, pack_field
+  USE mod_pack, ONLY : pack_data, pack_field
   USE mod_mpi_buffer_client, ONLY : create_request, finalize_request,is_last_request
   USE mod_event_parameters 
@@ -14,6 +14,6 @@
     IF (using_server) THEN
       CALL create_request(event_id_swap_context)
-      CALL pack(LEN(TRIM(id)))
-      CALL pack(TRIM(id))
+      CALL pack_data(LEN(TRIM(id)))
+      CALL pack_data(TRIM(id))
       CALL Finalize_request
     ELSE
@@ -31,6 +31,6 @@
     IF (using_server) THEN
       CALL create_request(event_id_parse_xml_file)
-      CALL pack(LEN(TRIM(filename)))
-      CALL pack(TRIM(filename))
+      CALL pack_data(LEN(TRIM(filename)))
+      CALL pack_data(TRIM(filename))
       CALL Finalize_request
     ELSE
@@ -49,8 +49,8 @@
     IF (using_server) THEN
       CALL create_request(event_id_set_vert_axis)
-      CALL pack(LEN(TRIM(vert_name)))
-      CALL pack(TRIM(vert_name))
-      CALL pack(SIZE(vert_value))
-      CALL pack(vert_value)
+      CALL pack_data(LEN(TRIM(vert_name)))
+      CALL pack_data(TRIM(vert_name))
+      CALL pack_data(SIZE(vert_value))
+      CALL pack_data(vert_value)
       CALL Finalize_request
     ELSE
@@ -69,8 +69,8 @@
     IF (using_server) THEN
       CALL create_request(event_id_set_grid_dimension)
-      CALL pack(LEN(TRIM(name)))
-      CALL pack(TRIM(name))
-      CALL pack(ni_glo)
-      CALL pack(nj_glo)
+      CALL pack_data(LEN(TRIM(name)))
+      CALL pack_data(TRIM(name))
+      CALL pack_data(ni_glo)
+      CALL pack_data(nj_glo)
       CALL Finalize_request
     ELSE
@@ -94,12 +94,12 @@
     IF (using_server) THEN
       CALL create_request(event_id_set_grid_domain)
-      CALL pack(LEN(TRIM(name)))
-      CALL pack(TRIM(name))
-      CALL pack(ni)
-      CALL pack(nj)
-      CALL pack(ibegin)
-      CALL pack(jbegin)
-      CALL pack(lon)
-      CALL pack(lat)
+      CALL pack_data(LEN(TRIM(name)))
+      CALL pack_data(TRIM(name))
+      CALL pack_data(ni)
+      CALL pack_data(nj)
+      CALL pack_data(ibegin)
+      CALL pack_data(jbegin)
+      CALL pack_data(lon)
+      CALL pack_data(lat)
       CALL Finalize_request
     ELSE
@@ -116,6 +116,6 @@
     IF (using_server) THEN
       CALL create_request(event_id_set_grid_type_nemo)
-      CALL pack(LEN(TRIM(name)))
-      CALL pack(TRIM(name))
+      CALL pack_data(LEN(TRIM(name)))
+      CALL pack_data(TRIM(name))
       CALL Finalize_request
     ELSE
@@ -134,8 +134,8 @@
     IF (using_server) THEN
       CALL create_request(event_id_set_grid_type_lmdz)
-      CALL pack(LEN(TRIM(name)))
-      CALL pack(TRIM(name))
-      CALL pack(nbp)
-      CALL pack(offset)
+      CALL pack_data(LEN(TRIM(name)))
+      CALL pack_data(TRIM(name))
+      CALL pack_data(nbp)
+      CALL pack_data(offset)
       CALL Finalize_request
     ELSE
@@ -154,7 +154,7 @@
     IF (using_server) THEN
       CALL create_request(event_id_set_time_parameters)
-      CALL pack(itau0)
-      CALL pack(zjulian)
-      CALL pack(zdt)
+      CALL pack_data(itau0)
+      CALL pack_data(zjulian)
+      CALL pack_data(zdt)
       CALL Finalize_request
     ELSE
@@ -172,6 +172,6 @@
     IF (using_server) THEN
       CALL create_request(event_id_set_calendar)
-      CALL pack(LEN(TRIM(str_calendar)))
-      CALL pack(TRIM(str_calendar))
+      CALL pack_data(LEN(TRIM(str_calendar)))
+      CALL pack_data(TRIM(str_calendar))
       CALL Finalize_request
     ELSE
@@ -189,6 +189,6 @@
     IF (using_server) THEN
       CALL create_request(event_id_enable_field)
-      CALL pack(len(varname))
-      CALL pack(varname)
+      CALL pack_data(len(varname))
+      CALL pack_data(varname)
       CALL Finalize_request 
     ELSE
@@ -205,6 +205,6 @@
     IF (using_server) THEN
       CALL create_request(event_id_disable_field)
-      CALL pack(len(varname))
-      CALL pack(varname)
+      CALL pack_data(len(varname))
+      CALL pack_data(varname)
       CALL Finalize_request 
     ELSE
@@ -222,7 +222,7 @@
     IF (using_server) THEN
       CALL create_request(event_id_write_field1d)
-      CALL pack(len(varname))
-      CALL pack(size(var,1))
-      CALL pack(varname)
+      CALL pack_data(len(varname))
+      CALL pack_data(size(var,1))
+      CALL pack_data(varname)
       CALL pack_field(var)
       CALL Finalize_request 
@@ -241,8 +241,8 @@
     IF (using_server) THEN
       CALL create_request(event_id_write_field2d)
-      CALL pack(len(varname))
-      CALL pack(size(var,1))
-      CALL pack(size(var,2))
-      CALL pack(varname)
+      CALL pack_data(len(varname))
+      CALL pack_data(size(var,1))
+      CALL pack_data(size(var,2))
+      CALL pack_data(varname)
       CALL pack_field(var)
       CALL Finalize_request 
@@ -261,9 +261,9 @@
     IF (using_server) THEN
       CALL create_request(event_id_write_field3d)
-      CALL pack(len(varname))
-      CALL pack(size(var,1))
-      CALL pack(size(var,2))
-      CALL pack(size(var,3))
-      CALL pack(varname)
+      CALL pack_data(len(varname))
+      CALL pack_data(size(var,1))
+      CALL pack_data(size(var,2))
+      CALL pack_data(size(var,3))
+      CALL pack_data(varname)
       CALL pack_field(var)
       CALL Finalize_request 
@@ -281,5 +281,5 @@
     IF (using_server) THEN
       CALL create_request(event_id_set_timestep)
-      CALL pack(timestep)
+      CALL pack_data(timestep)
       CALL Finalize_request
     ELSE
@@ -313,7 +313,7 @@
     IF (using_server) THEN
       CALL create_request(event_id_set_attribut)
-      CALL pack(len(id))
-      CALL pack(id)
-      CALL pack(attrib)
+      CALL pack_data(len(id))
+      CALL pack_data(id)
+      CALL pack_data(attrib)
       CALL Finalize_request
     ELSE
Index: vendors/XMLIO_SERVER/current/src/IOSERVER/mod_event_server.f90
===================================================================
--- vendors/XMLIO_SERVER/current/src/IOSERVER/mod_event_server.f90	(revision 1897)
+++ vendors/XMLIO_SERVER/current/src/IOSERVER/mod_event_server.f90	(revision 2765)
@@ -1,4 +1,4 @@
 MODULE mod_event_server
-  USE mod_pack, ONLY : unpack, unpack_field
+  USE mod_pack, ONLY : unpack_data, unpack_field
   USE mod_event_parameters
   USE iomanager
@@ -16,5 +16,5 @@
     is_terminated=.FALSE.
     
-    CALL unpack(event_id)
+    CALL unpack_data(event_id)
     
     SELECT CASE (event_id)
@@ -87,5 +87,5 @@
     INTEGER :: id_size
    
-    CALL unpack(id_size)
+    CALL unpack_data(id_size)
     CALL sub_internal(id_size)
      
@@ -96,5 +96,5 @@
       CHARACTER(LEN=id_size) :: id     
      
-       CALL unpack(id)
+       CALL unpack_data(id)
      
        CALL iom__swap_context(id)
@@ -109,5 +109,5 @@
     INTEGER :: name_size
    
-    CALL unpack(name_size)
+    CALL unpack_data(name_size)
     CALL sub_internal(name_size)
      
@@ -118,5 +118,5 @@
       CHARACTER(LEN=name_size) :: filename     
      
-       CALL unpack(filename)
+       CALL unpack_data(filename)
      
        CALL iom__parse_xml_file(filename)
@@ -132,5 +132,5 @@
     INTEGER :: nj_glo
    
-    CALL unpack(name_size)
+    CALL unpack_data(name_size)
     CALL sub_internal(name_size)
      
@@ -141,7 +141,7 @@
       CHARACTER(LEN=name_size) :: name     
      
-       CALL unpack(name)
-       CALL unpack(ni_glo)
-       CALL unpack(nj_glo)
+       CALL unpack_data(name)
+       CALL unpack_data(ni_glo)
+       CALL unpack_data(nj_glo)
      
        CALL iom__set_grid_dimension(name,ni_glo,nj_glo)
@@ -161,5 +161,5 @@
     REAL,ALLOCATABLE :: lat(:,:)
 
-    CALL unpack(name_size)
+    CALL unpack_data(name_size)
     CALL sub_internal(name_size)
      
@@ -170,15 +170,15 @@
       CHARACTER(LEN=name_size) :: name     
      
-       CALL unpack(name)
-    
-       CALL unpack(ni)
-       CALL unpack(nj)
-       CALL unpack(ibegin)
-       CALL unpack(jbegin)
+       CALL unpack_data(name)
+    
+       CALL unpack_data(ni)
+       CALL unpack_data(nj)
+       CALL unpack_data(ibegin)
+       CALL unpack_data(jbegin)
     
        ALLOCATE(lon(ni,nj))
        ALLOCATE(lat(ni,nj))
-       CALL unpack(lon)
-       CALL unpack(lat)
+       CALL unpack_data(lon)
+       CALL unpack_data(lat)
     
        CALL iom__set_grid_domain(name,ni,nj,ibegin,jbegin,lon,lat)
@@ -193,5 +193,5 @@
     INTEGER :: name_size
 
-    CALL unpack(name_size)
+    CALL unpack_data(name_size)
     CALL sub_internal(name_size)
      
@@ -202,5 +202,5 @@
       CHARACTER(LEN=name_size) :: name     
      
-       CALL unpack(name)
+       CALL unpack_data(name)
        CALL iom__set_grid_type_nemo(name)
 
@@ -213,5 +213,5 @@
     INTEGER :: name_size
 
-    CALL unpack(name_size)
+    CALL unpack_data(name_size)
     CALL sub_internal(name_size)
      
@@ -224,7 +224,7 @@
       INTEGER                  :: offset
       
-       CALL unpack(name)
-       CALL unpack(nbp)
-       CALL unpack(offset)
+       CALL unpack_data(name)
+       CALL unpack_data(nbp)
+       CALL unpack_data(offset)
        CALL iom__set_grid_type_lmdz(name,nbp,offset)
 
@@ -239,5 +239,5 @@
     REAL,ALLOCATABLE :: vert_value(:)
     
-    CALL unpack(name_size)
+    CALL unpack_data(name_size)
     CALL sub_internal(name_size)
 
@@ -248,8 +248,8 @@
       CHARACTER(LEN=name_size) :: name
     
-      CALL unpack(name)
-      CALL unpack(vert_size)
+      CALL unpack_data(name)
+      CALL unpack_data(vert_size)
       ALLOCATE(vert_value(vert_size))
-      CALL unpack(vert_value) 
+      CALL unpack_data(vert_value) 
       
       CALL iom__set_vert_axis(name,vert_value)
@@ -264,7 +264,7 @@
     REAL      :: zdt
       
-    CALL unpack(itau0)
-    CALL unpack(zjulian)
-    CALL unpack(zdt)
+    CALL unpack_data(itau0)
+    CALL unpack_data(zjulian)
+    CALL unpack_data(zdt)
     
     CALL iom__set_time_parameters(itau0,zjulian,zdt)
@@ -277,5 +277,5 @@
     INTEGER :: lenc
       
-    CALL unpack(lenc)
+    CALL unpack_data(lenc)
     CALL sub_internal(lenc)
   
@@ -286,5 +286,5 @@
       CHARACTER(len=lenc) :: varname
       
-      CALL unpack(varname)
+      CALL unpack_data(varname)
       
       CALL iom__enable_field(varname)
@@ -298,5 +298,5 @@
     INTEGER :: lenc
       
-    CALL unpack(lenc)
+    CALL unpack_data(lenc)
     CALL sub_internal(lenc)
   
@@ -307,5 +307,5 @@
       CHARACTER(len=lenc) :: varname
       
-      CALL unpack(varname)
+      CALL unpack_data(varname)
       
       CALL iom__disable_field(varname)
@@ -321,6 +321,6 @@
     INTEGER :: dim1
       
-    CALL unpack(lenc)
-    CALL unpack(dim1)
+    CALL unpack_data(lenc)
+    CALL unpack_data(dim1)
     CALL sub_internal(lenc,dim1)
   
@@ -333,5 +333,5 @@
       REAL                :: var(dim1)
       
-      CALL unpack(varname)
+      CALL unpack_data(varname)
       CALL unpack_field(var)
       
@@ -347,7 +347,7 @@
     INTEGER :: dim2
       
-    CALL unpack(lenc)
-    CALL unpack(dim1)
-    CALL unpack(dim2)
+    CALL unpack_data(lenc)
+    CALL unpack_data(dim1)
+    CALL unpack_data(dim2)
     CALL sub_internal(lenc,dim1,dim2)
   
@@ -361,5 +361,5 @@
       REAL                :: var(dim1,dim2)
       
-      CALL unpack(varname)
+      CALL unpack_data(varname)
       CALL unpack_field(var)
       
@@ -377,8 +377,8 @@
     INTEGER :: dim3
     
-    CALL unpack(lenc)
-    CALL unpack(dim1)
-    CALL unpack(dim2)
-    CALL unpack(dim3)
+    CALL unpack_data(lenc)
+    CALL unpack_data(dim1)
+    CALL unpack_data(dim2)
+    CALL unpack_data(dim3)
     CALL sub_internal(lenc,dim1,dim2,dim3)
  
@@ -395,5 +395,5 @@
       REAL                :: var(dim1,dim2,dim3)
         
-      CALL unpack(varname)
+      CALL unpack_data(varname)
       CALL unpack_field(var)
        
@@ -409,5 +409,5 @@
     INTEGER :: timestep
      
-    CALL unpack(timestep)
+    CALL unpack_data(timestep)
     CALL iom__set_timestep(timestep)
     
@@ -419,5 +419,5 @@
     INTEGER :: lenc
       
-    CALL unpack(lenc)
+    CALL unpack_data(lenc)
     CALL sub_internal(lenc)
   
@@ -428,5 +428,5 @@
       CHARACTER(len=lenc) :: str_calendar
       
-      CALL unpack(str_calendar)
+      CALL unpack_data(str_calendar)
       
       CALL iom__set_calendar(str_calendar)
@@ -449,5 +449,5 @@
      INTEGER        :: len_id
      
-     CALL unpack(len_id)
+     CALL unpack_data(len_id)
      CALL sub_internal
    CONTAINS
@@ -456,6 +456,6 @@
        CHARACTER(LEN=len_id) :: id
        
-       CALL unpack(id)
-       CALL unpack(attrib)
+       CALL unpack_data(id)
+       CALL unpack_data(attrib)
        CALL iom__set_attribut(id,attrib)
        CALL attr_deallocate(attrib)
Index: vendors/XMLIO_SERVER/current/src/IOSERVER/mod_interface_ioipsl.f90
===================================================================
--- vendors/XMLIO_SERVER/current/src/IOSERVER/mod_interface_ioipsl.f90	(revision 1897)
+++ vendors/XMLIO_SERVER/current/src/IOSERVER/mod_interface_ioipsl.f90	(revision 2765)
@@ -64,82 +64,86 @@
     
     DO i=1,file_enabled%size
-      CALL sorted_list__new(axis_id)
       
       pt_file_dep=>file_enabled%at(i)%pt
-      pt_file=>pt_file_dep%file
-      
-      pt_grid=>pt_file_dep%grids%at(1)%pt
-      pt_domain=>pt_grid%domain
-      pt_zoom=>pt_file_dep%zooms%at(1)%pt
-!      print *,TRIM(pt_file%name),' ',TRIM(pt_zoom%id)
-!      print*,'Global --->',pt_zoom%ni_glo,pt_zoom%nj_glo,pt_zoom%ibegin_glo,pt_zoom%jbegin_glo
-!      print*,'Local  --->',pt_zoom%ni_loc,pt_zoom%nj_loc,pt_zoom%ibegin_loc,pt_zoom%jbegin_loc
-      
-      IF (pt_zoom%ni_loc*pt_zoom%nj_loc > 0) THEN
-        
-        full_name=TRIM(pt_file%name)
-        IF (pt_file%has_name_suffix) full_name=TRIM(full_name)//TRIM(pt_file%name_suffix) 
-        IF ( (pt_zoom%ni_loc == pt_zoom%ni_glo) .AND. (pt_zoom%nj_loc == pt_zoom%nj_glo) ) THEN 
-
-          CALL histbeg(TRIM(full_name),pt_domain%ni,pt_domain%lon, pt_domain%nj, pt_domain%lat, & 
-                     pt_zoom%ibegin_loc, pt_zoom%ni_loc,pt_zoom%jbegin_loc,pt_zoom%nj_loc,         &
-                     initial_timestep, initial_date, timestep_value,                               &
-                     ioipsl_hori_id, ioipsl_file_id)
-         ELSE                                              
-
-          CALL set_ioipsl_domain_id(pt_grid,nb_server,server_rank,ioipsl_domain_id)
-          CALL histbeg(TRIM(full_name),pt_domain%ni,pt_domain%lon, pt_domain%nj, pt_domain%lat,  &
-                     pt_zoom%ibegin_loc, pt_zoom%ni_loc,pt_zoom%jbegin_loc,pt_zoom%nj_loc,          &
-                     initial_timestep, initial_date, timestep_value,                                &
-                     ioipsl_hori_id, ioipsl_file_id,domain_id=ioipsl_domain_id)                                              
-       
-         ENDIF
-        
-      
-        DO j=1,pt_file_dep%axis%size
-          pt_axis=>pt_file_dep%axis%at(j)%pt
-          CALL sorted_list__find(axis_id,hash(Pt_axis%name),ioipsl_axis_id,found)
-          IF (.NOT. found) THEN
-            IF (TRIM(pt_axis%name) /= "none") THEN
+
+      IF (pt_file_dep%fields%size>0) THEN
+        CALL sorted_list__new(axis_id)
+
+        pt_file=>pt_file_dep%file
+      
+        pt_grid=>pt_file_dep%grids%at(1)%pt
+        pt_domain=>pt_grid%domain
+        pt_zoom=>pt_file_dep%zooms%at(1)%pt
+!        print *,TRIM(pt_file%name),' ',TRIM(pt_zoom%id)
+!        print*,'Global --->',pt_zoom%ni_glo,pt_zoom%nj_glo,pt_zoom%ibegin_glo,pt_zoom%jbegin_glo
+!        print*,'Local  --->',pt_zoom%ni_loc,pt_zoom%nj_loc,pt_zoom%ibegin_loc,pt_zoom%jbegin_loc
+      
+        IF (pt_zoom%ni_loc*pt_zoom%nj_loc > 0) THEN
+        
+          full_name=TRIM(pt_file%name)
+          IF (pt_file%has_name_suffix) full_name=TRIM(full_name)//TRIM(pt_file%name_suffix) 
+          IF ( (pt_zoom%ni_loc == pt_zoom%ni_glo) .AND. (pt_zoom%nj_loc == pt_zoom%nj_glo) ) THEN 
+
+            CALL histbeg(TRIM(full_name),pt_domain%ni,pt_domain%lon, pt_domain%nj, pt_domain%lat, & 
+                       pt_zoom%ibegin_loc, pt_zoom%ni_loc,pt_zoom%jbegin_loc,pt_zoom%nj_loc,         &
+                       initial_timestep, initial_date, timestep_value,                               &
+                       ioipsl_hori_id, ioipsl_file_id)
+           ELSE                                              
+
+            CALL set_ioipsl_domain_id(pt_grid,nb_server,server_rank,ioipsl_domain_id)
+            CALL histbeg(TRIM(full_name),pt_domain%ni,pt_domain%lon, pt_domain%nj, pt_domain%lat,  &
+                       pt_zoom%ibegin_loc, pt_zoom%ni_loc,pt_zoom%jbegin_loc,pt_zoom%nj_loc,          &
+                       initial_timestep, initial_date, timestep_value,                                &
+                       ioipsl_hori_id, ioipsl_file_id,domain_id=ioipsl_domain_id)                                              
+          
+           ENDIF
+        
+      
+          DO j=1,pt_file_dep%axis%size
+            pt_axis=>pt_file_dep%axis%at(j)%pt
+            CALL sorted_list__find(axis_id,hash(Pt_axis%name),ioipsl_axis_id,found)
+            IF (.NOT. found) THEN
+              IF (TRIM(pt_axis%name) /= "none") THEN
               
-              IF (pt_axis%has_positive) THEN 
-                IF (pt_axis%positive) THEN
-                  direction="up"
+                IF (pt_axis%has_positive) THEN 
+                  IF (pt_axis%positive) THEN
+                    direction="up"
+                  ELSE
+                    direction="down"
+                  ENDIF
                 ELSE
-                  direction="down"
+                  direction='unknown'
                 ENDIF
-              ELSE
-                direction='unknown'
+
+                CALL histvert(ioipsl_file_id, TRIM(pt_axis%name),TRIM(pt_axis%description),    &
+                             TRIM(pt_axis%unit), pt_axis%size,pt_axis%values, ioipsl_axis_id,  &
+                           pdirect=direction)
+                CALL sorted_list__add(axis_id,hash(Pt_axis%name),ioipsl_axis_id)
               ENDIF
-
-              CALL histvert(ioipsl_file_id, TRIM(pt_axis%name),TRIM(pt_axis%description),    &
-                           TRIM(pt_axis%unit), pt_axis%size,pt_axis%values, ioipsl_axis_id,  &
-                           pdirect=direction)
-              CALL sorted_list__add(axis_id,hash(Pt_axis%name),ioipsl_axis_id)
             ENDIF
-          ENDIF
-        ENDDO
-        
-        DO j=1,pt_file_dep%fields%size
-          pt_field=>pt_file_dep%fields%at(j)%pt
-          IF (pt_field%axis%name=="none") THEN
-            pt_field%internal(id_file)=ioipsl_file_id
-            CALL histdef(ioipsl_file_id, TRIM(pt_field%name), pt_field%description,            &
-                      &  pt_field%unit, pt_field%grid%domain%ni, pt_field%grid%domain%nj,      &
-                      &  ioipsl_hori_id, 1, 1, 1, -99, 32, pt_field%operation,                 &
-                      &  real(pt_field%freq_op), real(pt_file%output_freq) )
-          ELSE
-            pt_field%internal(id_file)=ioipsl_file_id
-            CALL sorted_list__find(axis_id,hash(Pt_field%axis%name),ioipsl_axis_id,found)
-            CALL histdef(ioipsl_file_id, TRIM(pt_field%name), pt_field%description,          &
-                       & pt_field%unit, pt_field%grid%domain%ni, pt_field%grid%domain%nj,    &
-                       & ioipsl_hori_id, pt_field%axis%size, 1, pt_field%axis%size,          &
-                       & ioipsl_axis_id, 32, pt_field%operation, real(pt_field%freq_op),     &
-                       & real(pt_file%output_freq) )
-          ENDIF
-        ENDDO
-        CALL histend(ioipsl_file_id)
+         ENDDO
+        
+          DO j=1,pt_file_dep%fields%size
+            pt_field=>pt_file_dep%fields%at(j)%pt
+            IF (pt_field%axis%name=="none") THEN
+              pt_field%internal(id_file)=ioipsl_file_id
+              CALL histdef(ioipsl_file_id, TRIM(pt_field%name), pt_field%description,            &
+                        &  pt_field%unit, pt_field%grid%domain%ni, pt_field%grid%domain%nj,      &
+                        &  ioipsl_hori_id, 1, 1, 1, -99, 32, pt_field%operation,                 &
+                        &  real(pt_field%freq_op), real(pt_file%output_freq) )
+            ELSE
+              pt_field%internal(id_file)=ioipsl_file_id
+              CALL sorted_list__find(axis_id,hash(Pt_field%axis%name),ioipsl_axis_id,found)
+              CALL histdef(ioipsl_file_id, TRIM(pt_field%name), pt_field%description,          &
+                         & pt_field%unit, pt_field%grid%domain%ni, pt_field%grid%domain%nj,    &
+                         & ioipsl_hori_id, pt_field%axis%size, 1, pt_field%axis%size,          &
+                         & ioipsl_axis_id, 32, pt_field%operation, real(pt_field%freq_op),     &
+                         & real(pt_file%output_freq) )
+            ENDIF
+          ENDDO
+          CALL histend(ioipsl_file_id)
+        ENDIF
+        CALL sorted_list__delete(axis_id)
       ENDIF
-      CALL sorted_list__delete(axis_id)
     ENDDO
     
Index: vendors/XMLIO_SERVER/current/src/IOSERVER/mod_mpi_buffer_client.f90
===================================================================
--- vendors/XMLIO_SERVER/current/src/IOSERVER/mod_mpi_buffer_client.f90	(revision 1897)
+++ vendors/XMLIO_SERVER/current/src/IOSERVER/mod_mpi_buffer_client.f90	(revision 2765)
@@ -69,5 +69,5 @@
     pack_pos=pack_pos+1
 !    PRINT *,"Pos in Buffer",Pending_request(Request_pos)%Pos,"pack_pos",pack_pos
-    CALL pack(request_id)
+    CALL pack_data(request_id)
   END SUBROUTINE create_request
   
Index: vendors/XMLIO_SERVER/current/src/IOSERVER/mod_pack.f90
===================================================================
--- vendors/XMLIO_SERVER/current/src/IOSERVER/mod_pack.f90	(revision 1897)
+++ vendors/XMLIO_SERVER/current/src/IOSERVER/mod_pack.f90	(revision 2765)
@@ -5,5 +5,5 @@
     INTEGER,SAVE      :: pack_pos
     
-    INTERFACE pack
+    INTERFACE pack_data
       MODULE PROCEDURE pack_r,pack_r1,pack_r2,pack_r3,pack_r4,                 &
                        pack_i,pack_i1,pack_i2,pack_i3,pack_i4,                 &
@@ -11,7 +11,7 @@
                        pack_c,pack_c1,pack_c2,pack_c3,pack_c4,                 &
                        pack_attr
-    END INTERFACE pack
-
-    INTERFACE unpack
+    END INTERFACE pack_data
+
+    INTERFACE unpack_data
       MODULE PROCEDURE unpack_r,unpack_r1,unpack_r2,unpack_r3,unpack_r4,       &
                        unpack_i,unpack_i1,unpack_i2,unpack_i3,unpack_i4,       &
@@ -19,5 +19,5 @@
                        unpack_c,unpack_c1,unpack_c2,unpack_c3,unpack_c4,       &
                        unpack_attr
-    END INTERFACE unpack
+    END INTERFACE unpack_data
 
     INTERFACE pack_field
@@ -474,30 +474,30 @@
        TYPE(attribut) :: attrib
 
-       CALL pack(attrib%object)
-       CALL pack(attrib%name)
-       CALL pack(attrib%type)
-       CALL pack(attrib%dim)
-       CALL pack(attrib%ndim)
-       CALL pack(attrib%string_len)
+       CALL pack_data(attrib%object)
+       CALL pack_data(attrib%name)
+       CALL pack_data(attrib%type)
+       CALL pack_data(attrib%dim)
+       CALL pack_data(attrib%ndim)
+       CALL pack_data(attrib%string_len)
               
        SELECT CASE(attrib%type)
          CASE (integer0)
-           CALL pack(attrib%integer0_ptr)
+           CALL pack_data(attrib%integer0_ptr)
          CASE (integer1)
-           CALL pack(attrib%integer1_ptr)
+           CALL pack_data(attrib%integer1_ptr)
          CASE (integer2)
-           CALL pack(attrib%integer2_ptr)
+           CALL pack_data(attrib%integer2_ptr)
          CASE (real0)
-           CALL pack(attrib%real0_ptr)
+           CALL pack_data(attrib%real0_ptr)
          CASE (real1)
-           CALL pack(attrib%real1_ptr)
+           CALL pack_data(attrib%real1_ptr)
          CASE (real2)
-           CALL pack(attrib%real2_ptr)
+           CALL pack_data(attrib%real2_ptr)
          CASE (logical0)
-           CALL pack(attrib%logical0_ptr)
+           CALL pack_data(attrib%logical0_ptr)
          CASE (logical1)
-           CALL pack(attrib%logical1_ptr)
+           CALL pack_data(attrib%logical1_ptr)
          CASE (logical2)
-           CALL pack(attrib%logical2_ptr)
+           CALL pack_data(attrib%logical2_ptr)
          CASE (string0)
            CALL pack_string0(attrib%string0_ptr)
@@ -505,5 +505,5 @@
            CALL pack_string1(attrib%string1_ptr)
          CASE (string2)
-           CALL pack(attrib%string2_ptr)
+           CALL pack_data(attrib%string2_ptr)
        END SELECT
 
@@ -512,15 +512,15 @@
        SUBROUTINE pack_string0(str)
          CHARACTER(LEN=attrib%string_len) ::str
-           CALL pack(str)
+           CALL pack_data(str)
        END SUBROUTINE
 
        SUBROUTINE pack_string1(str)
          CHARACTER(LEN=attrib%string_len) ::str(:)
-           CALL pack(str)
+           CALL pack_data(str)
        END SUBROUTINE
        
        SUBROUTINE pack_string2(str)
          CHARACTER(LEN=attrib%string_len) ::str(:,:)
-           CALL pack(str)
+           CALL pack_data(str)
        END SUBROUTINE
 
@@ -533,38 +533,38 @@
        TYPE(attribut) :: attrib
 
-       CALL unpack(attrib%object)
-       CALL unpack(attrib%name)
-       CALL unpack(attrib%type)
-       CALL unpack(attrib%dim)
-       CALL unpack(attrib%ndim)
-       CALL unpack(attrib%string_len)
+       CALL unpack_data(attrib%object)
+       CALL unpack_data(attrib%name)
+       CALL unpack_data(attrib%type)
+       CALL unpack_data(attrib%dim)
+       CALL unpack_data(attrib%ndim)
+       CALL unpack_data(attrib%string_len)
               
        SELECT CASE(attrib%type)
          CASE (integer0)
            ALLOCATE(attrib%integer0_ptr)
-           CALL unpack(attrib%integer0_ptr)
+           CALL unpack_data(attrib%integer0_ptr)
          CASE (integer1)
            ALLOCATE(attrib%integer1_ptr(attrib%dim(1)))
-           CALL unpack(attrib%integer1_ptr)
+           CALL unpack_data(attrib%integer1_ptr)
          CASE (integer2)
            ALLOCATE(attrib%integer2_ptr(attrib%dim(1),attrib%dim(2)))
-           CALL unpack(attrib%integer2_ptr)
+           CALL unpack_data(attrib%integer2_ptr)
          CASE (real0)
            ALLOCATE(attrib%real0_ptr)
-           CALL unpack(attrib%real0_ptr)
+           CALL unpack_data(attrib%real0_ptr)
          CASE (real1)
            ALLOCATE(attrib%real1_ptr(attrib%dim(1)))
-           CALL unpack(attrib%real1_ptr)
+           CALL unpack_data(attrib%real1_ptr)
          CASE (real2)
            ALLOCATE(attrib%real2_ptr(attrib%dim(1),attrib%dim(2)))
          CASE (logical0)
            ALLOCATE(attrib%logical0_ptr)
-           CALL unpack(attrib%logical0_ptr)
+           CALL unpack_data(attrib%logical0_ptr)
          CASE (logical1)
            ALLOCATE(attrib%logical1_ptr(attrib%dim(1)))
-           CALL unpack(attrib%logical1_ptr)
+           CALL unpack_data(attrib%logical1_ptr)
          CASE (logical2)
            ALLOCATE(attrib%logical2_ptr(attrib%dim(1),attrib%dim(2)))
-           CALL unpack(attrib%logical2_ptr)
+           CALL unpack_data(attrib%logical2_ptr)
          CASE (string0)
            ALLOCATE(attrib%string0_ptr)
@@ -582,5 +582,5 @@
        SUBROUTINE unpack_string0
          CHARACTER(LEN=attrib%string_len) ::str
-           CALL unpack(str)
+           CALL unpack_data(str)
            attrib%string0_ptr=str
        END SUBROUTINE
@@ -588,5 +588,5 @@
        SUBROUTINE unpack_string1
          CHARACTER(LEN=attrib%string_len) ::str(attrib%dim(1))
-           CALL unpack(str)
+           CALL unpack_data(str)
            attrib%string1_ptr=str
        END SUBROUTINE
@@ -594,5 +594,5 @@
        SUBROUTINE unpack_string2
          CHARACTER(LEN=attrib%string_len) ::str(attrib%dim(1),attrib%dim(2))
-           CALL unpack(str)
+           CALL unpack_data(str)
            attrib%string2_ptr=str
        END SUBROUTINE
