Index: /XIOS/trunk/src/config/file_attribute.conf
===================================================================
--- /XIOS/trunk/src/config/file_attribute.conf	(revision 317)
+++ /XIOS/trunk/src/config/file_attribute.conf	(revision 318)
@@ -6,5 +6,6 @@
 DECLARE_ATTRIBUTE(StdString, output_freq)
 DECLARE_ATTRIBUTE(int,       output_level)
-
+DECLARE_ATTRIBUTE(StdString, sync_freq)
+DECLARE_ATTRIBUTE(StdString, split_freq)
 DECLARE_ATTRIBUTE(bool,      enabled)
 DECLARE_ATTRIBUTE(StdString,      type)
Index: /XIOS/trunk/src/fortran_attr_interface/file_interface_attr.f90
===================================================================
--- /XIOS/trunk/src/fortran_attr_interface/file_interface_attr.f90	(revision 317)
+++ /XIOS/trunk/src/fortran_attr_interface/file_interface_attr.f90	(revision 318)
@@ -95,4 +95,34 @@
     
     
+    SUBROUTINE cxios_set_file_split_freq(file_hdl, split_freq, split_freq_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq
+      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_size
+    END SUBROUTINE cxios_set_file_split_freq
+    
+    SUBROUTINE cxios_get_file_split_freq(file_hdl, split_freq, split_freq_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq
+      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_size
+    END SUBROUTINE cxios_get_file_split_freq
+    
+    
+    SUBROUTINE cxios_set_file_sync_freq(file_hdl, sync_freq, sync_freq_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: sync_freq
+      INTEGER  (kind = C_INT)     , VALUE        :: sync_freq_size
+    END SUBROUTINE cxios_set_file_sync_freq
+    
+    SUBROUTINE cxios_get_file_sync_freq(file_hdl, sync_freq, sync_freq_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: file_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: sync_freq
+      INTEGER  (kind = C_INT)     , VALUE        :: sync_freq_size
+    END SUBROUTINE cxios_get_file_sync_freq
+    
+    
     SUBROUTINE cxios_set_file_type(file_hdl, type, type_size) BIND(C)
       USE ISO_C_BINDING
Index: /XIOS/trunk/src/fortran_attr_interface/filegroup_interface_attr.f90
===================================================================
--- /XIOS/trunk/src/fortran_attr_interface/filegroup_interface_attr.f90	(revision 317)
+++ /XIOS/trunk/src/fortran_attr_interface/filegroup_interface_attr.f90	(revision 318)
@@ -110,4 +110,34 @@
     
     
+    SUBROUTINE cxios_set_filegroup_split_freq(filegroup_hdl, split_freq, split_freq_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq
+      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_size
+    END SUBROUTINE cxios_set_filegroup_split_freq
+    
+    SUBROUTINE cxios_get_filegroup_split_freq(filegroup_hdl, split_freq, split_freq_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: split_freq
+      INTEGER  (kind = C_INT)     , VALUE        :: split_freq_size
+    END SUBROUTINE cxios_get_filegroup_split_freq
+    
+    
+    SUBROUTINE cxios_set_filegroup_sync_freq(filegroup_hdl, sync_freq, sync_freq_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: sync_freq
+      INTEGER  (kind = C_INT)     , VALUE        :: sync_freq_size
+    END SUBROUTINE cxios_set_filegroup_sync_freq
+    
+    SUBROUTINE cxios_get_filegroup_sync_freq(filegroup_hdl, sync_freq, sync_freq_size) BIND(C)
+      USE ISO_C_BINDING
+      INTEGER (kind = C_INTPTR_T), VALUE :: filegroup_hdl
+      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: sync_freq
+      INTEGER  (kind = C_INT)     , VALUE        :: sync_freq_size
+    END SUBROUTINE cxios_get_filegroup_sync_freq
+    
+    
     SUBROUTINE cxios_set_filegroup_type(filegroup_hdl, type, type_size) BIND(C)
       USE ISO_C_BINDING
Index: /XIOS/trunk/src/fortran_attr_interface/icfile_attr.cpp
===================================================================
--- /XIOS/trunk/src/fortran_attr_interface/icfile_attr.cpp	(revision 317)
+++ /XIOS/trunk/src/fortran_attr_interface/icfile_attr.cpp	(revision 318)
@@ -99,4 +99,34 @@
   
   
+  void cxios_set_file_split_freq(file_Ptr file_hdl, const char * split_freq, int split_freq_size)
+  {
+    std::string split_freq_str;
+    if(!cstr2string(split_freq, split_freq_size, split_freq_str)) return;
+    file_hdl->split_freq.setValue(split_freq_str);
+    file_hdl->sendAttributToServer(file_hdl->split_freq);
+  }
+  
+  void cxios_get_file_split_freq(file_Ptr file_hdl, char * split_freq, int split_freq_size)
+  {
+    if(!string_copy(file_hdl->split_freq.getValue(),split_freq , split_freq_size))
+      ERROR("void cxios_get_file_split_freq(file_Ptr file_hdl, char * split_freq, int split_freq_size)", <<"Input string is to short");
+  }
+  
+  
+  void cxios_set_file_sync_freq(file_Ptr file_hdl, const char * sync_freq, int sync_freq_size)
+  {
+    std::string sync_freq_str;
+    if(!cstr2string(sync_freq, sync_freq_size, sync_freq_str)) return;
+    file_hdl->sync_freq.setValue(sync_freq_str);
+    file_hdl->sendAttributToServer(file_hdl->sync_freq);
+  }
+  
+  void cxios_get_file_sync_freq(file_Ptr file_hdl, char * sync_freq, int sync_freq_size)
+  {
+    if(!string_copy(file_hdl->sync_freq.getValue(),sync_freq , sync_freq_size))
+      ERROR("void cxios_get_file_sync_freq(file_Ptr file_hdl, char * sync_freq, int sync_freq_size)", <<"Input string is to short");
+  }
+  
+  
   void cxios_set_file_type(file_Ptr file_hdl, const char * type, int type_size)
   {
Index: /XIOS/trunk/src/fortran_attr_interface/icfilegroup_attr.cpp
===================================================================
--- /XIOS/trunk/src/fortran_attr_interface/icfilegroup_attr.cpp	(revision 317)
+++ /XIOS/trunk/src/fortran_attr_interface/icfilegroup_attr.cpp	(revision 318)
@@ -114,4 +114,34 @@
   
   
+  void cxios_set_filegroup_split_freq(filegroup_Ptr filegroup_hdl, const char * split_freq, int split_freq_size)
+  {
+    std::string split_freq_str;
+    if(!cstr2string(split_freq, split_freq_size, split_freq_str)) return;
+    filegroup_hdl->split_freq.setValue(split_freq_str);
+    filegroup_hdl->sendAttributToServer(filegroup_hdl->split_freq);
+  }
+  
+  void cxios_get_filegroup_split_freq(filegroup_Ptr filegroup_hdl, char * split_freq, int split_freq_size)
+  {
+    if(!string_copy(filegroup_hdl->split_freq.getValue(),split_freq , split_freq_size))
+      ERROR("void cxios_get_filegroup_split_freq(filegroup_Ptr filegroup_hdl, char * split_freq, int split_freq_size)", <<"Input string is to short");
+  }
+  
+  
+  void cxios_set_filegroup_sync_freq(filegroup_Ptr filegroup_hdl, const char * sync_freq, int sync_freq_size)
+  {
+    std::string sync_freq_str;
+    if(!cstr2string(sync_freq, sync_freq_size, sync_freq_str)) return;
+    filegroup_hdl->sync_freq.setValue(sync_freq_str);
+    filegroup_hdl->sendAttributToServer(filegroup_hdl->sync_freq);
+  }
+  
+  void cxios_get_filegroup_sync_freq(filegroup_Ptr filegroup_hdl, char * sync_freq, int sync_freq_size)
+  {
+    if(!string_copy(filegroup_hdl->sync_freq.getValue(),sync_freq , sync_freq_size))
+      ERROR("void cxios_get_filegroup_sync_freq(filegroup_Ptr filegroup_hdl, char * sync_freq, int sync_freq_size)", <<"Input string is to short");
+  }
+  
+  
   void cxios_set_filegroup_type(filegroup_Ptr filegroup_hdl, const char * type, int type_size)
   {
Index: /XIOS/trunk/src/fortran_attr_interface/ifile_attr.F90
===================================================================
--- /XIOS/trunk/src/fortran_attr_interface/ifile_attr.F90	(revision 317)
+++ /XIOS/trunk/src/fortran_attr_interface/ifile_attr.F90	(revision 318)
@@ -12,5 +12,6 @@
   
   SUBROUTINE xios(set_file_attr)  &
-    ( file_id, description, enabled, name, name_suffix, output_freq, output_level, type )
+    ( file_id, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  &
+    , type )
     
     IMPLICIT NONE
@@ -24,14 +25,18 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
       
       CALL xios(get_file_handle)(file_id,file_hdl)
       CALL xios(set_file_attr_hdl_)   &
-      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, type )
+      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  &
+      , type )
     
   END SUBROUTINE xios(set_file_attr)
   
   SUBROUTINE xios(set_file_attr_hdl)  &
-    ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, type )
+    ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  &
+    , type )
     
     IMPLICIT NONE
@@ -44,14 +49,17 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
       
       CALL xios(set_file_attr_hdl_)  &
-      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, type )
+      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  &
+      , type )
     
   END SUBROUTINE xios(set_file_attr_hdl)
   
   SUBROUTINE xios(set_file_attr_hdl_)   &
-    ( file_hdl, description_, enabled_, name_, name_suffix_, output_freq_, output_level_, type_  &
-     )
+    ( file_hdl, description_, enabled_, name_, name_suffix_, output_freq_, output_level_, split_freq_  &
+    , sync_freq_, type_ )
     
     IMPLICIT NONE
@@ -64,4 +72,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq_
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_
       
@@ -91,4 +101,12 @@
       ENDIF
       
+      IF (PRESENT(split_freq_)) THEN
+        CALL cxios_set_file_split_freq(file_hdl%daddr, split_freq_, len(split_freq_))
+      ENDIF
+      
+      IF (PRESENT(sync_freq_)) THEN
+        CALL cxios_set_file_sync_freq(file_hdl%daddr, sync_freq_, len(sync_freq_))
+      ENDIF
+      
       IF (PRESENT(type_)) THEN
         CALL cxios_set_file_type(file_hdl%daddr, type_, len(type_))
@@ -100,5 +118,6 @@
   
   SUBROUTINE xios(get_file_attr)  &
-    ( file_id, description, enabled, name, name_suffix, output_freq, output_level, type )
+    ( file_id, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  &
+    , type )
     
     IMPLICIT NONE
@@ -112,14 +131,18 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
       
       CALL xios(get_file_handle)(file_id,file_hdl)
       CALL xios(get_file_attr_hdl_)   &
-      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, type )
+      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  &
+      , type )
     
   END SUBROUTINE xios(get_file_attr)
   
   SUBROUTINE xios(get_file_attr_hdl)  &
-    ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, type )
+    ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  &
+    , type )
     
     IMPLICIT NONE
@@ -132,14 +155,17 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
       
       CALL xios(get_file_attr_hdl_)  &
-      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, type )
+      ( file_hdl, description, enabled, name, name_suffix, output_freq, output_level, split_freq, sync_freq  &
+      , type )
     
   END SUBROUTINE xios(get_file_attr_hdl)
   
   SUBROUTINE xios(get_file_attr_hdl_)   &
-    ( file_hdl, description_, enabled_, name_, name_suffix_, output_freq_, output_level_, type_  &
-     )
+    ( file_hdl, description_, enabled_, name_, name_suffix_, output_freq_, output_level_, split_freq_  &
+    , sync_freq_, type_ )
     
     IMPLICIT NONE
@@ -152,4 +178,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq_
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_
       
@@ -179,4 +207,12 @@
       ENDIF
       
+      IF (PRESENT(split_freq_)) THEN
+        CALL cxios_get_file_split_freq(file_hdl%daddr, split_freq_, len(split_freq_))
+      ENDIF
+      
+      IF (PRESENT(sync_freq_)) THEN
+        CALL cxios_get_file_sync_freq(file_hdl%daddr, sync_freq_, len(sync_freq_))
+      ENDIF
+      
       IF (PRESENT(type_)) THEN
         CALL cxios_get_file_type(file_hdl%daddr, type_, len(type_))
Index: /XIOS/trunk/src/fortran_attr_interface/ifilegroup_attr.F90
===================================================================
--- /XIOS/trunk/src/fortran_attr_interface/ifilegroup_attr.F90	(revision 317)
+++ /XIOS/trunk/src/fortran_attr_interface/ifilegroup_attr.F90	(revision 318)
@@ -13,5 +13,5 @@
   SUBROUTINE xios(set_filegroup_attr)  &
     ( filegroup_id, description, enabled, group_ref, name, name_suffix, output_freq, output_level  &
-    , type )
+    , split_freq, sync_freq, type )
     
     IMPLICIT NONE
@@ -26,4 +26,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
       
@@ -31,5 +33,5 @@
       CALL xios(set_filegroup_attr_hdl_)   &
       ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  &
-      , type )
+      , split_freq, sync_freq, type )
     
   END SUBROUTINE xios(set_filegroup_attr)
@@ -37,5 +39,5 @@
   SUBROUTINE xios(set_filegroup_attr_hdl)  &
     ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  &
-    , type )
+    , split_freq, sync_freq, type )
     
     IMPLICIT NONE
@@ -49,9 +51,11 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type
       
       CALL xios(set_filegroup_attr_hdl_)  &
       ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  &
-      , type )
+      , split_freq, sync_freq, type )
     
   END SUBROUTINE xios(set_filegroup_attr_hdl)
@@ -59,5 +63,5 @@
   SUBROUTINE xios(set_filegroup_attr_hdl_)   &
     ( filegroup_hdl, description_, enabled_, group_ref_, name_, name_suffix_, output_freq_, output_level_  &
-    , type_ )
+    , split_freq_, sync_freq_, type_ )
     
     IMPLICIT NONE
@@ -71,4 +75,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_freq_
       INTEGER  , OPTIONAL, INTENT(IN) :: output_level_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: split_freq_
+      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: sync_freq_
       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_
       
@@ -102,4 +108,12 @@
       ENDIF
       
+      IF (PRESENT(split_freq_)) THEN
+        CALL cxios_set_filegroup_split_freq(filegroup_hdl%daddr, split_freq_, len(split_freq_))
+      ENDIF
+      
+      IF (PRESENT(sync_freq_)) THEN
+        CALL cxios_set_filegroup_sync_freq(filegroup_hdl%daddr, sync_freq_, len(sync_freq_))
+      ENDIF
+      
       IF (PRESENT(type_)) THEN
         CALL cxios_set_filegroup_type(filegroup_hdl%daddr, type_, len(type_))
@@ -112,5 +126,5 @@
   SUBROUTINE xios(get_filegroup_attr)  &
     ( filegroup_id, description, enabled, group_ref, name, name_suffix, output_freq, output_level  &
-    , type )
+    , split_freq, sync_freq, type )
     
     IMPLICIT NONE
@@ -125,4 +139,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
       
@@ -130,5 +146,5 @@
       CALL xios(get_filegroup_attr_hdl_)   &
       ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  &
-      , type )
+      , split_freq, sync_freq, type )
     
   END SUBROUTINE xios(get_filegroup_attr)
@@ -136,5 +152,5 @@
   SUBROUTINE xios(get_filegroup_attr_hdl)  &
     ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  &
-    , type )
+    , split_freq, sync_freq, type )
     
     IMPLICIT NONE
@@ -148,9 +164,11 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type
       
       CALL xios(get_filegroup_attr_hdl_)  &
       ( filegroup_hdl, description, enabled, group_ref, name, name_suffix, output_freq, output_level  &
-      , type )
+      , split_freq, sync_freq, type )
     
   END SUBROUTINE xios(get_filegroup_attr_hdl)
@@ -158,5 +176,5 @@
   SUBROUTINE xios(get_filegroup_attr_hdl_)   &
     ( filegroup_hdl, description_, enabled_, group_ref_, name_, name_suffix_, output_freq_, output_level_  &
-    , type_ )
+    , split_freq_, sync_freq_, type_ )
     
     IMPLICIT NONE
@@ -170,4 +188,6 @@
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_freq_
       INTEGER  , OPTIONAL, INTENT(OUT) :: output_level_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: split_freq_
+      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: sync_freq_
       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_
       
@@ -201,4 +221,12 @@
       ENDIF
       
+      IF (PRESENT(split_freq_)) THEN
+        CALL cxios_get_filegroup_split_freq(filegroup_hdl%daddr, split_freq_, len(split_freq_))
+      ENDIF
+      
+      IF (PRESENT(sync_freq_)) THEN
+        CALL cxios_get_filegroup_sync_freq(filegroup_hdl%daddr, sync_freq_, len(sync_freq_))
+      ENDIF
+      
       IF (PRESENT(type_)) THEN
         CALL cxios_get_filegroup_type(filegroup_hdl%daddr, type_, len(type_))
Index: /XIOS/trunk/src/node/file.cpp
===================================================================
--- /XIOS/trunk/src/node/file.cpp	(revision 317)
+++ /XIOS/trunk/src/node/file.cpp	(revision 318)
@@ -11,4 +11,6 @@
 #include "context_server.hpp"
 #include "nc4_data_output.hpp"
+#include "calendar_util.hpp"
+#include "date.hpp"
 
 
@@ -125,17 +127,38 @@
 
    //----------------------------------------------------------------
-
+   bool CFile::isSyncTime(void)
+   {
+     shared_ptr<CContext> context=CObjectFactory::GetObject<CContext>(CObjectFactory::GetCurrentContextId()) ;
+     date::CDate& currentDate=context->calendar->getCurrentDate() ;
+     if (! sync_freq.isEmpty())
+     {
+       if (*lastSync+syncFreq < currentDate)
+       {
+         *lastSync=currentDate ;
+         return true ;
+        }
+      }
+      return false ;
+    }
+      
    void CFile::createHeader(void)
    {
-    
+      shared_ptr<CContext> context=CObjectFactory::GetObject<CContext>(CObjectFactory::GetCurrentContextId()) ;
+
+      if (! sync_freq.isEmpty()) syncFreq = date::CDuration::FromString(sync_freq.getValue());
+      lastSync=new date::CDate(context->calendar->getCurrentDate()) ;
+      
       std::vector<boost::shared_ptr<CField> >::iterator it, end = this->enabledFields.end();
 
       AllDomainEmpty=true ;
+      set<CDomain*> setDomain ;
       for (it = this->enabledFields.begin() ;it != end; it++)
       {
          boost::shared_ptr<CField> field = *it;
          AllDomainEmpty&=field->grid->domain->isEmpty() ;
-      }
-      
+         setDomain.insert(field->grid->domain.get()) ;
+      }
+      nbDomain=setDomain.size() ;
+
       if (!AllDomainEmpty ||  type.getValue()=="one_file")
       {
@@ -156,5 +179,4 @@
          } 
          
-         shared_ptr<CContext> context=CObjectFactory::GetObject<CContext>(CObjectFactory::GetCurrentContextId()) ;
          CContextServer* server=context->server ;
 
@@ -188,4 +210,5 @@
      if (!AllDomainEmpty ||  type.getValue()=="one_file")
        this->data_out->closeFile();
+     delete lastSync ;
    }
    //----------------------------------------------------------------
Index: /XIOS/trunk/src/node/file.hpp
===================================================================
--- /XIOS/trunk/src/node/file.hpp	(revision 317)
+++ /XIOS/trunk/src/node/file.hpp	(revision 318)
@@ -7,4 +7,5 @@
 #include "data_output.hpp"
 #include "declare_group.hpp"
+#include "date.hpp"
 
 
@@ -102,5 +103,8 @@
          void recvAddFieldGroup(CBufferIn& buffer) ;
          static bool dispatchEvent(CEventServer& event) ;
-
+         bool isSyncTime(void) ;
+         date::CDate* lastSync ;
+         date::CDuration syncFreq ;
+         int nbDomain ;
       private :
 
Index: /XIOS/trunk/src/output/nc4_data_output.cpp
===================================================================
--- /XIOS/trunk/src/output/nc4_data_output.cpp	(revision 317)
+++ /XIOS/trunk/src/output/nc4_data_output.cpp	(revision 318)
@@ -70,11 +70,13 @@
          StdString domid     = (!domain->name.isEmpty())
                              ? domain->name.getValue() : domain->getId();
-         StdString lonid     = StdString("lon_").append(domid);
-         StdString latid     = StdString("lat_").append(domid);
+         StdString appendDomid  = (singleDomain) ? "" : "_"+domid ;
+
+         StdString lonid     = StdString("lon").append(appendDomid);
+         StdString latid     = StdString("lat").append(appendDomid);
          StdString lonid_loc = (server->intraCommSize > 1)
-                             ? StdString("lon_").append(domid).append("_local")
+                             ? StdString("lon").append(appendDomid).append("_local")
                              : lonid;
          StdString latid_loc = (server->intraCommSize > 1)
-                             ? StdString("lat_").append(domid).append("_local")
+                             ? StdString("lat").append(appendDomid).append("_local")
                              : latid;
 // supress mask         StdString maskid    = StdString("mask_").append(domid).append("_local");
@@ -101,6 +103,6 @@
                {
                  dim0.push_back(latid_loc); dim0.push_back(lonid_loc);
-                 lonid = StdString("nav_lon_").append(domid);
-                 latid = StdString("nav_lat_").append(domid);
+                 lonid = StdString("nav_lon").append(appendDomid);
+                 latid = StdString("nav_lat").append(appendDomid);
                }
                else
@@ -118,5 +120,5 @@
                                              domain->zoom_jbegin_srv,
                                              domain->zoom_nj_srv,
-                                             domid);
+                                             appendDomid);
                }
                
@@ -172,6 +174,6 @@
                {
                   dim0.push_back(latid); dim0.push_back(lonid);
-                  lonid = StdString("nav_lon_").append(domid);
-                  latid = StdString("nav_lat_").append(domid);
+                  lonid = StdString("nav_lon").append(appendDomid);
+                  latid = StdString("nav_lat").append(appendDomid);
                   SuperClassWriter::addVariable(latid, NC_FLOAT, dim0);
                   SuperClassWriter::addVariable(lonid, NC_FLOAT, dim0);
@@ -283,11 +285,13 @@
          StdString domid     = (!domain->name.isEmpty())
                              ? domain->name.getValue() : domain->getId();
-         StdString lonid     = StdString("lon_").append(domid);
-         StdString latid     = StdString("lat_").append(domid);
+         StdString appendDomid  = (singleDomain) ? "" : "_"+domid ;
+
+         StdString lonid     = StdString("lon").append(appendDomid);
+         StdString latid     = StdString("lat").append(appendDomid);
          StdString lonid_loc = (server->intraCommSize > 1)
-                             ? StdString("lon_").append(domid).append("_local")
+                             ? StdString("lon").append(appendDomid).append("_local")
                              : lonid;
          StdString latid_loc = (server->intraCommSize > 1)
-                             ? StdString("lat_").append(domid).append("_local")
+                             ? StdString("lat").append(appendDomid).append("_local")
                              : latid;
          StdString fieldid   = (!field->name.isEmpty())
@@ -324,6 +328,6 @@
          if (isCurvilinear)
          {
-            coodinates.push_back(StdString("nav_lat_").append(domid));
-            coodinates.push_back(StdString("nav_lon_").append(domid));
+            coodinates.push_back(StdString("nav_lat").append(appendDomid));
+            coodinates.push_back(StdString("nav_lon").append(appendDomid));
          }
          else
@@ -426,4 +430,6 @@
                                    StdString("An IPSL model"),
                                    this->getTimeStamp());
+         if (file->nbDomain==1) singleDomain=true ;
+         else singleDomain=false ;
       }
 
@@ -454,4 +460,5 @@
       {
          shared_ptr<CContext> context=CObjectFactory::GetObject<CContext>(CObjectFactory::GetCurrentContextId()) ;
+          if (field->getRelFile()->isSyncTime()) SuperClassWriter::sync() ;
 
          boost::shared_ptr<CGrid> grid = field->grid ;
@@ -615,8 +622,8 @@
          (int ibegin, int ni, int jbegin, int nj, StdString domid)
       {
-         SuperClassWriter::addAttribute(StdString("ibegin_").append(domid), ibegin);
-         SuperClassWriter::addAttribute(StdString("ni_"    ).append(domid), ni);
-         SuperClassWriter::addAttribute(StdString("jbegin_").append(domid), jbegin);
-         SuperClassWriter::addAttribute(StdString("nj_"    ).append(domid), nj);
+         SuperClassWriter::addAttribute(StdString("ibegin").append(domid), ibegin);
+         SuperClassWriter::addAttribute(StdString("ni"    ).append(domid), ni);
+         SuperClassWriter::addAttribute(StdString("jbegin").append(domid), jbegin);
+         SuperClassWriter::addAttribute(StdString("nj"    ).append(domid), nj);
       }
 
Index: /XIOS/trunk/src/output/nc4_data_output.hpp
===================================================================
--- /XIOS/trunk/src/output/nc4_data_output.hpp	(revision 317)
+++ /XIOS/trunk/src/output/nc4_data_output.hpp	(revision 318)
@@ -37,5 +37,5 @@
             /// Destructeur ///
             virtual ~CNc4DataOutput(void);
-
+            bool singleDomain ;
          protected :
 
