Ignore:
Timestamp:
01/25/17 16:25:17 (7 years ago)
Author:
yushan
Message:

initialize the branch

Location:
XIOS/dev/branch_yushan/src/transformation
Files:
21 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan/src/transformation/Functions/average_reduction.cpp

    r1018 r1037  
    33   \author Ha NGUYEN 
    44   \since 8 Sep 2016 
    5    \date 9 Jan 2017 
     5   \date 8 Sep 2016 
    66 
    77   \brief average reduction 
    88 */ 
    99#include "average_reduction.hpp" 
    10 #include "utils.hpp" 
    1110 
    1211namespace xios { 
     
    3029                                       const double* dataInput, 
    3130                                       CArray<double,1>& dataOut, 
    32                                        std::vector<bool>& flagInitial, 
    33                                        const double& defaultValue) 
     31                                       std::vector<bool>& flagInitial) 
    3432{ 
    3533  if (resetWeight_) { weights_.resize(flagInitial.size()); weights_ = 1.0; resetWeight_ = false; } 
    36   bool hasMissingValue = NumTraits<double>::isnan(defaultValue); 
    3734 
    38   if (hasMissingValue) 
     35  int nbLocalIndex = localIndex.size(); 
     36  int currentlocalIndex = 0; 
     37  double currentWeight  = 0.0; 
     38  for (int idx = 0; idx < nbLocalIndex; ++idx) 
    3939  { 
    40     int nbLocalIndex = localIndex.size(); 
    41     int currentlocalIndex = 0; 
    42     double currentWeight  = 0.0; 
    43     for (int idx = 0; idx < nbLocalIndex; ++idx) 
     40    currentlocalIndex = localIndex[idx].first; 
     41    currentWeight     = localIndex[idx].second; 
     42 
     43    if (flagInitial[currentlocalIndex]) 
    4444    { 
    45       currentlocalIndex = localIndex[idx].first; 
    46       currentWeight     = localIndex[idx].second; 
    47       if (!NumTraits<double>::isnan(*(dataInput + idx))) 
    48       { 
    49         if (flagInitial[currentlocalIndex]) 
    50         { 
    51           dataOut(currentlocalIndex) = *(dataInput + idx); 
    52           flagInitial[currentlocalIndex] = false; 
    53         } 
    54         else 
    55         { 
    56           dataOut(currentlocalIndex)  += *(dataInput + idx); 
    57           weights_(currentlocalIndex) += 1.0; 
    58         } 
    59       } 
     45      dataOut(currentlocalIndex) = *(dataInput + idx); 
     46      flagInitial[currentlocalIndex] = false; 
    6047    } 
    61   } 
    62   else 
    63   { 
    64     int nbLocalIndex = localIndex.size(); 
    65     int currentlocalIndex = 0; 
    66     double currentWeight  = 0.0; 
    67     for (int idx = 0; idx < nbLocalIndex; ++idx) 
     48    else 
    6849    { 
    69       currentlocalIndex = localIndex[idx].first; 
    70       currentWeight     = localIndex[idx].second; 
    71  
    72       if (flagInitial[currentlocalIndex]) 
    73       { 
    74         dataOut(currentlocalIndex) = *(dataInput + idx); 
    75         flagInitial[currentlocalIndex] = false; 
    76       } 
    77       else 
    78       { 
    79         dataOut(currentlocalIndex)  += *(dataInput + idx); 
    80         weights_(currentlocalIndex) += 1.0; 
    81       } 
     50      dataOut(currentlocalIndex)  += *(dataInput + idx); 
     51      weights_(currentlocalIndex) += 1.0; 
    8252    } 
    8353  } 
  • XIOS/dev/branch_yushan/src/transformation/Functions/average_reduction.hpp

    r1018 r1037  
    2626                     const double* dataInput, 
    2727                     CArray<double,1>& dataOut, 
    28                      std::vector<bool>& flagInitial, 
    29                      const double& defaultValue); 
     28                     std::vector<bool>& flagInitial); 
    3029 
    3130  virtual void updateData(CArray<double,1>& dataOut); 
  • XIOS/dev/branch_yushan/src/transformation/Functions/extract.cpp

    r1018 r1037  
    2929                                       const double* dataInput, 
    3030                                       CArray<double,1>& dataOut, 
    31                                        std::vector<bool>& flagInitial, 
    32                                        const double& defaultValue) 
     31                                       std::vector<bool>& flagInitial) 
    3332{ 
    3433  int nbLocalIndex = localIndex.size(); 
  • XIOS/dev/branch_yushan/src/transformation/Functions/extract.hpp

    r1018 r1037  
    2626                     const double* dataInput, 
    2727                     CArray<double,1>& dataOut, 
    28                      std::vector<bool>& flagInitial, 
    29                      const double& defaultValue); 
     28                     std::vector<bool>& flagInitial); 
    3029 
    3130  virtual ~CExtractReductionAlgorithm() {} 
  • XIOS/dev/branch_yushan/src/transformation/Functions/max_reduction.cpp

    r1018 r1037  
    88 */ 
    99#include "max_reduction.hpp" 
    10 #include "utils.hpp" 
    1110 
    1211namespace xios { 
     
    3029                                   const double* dataInput, 
    3130                                   CArray<double,1>& dataOut, 
    32                                    std::vector<bool>& flagInitial, 
    33                                    const double& defaultValue) 
     31                                   std::vector<bool>& flagInitial) 
    3432{ 
    35   bool hasMissingValue = NumTraits<double>::isnan(defaultValue); 
    36  
    37   if (hasMissingValue) 
     33  int nbLocalIndex = localIndex.size(); 
     34  int currentlocalIndex = 0; 
     35  double currentWeight  = 0.0; 
     36  for (int idx = 0; idx < nbLocalIndex; ++idx) 
    3837  { 
    39     int nbLocalIndex = localIndex.size(); 
    40     int currentlocalIndex = 0;     
    41     for (int idx = 0; idx < nbLocalIndex; ++idx) 
     38    currentlocalIndex = localIndex[idx].first; 
     39    currentWeight     = localIndex[idx].second; 
     40    if (flagInitial[currentlocalIndex]) 
    4241    { 
    43       currentlocalIndex = localIndex[idx].first;       
    44       if (!NumTraits<double>::isnan(*(dataInput + idx))) 
    45       { 
    46         if (flagInitial[currentlocalIndex]) 
    47         { 
    48           dataOut(currentlocalIndex) = *(dataInput + idx); 
    49           flagInitial[currentlocalIndex] = false; 
    50         } 
    51         else 
    52         { 
    53           dataOut(currentlocalIndex) = std::max(*(dataInput + idx), dataOut(currentlocalIndex)); 
    54         } 
    55       } 
     42      dataOut(currentlocalIndex) = *(dataInput + idx); 
     43      flagInitial[currentlocalIndex] = false; 
    5644    } 
    57   } 
    58   else 
    59   { 
    60     int nbLocalIndex = localIndex.size(); 
    61     int currentlocalIndex = 0;     
    62     for (int idx = 0; idx < nbLocalIndex; ++idx) 
     45    else 
    6346    { 
    64       currentlocalIndex = localIndex[idx].first;       
    65       if (flagInitial[currentlocalIndex]) 
    66       { 
    67         dataOut(currentlocalIndex) = *(dataInput + idx); 
    68         flagInitial[currentlocalIndex] = false; 
    69       } 
    70       else 
    71       { 
    72         dataOut(currentlocalIndex) = std::max(*(dataInput + idx), dataOut(currentlocalIndex)); 
    73       } 
     47      dataOut(currentlocalIndex) = std::max(*(dataInput + idx), dataOut(currentlocalIndex)); 
    7448    } 
    7549  } 
  • XIOS/dev/branch_yushan/src/transformation/Functions/max_reduction.hpp

    r1018 r1037  
    2626                     const double* dataInput, 
    2727                     CArray<double,1>& dataOut, 
    28                      std::vector<bool>& flagInitial, 
    29                      const double& defaultValue); 
     28                     std::vector<bool>& flagInitial); 
    3029 
    3130  virtual ~CMaxReductionAlgorithm() {} 
  • XIOS/dev/branch_yushan/src/transformation/Functions/min_reduction.cpp

    r1018 r1037  
    33   \author Ha NGUYEN 
    44   \since 27 June 2016 
    5    \date 9 Jan 2017 
     5   \date 27 June 2016 
    66 
    77   \brief min reduction 
    88 */ 
    99#include "min_reduction.hpp" 
    10 #include "utils.hpp" 
    1110 
    1211namespace xios { 
     
    3029                                   const double* dataInput, 
    3130                                   CArray<double,1>& dataOut, 
    32                                    std::vector<bool>& flagInitial, 
    33                                    const double& defaultValue) 
     31                                   std::vector<bool>& flagInitial) 
    3432{ 
    35   bool hasMissingValue = NumTraits<double>::isnan(defaultValue); 
    36  
    37   if (hasMissingValue) 
     33  int nbLocalIndex = localIndex.size(); 
     34  int currentlocalIndex = 0; 
     35  for (int idx = 0; idx < nbLocalIndex; ++idx) 
    3836  { 
    39     int nbLocalIndex = localIndex.size(); 
    40     int currentlocalIndex = 0; 
    41     for (int idx = 0; idx < nbLocalIndex; ++idx) 
     37    currentlocalIndex = localIndex[idx].first; 
     38    if (flagInitial[currentlocalIndex]) 
    4239    { 
    43       currentlocalIndex = localIndex[idx].first; 
    44       if (!NumTraits<double>::isnan(*(dataInput + idx))) 
    45       { 
    46         if (flagInitial[currentlocalIndex]) 
    47         { 
    48           dataOut(currentlocalIndex) = *(dataInput + idx); 
    49           flagInitial[currentlocalIndex] = false; 
    50         } 
    51         else 
    52         { 
    53           dataOut(currentlocalIndex) = std::min(*(dataInput + idx), dataOut(currentlocalIndex)); 
    54         } 
    55       } 
     40      dataOut(currentlocalIndex) = *(dataInput + idx); 
     41      flagInitial[currentlocalIndex] = false; 
    5642    } 
    57   } 
    58   else 
    59   { 
    60     int nbLocalIndex = localIndex.size(); 
    61     int currentlocalIndex = 0; 
    62     for (int idx = 0; idx < nbLocalIndex; ++idx) 
     43    else 
    6344    { 
    64       currentlocalIndex = localIndex[idx].first; 
    65       if (flagInitial[currentlocalIndex]) 
    66       { 
    67         dataOut(currentlocalIndex) = *(dataInput + idx); 
    68         flagInitial[currentlocalIndex] = false; 
    69       } 
    70       else 
    71       { 
    72         dataOut(currentlocalIndex) = std::min(*(dataInput + idx), dataOut(currentlocalIndex)); 
    73       } 
     45      dataOut(currentlocalIndex) = std::min(*(dataInput + idx), dataOut(currentlocalIndex)); 
    7446    } 
    7547  } 
  • XIOS/dev/branch_yushan/src/transformation/Functions/min_reduction.hpp

    r1018 r1037  
    2626                     const double* dataInput, 
    2727                     CArray<double,1>& dataOut, 
    28                      std::vector<bool>& flagInitial, 
    29                      const double& defaultValue); 
     28                     std::vector<bool>& flagInitial); 
    3029 
    3130  virtual ~CMinReductionAlgorithm() {} 
  • XIOS/dev/branch_yushan/src/transformation/Functions/reduction.hpp

    r1018 r1037  
    4545                     const double* dataInput, 
    4646                     CArray<double,1>& dataOut, 
    47                      std::vector<bool>& flagInitial, 
    48                      const double& defaultValue) = 0; 
     47                     std::vector<bool>& flagInitial) = 0; 
    4948  /*! 
    5049    Update local data  
  • XIOS/dev/branch_yushan/src/transformation/Functions/sum_reduction.cpp

    r1018 r1037  
    33   \author Ha NGUYEN 
    44   \since 27 June 2016 
    5    \date 9 Jan 2017 
     5   \date 27 June 2016 
    66 
    77   \brief sum reduction 
    88 */ 
    99#include "sum_reduction.hpp" 
    10 #include "utils.hpp" 
    1110 
    1211namespace xios { 
     
    3029                                   const double* dataInput, 
    3130                                   CArray<double,1>& dataOut, 
    32                                    std::vector<bool>& flagInitial, 
    33                                    const double& defaultValue) 
     31                                   std::vector<bool>& flagInitial) 
    3432{ 
    35   bool hasMissingValue = NumTraits<double>::isnan(defaultValue); 
    36   if (hasMissingValue) 
     33  int nbLocalIndex = localIndex.size(); 
     34  int currentlocalIndex = 0; 
     35  double currentWeight  = 0.0; 
     36  for (int idx = 0; idx < nbLocalIndex; ++idx) 
    3737  { 
    38     int nbLocalIndex = localIndex.size(); 
    39     int currentlocalIndex = 0;     
    40     for (int idx = 0; idx < nbLocalIndex; ++idx) 
     38    currentlocalIndex = localIndex[idx].first; 
     39    currentWeight     = localIndex[idx].second; 
     40    if (flagInitial[currentlocalIndex]) 
    4141    { 
    42       currentlocalIndex = localIndex[idx].first;    
    43       if (!NumTraits<double>::isnan(*(dataInput + idx))) 
    44       {    
    45         if (flagInitial[currentlocalIndex]) 
    46         { 
    47           dataOut(currentlocalIndex) = *(dataInput + idx); 
    48           flagInitial[currentlocalIndex] = false; 
    49         } 
    50         else 
    51         { 
    52           dataOut(currentlocalIndex) += *(dataInput + idx); 
    53         } 
    54       } 
    55     }     
    56   } 
    57   else 
    58   { 
    59     int nbLocalIndex = localIndex.size(); 
    60     int currentlocalIndex = 0;     
    61     for (int idx = 0; idx < nbLocalIndex; ++idx) 
     42      dataOut(currentlocalIndex) = *(dataInput + idx); 
     43      flagInitial[currentlocalIndex] = false; 
     44    } 
     45    else 
    6246    { 
    63       currentlocalIndex = localIndex[idx].first;       
    64       if (flagInitial[currentlocalIndex]) 
    65       { 
    66         dataOut(currentlocalIndex) = *(dataInput + idx); 
    67         flagInitial[currentlocalIndex] = false; 
    68       } 
    69       else 
    70       { 
    71         dataOut(currentlocalIndex) += *(dataInput + idx); 
    72       } 
     47      dataOut(currentlocalIndex) += *(dataInput + idx); 
    7348    } 
    7449  } 
  • XIOS/dev/branch_yushan/src/transformation/Functions/sum_reduction.hpp

    r1018 r1037  
    2626                     const double* dataInput, 
    2727                     CArray<double,1>& dataOut, 
    28                      std::vector<bool>& flagInitial, 
    29                      const double& defaultValue); 
     28                     std::vector<bool>& flagInitial); 
    3029 
    3130  virtual ~CSumReductionAlgorithm() {} 
  • XIOS/dev/branch_yushan/src/transformation/axis_algorithm_extract_domain.cpp

    r1018 r1037  
    7171                                        const double& defaultValue) 
    7272{ 
    73   reduction_->apply(localIndex, dataInput, dataOut, flagInitial, defaultValue); 
     73  reduction_->apply(localIndex, dataInput, dataOut, flagInitial); 
    7474} 
    7575 
  • XIOS/dev/branch_yushan/src/transformation/axis_algorithm_inverse.cpp

    r936 r1037  
    211211 
    212212  status.resize(requests.size()); 
     213  //printf("(%d) src/transformation/axis_algorithm_inverse 1st waitall\n", clientRank); 
    213214  MPI_Waitall(requests.size(), &requests[0], &status[0]); 
    214  
     215  //printf("(%d) src/transformation/axis_algorithm_inverse 1st waitall OK\n", clientRank); 
    215216 
    216217  std::vector<MPI_Request>().swap(requests); 
     
    245246  } 
    246247  status.resize(requests.size()); 
     248  //printf("(%d) src/transformation/axis_algorithm_inverse 2nd waitall\n", clientRank); 
     249 
    247250  MPI_Waitall(requests.size(), &requests[0], &status[0]); 
    248  
     251  //printf("(%d) src/transformation/axis_algorithm_inverse 2nd waitall OK\n", clientRank); 
    249252 
    250253  size_t nGloAxisDest = axisDest_->n_glo.getValue() - 1; 
  • XIOS/dev/branch_yushan/src/transformation/axis_algorithm_reduce_domain.cpp

    r1018 r1037  
    7979                                       const double& defaultValue) 
    8080{ 
    81   reduction_->apply(localIndex, dataInput, dataOut, flagInitial, defaultValue); 
     81  reduction_->apply(localIndex, dataInput, dataOut, flagInitial); 
    8282} 
    8383 
  • XIOS/dev/branch_yushan/src/transformation/domain_algorithm_interpolate.cpp

    r1014 r1037  
    4848 
    4949CDomainAlgorithmInterpolate::CDomainAlgorithmInterpolate(CDomain* domainDestination, CDomain* domainSource, CInterpolateDomain* interpDomain) 
    50 : CDomainAlgorithmTransformation(domainDestination, domainSource), interpDomain_(interpDomain), writeToFile_(false), readFromFile_(false) 
    51 { 
    52   CContext* context = CContext::getCurrent(); 
     50: CDomainAlgorithmTransformation(domainDestination, domainSource), interpDomain_(interpDomain), writeToFile_(false) 
     51{ 
    5352  interpDomain_->checkValid(domainSource); 
    54   fileToReadWrite_ = "xios_interpolation_weights_"; 
    55  
    56   if (interpDomain_->weight_filename.isEmpty()) 
    57   { 
    58     fileToReadWrite_ += context->getId() + "_" +  
    59                     domainSource->getDomainOutputName() + "_" +  
    60                     domainDestination->getDomainOutputName() + ".nc";     
    61   } 
    62   else  
    63     fileToReadWrite_ = interpDomain_->weight_filename; 
    64  
    65   ifstream f(fileToReadWrite_.c_str());   
    66   switch (interpDomain_->mode) 
    67   { 
    68     case CInterpolateDomain::mode_attr::read: 
    69       readFromFile_ = true;       
    70       break; 
    71     case CInterpolateDomain::mode_attr::compute: 
    72       readFromFile_ = false; 
    73       break; 
    74     case CInterpolateDomain::mode_attr::read_or_compute:       
    75       if (!f.good()) 
    76         readFromFile_ = false; 
    77       else 
    78         readFromFile_ = true; 
    79       break; 
    80     default: 
    81       break; 
    82   }  
    83  
    84   writeToFile_ = interpDomain_->write_weight;   
    85      
     53  if ((CInterpolateDomain::mode_attr::write == interpDomain_->mode) && 
     54      (!interpDomain_->file.isEmpty())) 
     55    writeToFile_ = true; 
    8656} 
    8757 
     
    384354  } 
    385355 
    386   if (writeToFile_ && !readFromFile_) 
     356  if (writeToFile_) 
    387357     writeRemapInfo(interpMapValue); 
    388358  exchangeRemapInfo(interpMapValue); 
     
    469439void CDomainAlgorithmInterpolate::computeIndexSourceMapping_(const std::vector<CArray<double,1>* >& dataAuxInputs) 
    470440{ 
    471   if (readFromFile_ && !writeToFile_ 
     441  if (CInterpolateDomain::mode_attr::read == interpDomain_->mode 
    472442    readRemapInfo(); 
    473443  else 
     
    478448 
    479449void CDomainAlgorithmInterpolate::writeRemapInfo(std::map<int,std::vector<std::pair<int,double> > >& interpMapValue) 
    480  
    481   writeInterpolationInfo(fileToReadWrite_, interpMapValue); 
     450{ 
     451  std::string filename = interpDomain_->file.getValue(); 
     452  writeInterpolationInfo(filename, interpMapValue); 
    482453} 
    483454 
    484455void CDomainAlgorithmInterpolate::readRemapInfo() 
    485  
     456{ 
     457  std::string filename = interpDomain_->file.getValue(); 
    486458  std::map<int,std::vector<std::pair<int,double> > > interpMapValue; 
    487   readInterpolationInfo(fileToReadWrite_, interpMapValue); 
     459  readInterpolationInfo(filename, interpMapValue); 
    488460 
    489461  exchangeRemapInfo(interpMapValue); 
     
    636608    int countBuff = 0; 
    637609    MPI_Get_count(&recvStatus, MPI_INT, &countBuff); 
     610    #ifdef _usingMPI 
    638611    clientSrcRank = recvStatus.MPI_SOURCE; 
    639  
     612    #elif _usingEP 
     613    clientSrcRank = recvStatus.ep_src; 
     614    #endif 
    640615    MPI_Recv((recvIndexSrcBuff + receivedSize), 
    641616             recvBuffSize, 
     
    681656                                                                const StdSize size) 
    682657{ 
    683   return CONetCDF4::addDimension(name, size);   
     658  CONetCDF4::addDimension(name, size);   
    684659} 
    685660 
     
    687662                                                               const std::vector<StdString>& dim) 
    688663{ 
    689   return CONetCDF4::addVariable(name, type, dim); 
    690 } 
    691  
    692 void CDomainAlgorithmInterpolate::WriteNetCdf::endDefinition() 
    693 { 
    694   CONetCDF4::definition_end(); 
     664  CONetCDF4::addVariable(name, type, dim); 
    695665} 
    696666 
     
    756726  MPI_Scan(&localNbWeight, &startIndex, 1, MPI_LONG, MPI_SUM, client->intraComm); 
    757727   
    758   if (0 == globalNbWeight) 
    759   { 
    760     info << "There is no interpolation weights calculated between " 
    761          << "domain source: " << domainSrc_->getDomainOutputName() 
    762          << " and domain destination: " << domainDest_->getDomainOutputName() 
    763          << std::endl; 
    764     return; 
    765   } 
    766  
    767728  std::vector<StdSize> start(1, startIndex - localNbWeight); 
    768729  std::vector<StdSize> count(1, localNbWeight); 
    769    
    770   WriteNetCdf netCdfWriter(filename, client->intraComm);   
     730 
     731  WriteNetCdf netCdfWriter(filename, client->intraComm); 
     732 
     733  // netCdfWriter = CONetCDF4(filename, false, false, true, client->intraComm, false); 
    771734 
    772735  // Define some dimensions 
     
    782745  netCdfWriter.addVariableWrite("weight", NC_DOUBLE, dims); 
    783746 
    784   // End of definition 
    785   netCdfWriter.endDefinition(); 
    786  
    787747  // // Write variables 
    788   if (0 != localNbWeight) 
    789   { 
    790     netCdfWriter.writeDataIndex(src_idx, "src_idx", false, 0, &start, &count); 
    791     netCdfWriter.writeDataIndex(dst_idx, "dst_idx", false, 0, &start, &count); 
    792     netCdfWriter.writeDataIndex(weights, "weight", false, 0, &start, &count); 
    793   } 
     748  netCdfWriter.writeDataIndex(src_idx, "src_idx", true, 0, &start, &count); 
     749  netCdfWriter.writeDataIndex(dst_idx, "dst_idx", true, 0, &start, &count); 
     750  netCdfWriter.writeDataIndex(weights, "weight", true, 0, &start, &count); 
    794751 
    795752  netCdfWriter.closeFile(); 
  • XIOS/dev/branch_yushan/src/transformation/domain_algorithm_interpolate.hpp

    r1014 r1037  
    4848  CInterpolateDomain* interpDomain_; 
    4949  bool writeToFile_; 
    50   bool readFromFile_; 
    51   StdString fileToReadWrite_; 
    5250 
    5351  // class WriteNetCdf; 
     
    5957    int addVariableWrite(const StdString& name, nc_type type, 
    6058                         const std::vector<StdString>& dim); 
    61     void endDefinition(); 
    6259    void writeDataIndex(const CArray<int,1>& data, const StdString& name, 
    6360                        bool collective, StdSize record, 
  • XIOS/dev/branch_yushan/src/transformation/generic_algorithm_transformation.cpp

    r1018 r1037  
    1111#include "context_client.hpp" 
    1212#include "client_client_dht_template.hpp" 
    13 #include "utils.hpp" 
    1413 
    1514namespace xios { 
     
    3231                                            const double& defaultValue) 
    3332{ 
    34   int nbLocalIndex = localIndex.size();   
    35   bool hasMissingValue = NumTraits<double>::isnan(defaultValue);   
     33  int nbLocalIndex = localIndex.size(); 
     34  bool hasMissingValue = (0.0 != defaultValue) ? true : false; 
    3635  if (hasMissingValue) 
    3736  { 
    3837    for (int idx = 0; idx < nbLocalIndex; ++idx) 
    3938    { 
    40       if (NumTraits<double>::isnan(*(dataInput + idx))) 
     39      if (defaultValue == *(dataInput + idx)) 
    4140      { 
    4241        flagInitial[localIndex[idx].first] = false; 
  • XIOS/dev/branch_yushan/src/transformation/grid_transformation.cpp

    r978 r1037  
    531531 
    532532  status.resize(requests.size()); 
     533  //printf("(%d) src/transformation/grid_transformation 1st waitall\n", clientRank); 
    533534  MPI_Waitall(requests.size(), &requests[0], &status[0]); 
     535  //printf("(%d) src/transformation/grid_transformation 1st waitall OK\n", clientRank); 
    534536 
    535537  // Okie, now use the mask to identify which index source we need to send, then also signal the destination which masked index we will return 
     
    583585  } 
    584586  status.resize(requests.size()); 
     587  //printf("(%d) src/transformation/grid_transformation 2nd waitall\n", clientRank); 
    585588  MPI_Waitall(requests.size(), &requests[0], &status[0]); 
     589  //printf("(%d) src/transformation/grid_transformation 2nd waitall OK\n", clientRank); 
    586590 
    587591  // Cool, now we can fill in local index of grid destination (counted for masked index) 
  • XIOS/dev/branch_yushan/src/transformation/scalar_algorithm_extract_axis.cpp

    r1018 r1037  
    5858                                         const double& defaultValue) 
    5959{ 
    60   reduction_->apply(localIndex, dataInput, dataOut, flagInitial, defaultValue); 
     60  reduction_->apply(localIndex, dataInput, dataOut, flagInitial); 
    6161} 
    6262 
  • XIOS/dev/branch_yushan/src/transformation/scalar_algorithm_reduce_axis.cpp

    r1018 r1037  
    9090                                         const double& defaultValue) 
    9191{ 
    92   reduction_->apply(localIndex, dataInput, dataOut, flagInitial, defaultValue); 
     92  reduction_->apply(localIndex, dataInput, dataOut, flagInitial); 
    9393} 
    9494 
  • XIOS/dev/branch_yushan/src/transformation/scalar_algorithm_reduce_domain.cpp

    r1018 r1037  
    8484                                         const double& defaultValue) 
    8585{ 
    86   reduction_->apply(localIndex, dataInput, dataOut, flagInitial, defaultValue); 
     86  reduction_->apply(localIndex, dataInput, dataOut, flagInitial); 
    8787} 
    8888 
Note: See TracChangeset for help on using the changeset viewer.