Changeset 777


Ignore:
Timestamp:
11/02/15 11:46:35 (6 years ago)
Author:
mhnguyen
Message:

Fixing some minors bug during merge

Test
+) On Curie
+) test_remap passes

Location:
XIOS/trunk/src
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/declare_ref_func.hpp

    r775 r777  
    1919  C##type* getDirect##type##Reference(void) const;          \ 
    2020  const StdString& get##type##OutputName(void) const;       \ 
    21   void setAttributesBaseReference(bool apply = true);       \ 
     21  void setAttributesReference(bool apply = true);       \ 
     22                                                                       \ 
     23private:                                                               \ 
     24  std::vector<C##type*> refObjects;                                    \ 
    2225 
    2326// Definitions 
     
    2629void C##type::solveRefInheritance(bool apply)                          \ 
    2730{                                                                      \ 
    28   std::set<C##type*> refObjects;                                       \ 
     31  std::set<C##type*> tmpRefObjects;                                    \ 
    2932  C##type* refer_ptr = this;                                           \ 
     33  refObjects.push_back(this);                                          \ 
    3034                                                                       \ 
    3135  while (refer_ptr->hasDirect##type##Reference())                      \ 
    3236  {                                                                    \ 
    33     refObjects.insert(refer_ptr);                                      \ 
     37    tmpRefObjects.insert(refer_ptr);                                   \ 
    3438                                                                       \ 
    3539    refer_ptr = refer_ptr->getDirect##type##Reference();               \ 
    3640                                                                       \ 
    37     if (refObjects.end() != refObjects.find(refer_ptr))                \ 
     41    if (tmpRefObjects.end() != tmpRefObjects.find(refer_ptr))          \ 
    3842    {                                                                  \ 
    3943      ERROR("void C" #type "::solveRefInheritance(bool apply)",        \ 
     
    4246    }                                                                  \ 
    4347                                                                       \ 
     48    refObjects.push_back(refer_ptr);                                   \ 
    4449    SuperClassAttribute::setAttributes(refer_ptr, apply);              \ 
    4550  }                                                                    \ 
    4651}                                                                      \ 
    4752                                                                       \ 
    48 void C##type::setAttributesBaseReference(bool apply)                   \ 
     53void C##type::setAttributesReference(bool apply)                       \ 
    4954{                                                                      \ 
    50   baseRefObject->setAttributes(this, apply);                           \ 
     55  for (int i = 1; i < refObjects.size(); ++i)                          \ 
     56    refObjects[i]->setAttributes(refObjects[0], apply);                \ 
    5157}                                                                      \ 
    5258                                                                       \ 
  • XIOS/trunk/src/io/nc4_data_input.cpp

    r775 r777  
    114114           } 
    115115        } 
    116                    
     116 
    117117        SuperClassWriter::getData(fieldData, fieldId, isCollective, field->getNStep() - 1, &start, &count); 
    118118        break; 
     
    133133  void CNc4DataInput::readFieldAttributes_(CField* field, bool readAttributeValues) 
    134134  { 
    135     StdString fieldId = !field->name.isEmpty() ? field->name.getValue() : field->getBaseFieldReference()->getId(); 
     135    StdString fieldId = field->getFieldOutputName(); 
    136136 
    137137    CGrid* grid = field->grid; 
  • XIOS/trunk/src/node/grid.cpp

    r775 r777  
    212212     for (size_t i = 0; i < axisList.size(); ++i) 
    213213     { 
    214        axisList[i]->solveBaseReference(); 
    215        axisList[i]->setAttributesBaseReference(); 
     214       axisList[i]->setAttributesReference(); 
    216215     } 
    217216 
     
    220219     for (size_t i = 0; i < domList.size(); ++i) 
    221220     { 
    222        domList[i]->solveBaseReference(); 
    223        domList[i]->setAttributesBaseReference(); 
     221       domList[i]->setAttributesReference(); 
    224222     } 
    225223     this->hasDomainAxisBaseRef_ = true; 
  • XIOS/trunk/src/object.cpp

    r769 r777  
    5353    this->id = id; 
    5454    this->idDefined = true; 
    55     this->idAutoGenerated = false; 
     55    this->idAutoGenerated = idAutoGenerated; 
    5656  } 
    5757 
Note: See TracChangeset for help on using the changeset viewer.