Changeset 1669


Ignore:
Timestamp:
05/27/19 15:05:49 (5 years ago)
Author:
yushan
Message:

MARK: branch merged with trunk @1663. static graph OK with EP

Location:
XIOS/dev/dev_trunk_omp
Files:
9 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_trunk_omp/inputs/REMAP/iodef.xml

    r1650 r1669  
    66   <field_definition level="1" > 
    77    <field_group id="fields_src" operation="instant"> 
    8        <field id="src_field_2D" domain_ref="src_domain"/> 
     8       <field id="src_field_2D"  domain_ref="src_domain"/> 
    99       <field id="src_field_2D_clone" domain_ref="src_domain_clone"/> 
    1010       <field id="src_field_3D" domain_ref="src_domain" axis_ref="src_axis"/>        
     
    3434      <file_group id="write_files" > 
    3535        <file id="output_2D" name="output_2D" > 
    36           <field field_ref="src_field_2D" name="field_src" /> 
    37           <field field_ref="src_field_2D" name="field_dst_regular_0"  domain_ref="dst_domain_regular_pole" default_value="10.e+5"/> 
    38           <field field_ref="dst_field_2D" name="field_dst_regular_1" /> 
    39           <field field_ref="dst_field_2D_regular_pole" name="field_dst_regular_2" /> 
    40           <field field_ref="dst_field_2D_clone" name="field_dst_regular_3" /> 
     36          <field field_ref="src_field_2D" name="field_src" build_workflow_graph=".TRUE."/> 
     37          <field field_ref="src_field_2D" name="field_dst_regular_0"  domain_ref="dst_domain_regular_pole" default_value="10.e+5" build_workflow_graph=".TRUE."/> 
     38          <field field_ref="dst_field_2D" name="field_dst_regular_1" build_workflow_graph=".TRUE."/> 
     39          <field field_ref="dst_field_2D_regular_pole" name="field_dst_regular_2" build_workflow_graph=".TRUE."/> 
     40          <field field_ref="dst_field_2D_clone" name="field_dst_regular_3" build_workflow_graph=".TRUE."/> 
    4141        </file>  
    4242       <file id="output_3D" name="output_3D" > 
    43           <field field_ref="src_field_3D" name="field_src" /> 
    44           <field field_ref="src_field_3D_pression" name="field" /> 
    45           <field field_ref="dst_field_3D_interp" name="field_dst_interp_domain" /> 
    46           <field field_ref="dst_field_3D_interp" name="field_dst_interp_domain_axis" domain_ref="dst_domain_regular_pole"/>   
     43          <field field_ref="src_field_3D" name="field_src" build_workflow_graph=".TRUE."/> 
     44          <field field_ref="src_field_3D_pression" name="field" build_workflow_graph=".TRUE."/> 
     45          <field field_ref="dst_field_3D_interp" name="field_dst_interp_domain" build_workflow_graph=".TRUE."/> 
     46          <field field_ref="dst_field_3D_interp" name="field_dst_interp_domain_axis" domain_ref="dst_domain_regular_pole" build_workflow_graph=".TRUE."/>   
    4747       </file> 
    4848       <file id="output_4D" name="output_4D" > 
  • XIOS/dev/dev_trunk_omp/src/cxios.cpp

    r1668 r1669  
    173173       delete globalRegistry ; 
    174174        
     175       CGraphviz::showStaticWorkflowGraph(); 
    175176       CGraphviz::buildStaticWorkflowGraph(); 
     177        
    176178     } 
     179 
    177180 
    178181#ifdef XIOS_MEMTRACK 
  • XIOS/dev/dev_trunk_omp/src/filter/spatial_transform_filter.cpp

    r1668 r1669  
    6565          (*CWorkflowGraph::mapFilters_ptr)[filterOut] = "Spatial transform filter"; 
    6666          (*CWorkflowGraph::mapFilters_ptr)[filterIn] = "Spatial transform filter"; 
     67          std::cout<<"CSpatialTransformFilter::CSpatialTransformFilter CWorkflowGraph::mapFieldToFilters_ptr->size = "<<CWorkflowGraph::mapFieldToFilters_ptr->size()<<std::endl; 
    6768        } 
    6869      } 
  • XIOS/dev/dev_trunk_omp/src/graphviz.cpp

    r1668 r1669  
    6262  } 
    6363  CATCH 
     64 
     65 
     66 
     67  void CGraphviz::showStaticWorkflowGraph() 
     68  TRY 
     69  { 
     70    CWorkflowGraph::showStaticWorkflow(); 
     71  } 
     72  CATCH 
    6473} 
  • XIOS/dev/dev_trunk_omp/src/graphviz.hpp

    r1668 r1669  
    1717      CGraphviz(); 
    1818      static void buildStaticWorkflowGraph(); 
     19      static void showStaticWorkflowGraph(); 
    1920 
    2021    private: 
  • XIOS/dev/dev_trunk_omp/src/node/field.cpp

    r1668 r1669  
    7070 
    7171  //---------------------------------------------------------------- 
     72 
     73   const StdString& CField::getOId(void) 
     74   { 
     75     if (this->getId().compare(2,5,"field") == 0 && this->getId().compare(8,5,"undef") == 0) 
     76     { 
     77       if(!name.isEmpty()) return name; 
     78       else return CField::get(field_ref)->getOId(); 
     79     } 
     80     else if(!name.isEmpty()) return name; 
     81     else return this->getId(); 
     82   } 
    7283 
    7384   void CField::setVirtualVariableGroup(CVariableGroup* newVVariableGroup) 
     
    11901201                 int filterOut = filter->getFilterId(); 
    11911202                 int filterIn = (std::static_pointer_cast<COutputPin>(filters.second))->getFilterId(); 
    1192                  (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getId()].push_back(filterOut); 
    1193                  (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getId()].push_back(filterIn); 
     1203                 (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getOId()].push_back(filterOut); 
     1204                 (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getOId()].push_back(filterIn); 
    11941205                 (*CWorkflowGraph::mapFilters_ptr)[filterOut] = filter->GetName(); 
    11951206                 (*CWorkflowGraph::mapFilters_ptr)[filterIn] = filters.second->GetName(); 
     
    12471258             int filterOut = getTemporalDataFilter(gc, file->output_freq)->getFilterId(); 
    12481259             int filterIn = fileWriterFilter->getFilterId(); 
    1249              (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getId()].push_back(filterOut); 
    1250              (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getId()].push_back(filterIn); 
     1260             (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getOId()].push_back(filterOut); 
     1261             (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getOId()].push_back(filterIn); 
    12511262             (*CWorkflowGraph::mapFilters_ptr)[filterOut] = "Temporal filter"; 
    12521263             (*CWorkflowGraph::mapFilters_ptr)[filterIn] = fileWriterFilter->GetName(); 
     1264             std::cout<<"CField::buildFilterGraph this->getId() = "<<this->getId() <<" ; this->getOId() = "<<this->getOId()<< std::endl; 
    12531265           } 
    12541266         } 
     
    12971309       int filterOut = fieldRef->instantDataFilter->getFilterId(); 
    12981310       int filterIn = (std::static_pointer_cast<COutputPin>(filters.first))->getFilterId(); 
    1299        (*CWorkflowGraph::mapFieldToFilters_ptr)[fieldRef->getId()].push_back(filterOut); 
    1300        (*CWorkflowGraph::mapFieldToFilters_ptr)[fieldRef->getId()].push_back(filterIn); 
     1311       (*CWorkflowGraph::mapFieldToFilters_ptr)[fieldRef->getOId()].push_back(filterOut); 
     1312       (*CWorkflowGraph::mapFieldToFilters_ptr)[fieldRef->getOId()].push_back(filterIn); 
    13011313       (*CWorkflowGraph::mapFilters_ptr)[filterOut] = fieldRef->getInstantDataFilter()->GetName(); 
    13021314       (*CWorkflowGraph::mapFilters_ptr)[filterIn] = filters.first->GetName(); 
     
    13971409         int filterOut = instantDataFilter->getFilterId(); 
    13981410         int filterIn = (std::static_pointer_cast<COutputPin>(temporalFilter))->getFilterId(); 
    1399          (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getId()].push_back(filterOut); 
    1400          (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getId()].push_back(filterIn); 
     1411         (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getOId()].push_back(filterOut); 
     1412         (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getOId()].push_back(filterIn); 
    14011413         (*CWorkflowGraph::mapFilters_ptr)[filterOut] = getInstantDataFilter()->GetName(); 
    14021414         (*CWorkflowGraph::mapFilters_ptr)[filterIn] = temporalFilter->GetName(); 
     
    14511463         int filterOut = selfReferenceFilter->getFilterId(); 
    14521464         int filterIn = (std::static_pointer_cast<COutputPin>(temporalFilter))->getFilterId(); 
    1453          (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getId()].push_back(filterOut); 
    1454          (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getId()].push_back(filterIn); 
     1465         (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getOId()].push_back(filterOut); 
     1466         (*CWorkflowGraph::mapFieldToFilters_ptr)[this->getOId()].push_back(filterIn); 
    14551467         (*CWorkflowGraph::mapFilters_ptr)[filterOut] = selfReferenceFilter->GetName(); 
    14561468         (*CWorkflowGraph::mapFilters_ptr)[filterIn] = temporalFilter->GetName(); 
  • XIOS/dev/dev_trunk_omp/src/node/field.hpp

    r1668 r1669  
    8989 
    9090      public: 
     91         const StdString& getOId(void); 
     92 
    9193         int getNStep(void) const; 
    9294 
  • XIOS/dev/dev_trunk_omp/src/workflow_graph.cpp

    r1668 r1669  
    3434    size_t filterIdx = 0; 
    3535    filters.resize(mapFilters_ptr->size()); 
    36     //printf("mapFilters_ptr size = %lu\n", mapFilters_ptr->size()); 
    3736    for (auto it=mapFilters_ptr->begin(); it != mapFilters_ptr->end(); it++) 
    3837    { 
    3938      filters[it->first]=it->second; 
    40       //std::cout<<"mapFilters_ptr["<<it->first<<"]="<<it->second<<std::endl; 
    4139    } 
    4240 
     
    5351  CATCH 
    5452 
     53 
     54  void CWorkflowGraph::showStaticWorkflow() 
     55  TRY 
     56  { 
     57    if(mapFilters_ptr!=0 && !mapFilters_ptr->empty()) 
     58    for (auto it=mapFilters_ptr->begin(); it != mapFilters_ptr->end(); it++) 
     59    { 
     60      std::cout<<"mapFilters_ptr["<<it->first<<"]="<<it->second<<std::endl; 
     61    } 
     62    else std::cout<<"mapFilters_ptr empty"<<std::endl; 
     63 
     64    if(mapFieldToFilters_ptr!=0 && !mapFieldToFilters_ptr->empty()) 
     65    for (auto it=mapFieldToFilters_ptr->begin(); it != mapFieldToFilters_ptr->end(); it++) 
     66    { 
     67      for (size_t i = 0; i < it->second.size(); i++) 
     68      { 
     69        std::cout<<"mapFieldToFilters_ptr["<<it->first<<"]["<<i<<"] = "<<it->second[i]<<std::endl; 
     70      } 
     71    } 
     72    else std::cout<<"mapFieldToFilters_ptr empty"<<mapFieldToFilters_ptr<<std::endl; 
     73 
     74    if(mapFilterTimestamps_ptr!=0 && !mapFilterTimestamps_ptr->empty()) 
     75    for (auto it=mapFilterTimestamps_ptr->begin(); it != mapFilterTimestamps_ptr->end(); it++) 
     76    { 
     77      for (size_t i = 0; i < it->second.size(); i++) 
     78      { 
     79        std::cout<<"mapFilterTimestamps_ptr["<<it->first<<"]["<<i<<"] = "<<it->second[i]<<std::endl; 
     80      } 
     81    } 
     82    else std::cout<<"mapFilterTimestamps_ptr empty"<<std::endl; 
     83 
     84    if(timestamps_ptr!=0 && !timestamps_ptr->empty()) 
     85    for (auto it=timestamps_ptr->begin(); it != timestamps_ptr->end(); it++) 
     86    { 
     87      std::cout<<"timestamps_ptr = "<<*it<<std::endl; 
     88    } 
     89    else std::cout<<"timestamps_ptr empty"<<std::endl; 
     90 
     91  } 
     92  CATCH 
     93 
    5594} 
  • XIOS/dev/dev_trunk_omp/src/workflow_graph.hpp

    r1668 r1669  
    5454 
    5555      static void buildStaticWorkflow(); 
     56      static void showStaticWorkflow(); 
    5657 
    5758 
Note: See TracChangeset for help on using the changeset viewer.