Ignore:
Timestamp:
01/25/18 18:35:58 (6 years ago)
Author:
oabramkina
Message:

Reverting changes made in r1310 for local domain read of curvilinear and unstructured domains.
A possible bug in cases when the number of grid points is smaller than the number of clients. To be corrected.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/XIOS_DEV_CMIP6/src/node/domain.cpp

    r1410 r1413  
    256256 
    257257   /*! 
    258      Redistribute RECTILINEAR or CURVILINEAR domain with a number of local domains. 
     258     Redistribute RECTILINEAR domain with a number of local domains. 
    259259   All attributes ni,nj,ibegin,jbegin (if defined) will be rewritten 
    260260   The optional attributes lonvalue, latvalue will be added. Because this function only serves (for now) 
     
    531531   void CDomain::fillInCurvilinearLonLat() 
    532532   { 
    533  
    534533     if (!lonvalue_curvilinear_read_from_file.isEmpty() && lonvalue_2d.isEmpty()) 
    535534     { 
     
    537536       for (int jdx = 0; jdx < nj; ++jdx) 
    538537        for (int idx = 0; idx < ni; ++idx) 
    539             lonvalue_2d(idx,jdx) = lonvalue_curvilinear_read_from_file(idx, jdx); 
    540 //            lonvalue_2d(idx,jdx) = lonvalue_curvilinear_read_from_file(idx+ibegin, jdx+jbegin); 
     538         lonvalue_2d(idx,jdx) = lonvalue_curvilinear_read_from_file(idx+ibegin, jdx+jbegin); 
    541539 
    542540       lonvalue_curvilinear_read_from_file.free(); 
     
    548546       for (int jdx = 0; jdx < nj; ++jdx) 
    549547        for (int idx = 0; idx < ni; ++idx) 
    550             latvalue_2d(idx,jdx) = latvalue_curvilinear_read_from_file(idx, jdx); 
    551 //            latvalue_2d(idx,jdx) = latvalue_curvilinear_read_from_file(idx+ibegin, jdx+jbegin); 
     548         latvalue_2d(idx,jdx) = latvalue_curvilinear_read_from_file(idx+ibegin, jdx+jbegin); 
    552549 
    553550       latvalue_curvilinear_read_from_file.free(); 
     
    560557        for (int idx = 0; idx < ni; ++idx) 
    561558          for (int ndx = 0; ndx < nvertex; ++ndx) 
    562               bounds_lon_2d(ndx,idx,jdx) = bounds_lonvalue_curvilinear_read_from_file(ndx,idx, jdx); 
    563 //              bounds_lon_2d(ndx,idx,jdx) = bounds_lonvalue_curvilinear_read_from_file(ndx,idx+ibegin, jdx+jbegin); 
     559         bounds_lon_2d(ndx,idx,jdx) = bounds_lonvalue_curvilinear_read_from_file(ndx,idx+ibegin, jdx+jbegin); 
    564560 
    565561       bounds_lonvalue_curvilinear_read_from_file.free(); 
     
    572568        for (int idx = 0; idx < ni; ++idx) 
    573569          for (int ndx = 0; ndx < nvertex; ++ndx) 
    574               bounds_lat_2d(ndx,idx,jdx) = bounds_latvalue_curvilinear_read_from_file(ndx,idx, jdx); 
    575 //              bounds_lat_2d(ndx,idx,jdx) = bounds_latvalue_curvilinear_read_from_file(ndx,idx+ibegin, jdx+jbegin); 
     570            bounds_lat_2d(ndx,idx,jdx) = bounds_latvalue_curvilinear_read_from_file(ndx,idx+ibegin, jdx+jbegin); 
    576571 
    577572       bounds_latvalue_curvilinear_read_from_file.free(); 
     
    589584     { 
    590585       i_index.resize(ni); 
    591 //       for(int idx = 0; idx < ni; ++idx) i_index(idx)=ibegin+idx; 
     586       for(int idx = 0; idx < ni; ++idx) i_index(idx)=ibegin+idx; 
    592587     } 
    593588 
     
    596591        lonvalue_1d.resize(ni); 
    597592        for (int idx = 0; idx < ni; ++idx) 
    598 //          lonvalue_1d(idx) = lonvalue_unstructured_read_from_file(i_index(idx)); 
    599           lonvalue_1d(idx) = lonvalue_unstructured_read_from_file(idx); 
     593          lonvalue_1d(idx) = lonvalue_unstructured_read_from_file(i_index(idx)); 
    600594 
    601595        // We dont need these values anymore, so just delete them 
     
    607601        latvalue_1d.resize(ni); 
    608602        for (int idx = 0; idx < ni; ++idx) 
    609 //          latvalue_1d(idx) =  latvalue_unstructured_read_from_file(i_index(idx)); 
    610           latvalue_1d(idx) =  latvalue_unstructured_read_from_file(idx); 
     603          latvalue_1d(idx) =  latvalue_unstructured_read_from_file(i_index(idx)); 
    611604 
    612605        // We dont need these values anymore, so just delete them 
     
    620613        for (int idx = 0; idx < ni; ++idx) 
    621614          for (int jdx = 0; jdx < nbVertex; ++jdx) 
    622 //            bounds_lon_1d(jdx,idx) = bounds_lonvalue_unstructured_read_from_file(jdx, i_index(idx)); 
    623             bounds_lon_1d(jdx,idx) = bounds_lonvalue_unstructured_read_from_file(jdx, idx); 
     615            bounds_lon_1d(jdx,idx) = bounds_lonvalue_unstructured_read_from_file(jdx, i_index(idx)); 
    624616 
    625617        // We dont need these values anymore, so just delete them 
     
    633625        for (int idx = 0; idx < ni; ++idx) 
    634626          for (int jdx = 0; jdx < nbVertex; ++jdx) 
    635 //            bounds_lat_1d(jdx,idx) = bounds_latvalue_unstructured_read_from_file(jdx, i_index(idx)); 
    636             bounds_lat_1d(jdx,idx) = bounds_latvalue_unstructured_read_from_file(jdx, idx); 
     627            bounds_lat_1d(jdx,idx) = bounds_latvalue_unstructured_read_from_file(jdx, i_index(idx)); 
    637628 
    638629        // We dont need these values anymore, so just delete them 
Note: See TracChangeset for help on using the changeset viewer.