Ignore:
Timestamp:
01/12/21 23:05:02 (3 years ago)
Author:
ymipsl
Message:
  • bug fix when createing mask on server side when overlapping grid
  • implement axis interpolation on pressure coordinate
  • big cleaning in transformation

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/node/interpolate_axis.cpp

    r1984 r2011  
    11#include "interpolate_axis.hpp" 
     2#include "axis_algorithm_interpolate_coordinate.hpp" 
     3#include "axis_algorithm_interpolate.hpp" 
    24#include "type.hpp" 
    35#include "field.hpp" 
     
    8486    return auxInputs; 
    8587  } 
     88 
     89  CGenericAlgorithmTransformation* CInterpolateAxis::createAlgorithm(bool isSource, 
     90                                                        CGrid* gridDst, CGrid* gridSrc, 
     91                                                        int elementPositionInGrid, 
     92                                                        std::map<int, int>& elementPositionInGridSrc2ScalarPosition, 
     93                                                        std::map<int, int>& elementPositionInGridSrc2AxisPosition, 
     94                                                        std::map<int, int>& elementPositionInGridSrc2DomainPosition, 
     95                                                        std::map<int, int>& elementPositionInGridDst2ScalarPosition, 
     96                                                        std::map<int, int>& elementPositionInGridDst2AxisPosition, 
     97                                                        std::map<int, int>& elementPositionInGridDst2DomainPosition) 
     98  { 
     99    if (!coordinate.isEmpty())  return CAxisAlgorithmInterpolateCoordinate::create(isSource, gridDst,  gridSrc, this, elementPositionInGrid,  
     100                                      elementPositionInGridSrc2ScalarPosition, elementPositionInGridSrc2AxisPosition, elementPositionInGridSrc2DomainPosition, 
     101                                      elementPositionInGridDst2ScalarPosition, elementPositionInGridDst2AxisPosition, elementPositionInGridDst2DomainPosition); 
     102    else return CAxisAlgorithmInterpolate::create(isSource, gridDst,  gridSrc, this, elementPositionInGrid,  
     103                elementPositionInGridSrc2ScalarPosition, elementPositionInGridSrc2AxisPosition, elementPositionInGridSrc2DomainPosition, 
     104                elementPositionInGridDst2ScalarPosition, elementPositionInGridDst2AxisPosition, elementPositionInGridDst2DomainPosition); 
     105  } 
    86106} 
Note: See TracChangeset for help on using the changeset viewer.