Changeset 996 for XIOS/trunk/src


Ignore:
Timestamp:
11/18/16 15:04:43 (7 years ago)
Author:
mhnguyen
Message:

Some modifications to make sure there is no strange _undefined_id_ name appearing in netcdf file

+) Improve the algo to search for correct name
+) Some minor changes in code

Test
+) On Curie
+) Names are correct as they should be.

Location:
XIOS/trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/attribute_map.cpp

    r966 r996  
    2828 
    2929      //--------------------------------------------------------------- 
    30  
    31       bool CAttributeMap::hasAttribute(const StdString& key) const 
    32       { 
    33          return (this->find(key) != this->end()); 
    34       } 
    3530 
    3631      void CAttributeMap::clearAttribute(const StdString& key) 
  • XIOS/trunk/src/attribute_map.hpp

    r623 r996  
    2020 
    2121            /// Tests /// 
    22             inline bool hasAttribute(const StdString & key) const; 
     22            bool hasAttribute(const StdString & key) const; 
    2323 
    2424            /// Accesseurs /// 
     
    7272      };  // class CAttributeMap 
    7373 
     74      inline bool CAttributeMap::hasAttribute(const StdString& key) const 
     75      { 
     76         return (this->find(key) != this->end()); 
     77      } 
     78 
    7479} // namespace xios 
    7580 
  • XIOS/trunk/src/declare_ref_func.hpp

    r962 r996  
    5151    SuperClassAttribute::setAttributes(refer_ptr, apply);              \ 
    5252  }                                                                    \ 
     53  if (this->hasAttribute("name") && this->name.isEmpty()) \ 
     54    this->name.setValue(this->get##type##OutputName());                \ 
    5355}                                                                      \ 
    5456                                                                       \ 
     
    102104      tmp_ptr = refer_ptr;                                             \ 
    103105      refer_ptr = tmp_ptr->getDirect##type##Reference();               \ 
    104       if (refer_ptr->hasDirect##type##Reference())                     \ 
     106      if (refer_ptr->hasAutoGeneratedId() &&                           \ 
     107          refer_ptr->hasDirect##type##Reference())                     \ 
    105108        nameRef = refer_ptr->name_##_ref;                              \ 
     109      else {                                                           \ 
     110        nameRef = refer_ptr->getId(); break;                           \ 
     111      }                                                                \ 
    106112      if (tmpRefObjects.end() != tmpRefObjects.find(refer_ptr))        \ 
    107113      {                                                                \ 
  • XIOS/trunk/src/node/file.cpp

    r989 r996  
    235235      const int recordOffset = record_offset.isEmpty() ? 0 : record_offset; 
    236236 
    237       set<CAxis*> setAxis; 
    238       set<CDomain*> setDomains; 
    239  
     237      // set<CAxis*> setAxis; 
     238      // set<CDomain*> setDomains; 
     239      set<StdString> setAxis; 
     240      set<StdString> setDomains; 
     241       
    240242      std::vector<CField*>::iterator it, end = this->enabledFields.end(); 
    241243      for (it = this->enabledFields.begin(); it != end; it++) 
     
    245247         std::vector<CAxis*> vecAxis = field->grid->getAxis(); 
    246248         for (size_t i = 0; i < vecAxis.size(); ++i) 
    247             setAxis.insert(vecAxis[i]); 
     249            setAxis.insert(vecAxis[i]->getAxisOutputName()); 
     250            // setAxis.insert(vecAxis[i]); 
    248251         std::vector<CDomain*> vecDomains = field->grid->getDomains(); 
    249252         for (size_t i = 0; i < vecDomains.size(); ++i) 
    250             setDomains.insert(vecDomains[i]); 
     253            setDomains.insert(vecDomains[i]->getDomainOutputName()); 
     254            // setDomains.insert(vecDomains[i]); 
    251255 
    252256         field->resetNStep(recordOffset); 
Note: See TracChangeset for help on using the changeset viewer.