Changeset 2011 for XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp
- Timestamp:
- 01/12/21 23:05:02 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_ym/XIOS_COUPLING/src/node/grid.cpp
r2007 r2011 16 16 #include "client_server_mapping_distributed.hpp" 17 17 #include "distribution_client.hpp" 18 #include "grid_transformation.hpp"19 18 #include "server.hpp" 20 19 #include "distribution_type.hpp" … … 46 45 , connectedDataSize_(), connectedServerRank_(), connectedServerRankRead_(), connectedDataSizeRead_() 47 46 , isCompressible_(false) 48 , transformations_(0), isTransformed_(false)49 47 , axisPositionInGrid_(), hasDomainAxisBaseRef_(false) 50 , gridSrc_(), hasTransform_(false),order_()48 , gridSrc_(), order_() 51 49 , clients() 52 50 { … … 65 63 , connectedDataSize_(), connectedServerRank_(), connectedServerRankRead_(), connectedDataSizeRead_() 66 64 , isCompressible_(false) 67 , transformations_(0), isTransformed_(false)68 65 , axisPositionInGrid_(), hasDomainAxisBaseRef_(false) 69 , gridSrc_(), hasTransform_(false),order_()66 , gridSrc_(), order_() 70 67 , clients() 71 68 { … … 78 75 { 79 76 if (0 != clientDistribution_) delete clientDistribution_; 80 if (0 != transformations_) delete transformations_;81 77 } 82 78 … … 1363 1359 1364 1360 CArray<bool,1> maskOut ; 1365 gridGathererConnector.transfer (event,maskOut,false) ;1361 gridGathererConnector.transfer_or(event,maskOut) ; 1366 1362 gridMaskConnector.computeConnector(maskOut) ; 1367 1363 … … 1688 1684 CATCH_DUMP_ATTR 1689 1685 1690 1691 1692 vector<std::string> CGrid::getAuxInputTransformGrid(void)1693 TRY1694 {1695 if (transformations_ != nullptr) return transformations_->getAuxInputs() ;1696 }1697 CATCH_DUMP_ATTR1698 1699 1686 1700 1687 … … 1710 1697 // big mystery why it doesn't work witout that... 1711 1698 // problem with the linker ?? 1712 1699 1713 1700 std::shared_ptr<CFilter> inputFilter = std::shared_ptr<CPassThroughFilter>(new CPassThroughFilter(gc)); 1714 1701 std::shared_ptr<CFilter> outputFilter = inputFilter ; … … 1792 1779 tmpGridDst->addDomain(dstDomain->getId()) ; 1793 1780 1781 algo = transformation -> createAlgorithm(false, tmpGridDst, tmpGridSrc, 0, 1782 posInGrid,posInGrid,posInGrid, 1783 posInGrid,posInGrid,posInGrid ); 1794 1784 //reuse existing algorithm interface for, now 1795 algo = CGridTransformationFactory<CDomain>::createTransformation(transType, false, tmpGridDst, tmpGridSrc,1785 /* algo = CGridTransformationFactory<CDomain>::createTransformation(transType, false, tmpGridDst, tmpGridSrc, 1796 1786 transformation, 0, 1797 1787 posInGrid,posInGrid,posInGrid, 1798 1788 posInGrid,posInGrid,posInGrid ); 1789 */ 1799 1790 dstDomain->setTransformationAlgorithm(algo) ; 1800 1791 transformationPath.removeNextTransform() ; … … 1819 1810 tmpGridDst->addAxis(dstAxis->getId()) ; 1820 1811 1812 algo = transformation -> createAlgorithm(false, tmpGridDst, tmpGridSrc, 0, 1813 posInGrid,posInGrid,posInGrid, 1814 posInGrid,posInGrid,posInGrid ); 1815 1821 1816 //reuse existing algorithm interface for, now 1822 algo = CGridTransformationFactory<CAxis>::createTransformation(transType, false, tmpGridDst, tmpGridSrc,1817 /* algo = CGridTransformationFactory<CAxis>::createTransformation(transType, false, tmpGridDst, tmpGridSrc, 1823 1818 transformation, 0, 1824 1819 posInGrid,posInGrid,posInGrid, 1825 posInGrid,posInGrid,posInGrid ); 1820 posInGrid,posInGrid,posInGrid );*/ 1826 1821 dstAxis->setTransformationAlgorithm(algo) ; 1827 1822 transformationPath.removeNextTransform() ; … … 1846 1841 tmpGridDst->addScalar(dstScalar->getId()) ; 1847 1842 1843 algo = transformation -> createAlgorithm(false, tmpGridDst, tmpGridSrc, 0, 1844 posInGrid,posInGrid,posInGrid, 1845 posInGrid,posInGrid,posInGrid ); 1848 1846 //reuse existing algorithm interface for, now 1849 algo = CGridTransformationFactory<CScalar>::createTransformation(transType, false, tmpGridDst, tmpGridSrc,1847 /* algo = CGridTransformationFactory<CScalar>::createTransformation(transType, false, tmpGridDst, tmpGridSrc, 1850 1848 transformation, 0, 1851 1849 posInGrid,posInGrid,posInGrid, 1852 posInGrid,posInGrid,posInGrid ); 1850 posInGrid,posInGrid,posInGrid );*/ 1853 1851 dstScalar->setTransformationAlgorithm(algo) ; 1854 1852 transformationPath.removeNextTransform() ; … … 1917 1915 if (hadTransform) 1918 1916 { 1917 1919 1918 if (!isSource) 1920 1919 { … … 1929 1928 shared_ptr<CTransformFilter> transformFilter = shared_ptr<CTransformFilter>(gridAlgorithm->createTransformFilter(gc, detectMissingValues, defaultValue)) ; 1930 1929 outputFilter->connectOutput(transformFilter,0) ; 1930 vector<string> auxFieldId = algo->getAuxFieldId() ; // better to do that at transformation not algo ?? 1931 int i=1; 1932 for (auto& it : auxFieldId) 1933 { 1934 CField* auxField = CField::get(it) ; 1935 auxField->buildWorkflowGraph(gc) ; 1936 auxField->getInstantDataFilter()->connectOutput(transformFilter,i) ; 1937 i++ ; 1938 } 1931 1939 outputFilter = transformFilter ; 1932 1940 }
Note: See TracChangeset
for help on using the changeset viewer.