source: XIOS/dev/dev_ym/XIOS_COUPLING/src/transformation/algorithm_transformation_weight.hpp @ 1997

Last change on this file since 1997 was 1997, checked in by ymipsl, 3 years ago

New transformation algorithm created that can be inherited more specifically for a given transformation :

  • no_data_modification : only the element is modifed, the data are not modofied
  • transfer : data is juste transfered from source element to destination element
  • weight : destination data is composed of sum of source data associated to a weight

YM

  • Property svn:executable set to *
File size: 1.2 KB
Line 
1#ifndef __XIOS_ALGORITHM_TRANSFORMATION_WEIGHT_HPP__
2#define __XIOS_ALGORITHM_TRANSFORMATION_WEIGHT_HPP__
3
4#include "generic_algorithm_transformation.hpp"
5#include "array_new.hpp"
6#include "local_view.hpp"
7#include "transform_connector.hpp"
8#include "weight_transform_connector.hpp"
9
10namespace xios
11{
12
13  class CAlgorithmTransformationWeight : public CGenericAlgorithmTransformation
14  {
15    public:
16
17      CAlgorithmTransformationWeight(bool isSource) : CGenericAlgorithmTransformation(isSource) {}
18      virtual ~CAlgorithmTransformationWeight() {};
19      virtual void apply(int dimBefore, int dimAfter, const CArray<double,1>& dataIn, CArray<double,1>& dataOut);
20     
21    protected:
22      virtual void computeAlgorithm(CLocalView* srcView, CLocalView* dstView) ;
23
24      //! Map between global index of destination element and source element
25      TransformationIndexMap transformationMapping_;
26      //! Weight corresponding of source to destination
27      TransformationWeightMap transformationWeight_;
28      CTransformConnector* transformConnector_ ;
29      CWeightTransformConnector* weightTransformConnector_ ;
30     
31  };
32
33}
34#endif //__XIOS_ALGORITHM_TRANSFORMATION_WEIGHT_HPP__
Note: See TracBrowser for help on using the repository browser.