- Timestamp:
- 02/16/16 10:14:30 (8 years ago)
- Location:
- XIOS/trunk
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/inputs/REMAP/iodef.xml
r823 r824 8 8 <field_definition level="1" > 9 9 <field id="src_field" operation="instant" domain_ref="src_domain"/> 10 <field id="src_field_clone" operation="instant" field_ref="src_field" domain_ref="src_domain_clone"/> 10 11 <field id="dst_field" operation="instant" field_ref="src_field" domain_ref="dst_domain"/> 11 12 <field id="tmp_field" operation="instant" domain_ref="src_domain_regular_tmp"/> … … 21 22 <file id="output" name="output"> 22 23 <field field_ref="src_field" name="field" /> 24 </file> 25 <file id="output_clone" name="output_clone"> 26 <field field_ref="src_field_clone" name="field" /> 23 27 </file> 24 28 <file id="output_dst" name="output_dst" type="one_file"> … … 61 65 <domain_definition> 62 66 <domain id="src_domain" /> 67 <domain id="src_domain_clone" /> 63 68 <domain id="dst_domain"> 64 69 <interpolate_domain/> -
XIOS/trunk/src/node/field.cpp
r823 r824 770 770 std::pair<boost::shared_ptr<CFilter>, boost::shared_ptr<CFilter> > filters; 771 771 // Check if a spatial transformation is needed 772 if (grid && grid != fieldRef->grid )772 if (grid && grid != fieldRef->grid && grid->hasTransform()) 773 773 filters = CSpatialTransformFilter::buildFilterGraph(gc, fieldRef->grid, grid); 774 774 else -
XIOS/trunk/src/node/grid.cpp
r823 r824 32 32 , transformations_(0), isTransformed_(false) 33 33 , axisPositionInGrid_(), positionDimensionDistributed_(1), hasDomainAxisBaseRef_(false) 34 , gridSrc_() 34 , gridSrc_(), hasTransform_(false) 35 35 { 36 36 setVirtualDomainGroup(); … … 47 47 , transformations_(0), isTransformed_(false) 48 48 , axisPositionInGrid_(), positionDimensionDistributed_(1), hasDomainAxisBaseRef_(false) 49 , gridSrc_() 49 , gridSrc_(), hasTransform_(false) 50 50 { 51 51 setVirtualDomainGroup(); … … 1408 1408 transformations_ = new CGridTransformation(this, transformGridSrc); 1409 1409 transformations_->computeAll(); 1410 if (0 < transformations_->getNbAlgo()) hasTransform_ = true; 1410 1411 1411 1412 // Ok, now need to compute index of grid source 1412 1413 transformGridSrc->checkMaskIndex(false); 1414 } 1415 1416 bool CGrid::hasTransform() 1417 { 1418 return hasTransform_; 1413 1419 } 1414 1420 -
XIOS/trunk/src/node/grid.hpp
r823 r824 195 195 void addTransGridSource(CGrid* gridSrc); 196 196 std::map<CGrid*, std::pair<bool,StdString> >& getTransGridSource(); 197 bool hasTransform(); 197 198 198 199 public: … … 273 274 std::vector<int> globalDim_; 274 275 std::map<CGrid*, std::pair<bool,StdString> > gridSrc_; 276 bool hasTransform_; 275 277 }; // class CGrid 276 278 -
XIOS/trunk/src/test/test_remap.f90
r820 r824 116 116 bounds_lon_1D=src_boundslon, bounds_lat_1D=src_boundslat, nvertex=src_nvertex) 117 117 118 CALL xios_set_domain_attr("src_domain_clone", ni_glo=src_ni_glo, ibegin=src_ibegin, ni=src_ni, type="unstructured") 119 CALL xios_set_domain_attr("src_domain_clone", lonvalue_1D=src_lon, latvalue_1D=src_lat, & 120 bounds_lon_1D=src_boundslon, bounds_lat_1D=src_boundslat, nvertex=src_nvertex) 121 118 122 CALL xios_set_domain_attr("dst_domain", ni_glo=dst_ni_glo, ibegin=dst_ibegin, ni=dst_ni, type="unstructured") 119 123 CALL xios_set_domain_attr("dst_domain", lonvalue_1D=dst_lon, latvalue_1D=dst_lat, & -
XIOS/trunk/src/transformation/grid_transformation.cpp
r823 r824 355 355 void CGridTransformation::computeAll() 356 356 { 357 if (nbAlgos_ < 1) return; 358 357 359 CContext* context = CContext::getCurrent(); 358 360 CContextClient* client = context->client; -
XIOS/trunk/src/transformation/grid_transformation.hpp
r821 r824 48 48 CGrid* getGridDestination() { return gridDestination_; } 49 49 ListAlgoType getAlgoList() const {return listAlgos_; } 50 int getNbAlgo() { return nbAlgos_; } 50 51 51 52 protected:
Note: See TracChangeset
for help on using the changeset viewer.