Changeset 1654


Ignore:
Timestamp:
03/08/19 16:59:14 (3 years ago)
Author:
oabramkina
Message:

Corrections for workflow visualization.

Location:
XIOS/dev/dev_olga
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_olga/arch/arch-X64_IRENE.env

    r1589 r1654  
    11module unload netcdf-c netcdf-fortran hdf5 flavor perl hdf5 boost blitz mpi gnu 
    2 module load gnu 
    3 module load mpi/openmpi/2.0.2 
    42module load flavor/hdf5/parallel 
    53module load netcdf-fortran/4.4.4 
    64module load hdf5/1.8.20 
     5module load gnu 
    76module load boost 
    87module load blitz 
  • XIOS/dev/dev_olga/bld.cfg

    r1636 r1654  
    4343bld::lib xios 
    4444bld::target libxios.a  
    45 bld::target generate_fortran_interface.exe  
     45#bld::target generate_fortran_interface.exe  
    4646#bld::target test_remap.exe 
    47 #bld::target xios_server.exe  
     47bld::target xios_server.exe  
    4848#bld::target test_regular.exe 
    4949#bld::target test_xios2_cmip6.exe 
  • XIOS/dev/dev_olga/src/filter/file_server_writer_filter.cpp

    r1653 r1654  
    1212      ERROR("CFileServerWriterFilter::CFileServerWriterFilter(CField* field)", 
    1313            "The field cannot be null."); 
    14     filterId = InvalidableObject::count; 
    15     InvalidableObject::count++; 
    1614  } 
    1715 
    1816  void CFileServerWriterFilter::onInputReady(std::vector<CDataPacketPtr> data) 
    1917  { 
    20     field->writeUpdateData(data[0]->data); 
     18    field->writeUpdateData(data[0]->data);     
    2119  } 
    2220 
  • XIOS/dev/dev_olga/src/filter/file_writer_filter.cpp

    r1653 r1654  
    77namespace xios 
    88{ 
    9   CFileWriterFilter::CFileWriterFilter(CGarbageCollector& gc, CField* field) 
     9  CFileWriterFilter::CFileWriterFilter(CGarbageCollector& gc, CField* field, bool buildWorkflowGraph /* =false */) 
    1010    : CInputPin(gc, 1) 
    1111    , field(field) 
     
    1414      ERROR("CFileWriterFilter::CFileWriterFilter(CField* field)", 
    1515            "The field cannot be null."); 
    16     filterId = InvalidableObject::count; 
    17     InvalidableObject::count++; 
     16    if (buildWorkflowGraph) 
     17    { 
     18      filterId = InvalidableObject::count; 
     19      InvalidableObject::count++; 
     20    } 
    1821  } 
    1922 
     
    3841 
    3942    field->sendUpdateData(dataArray); 
     43 
    4044  } 
    4145 
  • XIOS/dev/dev_olga/src/filter/file_writer_filter.hpp

    r1653 r1654  
    2020       * \param gc the associated garbage collector 
    2121       * \param field the associated field 
     22       * \param[in] buildWorkflowGraph indicates whether the workflow will be visualized 
    2223       */ 
    23       CFileWriterFilter(CGarbageCollector& gc, CField* field); 
     24      CFileWriterFilter(CGarbageCollector& gc, CField* field, bool buildWorkflowGraph = false); 
    2425 
    2526      inline StdString GetName(void) {return StdString("File writer filter");}; 
  • XIOS/dev/dev_olga/src/filter/input_pin.hpp

    r1653 r1654  
    130130      //! Whether some triggers have been set 
    131131      bool hasTriggers; 
     132 
    132133  }; // class CInputPin 
    133134} // namespace xios 
  • XIOS/dev/dev_olga/src/filter/output_pin.cpp

    r1653 r1654  
    1010    , buildWorkflowGraph(buildWorkflowGraph) 
    1111  { 
    12     filterId = InvalidableObject::count; 
    13     InvalidableObject::count++; 
     12    if (buildWorkflowGraph) 
     13    { 
     14      filterId = InvalidableObject::count; 
     15      InvalidableObject::count++; 
     16    } 
    1417  } 
    1518 
     
    4952    } 
    5053    else 
     54    { 
    5155      deliverOuput(packet); 
     56    } 
    5257  } 
    5358 
  • XIOS/dev/dev_olga/src/filter/output_pin.hpp

    r1653 r1654  
    9797      CGarbageCollector& gc; //!< The garbage collector associated to the output pin 
    9898 
    99       //!< Whether the ouput should be triggered manually 
     99      //! Whether the ouput should be triggered manually 
    100100      bool manualTrigger; 
    101101 
    102       //!< The list of connected filters and the corresponding slot numbers 
     102      //! The list of connected filters and the corresponding slot numbers 
    103103      std::vector<std::pair<std::shared_ptr<CInputPin>, size_t> > outputs; 
    104104 
  • XIOS/dev/dev_olga/src/filter/source_filter.cpp

    r1653 r1654  
    2525            "Impossible to construct a source filter without providing a grid."); 
    2626  } 
    27  
     27   
    2828  template <int N> 
    2929  void CSourceFilter::streamData(CDate date, const CArray<double, N>& data) 
  • XIOS/dev/dev_olga/src/filter/source_filter.hpp

    r1653 r1654  
    7474      const bool compression ; //!< indicates if data need to be compressed : on client side : true, on server side : false 
    7575      const bool mask ;        //!< indicates whether grid mask should be applied (true for clients, false for servers) 
     76       
    7677  }; // class CSourceFilter 
    7778} // namespace xios 
  • XIOS/dev/dev_olga/src/filter/store_filter.cpp

    r1653 r1654  
    2121      ERROR("CStoreFilter::CStoreFilter(CContext* context, CGrid* grid)", 
    2222            "Impossible to construct a store filter without providing a grid."); 
    23     filterId = InvalidableObject::count; 
    24     InvalidableObject::count++; 
     23//    filterId = InvalidableObject::count; 
     24//    InvalidableObject::count++; 
    2525  } 
    2626 
  • XIOS/dev/dev_olga/src/node/field.cpp

    r1653 r1654  
    12121212            instantDataFilter = clientSourceFilter = std::shared_ptr<CSourceFilter>(new CSourceFilter(gc, grid, false, true, NoneDu, false, 
    12131213                                                                                                      detectMissingValues, defaultValue, buildWorkflowGraph)); 
     1214            if (buildWorkflowGraph) CWorkflowGraph::mapFilters[instantDataFilter->getFilterId()] = instantDataFilter->GetName(); 
    12141215         } 
    12151216       } 
     
    12271228         if (file && (file->mode.isEmpty() || file->mode == CFile::mode_attr::write)) 
    12281229         { 
    1229            fileWriterFilter = std::shared_ptr<CFileWriterFilter>(new CFileWriterFilter(gc, this)); 
     1230           fileWriterFilter = std::shared_ptr<CFileWriterFilter>(new CFileWriterFilter(gc, this, buildWorkflowGraph)); 
    12301231           getTemporalDataFilter(gc, file->output_freq)->connectOutput(fileWriterFilter, 0); 
    12311232           if (buildWorkflowGraph) 
  • XIOS/dev/dev_olga/src/workflow_graph.cpp

    r1653 r1654  
    2424    // Create a list of filters (graph nodes) 
    2525    size_t filterIdx = 0; 
     26    filters.resize(mapFilters.size()); 
    2627    for (auto it=mapFilters.begin(); it != mapFilters.end(); it++) 
    2728    { 
    28       filters.push_back(it->second); 
     29      filters[it->first]=it->second; 
    2930    } 
    3031 
Note: See TracChangeset for help on using the changeset viewer.