Changeset 1275 for XIOS/dev/XIOS_DEV_CMIP6/src/transformation
- Timestamp:
- 09/25/17 10:59:29 (7 years ago)
- Location:
- XIOS/dev/XIOS_DEV_CMIP6/src/transformation
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/XIOS_DEV_CMIP6/src/transformation/algo_types.hpp
r976 r1275 20 20 #include "axis_algorithm_transformation.hpp" 21 21 #include "axis_algorithm_extract_domain.hpp" 22 #include "axis_algorithm_temporal_splitting.hpp" 22 23 23 24 #include "domain_algorithm_zoom.hpp" -
XIOS/dev/XIOS_DEV_CMIP6/src/transformation/axis_algorithm_transformation.cpp
r895 r1275 19 19 20 20 CAxisAlgorithmTransformation::CAxisAlgorithmTransformation(CAxis* axisDestination, CAxis* axisSource) 21 : CGenericAlgorithmTransformation(), axisDest_(axisDestination), axisSrc_(axisSource), domainSrc_(0) 21 : CGenericAlgorithmTransformation(), axisDest_(axisDestination), axisSrc_(axisSource), domainSrc_(0),scalarSrc_(0) 22 22 { 23 23 axisDestGlobalSize_ = axisDestination->n_glo.getValue(); … … 30 30 31 31 CAxisAlgorithmTransformation::CAxisAlgorithmTransformation(CAxis* axisDestination, CDomain* domainSource) 32 : CGenericAlgorithmTransformation(), axisDest_(axisDestination), axisSrc_(0), domainSrc_(domainSource) 32 : CGenericAlgorithmTransformation(), axisDest_(axisDestination), axisSrc_(0), domainSrc_(domainSource),scalarSrc_(0) 33 33 { 34 34 axisDestGlobalSize_ = axisDestination->n_glo.getValue(); … … 40 40 } 41 41 42 CAxisAlgorithmTransformation::CAxisAlgorithmTransformation(CAxis* axisDestination, CScalar* scalarSource) 43 : CGenericAlgorithmTransformation(), axisDest_(axisDestination), axisSrc_(0), domainSrc_(0), scalarSrc_(scalarSource) 44 { 45 axisDestGlobalSize_ = axisDestination->n_glo.getValue(); 46 int niDest = axisDestination->n.getValue(); 47 int ibeginDest = axisDestination->begin.getValue(); 48 49 for (int idx = 0; idx < niDest; ++idx) 50 if ((axisDestination->mask)(idx)) axisDestGlobalIndex_.push_back(ibeginDest+idx); 51 } 42 52 CAxisAlgorithmTransformation::~CAxisAlgorithmTransformation() 43 53 { … … 66 76 if (2 == elementType) nIndexSize = domainSrc_->i_index.numElements(); 67 77 else if (1 == elementType) nIndexSize = axisSrc_->index.numElements(); 78 else nIndexSize=1 ; // scalar 79 68 80 CClientClientDHTInt::Index2VectorInfoTypeMap globalIndex2ProcRank; 69 81 globalIndex2ProcRank.rehash(std::ceil(nIndexSize/globalIndex2ProcRank.max_load_factor())); 70 82 for (int idx = 0; idx < nIndexSize; ++idx) 71 83 { 72 if (2 == elementType) 84 if (2 == elementType) // domain 73 85 { 74 86 globalIndex = domainSrc_->i_index(idx) + domainSrc_->j_index(idx) * domainSrc_->ni_glo; 75 87 } 76 else if (1 == elementType) 88 else if (1 == elementType) // axis 77 89 { 78 90 globalIndex = axisSrc_->index(idx); 91 } 92 else // scalar 93 { 94 globalIndex = 0; 79 95 } 80 96 -
XIOS/dev/XIOS_DEV_CMIP6/src/transformation/axis_algorithm_transformation.hpp
r934 r1275 17 17 class CAxis; 18 18 class CDomain; 19 19 class CScalar; 20 20 /*! 21 21 \class CAxisAlgorithmTransformation … … 27 27 CAxisAlgorithmTransformation(CAxis* axisDestination, CAxis* axisSource); 28 28 CAxisAlgorithmTransformation(CAxis* axisDestination, CDomain* domainSource); 29 CAxisAlgorithmTransformation(CAxis* axisDestination, CScalar* scalarSource); 29 30 30 31 virtual ~CAxisAlgorithmTransformation(); … … 52 53 //! Domain on grid source 53 54 CDomain* domainSrc_; 55 56 //! Scalar on grid source 57 58 CScalar* scalarSrc_; 54 59 }; 55 60 -
XIOS/dev/XIOS_DEV_CMIP6/src/transformation/grid_transformation_selector.cpp
r1158 r1275 29 29 CAxisAlgorithmInverse::registerTrans(); 30 30 CAxisAlgorithmReduceDomain::registerTrans(); 31 CAxisAlgorithmTemporalSplitting::registerTrans(); 31 32 32 33 //! Domain -
XIOS/dev/XIOS_DEV_CMIP6/src/transformation/grid_transformation_selector.hpp
r978 r1275 51 51 const std::vector<StdString>& getAuxInputs() const { return auxInputs_; } 52 52 const std::vector<CGenericAlgorithmTransformation*>& getAlgos() const { return algoTransformation_; } 53 const std::map<int, int> getElementPositionInGridSrc2AxisPosition() const { return elementPositionInGridSrc2AxisPosition_ ;} 54 const std::map<int, int> getElementPositionInGridSrc2DomainPosition() const { return elementPositionInGridSrc2DomainPosition_ ;} 55 const std::map<int, int> getElementPositionInGridSrc2ScalarPosition() const { return elementPositionInGridSrc2ScalarPosition_ ;} 56 const std::map<int, int> getElementPositionInGridDst2AxisPosition() const { return elementPositionInGridDst2AxisPosition_ ;} 57 const std::map<int, int> getElementPositionInGridDst2DomainPosition() const { return elementPositionInGridDst2DomainPosition_ ;} 58 const std::map<int, int> getElementPositionInGridDst2ScalarPosition() const { return elementPositionInGridDst2ScalarPosition_ ;} 59 53 60 54 61 protected:
Note: See TracChangeset
for help on using the changeset viewer.