Index: /XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp
===================================================================
--- /XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp	(revision 2350)
+++ /XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp	(revision 2351)
@@ -1951,5 +1951,5 @@
     if (CGrid::has(newId))
     {
-      cout<<"Retrive existing grid : "<<newId<<endl ;
+      info(100)<<"Retrive existing grid : "<<newId<<endl ;
       newGrid = CGrid::get(newId);
       isNewGrid = false ;
@@ -1957,5 +1957,5 @@
     else  
     {
-      cout<<"Create new grid : "<<newId<<endl ;
+      info(100)<<"Create new grid : "<<newId<<endl ;
       newGrid = CGrid::create(newId) ;
       isNewGrid = true ;
@@ -1978,14 +1978,26 @@
 
       SElement srcElement  ;
-      if (gridSrc==nullptr) srcElement = this->elements_[i] ;
-      else srcElement = gridSrc->elements_[i] ;
-
-      if (gridSrc==nullptr) transformationPath.mergePaths() ;
+      
+      CTransformationPaths testTransformationPath(transformationPath) ;
+      testTransformationPath.mergePaths() ;
+
+      if (testTransformationPath.hasTransform())
+      {  
+        if (gridSrc==nullptr) srcElement = this->elements_[i] ;
+        else srcElement = gridSrc->elements_[i] ;
+
+        if (gridSrc==nullptr) transformationPath.mergePaths() ;
+        else
+        {  
+          if (srcElement.type==TYPE_DOMAIN)      transformationPath.mergePaths(srcElement.domain->getTransformationPaths()) ;
+          else if (srcElement.type==TYPE_AXIS)   transformationPath.mergePaths(srcElement.axis->getTransformationPaths()) ;
+          else if (srcElement.type==TYPE_SCALAR) transformationPath.mergePaths(srcElement.scalar->getTransformationPaths()) ;
+        }
+      }
       else
-      {  
-        if (srcElement.type==TYPE_DOMAIN)      transformationPath.mergePaths(srcElement.domain->getTransformationPaths()) ;
-        else if (srcElement.type==TYPE_AXIS)   transformationPath.mergePaths(srcElement.axis->getTransformationPaths()) ;
-        else if (srcElement.type==TYPE_SCALAR) transformationPath.mergePaths(srcElement.scalar->getTransformationPaths()) ;
-      }
+      {
+        srcElement = this->elements_[i] ;
+        transformationPath.mergePaths() ;
+      }  
 
       hasTransform=transformationPath.hasTransform()  ;
@@ -2009,5 +2021,5 @@
         map<int,int> posInGrid={{0,0}} ;
                
-        cout<<"--> New transform from "<<srcElementId<<" to "<<dstElementId<<endl ;
+        info(100)<<"--> New transform from "<<srcElementId<<" to "<<dstElementId<<endl ;
         if (dstElementType==EElement::DOMAIN)
         {
@@ -2022,5 +2034,5 @@
             {
               dstDomain = CDomain::get(dstElementId) ;
-              cout<<"Retrive existing domain : "<<dstElementId<<endl ;
+              info(100)<<"Retrive existing domain : "<<dstElementId<<endl ;
             }
             else
@@ -2028,5 +2040,5 @@
               dstDomain = CDomain::create() ;
               dstDomain->createAlias(dstElementId) ;
-              cout<<"Create new domain : "<<dstDomain->getId()<<" with alias : "<<dstElementId<<endl ;
+              info(100)<<"Create new domain : "<<dstDomain->getId()<<" with alias : "<<dstElementId<<endl ;
 
               if (isGenerate) 
@@ -2084,5 +2096,5 @@
             {
               dstAxis = CAxis::get(dstElementId) ;
-              cout<<"Retrive existing axis : "<<dstElementId<<endl ;
+              info(100)<<"Retrive existing axis : "<<dstElementId<<endl ;
             }
             else
@@ -2090,5 +2102,5 @@
               dstAxis = CAxis::create() ;
               dstAxis->createAlias(dstElementId) ;
-              cout<<"Create new axis : "<<dstAxis->getId()<<" with alias : "<<dstElementId<<endl ;
+              info(100)<<"Create new axis : "<<dstAxis->getId()<<" with alias : "<<dstElementId<<endl ;
               
               if (isGenerate) 
@@ -2145,5 +2157,5 @@
             {
               dstScalar = CScalar::get(dstElementId) ;
-              cout<<"Retrive existing scalar : "<<dstElementId<<endl ;
+              info(100)<<"Retrive existing scalar : "<<dstElementId<<endl ;
             }
             else
@@ -2151,5 +2163,5 @@
               dstScalar = CScalar::create() ;
               dstScalar->createAlias(dstElementId) ;
-              cout<<"Create new scalar : "<<dstScalar->getId()<<" with alias : "<<dstElementId<<endl ;
+              info(100)<<"Create new scalar : "<<dstScalar->getId()<<" with alias : "<<dstElementId<<endl ;
               
               if (isGenerate) 
@@ -2323,5 +2335,5 @@
           domain->duplicateAttributes(element.domain) ;
           domain->setTemplateId(element.domain) ;
-          if (domain->name.isEmpty()) domain->name = element.domain->getId() ;
+          domain->name = domain->getDomainOutputName() ;
           newGrid->addDomain(domain->getId()) ;
         }
@@ -2331,5 +2343,5 @@
           axis->duplicateAttributes(element.axis) ;
           axis->setTemplateId(element.axis) ;
-          if (axis->name.isEmpty()) axis->name = element.axis->getId() ;
+          axis->name = axis->getAxisOutputName() ;
           newGrid->addAxis(axis->getId()) ;
         }
@@ -2339,5 +2351,5 @@
           scalar->duplicateAttributes(element.scalar) ;
           scalar->setTemplateId(element.scalar) ;
-          if (scalar->name.isEmpty()) scalar->name = element.scalar->getId() ;
+          scalar->name = scalar->getScalarOutputName() ;
           newGrid->addScalar(scalar->getId()) ;
         }
