- Timestamp:
- 01/23/19 10:31:44 (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_openmp/src/transformation/scalar_algorithm_extract_axis.cpp
r1545 r1642 14 14 #include "grid_transformation_factory_impl.hpp" 15 15 16 16 #include "reduction.hpp" 17 17 18 18 namespace xios { … … 26 26 std::map<int, int>& elementPositionInGridDst2AxisPosition, 27 27 std::map<int, int>& elementPositionInGridDst2DomainPosition) 28 TRY 28 29 { 29 30 std::vector<CScalar*> scalarListDestP = gridDst->getScalars(); … … 36 37 return (new CScalarAlgorithmExtractAxis(scalarListDestP[scalarDstIndex], axisListSrcP[axisSrcIndex], extractAxis)); 37 38 } 39 CATCH 38 40 39 41 bool CScalarAlgorithmExtractAxis::registerTrans() 42 TRY 40 43 { 41 44 CGridTransformationFactory<CScalar>::registerTransformation(TRANS_EXTRACT_AXIS_TO_SCALAR, create); 42 45 } 46 CATCH 43 47 44 48 CScalarAlgorithmExtractAxis::CScalarAlgorithmExtractAxis(CScalar* scalarDestination, CAxis* axisSource, CExtractAxisToScalar* algo) 45 49 : CScalarAlgorithmTransformation(scalarDestination, axisSource), 46 50 reduction_(0) 51 TRY 47 52 { 48 53 algo->checkValid(scalarDestination, axisSource); 49 54 StdString op = "extract"; 50 55 pos_ = algo->position; 51 if(CReductionAlgorithm::ReductionOperations_ptr == 0) 52 { 53 CReductionAlgorithm::initReductionOperation(); 54 } 55 reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations_ptr->at(op)); 56 reduction_ = CReductionAlgorithm::createOperation(CReductionAlgorithm::ReductionOperations[op]); 56 57 } 58 CATCH 57 59 58 60 void CScalarAlgorithmExtractAxis::apply(const std::vector<std::pair<int,double> >& localIndex, … … 61 63 std::vector<bool>& flagInitial, 62 64 bool ignoreMissingValue, bool firstPass) 65 TRY 63 66 { 64 67 reduction_->apply(localIndex, dataInput, dataOut, flagInitial, ignoreMissingValue, firstPass); 65 68 } 69 CATCH 66 70 67 71 CScalarAlgorithmExtractAxis::~CScalarAlgorithmExtractAxis() 72 TRY 68 73 { 69 74 if (0 != reduction_) delete reduction_; 70 75 } 76 CATCH 71 77 72 78 void CScalarAlgorithmExtractAxis::computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs) 79 TRY 73 80 { 74 81 this->transformationMapping_.resize(1); … … 81 88 transWeight[0].push_back(1.0); 82 89 } 90 CATCH 83 91 84 92 }
Note: See TracChangeset
for help on using the changeset viewer.