Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/axis_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/axis_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/axis_interface.f90	(revision 285)
@@ -46,10 +46,17 @@
       
       SUBROUTINE xios_axis_handle_create(ret, idt, idt_size) BIND(C)
-         import C_CHAR, C_INTPTR_T, C_INT
+         USE ISO_C_BINDING
          INTEGER  (kind = C_INTPTR_T)               :: ret
          CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
          INTEGER  (kind = C_INT)     , VALUE        :: idt_size
       END SUBROUTINE xios_axis_handle_create
-       
+
+      SUBROUTINE xios_axis_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_axis_valid_id
+
    END INTERFACE
      
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/axisgroup_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/axisgroup_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/axisgroup_interface.f90	(revision 285)
@@ -51,5 +51,12 @@
          INTEGER  (kind = C_INT)     , VALUE        :: idt_size
       END SUBROUTINE xios_axisgroup_handle_create
-     
+
+      SUBROUTINE xios_axisgroup_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_axisgroup_valid_id
+
    END INTERFACE
      
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/context_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/context_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/context_interface.f90	(revision 285)
@@ -40,5 +40,5 @@
       SUBROUTINE xios_context_create(context, context_id, context_id_size, calendar_type, &
                                      year, month, day, hour, minute, second) BIND(C)
-         import C_CHAR, C_INT, C_INTPTR_T
+         USE ISO_C_BINDING
          INTEGER  (kind = C_INTPTR_T)               :: context
          CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: context_id
@@ -46,5 +46,12 @@
          INTEGER  (kind = C_INT)     , VALUE        :: calendar_type, year, month, day, hour, minute, second
       END SUBROUTINE xios_context_create
-     
+
+      SUBROUTINE xios_context_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_context_valid_id
+
    END INTERFACE
      
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/domain_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/domain_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/domain_interface.f90	(revision 285)
@@ -201,10 +201,17 @@
        
       SUBROUTINE xios_domain_handle_create(ret, idt, idt_size) BIND(C)
-         import C_CHAR, C_INTPTR_T, C_INT
+         USE ISO_C_BINDING
          INTEGER  (kind = C_INTPTR_T)               :: ret
          CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
          INTEGER  (kind = C_INT)     , VALUE        :: idt_size
       END SUBROUTINE xios_domain_handle_create
-       
+
+      SUBROUTINE xios_domain_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_domain_valid_id
+
    END INTERFACE
        
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/domaingroup_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/domaingroup_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/domaingroup_interface.f90	(revision 285)
@@ -201,10 +201,17 @@
       
       SUBROUTINE xios_domaingroup_handle_create(ret, idt, idt_size) BIND(C)
-         import C_CHAR, C_INTPTR_T, C_INT
+         USE ISO_C_BINDING
          INTEGER  (kind = C_INTPTR_T)               :: ret
          CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
          INTEGER  (kind = C_INT)     , VALUE        :: idt_size
       END SUBROUTINE xios_domaingroup_handle_create
-       
+
+      SUBROUTINE xios_domaingroup_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_domaingroup_valid_id
+
    END INTERFACE
        
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/field_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/field_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/field_interface.f90	(revision 285)
@@ -104,5 +104,12 @@
          INTEGER  (kind = C_INT)     , VALUE        :: idt_size
       END SUBROUTINE xios_field_handle_create
-   
+
+      SUBROUTINE xios_field_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_field_valid_id
+
    END INTERFACE
    
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/fieldgroup_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/fieldgroup_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/fieldgroup_interface.f90	(revision 285)
@@ -99,9 +99,16 @@
       
       SUBROUTINE xios_fieldgroup_handle_create(ret, idt, idt_size) BIND(C)
-         import C_CHAR, C_INTPTR_T, C_INT
+         USE ISO_C_BINDING
          INTEGER  (kind = C_INTPTR_T)               :: ret
          CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
          INTEGER  (kind = C_INT)     , VALUE        :: idt_size
       END SUBROUTINE xios_fieldgroup_handle_create
+
+      SUBROUTINE xios_fieldgroup_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_fieldgroup_valid_id
    
    END INTERFACE
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/file_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/file_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/file_interface.f90	(revision 285)
@@ -45,10 +45,17 @@
    
       SUBROUTINE xios_file_handle_create(ret, idt, idt_size) BIND(C)
-         import C_CHAR, C_INTPTR_T, C_INT
+         USE ISO_C_BINDING
          INTEGER  (kind = C_INTPTR_T)               :: ret
          CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
          INTEGER  (kind = C_INT)     , VALUE        :: idt_size
       END SUBROUTINE xios_file_handle_create
-    
+
+      SUBROUTINE xios_file_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_file_valid_id
+
    END INTERFACE
    
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/filegroup_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/filegroup_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/filegroup_interface.f90	(revision 285)
@@ -51,4 +51,11 @@
       END SUBROUTINE xios_filegroup_handle_create
 
+      SUBROUTINE xios_filegroup_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_filegroup_valid_id
+
    END INTERFACE
    
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/grid_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/grid_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/grid_interface.f90	(revision 285)
@@ -38,5 +38,12 @@
          INTEGER  (kind = C_INT)     , VALUE        :: idt_size
       END SUBROUTINE xios_grid_handle_create
-     
+
+      SUBROUTINE xios_grid_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_grid_valid_id
+
    END INTERFACE
      
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/gridgroup_interface.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/gridgroup_interface.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/gridgroup_interface.f90	(revision 285)
@@ -38,5 +38,12 @@
          INTEGER  (kind = C_INT)     , VALUE        :: idt_size
       END SUBROUTINE xios_domaingroup_handle_create
-      
+
+      SUBROUTINE xios_gridgroup_valid_id(ret, idt, idt_size) BIND(C)
+         USE ISO_C_BINDING
+         LOGICAL  (kind = C_BOOL)                   :: ret
+         CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: idt
+         INTEGER  (kind = C_INT)     , VALUE        :: idt_size
+      END SUBROUTINE xios_gridgroup_valid_id
+
    END INTERFACE
      
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/iaxis.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/iaxis.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/iaxis.f90	(revision 285)
@@ -130,3 +130,19 @@
    END SUBROUTINE axisgroup_handle_create
 
+   LOGICAL FUNCTION axis_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_axis_valid_id(val, idt, len(idt));
+      axis_valid_id = val
+   END FUNCTION  axis_valid_id
+
+   LOGICAL FUNCTION axisgroup_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_axisgroup_valid_id(val, idt, len(idt));
+      axisgroup_valid_id = val
+   END FUNCTION  axisgroup_valid_id
+
 END MODULE IAXIS
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icaxis.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icaxis.cpp	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icaxis.cpp	(revision 285)
@@ -144,4 +144,22 @@
       *_ret = xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CAxisGroup>(id).get();
    }
+
+   // -------------------- VÃ©rification des identifiants -----------------------
+
+   void xios_axis_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CAxis>(id);
+   }
+
+   void xios_axisgroup_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CAxisGroup>(id);
+   }
    
 } // extern "C"
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/iccontext.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/iccontext.cpp	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/iccontext.cpp	(revision 285)
@@ -137,4 +137,21 @@
       }
    }
-   
+
+   // -------------------- VÃ©rification des identifiants -----------------------
+
+   void xios_context_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      std::vector<boost::shared_ptr<xmlioserver::tree::CContext> > def_vector =
+            xmlioserver::tree::CContext::GetContextGroup()->getChildList();
+
+      for (std::size_t i = 0; i < def_vector.size(); i++)
+	   {
+          if (def_vector[i]->getId().compare(id) == 0)
+          *_ret = true;
+      }
+     *_ret = false;
+   }
 } // extern "C"
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icdomain.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icdomain.cpp	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icdomain.cpp	(revision 285)
@@ -409,4 +409,21 @@
       *_ret = xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CDomainGroup>(id).get();
    }
-   
+
+   // -------------------- VÃ©rification des identifiants -----------------------
+
+   void xios_domain_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CDomain>(id);
+   }
+
+   void xios_domaingroup_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CDomainGroup>(id);
+   }
 } // extern "C"
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icfield.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icfield.cpp	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icfield.cpp	(revision 285)
@@ -244,4 +244,23 @@
       *_ret = xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CFieldGroup>(id).get();
    }
+
+
+   // -------------------- VÃ©rification des identifiants -----------------------
+
+   void xios_field_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CField>(id);
+   }
+
+   void xios_fieldgroup_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CFieldGroup>(id);
+   }
    
 } // extern "C"
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icfile.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icfile.cpp	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icfile.cpp	(revision 285)
@@ -129,4 +129,21 @@
       *_ret = xmlioserver::CObjectFactory::GetObject<xmlioserver::tree::CFileGroup>(id).get();
    }
-   
+
+   // -------------------- VÃ©rification des identifiants -----------------------
+
+   void xios_file_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CFile>(id);
+   }
+
+   void xios_filegroup_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CFileGroup>(id);
+   }
 } // extern "C"
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icgrid.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icgrid.cpp	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icgrid.cpp	(revision 285)
@@ -109,3 +109,20 @@
    }
 
+   // -------------------- VÃ©rification des identifiants -----------------------
+
+   void xios_grid_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CGrid>(id);
+   }
+
+   void xios_gridgroup_valid_id (bool * _ret, const char * _id, int _id_len)
+   {
+      std::string id;
+      if (!cstr2string(_id, _id_len, id)) return;
+
+      *_ret = xmlioserver::CObjectFactory::HasObject<xmlioserver::tree::CGridGroup>(id);
+   }
 } // extern "C"
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icontext.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icontext.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/icontext.f90	(revision 285)
@@ -79,4 +79,14 @@
       END IF
    END SUBROUTINE context_create
+
+   LOGICAL FUNCTION context_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_context_valid_id(val, idt, len(idt));
+      context_valid_id = val
+   END FUNCTION  context_valid_id
+
+
    
 END MODULE ICONTEXT
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/idomain.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/idomain.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/idomain.f90	(revision 285)
@@ -412,4 +412,20 @@
       CALL xios_domaingroup_handle_create(ret%daddr, idt, len(idt))            
    END SUBROUTINE domaingroup_handle_create
+
+   LOGICAL FUNCTION domain_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_domain_valid_id(val, idt, len(idt));
+      domain_valid_id = val
+   END FUNCTION  domain_valid_id
+
+   LOGICAL FUNCTION domaingroup_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_domaingroup_valid_id(val, idt, len(idt));
+      domaingroup_valid_id = val
+   END FUNCTION  domaingroup_valid_id
    
 END MODULE IDOMAIN
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/ifield.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/ifield.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/ifield.f90	(revision 285)
@@ -229,4 +229,20 @@
       CALL xios_fieldgroup_handle_create(ret%daddr, idt, len(idt))            
    END SUBROUTINE fieldgroup_handle_create
-   
+
+   LOGICAL FUNCTION field_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_field_valid_id(val, idt, len(idt));
+      field_valid_id = val
+   END FUNCTION  field_valid_id
+
+   LOGICAL FUNCTION fieldgroup_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_fieldgroup_valid_id(val, idt, len(idt));
+      fieldgroup_valid_id = val
+   END FUNCTION  fieldgroup_valid_id
+
 END MODULE IFIELD
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/ifile.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/ifile.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/ifile.f90	(revision 285)
@@ -134,4 +134,20 @@
       CALL xios_filegroup_handle_create(ret%daddr, idt, len(idt))            
    END SUBROUTINE filegroup_handle_create
+
+   LOGICAL FUNCTION file_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_file_valid_id(val, idt, len(idt));
+      file_valid_id = val
+   END FUNCTION  file_valid_id
+
+   LOGICAL FUNCTION filegroup_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_filegroup_valid_id(val, idt, len(idt));
+      filegroup_valid_id = val
+   END FUNCTION  filegroup_valid_id
    
 END MODULE IFILE
Index: XMLIO_V2/dev/dev_rv/src/xmlio/fortran/igrid.f90
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/fortran/igrid.f90	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/fortran/igrid.f90	(revision 285)
@@ -109,4 +109,20 @@
       CALL xios_gridgroup_handle_create(ret%daddr, idt, len(idt))            
    END SUBROUTINE gridgroup_handle_create
+
+   LOGICAL FUNCTION grid_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_grid_valid_id(val, idt, len(idt));
+      grid_valid_id = val
+   END FUNCTION  grid_valid_id
+
+   LOGICAL FUNCTION gridgroup_valid_id(idt)
+      IMPLICIT NONE
+      CHARACTER(len  = *)    , INTENT(IN) :: idt
+      LOGICAL  (kind = 1)                 :: val
+      CALL xios_gridgroup_valid_id(val, idt, len(idt));
+      gridgroup_valid_id = val
+   END FUNCTION  gridgroup_valid_id
    
 END MODULE IGRID
Index: XMLIO_V2/dev/dev_rv/src/xmlio/main_server.cpp
===================================================================
--- XMLIO_V2/dev/dev_rv/src/xmlio/main_server.cpp	(revision 277)
+++ XMLIO_V2/dev/dev_rv/src/xmlio/main_server.cpp	(revision 285)
@@ -24,5 +24,6 @@
       CXIOSManager::Initialise (CXIOSManager::CLIENT_SERVER, &argc, &argv);
       if (CMPIManager::GetCommRank() == 0)
-      {         
+      {
+
          CMPIManager ::DispatchClient(true, comm_client, comm_client_server,  comm_server);
          CXIOSManager::RunServer("Nemo", comm_client_server, comm_server); 
