source: XIOS/dev/dev_ym/XIOS_COUPLING/src/transformation/algorithm_transformation_no_data_modification.cpp @ 2291

Last change on this file since 2291 was 2291, checked in by ymipsl, 2 years ago

Improve reduction transformation

  • make the difference between reduction over geometry or reduction between process.
  • geometrical reduction :

domain -> axis
axis -> scalar
domain -> scalar

  • reduction across processes for redondant geometrical cell :

axis -> axis
scalar -> scalar

Reduction can be local (only for the geometrical cell owned by current process) or global, using the "local" attribute (bool) over the reduction.

YM

  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 678 bytes
Line 
1#include "algorithm_transformation_no_data_modification.hpp"
2#include "grid_algorithm_no_data_modification.hpp"
3#include "grid.hpp"
4
5namespace xios
6{
7  void CAlgorithmTransformationNoDataModification::apply(int dimBefore, int dimAfter, const CArray<double,1>& dataIn, CArray<double,1>& dataOut)
8  {
9    dataOut.reference(dataIn) ;
10  }
11 
12  shared_ptr<CGridAlgorithm> CAlgorithmTransformationNoDataModification::createGridAlgorithm(CGrid* gridSrc, CGrid* gridDst, int pos)
13  {
14    auto algo=make_shared<CGridAlgorithmNoDataModification>(static_pointer_cast<CAlgorithmTransformationNoDataModification>(shared_from_this())) ;
15    algo->computeAlgorithm() ;
16    return algo ; 
17  }
18}
Note: See TracBrowser for help on using the repository browser.