Changeset 1103 for XIOS


Ignore:
Timestamp:
04/21/17 17:39:29 (7 years ago)
Author:
yushan
Message:

save modif. Todo: axis, domain, mesh, scalar, transformation

Location:
XIOS/dev/branch_yushan
Files:
36 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan/inputs/iodef.xml

    r1063 r1103  
    88   <field_definition level="1" enabled=".FALSE."> 
    99     <field id="field_A"  operation="average" freq_op="3600s" grid_ref="grid_A"/> 
    10      <field id="field_A_zoom"  operation="average" freq_op="3600s" field_ref="field_A" grid_ref="grid_A_zoom"/> 
     10     <field id="field_A_zoom"  operation="average" freq_op="3600s" field_ref="field_A" grid_ref="grid_A_zoom"/>  
    1111   </field_definition> 
    1212 
  • XIOS/dev/branch_yushan/src/attribute_map.hpp

    r1095 r1103  
    6969            /// Propriété statique /// 
    7070            static CAttributeMap * Current; 
    71             //#pragma omp threadprivate (Current) 
     71            #pragma omp threadprivate (Current) 
    7272 
    7373      };  // class CAttributeMap 
  • XIOS/dev/branch_yushan/src/buffer_client.hpp

    r1095 r1103  
    1616    public: 
    1717      static size_t maxRequestSize; 
    18       //#pragma omp threadprivate(maxRequestSize) 
     18      #pragma omp threadprivate(maxRequestSize) 
    1919 
    2020      CClientBuffer(MPI_Comm intercomm, int serverRank, StdSize bufferSize, StdSize maxBufferedEvents); 
  • XIOS/dev/branch_yushan/src/filter/spatial_transform_filter.cpp

    r1095 r1103  
    6464  } 
    6565 
    66   std::map<CGridTransformation*, boost::shared_ptr<CSpatialTransformFilterEngine> > CSpatialTransformFilterEngine::engines; 
     66  std::map<CGridTransformation*, boost::shared_ptr<CSpatialTransformFilterEngine> > *CSpatialTransformFilterEngine::engines_ptr = 0; 
    6767 
    6868  CSpatialTransformFilterEngine* CSpatialTransformFilterEngine::get(CGridTransformation* gridTransformation) 
     
    7272            "Impossible to get the requested engine, the grid transformation is invalid."); 
    7373 
    74     std::map<CGridTransformation*, boost::shared_ptr<CSpatialTransformFilterEngine> >::iterator it = engines.find(gridTransformation); 
    75     if (it == engines.end()) 
     74    if(engines_ptr == NULL) engines_ptr = new std::map<CGridTransformation*, boost::shared_ptr<CSpatialTransformFilterEngine> >; 
     75 
     76    std::map<CGridTransformation*, boost::shared_ptr<CSpatialTransformFilterEngine> >::iterator it = engines_ptr->find(gridTransformation); 
     77    if (it == engines_ptr->end()) 
    7678    { 
    7779      boost::shared_ptr<CSpatialTransformFilterEngine> engine(new CSpatialTransformFilterEngine(gridTransformation)); 
    78       it = engines.insert(std::make_pair(gridTransformation, engine)).first; 
     80      it = engines_ptr->insert(std::make_pair(gridTransformation, engine)).first; 
    7981    } 
    8082 
  • XIOS/dev/branch_yushan/src/filter/spatial_transform_filter.hpp

    r1095 r1103  
    102102 
    103103      //! The allocated engines 
    104       static std::map<CGridTransformation*, boost::shared_ptr<CSpatialTransformFilterEngine> > engines; 
    105       // #pragma omp threadprivate(engines) 
     104      //static std::map<CGridTransformation*, boost::shared_ptr<CSpatialTransformFilterEngine> > engines; 
     105      static std::map<CGridTransformation*, boost::shared_ptr<CSpatialTransformFilterEngine> > *engines_ptr; 
     106      #pragma omp threadprivate(engines_ptr) 
    106107       
    107108  }; // class CSpatialTransformFilterEngine 
  • XIOS/dev/branch_yushan/src/indent.hpp

    r1095 r1103  
    1010    public: 
    1111    static int defaultIncSize; 
    12     //#pragma omp threadprivate(defaultIncSize) 
     12    #pragma omp threadprivate(defaultIncSize) 
    1313     
    1414    static int index ; 
    15     //#pragma omp threadprivate(index) 
     15    #pragma omp threadprivate(index) 
    1616     
    1717    int incSize ; 
  • XIOS/dev/branch_yushan/src/indent_xml.cpp

    r1095 r1103  
    1515   { 
    1616      static unsigned int LineNB = 1; 
    17       //#pragma omp threadprivate(LineNB) 
     17      #pragma omp threadprivate(LineNB) 
    1818       
    1919      if (CIndent::WithLine) out << LineNB++ << ". "; 
  • XIOS/dev/branch_yushan/src/indent_xml.hpp

    r1095 r1103  
    2222         /// Propriétés  statiques /// 
    2323         static unsigned int Indent; 
    24          //#pragma omp threadprivate(Indent) 
     24         #pragma omp threadprivate(Indent) 
    2525 
    2626         static StdString    Increm; 
    27          //#pragma omp threadprivate(Increm) 
     27         #pragma omp threadprivate(Increm) 
    2828 
    2929         static bool         WithLine; 
    30          //#pragma omp threadprivate(WithLine) 
     30         #pragma omp threadprivate(WithLine) 
    3131 
    3232   }; // class CIndent 
  • XIOS/dev/branch_yushan/src/memtrack.cpp

    r1095 r1103  
    6868        private:    // static member variables 
    6969            static BlockHeader *ourFirstNode; 
    70             //#pragma omp threadprivate(ourFirstNode) 
     70            #pragma omp threadprivate(ourFirstNode) 
    7171     
    7272        private:    // member variables 
  • XIOS/dev/branch_yushan/src/node/axis.cpp

    r1095 r1103  
    4545 
    4646   std::map<StdString, ETranformationType> CAxis::transformationMapList_ = std::map<StdString, ETranformationType>(); 
     47    
     48   std::map<StdString, ETranformationType> *CAxis::transformationMapList_ptr = new std::map<StdString, ETranformationType>(); 
     49    
    4750   bool CAxis::dummyTransformationMapList_ = CAxis::initializeTransformationMap(CAxis::transformationMapList_); 
     51   //bool CAxis::dummyTransformationMapList_ = CAxis::initializeTransformationMap(*CAxis::transformationMapList_ptr); 
     52 
    4853   bool CAxis::initializeTransformationMap(std::map<StdString, ETranformationType>& m) 
    4954   { 
     
    5358     m["reduce_domain"] = TRANS_REDUCE_DOMAIN_TO_AXIS; 
    5459     m["extract_domain"] = TRANS_EXTRACT_DOMAIN_TO_AXIS; 
     60      
     61     // m.insert(m.end(), make_pair("zoom_axis", TRANS_ZOOM_AXIS)); printf("zoom_axis insert\n"); 
     62     // m.insert(m.end(), make_pair("interpolate_axis", TRANS_INTERPOLATE_AXIS)); printf("interpolate_axis insert\n"); 
     63     // m.insert(m.end(), make_pair("inverse_axis", TRANS_INVERSE_AXIS)); printf("inverse_axis insert\n"); 
     64     // m.insert(m.end(), make_pair("reduce_domain", TRANS_REDUCE_DOMAIN_TO_AXIS)); printf("reduce_domain insert\n"); 
     65     // m.insert(m.end(), make_pair("extract_domain", TRANS_EXTRACT_DOMAIN_TO_AXIS)); printf("extract_domain insert\n"); 
    5566   } 
    5667 
  • XIOS/dev/branch_yushan/src/node/axis.hpp

    r1095 r1103  
    166166       private: 
    167167         static bool initializeTransformationMap(std::map<StdString, ETranformationType>& m); 
     168          
    168169         static std::map<StdString, ETranformationType> transformationMapList_; 
    169          // #pragma omp threadprivate(transformationMapList_) 
     170          
     171         static std::map<StdString, ETranformationType> *transformationMapList_ptr; 
     172         #pragma omp threadprivate(transformationMapList_ptr) 
    170173 
    171174         static bool dummyTransformationMapList_; 
    172          //#pragma omp threadprivate(dummyTransformationMapList_) 
     175         #pragma omp threadprivate(dummyTransformationMapList_) 
    173176 
    174177         DECLARE_REF_FUNC(Axis,axis) 
  • XIOS/dev/branch_yushan/src/node/compute_connectivity_domain.hpp

    r1095 r1103  
    6060      static CTransformation<CDomain>* create(const StdString& id, xml::CXMLNode* node); 
    6161      static bool _dummyRegistered; 
    62       //#pragma omp threadprivate(_dummyRegistered) 
     62      #pragma omp threadprivate(_dummyRegistered) 
    6363       
    6464  }; // class CComputeConnectivityDomain 
  • XIOS/dev/branch_yushan/src/node/context.cpp

    r1102 r1103  
    11581158   void CContext::updateCalendar(int step) 
    11591159   { 
    1160       info(50) << "updateCalendar : before : " << calendar->getCurrentDate() << endl; 
     1160      //info(50) << "updateCalendar : before : " << calendar->getCurrentDate() << endl; 
    11611161      calendar->update(step); 
    1162       info(50) << "updateCalendar : after : " << calendar->getCurrentDate() << endl; 
     1162      //info(50) << "updateCalendar : after : " << calendar->getCurrentDate() << endl; 
    11631163 
    11641164      if (hasClient) 
  • XIOS/dev/branch_yushan/src/node/expand_domain.hpp

    r1095 r1103  
    6060      static CTransformation<CDomain>* create(const StdString& id, xml::CXMLNode* node); 
    6161      static bool _dummyRegistered; 
    62       //#pragma omp threadprivate(_dummyRegistered) 
     62      #pragma omp threadprivate(_dummyRegistered) 
    6363       
    6464  }; // class CExpandDomain 
  • XIOS/dev/branch_yushan/src/node/extract_axis_to_scalar.hpp

    r1095 r1103  
    6060      static CTransformation<CScalar>* create(const StdString& id, xml::CXMLNode* node); 
    6161      static bool _dummyRegistered; 
    62       //#pragma omp threadprivate(_dummyRegistered) 
     62      #pragma omp threadprivate(_dummyRegistered) 
    6363  }; // class CExtractAxisToScalar 
    6464 
  • XIOS/dev/branch_yushan/src/node/extract_domain_to_axis.hpp

    r1072 r1103  
    6060      static CTransformation<CAxis>* create(const StdString& id, xml::CXMLNode* node); 
    6161      static bool _dummyRegistered; 
    62       //#pragma omp threadprivate(_dummyRegistered) 
     62      #pragma omp threadprivate(_dummyRegistered) 
    6363  }; // class CExtractDomainToAxis 
    6464 
  • XIOS/dev/branch_yushan/src/node/generate_rectilinear_domain.hpp

    r1072 r1103  
    6060      static CTransformation<CDomain>* create(const StdString& id, xml::CXMLNode* node); 
    6161      static bool _dummyRegistered; 
    62       //#pragma omp threadprivate(_dummyRegistered) 
     62      #pragma omp threadprivate(_dummyRegistered) 
    6363  }; // class CGenerateRectilinearDomain 
    6464 
  • XIOS/dev/branch_yushan/src/node/interpolate_axis.hpp

    r1072 r1103  
    6262      static CTransformation<CAxis>* create(const StdString& id, xml::CXMLNode* node); 
    6363      static bool _dummyRegistered; 
    64       //#pragma omp threadprivate(_dummyRegistered) 
     64      #pragma omp threadprivate(_dummyRegistered) 
    6565       
    6666  }; // class CInterpolateAxis 
  • XIOS/dev/branch_yushan/src/node/interpolate_domain.hpp

    r1072 r1103  
    6060      static CTransformation<CDomain>* create(const StdString& id, xml::CXMLNode* node); 
    6161      static bool _dummyRegistered; 
    62       //#pragma omp threadprivate(_dummyRegistered) 
     62      #pragma omp threadprivate(_dummyRegistered) 
    6363  }; // class CInterpolateDomain 
    6464 
  • XIOS/dev/branch_yushan/src/node/inverse_axis.hpp

    r1072 r1103  
    5959      static CTransformation<CAxis>* create(const StdString& id, xml::CXMLNode* node); 
    6060      static bool _dummyRegistered; 
    61       //#pragma omp threadprivate(_dummyRegistered) 
     61      #pragma omp threadprivate(_dummyRegistered) 
    6262 
    6363  }; // class CInverseAxis 
  • XIOS/dev/branch_yushan/src/node/reduce_axis_to_scalar.hpp

    r1072 r1103  
    5959      static CTransformation<CScalar>* create(const StdString& id, xml::CXMLNode* node); 
    6060      static bool _dummyRegistered; 
    61       //#pragma omp threadprivate(_dummyRegistered) 
     61      #pragma omp threadprivate(_dummyRegistered) 
    6262  }; // class CReduceAxisToScalar 
    6363 
  • XIOS/dev/branch_yushan/src/node/reduce_domain_to_axis.hpp

    r1072 r1103  
    6060      static CTransformation<CAxis>* create(const StdString& id, xml::CXMLNode* node); 
    6161      static bool _dummyRegistered; 
    62       //#pragma omp threadprivate(_dummyRegistered) 
     62      #pragma omp threadprivate(_dummyRegistered) 
    6363  }; // class CReduceDomainToAxis 
    6464 
  • XIOS/dev/branch_yushan/src/node/reduce_domain_to_scalar.hpp

    r1072 r1103  
    6060      static CTransformation<CScalar>* create(const StdString& id, xml::CXMLNode* node); 
    6161      static bool _dummyRegistered; 
    62       //#pragma omp threadprivate(_dummyRegistered) 
     62      #pragma omp threadprivate(_dummyRegistered) 
    6363  }; // class CReduceDomainToScalar 
    6464 
  • XIOS/dev/branch_yushan/src/node/zoom_axis.hpp

    r1072 r1103  
    6060      static CTransformation<CAxis>* create(const StdString& id, xml::CXMLNode* node); 
    6161      static bool _dummyRegistered; 
    62       //#pragma omp threadprivate(_dummyRegistered) 
     62      #pragma omp threadprivate(_dummyRegistered) 
    6363  }; // class CZoomAxis 
    6464 
  • XIOS/dev/branch_yushan/src/node/zoom_domain.hpp

    r1072 r1103  
    6060      static CTransformation<CDomain>* create(const StdString& id, xml::CXMLNode* node); 
    6161      static bool _dummyRegistered; 
    62       //#pragma omp threadprivate(_dummyRegistered) 
     62      #pragma omp threadprivate(_dummyRegistered) 
    6363       
    6464  }; // class CZoomDomain 
  • XIOS/dev/branch_yushan/src/timer.cpp

    r652 r1103  
    88{ 
    99  std::map<std::string,CTimer> CTimer::allTimer; 
     10  std::map<std::string,CTimer> *CTimer::allTimer_ptr = 0; 
    1011   
    1112  CTimer::CTimer(const std::string& name_) : name(name_)  
     
    5253  CTimer& CTimer::get(const std::string name) 
    5354  { 
    54     std::map<std::string,CTimer>::iterator it = allTimer.find(name); 
    55     if (it == allTimer.end()) 
    56       it = allTimer.insert(std::make_pair(name, CTimer(name))).first; 
     55    // bkp 
     56    // std::map<std::string,CTimer>::iterator it = allTimer.find(name); 
     57    // if (it == allTimer.end()) 
     58    //   it = allTimer.insert(std::make_pair(name, CTimer(name))).first; 
     59    // return it->second; 
     60 
     61    if(allTimer_ptr == NULL) allTimer_ptr = new std::map<std::string,CTimer>; 
     62 
     63    std::map<std::string,CTimer>::iterator it = (*allTimer_ptr).find(name); 
     64    if (it == (*allTimer_ptr).end()) 
     65      it = (*allTimer_ptr).insert(std::make_pair(name, CTimer(name))).first; 
    5766    return it->second; 
    5867  } 
  • XIOS/dev/branch_yushan/src/timer.hpp

    r688 r1103  
    2121      double getCumulatedTime(void); 
    2222      static std::map<std::string,CTimer> allTimer; 
     23 
     24      static std::map<std::string,CTimer> *allTimer_ptr; 
     25      #pragma omp threadprivate(allTimer_ptr) 
     26       
    2327      static double getTime(void); 
    2428      static CTimer& get(std::string name); 
  • XIOS/dev/branch_yushan/src/transformation/Functions/reduction.cpp

    r979 r1103  
    99 
    1010CReductionAlgorithm::CallBackMap* CReductionAlgorithm::reductionCreationCallBacks_ = 0; 
    11 std::map<StdString,EReductionType> CReductionAlgorithm::ReductionOperations = std::map<StdString,EReductionType>(); 
    12 bool CReductionAlgorithm::initReductionOperation(std::map<StdString,EReductionType>& m) 
     11//std::map<StdString,EReductionType> CReductionAlgorithm::ReductionOperations = std::map<StdString,EReductionType>(); 
     12std::map<StdString,EReductionType> *CReductionAlgorithm::ReductionOperations_ptr = 0;  
     13 
     14// bool CReductionAlgorithm::initReductionOperation(std::map<StdString,EReductionType>& m) 
     15// { 
     16//   // So so stupid way to intialize operation but it works ... 
     17//   m["sum"] = TRANS_REDUCE_SUM; 
     18//   CSumReductionAlgorithm::registerTrans(); 
     19 
     20//   m["min"] = TRANS_REDUCE_MIN; 
     21//   CMinReductionAlgorithm::registerTrans(); 
     22 
     23//   m["max"] = TRANS_REDUCE_MAX; 
     24//   CMaxReductionAlgorithm::registerTrans(); 
     25 
     26//   m["extract"] = TRANS_REDUCE_EXTRACT; 
     27//   CExtractReductionAlgorithm::registerTrans(); 
     28 
     29//   m["average"] = TRANS_REDUCE_AVERAGE; 
     30//   CAverageReductionAlgorithm::registerTrans(); 
     31// } 
     32 
     33bool CReductionAlgorithm::initReductionOperation(std::map<StdString,EReductionType>* m) 
    1334{ 
     35  if(m==NULL) m=new std::map<StdString,EReductionType>(); 
    1436  // So so stupid way to intialize operation but it works ... 
    15   m["sum"] = TRANS_REDUCE_SUM; 
     37  (*m)["sum"] = TRANS_REDUCE_SUM; 
    1638  CSumReductionAlgorithm::registerTrans(); 
    1739 
    18   m["min"] = TRANS_REDUCE_MIN; 
     40  (*m)["min"] = TRANS_REDUCE_MIN; 
    1941  CMinReductionAlgorithm::registerTrans(); 
    2042 
    21   m["max"] = TRANS_REDUCE_MAX; 
     43  (*m)["max"] = TRANS_REDUCE_MAX; 
    2244  CMaxReductionAlgorithm::registerTrans(); 
    2345 
    24   m["extract"] = TRANS_REDUCE_EXTRACT; 
     46  (*m)["extract"] = TRANS_REDUCE_EXTRACT; 
    2547  CExtractReductionAlgorithm::registerTrans(); 
    2648 
    27   m["average"] = TRANS_REDUCE_AVERAGE; 
     49  (*m)["average"] = TRANS_REDUCE_AVERAGE; 
    2850  CAverageReductionAlgorithm::registerTrans(); 
    2951} 
    3052 
    31 bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(CReductionAlgorithm::ReductionOperations); 
     53//bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(CReductionAlgorithm::ReductionOperations); 
     54bool CReductionAlgorithm::_dummyInit = CReductionAlgorithm::initReductionOperation(CReductionAlgorithm::ReductionOperations_ptr); 
    3255 
    3356CReductionAlgorithm* CReductionAlgorithm::createOperation(EReductionType reduceType) 
    3457{ 
    3558  int reduceTypeInt = reduceType; 
     59  if (0 == reductionCreationCallBacks_) 
     60    reductionCreationCallBacks_ = new CallBackMap(); 
     61 
    3662  CallBackMap::const_iterator it = (*reductionCreationCallBacks_).find(reduceType); 
    3763  if ((*reductionCreationCallBacks_).end() == it) 
  • XIOS/dev/branch_yushan/src/transformation/Functions/reduction.hpp

    r1079 r1103  
    2323{ 
    2424public: 
    25   static std::map<StdString,EReductionType> ReductionOperations; 
     25  //static std::map<StdString,EReductionType> ReductionOperations; 
     26  static std::map<StdString,EReductionType> *ReductionOperations_ptr; 
     27  #pragma omp threadprivate(ReductionOperations_ptr) 
    2628 
    2729public: 
     
    5961  typedef std::map<EReductionType, CreateOperationCallBack> CallBackMap; 
    6062  static CallBackMap* reductionCreationCallBacks_; 
    61   //#pragma omp threadprivate(reductionCreationCallBacks_) 
     63  #pragma omp threadprivate(reductionCreationCallBacks_) 
    6264 
    6365  static bool registerOperation(EReductionType reduceType, CreateOperationCallBack createFn); 
     
    6567 
    6668protected: 
    67   static bool initReductionOperation(std::map<StdString,EReductionType>& m); 
     69  //static bool initReductionOperation(std::map<StdString,EReductionType>& m); 
     70  static bool initReductionOperation(std::map<StdString,EReductionType>* m); 
    6871  static bool _dummyInit; 
    69   //#pragma omp threadprivate(_dummyInit) 
     72  #pragma omp threadprivate(_dummyInit) 
    7073}; 
    7174 
  • XIOS/dev/branch_yushan/src/transformation/axis_algorithm_extract_domain.cpp

    r1037 r1103  
    6262 
    6363  pos_ = algo->position; 
    64   reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations[op]); 
     64  reduction_ = CReductionAlgorithm::createOperation((*CReductionAlgorithm::ReductionOperations_ptr)[op]); 
    6565} 
    6666 
  • XIOS/dev/branch_yushan/src/transformation/axis_algorithm_reduce_domain.cpp

    r1037 r1103  
    7070 
    7171  dir_ = (CReduceDomainToAxis::direction_attr::iDir == algo->direction)  ? iDir : jDir; 
    72   reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations[op]); 
     72  reduction_ = CReductionAlgorithm::createOperation((*CReductionAlgorithm::ReductionOperations_ptr)[op]); 
    7373} 
    7474 
  • XIOS/dev/branch_yushan/src/transformation/grid_transformation_factory_impl.hpp

    r1101 r1103  
    5757  typedef std::map<ETranformationType, CreateTransformationCallBack> CallBackMap; 
    5858  static CallBackMap* transformationCreationCallBacks_; 
    59   //#pragma omp threadprivate(transformationCreationCallBacks_) 
     59  #pragma omp threadprivate(transformationCreationCallBacks_) 
    6060   
    6161  static bool registerTransformation(ETranformationType transType, CreateTransformationCallBack createFn); 
     
    8282                                                                               std::map<int, int>& elementPositionInGridDst2DomainPosition) 
    8383{ 
     84  if (0 == transformationCreationCallBacks_) 
     85    transformationCreationCallBacks_ = new CallBackMap(); 
    8486  typename CallBackMap::const_iterator it = (*transformationCreationCallBacks_).find(transType); 
    8587  if ((*transformationCreationCallBacks_).end() == it) 
  • XIOS/dev/branch_yushan/src/transformation/scalar_algorithm_extract_axis.cpp

    r1037 r1103  
    4949  StdString op = "extract"; 
    5050  pos_ = algo->position; 
    51   reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations[op]); 
     51  reduction_ = CReductionAlgorithm::createOperation((*CReductionAlgorithm::ReductionOperations_ptr)[op]); 
    5252} 
    5353 
  • XIOS/dev/branch_yushan/src/transformation/scalar_algorithm_reduce_axis.cpp

    r1037 r1103  
    7575  } 
    7676   
    77   if (CReductionAlgorithm::ReductionOperations.end() == CReductionAlgorithm::ReductionOperations.find(op)) 
     77  if ((*CReductionAlgorithm::ReductionOperations_ptr).end() == (*CReductionAlgorithm::ReductionOperations_ptr).find(op)) 
    7878    ERROR("CScalarAlgorithmReduceAxis::CScalarAlgorithmReduceAxis(CAxis* axisDestination, CAxis* axisSource, CReduceAxisToScalar* algo)", 
    7979       << "Operation '" << op << "' not found. Please make sure to use a supported one" 
     
    8181       << "Scalar destination " << scalarDestination->getId()); 
    8282 
    83   reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations[op]); 
     83  reduction_ = CReductionAlgorithm::createOperation((*CReductionAlgorithm::ReductionOperations_ptr)[op]); 
    8484} 
    8585 
  • XIOS/dev/branch_yushan/src/transformation/scalar_algorithm_reduce_domain.cpp

    r1037 r1103  
    6969  } 
    7070   
    71   if (CReductionAlgorithm::ReductionOperations.end() == CReductionAlgorithm::ReductionOperations.find(op)) 
     71  if ((*CReductionAlgorithm::ReductionOperations_ptr).end() == (*CReductionAlgorithm::ReductionOperations_ptr).find(op)) 
    7272    ERROR("CScalarAlgorithmReduceDomain::CScalarAlgorithmReduceDomain(CDomain* domainDestination, CDomain* domainSource, CReduceDomainToScalar* algo)", 
    7373       << "Operation '" << op << "' not found. Please make sure to use a supported one" 
     
    7575       << "Scalar destination " << scalarDestination->getId()); 
    7676 
    77   reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations[op]); 
     77  reduction_ = CReductionAlgorithm::createOperation((*CReductionAlgorithm::ReductionOperations_ptr)[op]); 
    7878} 
    7979 
  • XIOS/dev/branch_yushan/src/xml_node.cpp

    r591 r1103  
    88 
    99      StdString CXMLNode::RootName("simulation"); 
     10      // StdString CXMLNode::RootName = "simulation"; 
    1011 
    1112      CXMLNode::CXMLNode(rapidxml::xml_node<char> * const root) 
Note: See TracChangeset for help on using the changeset viewer.