source: XIOS/dev/dev_ym/XIOS_COUPLING/src/node/temporal_splitting.cpp @ 2247

Last change on this file since 2247 was 2011, checked in by ymipsl, 3 years ago
  • bug fix when createing mask on server side when overlapping grid
  • implement axis interpolation on pressure coordinate
  • big cleaning in transformation

YM

  • Property svn:eol-style set to native
File size: 3.0 KB
Line 
1#include "temporal_splitting.hpp"
2#include "axis_algorithm_temporal_splitting.hpp"
3#include "type.hpp"
4#include "axis.hpp"
5#include "domain.hpp"
6#include "scalar.hpp"
7
8namespace xios {
9
10  /// ////////////////////// Définitions ////////////////////// ///
11
12  CTemporalSplitting::CTemporalSplitting(void)
13    : CObjectTemplate<CTemporalSplitting>(), CTemporalSplittingAttributes(), CTransformation<CAxis>()
14  { /* Ne rien faire de plus */ }
15
16  CTemporalSplitting::CTemporalSplitting(const StdString & id)
17    : CObjectTemplate<CTemporalSplitting>(id), CTemporalSplittingAttributes(), CTransformation<CAxis>()
18  { /* Ne rien faire de plus */ }
19
20  CTemporalSplitting::~CTemporalSplitting(void)
21  {}
22
23  CTransformation<CAxis>* CTemporalSplitting::create(const StdString& id, xml::CXMLNode* node)
24  {
25    CTemporalSplitting* temporalSplitting = CTemporalSplittingGroup::get("temporal_splitting_definition")->createChild(id);
26    if (node) temporalSplitting->parse(*node);
27    return static_cast<CTransformation<CAxis>*>(temporalSplitting);
28  }
29
30  bool CTemporalSplitting::registerTrans()
31  {
32    return registerTransformation(TRANS_TEMPORAL_SPLITTING, {create, getTransformation});
33  }
34
35  bool CTemporalSplitting::_dummyRegistered = CTemporalSplitting::registerTrans();
36
37  //----------------------------------------------------------------
38
39  StdString CTemporalSplitting::GetName(void)    { return StdString("temporal_splitting"); }
40  StdString CTemporalSplitting::GetDefName(void) { return StdString("temporal_splitting"); }
41  ENodeType CTemporalSplitting::GetType(void)    { return eTemporalSplitting; }
42
43  void CTemporalSplitting::checkValid(CAxis* axisDst, CScalar* scalarSrc)
44  {
45
46  }
47
48  CGenericAlgorithmTransformation* CTemporalSplitting::createAlgorithm(bool isSource,
49                                                        CGrid* gridDst, CGrid* gridSrc,
50                                                        int elementPositionInGrid,
51                                                        std::map<int, int>& elementPositionInGridSrc2ScalarPosition,
52                                                        std::map<int, int>& elementPositionInGridSrc2AxisPosition,
53                                                        std::map<int, int>& elementPositionInGridSrc2DomainPosition,
54                                                        std::map<int, int>& elementPositionInGridDst2ScalarPosition,
55                                                        std::map<int, int>& elementPositionInGridDst2AxisPosition,
56                                                        std::map<int, int>& elementPositionInGridDst2DomainPosition)
57  {
58    return CAxisAlgorithmTemporalSplitting::create(isSource, gridDst,  gridSrc, this, elementPositionInGrid,
59                       elementPositionInGridSrc2ScalarPosition, elementPositionInGridSrc2AxisPosition, elementPositionInGridSrc2DomainPosition,
60                       elementPositionInGridDst2ScalarPosition, elementPositionInGridDst2AxisPosition, elementPositionInGridDst2DomainPosition);
61  }
62}
Note: See TracBrowser for help on using the repository browser.