Changeset 960


Ignore:
Timestamp:
10/04/16 18:59:32 (4 years ago)
Author:
mhnguyen
Message:

New transformation: Extract a point on axis to a scalar

+) Add new node and new transformation algorithm

Test
+) On Curie
+) Work

Location:
XIOS/trunk/src
Files:
5 added
13 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/config/node_type.conf

    r935 r960  
    7979#endif //__XIOS_CExpandDomain__ 
    8080 
     81#ifdef __XIOS_CExtractAxisToScalar__ 
     82   DECLARE_NODE(ExtractAxisToScalar, extract_axis) 
     83#endif //__XIOS_CExtractAxisToScalar__ 
     84 
    8185#ifdef __XIOS_CContext__ 
    8286   DECLARE_NODE_PAR(Context, context) 
  • XIOS/trunk/src/group_factory_decl.cpp

    r935 r960  
    3737  macro(CComputeConnectivityDomainGroup) 
    3838  macro(CExpandDomainGroup) 
     39  macro(CExtractAxisToScalarGroup) 
    3940} 
  • XIOS/trunk/src/group_template_decl.cpp

    r935 r960  
    2626  macro(ComputeConnectivityDomain) 
    2727  macro(ExpandDomain) 
     28  macro(ExtractAxisToScalar) 
    2829 
    2930} 
  • XIOS/trunk/src/node/node_enum.hpp

    r935 r960  
    3131         eExtractDomainToAxis, 
    3232         eComputeConnectivityDomain, 
    33          eExpandDomain 
     33         eExpandDomain, 
     34         eExtractAxisToScalar 
    3435 
    3536      } ENodeType; 
  • XIOS/trunk/src/node/node_type.hpp

    r935 r960  
    2222#include "compute_connectivity_domain.hpp" 
    2323#include "expand_domain.hpp" 
     24#include "extract_axis_to_scalar.hpp" 
    2425 
    2526 
  • XIOS/trunk/src/node/scalar.cpp

    r895 r960  
    3232   { 
    3333     m["reduce_axis"] = TRANS_REDUCE_AXIS_TO_SCALAR; 
     34     m["extract_axis"] = TRANS_EXTRACT_AXIS_TO_SCALAR; 
    3435   } 
    3536 
  • XIOS/trunk/src/node/transformation_enum.hpp

    r935 r960  
    1818        TRANS_COMPUTE_CONNECTIVITY_DOMAIN = 9, 
    1919        TRANS_EXPAND_DOMAIN = 10, 
     20        TRANS_EXTRACT_AXIS_TO_SCALAR = 11, 
    2021      } ETranformationType; 
    2122 
  • XIOS/trunk/src/object_factory_decl.cpp

    r935 r960  
    3838  macro(CComputeConnectivityDomain) 
    3939  macro(CExpandDomain) 
     40  macro(CExtractAxisToScalar) 
    4041 
    4142  macro(CFieldGroup) 
     
    5859  macro(CComputeConnectivityDomainGroup) 
    5960  macro(CExpandDomainGroup) 
     61  macro(CExtractAxisToScalarGroup) 
    6062} 
  • XIOS/trunk/src/object_template_decl.cpp

    r935 r960  
    2525  template class CObjectTemplate<CComputeConnectivityDomain>; 
    2626  template class CObjectTemplate<CExpandDomain>; 
     27  template class CObjectTemplate<CExtractAxisToScalar>; 
    2728 
    2829  template class CObjectTemplate<CContextGroup>; 
     
    4546  template class CObjectTemplate<CComputeConnectivityDomainGroup>; 
    4647  template class CObjectTemplate<CExpandDomainGroup>; 
     48  template class CObjectTemplate<CExtractAxisToScalarGroup>; 
    4749} 
  • XIOS/trunk/src/transformation/algo_types.hpp

    r941 r960  
    2727#include "expand_domain.hpp" 
    2828#include "domain_algorithm_expand.hpp" 
     29#include "extract_axis_to_scalar.hpp" 
     30#include "scalar_algorithm_extract_axis.hpp" 
    2931 
    3032#endif // __XIOS_ALGORITHM_TRANSFORMATION_TYPES_HPP__ 
  • XIOS/trunk/src/transformation/grid_transformation_selector.cpp

    r941 r960  
    1212 
    1313namespace xios { 
     14 
     15/*! 
     16  Register transformation to the framework 
     17*/ 
     18void CGridTransformationSelector::registerTransformations() 
     19{ 
     20  //! Scalar 
     21  CScalarAlgorithmReduceScalar::registerTrans(); 
     22  CScalarAlgorithmExtractScalar::registerTrans(); 
     23 
     24  //! Axis 
     25  CAxisAlgorithmZoom::registerTrans(); 
     26  CAxisAlgorithmExtractDomain::registerTrans(); 
     27  CAxisAlgorithmInterpolate::registerTrans(); 
     28  CAxisAlgorithmInverse::registerTrans(); 
     29  CAxisAlgorithmReduceDomain::registerTrans(); 
     30 
     31  //! Domain 
     32  CDomainAlgorithmComputeConnectivity::registerTrans(); 
     33  CDomainAlgorithmInterpolate::registerTrans(); 
     34  CDomainAlgorithmZoom::registerTrans(); 
     35  CDomainAlgorithmExpand::registerTrans(); 
     36} 
    1437 
    1538CGridTransformationSelector::CGridTransformationSelector(CGrid* destination, CGrid* source, TransformationType type) 
     
    308331} 
    309332 
    310  
    311 void CGridTransformationSelector::registerTransformations() 
    312 { 
    313   //! Scalar 
    314   CScalarAlgorithmReduceScalar::registerTrans(); 
    315  
    316   //! Axis 
    317   CAxisAlgorithmZoom::registerTrans(); 
    318   CAxisAlgorithmExtractDomain::registerTrans(); 
    319   CAxisAlgorithmInterpolate::registerTrans(); 
    320   CAxisAlgorithmInverse::registerTrans(); 
    321   CAxisAlgorithmReduceDomain::registerTrans(); 
    322  
    323   //! Domain 
    324   CDomainAlgorithmComputeConnectivity::registerTrans(); 
    325   CDomainAlgorithmInterpolate::registerTrans(); 
    326   CDomainAlgorithmZoom::registerTrans(); 
    327   CDomainAlgorithmExpand::registerTrans(); 
    328  
    329 } 
    330  
    331 } 
     333} 
  • XIOS/trunk/src/type/type_util.hpp

    r935 r960  
    4444    class CExpandDomain; 
    4545    class CExpandDomainGroup; 
     46    class CExtractAxisToScalar; 
     47    class CExtractAxisToScalarGroup; 
    4648 
    4749  template <typename T> inline string getStrType(void); 
     
    104106  macro(CExpandDomain) 
    105107  macro(CExpandDomainGroup) 
     108  macro(CExtractAxisToScalar) 
     109  macro(CExtractAxisToScalarGroup) 
     110 
    106111#undef macro 
    107112} 
  • XIOS/trunk/src/xml_parser_decl.cpp

    r935 r960  
    3131    macro( ComputeConnectivityDomain ) 
    3232    macro( ExpandDomain ) 
     33    macro( ExtractAxisToScalar ) 
    3334  } 
    3435} 
Note: See TracChangeset for help on using the changeset viewer.