Changeset 915
- Timestamp:
- 08/04/16 14:09:24 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/transformation/domain_algorithm_interpolate.cpp
r893 r915 37 37 int i, j, k, idx; 38 38 std::vector<double> srcPole(3,0), dstPole(3,0); 39 39 int orderInterp = interpDomain_->order.getValue(); 40 40 bool renormalize ; 41 41 … … 80 80 else // if domain source is rectilinear, not do anything now 81 81 { 82 bool isNorthPole = false;83 bool isSouthPole = false;84 82 CArray<double,1> lon_g ; 85 83 CArray<double,1> lat_g ; … … 87 85 if (!domainSrc_->lonvalue_1d.isEmpty() && !domainSrc_->latvalue_1d.isEmpty()) 88 86 { 89 90 91 92 { 93 94 95 96 97 98 99 100 for(int i=0; i<domainSrc_->ni_glo; ++i) lon_g(i)=domainSrc_->lon_start+i*step ;101 102 for(int i=0; i<domainSrc_->ni_glo; ++i) lat_g(i)=domainSrc_->lat_start+i*step ;103 104 87 domainSrc_->AllgatherRectilinearLonLat(domainSrc_->lonvalue_1d,domainSrc_->latvalue_1d, lon_g,lat_g) ; 88 } 89 else if (! domainSrc_->latvalue_rectilinear_read_from_file.isEmpty() && ! domainSrc_->lonvalue_rectilinear_read_from_file.isEmpty() ) 90 { 91 lat_g=domainSrc_->latvalue_rectilinear_read_from_file ; 92 lon_g=domainSrc_->lonvalue_rectilinear_read_from_file ; 93 } 94 else if (!domainSrc_->lon_start.isEmpty() && !domainSrc_->lon_end.isEmpty() && 95 !domainSrc_->lat_start.isEmpty() && !domainSrc_->lat_end.isEmpty()) 96 { 97 double step=(domainSrc_->lon_end-domainSrc_->lon_start)/domainSrc_->ni_glo ; 98 for (int i=0; i<domainSrc_->ni_glo; ++i) lon_g(i)=domainSrc_->lon_start+i*step ; 99 step=(domainSrc_->lat_end-domainSrc_->lat_start)/domainSrc_->nj_glo ; 100 for (int i=0; i<domainSrc_->ni_glo; ++i) lat_g(i)=domainSrc_->lat_start+i*step ; 101 } 102 else ERROR("void CDomainAlgorithmInterpolate::computeRemap()",<<"Cannot compute bounds for rectilinear domain") ; 105 103 106 104 nVertexSrc = constNVertex;
Note: See TracChangeset
for help on using the changeset viewer.