Ignore:
Timestamp:
01/22/21 18:35:44 (3 years ago)
Author:
yushan
Message:

Graph intermediate commit to a tmp branch.

Location:
XIOS/dev/dev_trunk_graph/src/filter
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_trunk_graph/src/filter/client_to_server_store_filter.cpp

    r2019 r2021  
    3838      this->graphPackage->filterId = CWorkflowGraph::getNodeSize(); 
    3939      if(!data[0]->graphPackage) data[0]->graphPackage = new CGraphDataPackage; 
    40       data[0]->graphPackage->currentField = this->graphPackage->inFields[0]; 
     40       
    4141      std::rotate(this->graphPackage->inFields.begin(), this->graphPackage->inFields.begin() + 1, this->graphPackage->inFields.end()); 
    4242       
    43       CWorkflowGraph::addNode("Client to Server Store filter", 5, true, 1, data[0]); 
    44        
     43      CWorkflowGraph::addNode("Client to Server Store filter", 6, true, 1, data[0]); 
     44      
    4545      CWorkflowGraph::addEdge(data[0]->graphPackage->fromFilter, this->graphPackage->filterId, data[0]); 
    46       data[0]->graphPackage->fromFilter = this->graphPackage->filterId; 
     46      // flux can be redirected to other filters. So don't change the 'from' parameter 
     47      //data[0]->graphPackage->fromFilter = this->graphPackage->filterId; 
     48      data[0]->graphPackage->currentField = this->graphPackage->inFields[0]; 
    4749    } 
    4850  } 
  • XIOS/dev/dev_trunk_graph/src/filter/pass_through_filter.cpp

    r2019 r2021  
    1919    if(this->graphEnabled) 
    2020    { 
     21      if(data[0]->graphPackage->currentField->getId() == this->graphPackage->inFields[0]->getId()) 
     22      { 
     23        std::cout<<"PASS THROUGH FILTER OMITTED "<<this<<std::endl; 
     24        std::cout<<data[0]->graphPackage->currentField->getId()<< "-------"<< this->graphPackage->inFields[0]->getId()<<std::endl; 
     25        return; 
     26      } 
    2127      this->graphPackage->filterId = CWorkflowGraph::getNodeSize(); 
    2228       
     
    2632        data[0]->graphPackage->fromFilter = -1; 
    2733      } 
    28            
     34       
     35      CWorkflowGraph::addNode("Pass through filter", 2, false, 1, data[0]); 
    2936      data[0]->graphPackage->currentField = this->graphPackage->inFields[0]; 
    3037      std::rotate(this->graphPackage->inFields.begin(), this->graphPackage->inFields.begin() + 1, this->graphPackage->inFields.end()); 
    3138       
    32       CWorkflowGraph::addNode("Pass through filter", 2, false, 1, data[0]); 
    3339      CWorkflowGraph::addEdge(data[0]->graphPackage->fromFilter, this->graphPackage->filterId, data[0]); 
    3440      data[0]->graphPackage->fromFilter = this->graphPackage->filterId; 
  • XIOS/dev/dev_trunk_graph/src/filter/temporal_filter.cpp

    r2019 r2021  
    3434    if(this->graphEnabled) 
    3535    { 
    36       if(!data[0]->graphPackage) data[0]->graphPackage = new CGraphDataPackage; 
    37       data[0]->graphPackage->currentField = this->graphPackage->inFields[0]; 
    38       std::rotate(this->graphPackage->inFields.begin(), this->graphPackage->inFields.begin() + 1, this->graphPackage->inFields.end()); 
     36      if(!data[0]->graphPackage) 
     37      { 
     38        data[0]->graphPackage = new CGraphDataPackage; 
     39      } 
    3940       
    4041      if(this->graphPackage->sourceFilterIds.size()==0) 
     
    4647      CWorkflowGraph::addEdge(data[0]->graphPackage->fromFilter, this->graphPackage->filterId, data[0]); 
    4748      data[0]->graphPackage->fromFilter = this->graphPackage->filterId; 
    48       this->graphPackage->sourceFilterIds.push_back(data[0]->graphPackage->fromFilter);     
     49      this->graphPackage->sourceFilterIds.push_back(data[0]->graphPackage->fromFilter);  
     50      data[0]->graphPackage->currentField = this->graphPackage->inFields[0]; 
     51      std::rotate(this->graphPackage->inFields.begin(), this->graphPackage->inFields.begin() + 1, this->graphPackage->inFields.end()); 
    4952    } 
    5053 
  • XIOS/dev/dev_trunk_graph/src/filter/transform_filter.cpp

    r2019 r2021  
    11#include "transform_filter.hpp" 
    22#include "grid_algorithm.hpp" 
    3  
     3#include "workflow_graph.hpp" 
    44namespace xios 
    55{ 
     
    1919    packet->timestamp = data[0]->timestamp; 
    2020    packet->status = data[0]->status; 
    21  
     21     
    2222    if (packet->status == CDataPacket::NO_ERROR)  
    2323    { 
     24      cout<<"transformeFilter = "<<this<<" and graphEnabled = "<<this->graphEnabled<<std::endl; 
     25      buildWorkflowGraph(data, packet, algorithm_); 
     26       
    2427      if (data.size()>1) 
    2528      { 
     
    3336  } 
    3437 
    35  
     38  void CTransformFilter::buildWorkflowGraph(std::vector<CDataPacketPtr> data, CDataPacketPtr packet, CGridAlgorithm* algorithm) 
     39  { 
     40    if(this->graphEnabled) 
     41    { 
     42      this->graphPackage->filterId = CWorkflowGraph::getNodeSize(); 
     43     
     44      packet->graphPackage = new CGraphDataPackage; 
     45      if(data[0]->graphPackage) 
     46      { 
     47        packet->graphPackage->fromFilter = data[0]->graphPackage->fromFilter; 
     48      } 
     49      packet->graphPackage->toFilter = data[0]->graphPackage->toFilter; 
     50      packet->graphPackage->current_filter_name = data[0]->graphPackage->current_filter_name; 
     51      packet->graphPackage->contextId = data[0]->graphPackage->contextId;           
     52      packet->graphPackage->currentField = data[0]->graphPackage->currentField;//this->graphPackage->inFields[0]; 
     53      std::rotate(this->graphPackage->inFields.begin(), this->graphPackage->inFields.begin() + 1, this->graphPackage->inFields.end()); 
     54     
     55      CWorkflowGraph::addNode("Spatial transform filter "+algorithm->getAlgoName(), 4, false, 1, packet); 
     56      CWorkflowGraph::addEdge(packet->graphPackage->fromFilter, this->graphPackage->filterId, packet); 
     57      packet->graphPackage->fromFilter = this->graphPackage->filterId; 
     58      packet->graphPackage->currentField = this->graphPackage->inFields[0]; 
     59    } 
     60  } 
    3661 
    3762} 
  • XIOS/dev/dev_trunk_graph/src/filter/transform_filter.hpp

    r2019 r2021  
    2222      */ 
    2323      CDataPacketPtr virtual apply(std::vector<CDataPacketPtr> data) ; 
     24      void buildWorkflowGraph(std::vector<CDataPacketPtr> data, CDataPacketPtr packet, CGridAlgorithm* algorithm); 
     25       
    2426//      void apply(const CArray<double, 1>& dataSrc, CArray<double,1>& dataDest); 
    2527      
Note: See TracChangeset for help on using the changeset viewer.