Ignore:
Timestamp:
07/10/17 18:17:04 (7 years ago)
Author:
yushan
Message:

branch merged with trunk @1200

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/branch_yushan_merged/src/io/nc4_data_output.cpp

    r1176 r1205  
    1111#include "netCdfException.hpp" 
    1212#include "exception.hpp" 
     13#include "timer.hpp" 
    1314#include "uuid.hpp" 
    1415// mpi.hpp 
     
    7980 
    8081 
    81          StdString dimXid, dimYid ; 
     82        StdString dimXid, dimYid ; 
    8283 
    8384        nc_type typePrec ; 
     
    10451046        int zoom_begin_srv = axis->zoom_begin_srv; 
    10461047        int zoom_size  = (MULTI_FILE == SuperClass::type) ? zoom_size_srv 
    1047                                                               : axis->global_zoom_n; 
    1048         int zoom_begin = (MULTI_FILE == SuperClass::type) ? zoom_begin_srv 
    1049                                                               : axis->global_zoom_begin; 
     1048                                                          : axis->global_zoom_size_srv; 
    10501049 
    10511050        if ((0 == zoom_size_srv) && (MULTI_FILE == SuperClass::type)) return; 
     
    11021101 
    11031102            SuperClassWriter::definition_end(); 
    1104             printf("SuperClass::type = %d, typePrec = %d\n", SuperClass::type, typePrec); 
     1103 
    11051104            switch (SuperClass::type) 
    11061105            { 
     
    11261125                std::vector<StdSize> start(1), startBounds(2) ; 
    11271126                std::vector<StdSize> count(1), countBounds(2) ; 
    1128                 start[0] = startBounds[0] = zoom_begin_srv-axis->global_zoom_begin; 
     1127                start[0] = startBounds[0] = zoom_begin_srv-axis->global_zoom_begin_srv; 
    11291128                count[0] = countBounds[0] = zoom_size_srv; 
    11301129                startBounds[1] = 0; 
     
    18321831 
    18331832         singleDomain = (file->nbDomains == 1); 
     1833 
     1834         StdString conv_str ; 
     1835         if (file->convention_str.isEmpty()) 
     1836         { 
     1837            if (SuperClassWriter::useCFConvention) conv_str="CF-1.6" ; 
     1838            else conv_str="UGRID" ; 
     1839         } 
     1840         else conv_str=file->convention_str ; 
     1841            
    18341842         try 
    18351843         { 
    1836        if (SuperClassWriter::useCFConvention) 
    1837              this->writeFileAttributes(filename, description, 
    1838                                        StdString("CF-1.6"), 
    1839                                        StdString("An IPSL model"), 
    1840                                        this->getTimeStamp()); 
    1841            else 
    1842              this->writeFileAttributes(filename, description, 
    1843                                        StdString("UGRID"), 
    1844                                        StdString("An IPSL model"), 
    1845                                        this->getTimeStamp()); 
    1846  
     1844           this->writeFileAttributes(filename, description, 
     1845                                      conv_str, 
     1846                                      StdString("An IPSL model"), 
     1847                                      this->getTimeStamp()); 
    18471848 
    18481849           if (!appendMode) 
     
    19891990        CGrid* grid = field->grid; 
    19901991 
    1991         if (field->getNStep()<1) return ; 
     1992        if (field->getNStep()<1)  
     1993        { 
     1994          return; 
     1995        } 
    19921996         
    19931997        if (!grid->doGridHaveDataToWrite()) 
    1994           if (SuperClass::type == MULTI_FILE || !isCollective) return; 
    1995  
     1998          if (SuperClass::type == MULTI_FILE || !isCollective) 
     1999          { 
     2000            return; 
     2001          } 
     2002 
     2003           
    19962004        StdString fieldid = field->getFieldOutputName(); 
    19972005 
     
    21182126              case (MULTI_FILE) : 
    21192127              { 
     2128                 CTimer::get("Files : writing data").resume(); 
    21202129                 SuperClassWriter::writeData(fieldData, fieldid, isCollective, field->getNStep() - 1); 
     2130                 CTimer::get("Files : writing data").suspend(); 
    21212131                 if (wtime) 
    21222132                 { 
     2133                   CTimer::get("Files : writing time axis").resume(); 
    21232134                   if ( wtimeData) 
    21242135                   { 
    2125                      SuperClassWriter::writeData(time_data, timeAxisId, isCollective, field->getNStep() - 1); 
    2126                      SuperClassWriter::writeData(time_data_bound, timeAxisBoundId, isCollective, field->getNStep() - 1); 
    2127                    } 
     2136//                     SuperClassWriter::writeData(time_data, timeAxisId, isCollective, field->getNStep() - 1); 
     2137//                     SuperClassWriter::writeData(time_data_bound, timeAxisBoundId, isCollective, field->getNStep() - 1); 
     2138                       SuperClassWriter::writeTimeAxisData(time_data, timeAxisId, isCollective, field->getNStep() - 1, isRoot); 
     2139                       SuperClassWriter::writeTimeAxisDataBounds(time_data_bound, timeAxisBoundId, isCollective, field->getNStep() - 1, isRoot); 
     2140                  } 
    21282141                   if (wtimeCounter) 
    21292142                   { 
    2130                      SuperClassWriter::writeData(time_counter, getTimeCounterName(), isCollective, field->getNStep() - 1); 
    2131                      if (timeCounterType!=record) SuperClassWriter::writeData(time_counter_bound, timeBoundId, isCollective, field->getNStep() - 1); 
     2143//                     SuperClassWriter::writeData(time_counter, getTimeCounterName(), isCollective, field->getNStep() - 1); 
     2144//                     if (timeCounterType!=record) SuperClassWriter::writeData(time_counter_bound, timeBoundId, isCollective, field->getNStep() - 1); 
     2145                     SuperClassWriter::writeTimeAxisData(time_counter, getTimeCounterName(), isCollective, field->getNStep() - 1,isRoot); 
     2146                     if (timeCounterType!=record) SuperClassWriter::writeTimeAxisDataBounds(time_counter_bound, timeBoundId, isCollective, field->getNStep() - 1, isRoot); 
    21322147                   } 
     2148                   CTimer::get("Files : writing time axis").suspend(); 
    21332149                 } 
    21342150                 break; 
     
    22562272                } 
    22572273 
     2274 
     2275                CTimer::get("Files : writing data").resume(); 
    22582276                SuperClassWriter::writeData(fieldData, fieldid, isCollective, field->getNStep() - 1, &start, &count); 
     2277                CTimer::get("Files : writing data").suspend(); 
     2278 
    22592279                 if (wtime) 
    22602280                 { 
     2281                   CTimer::get("Files : writing time axis").resume(); 
    22612282                   if ( wtimeData) 
    22622283                   { 
    2263                      SuperClassWriter::writeData(time_data, timeAxisId, isCollective, field->getNStep() - 1); 
    2264                      SuperClassWriter::writeData(time_data_bound, timeAxisBoundId, isCollective, field->getNStep() - 1); 
     2284//                     SuperClassWriter::writeData(time_data, timeAxisId, isCollective, field->getNStep() - 1); 
     2285//                     SuperClassWriter::writeData(time_data_bound, timeAxisBoundId, isCollective, field->getNStep() - 1); 
     2286                     SuperClassWriter::writeTimeAxisData(time_data, timeAxisId, isCollective, field->getNStep() - 1, isRoot); 
     2287                     SuperClassWriter::writeTimeAxisDataBounds(time_data_bound, timeAxisBoundId, isCollective, field->getNStep() - 1, isRoot); 
    22652288                   } 
    22662289                   if (wtimeCounter) 
    22672290                   { 
    2268                      SuperClassWriter::writeData(time_counter, getTimeCounterName(), isCollective, field->getNStep() - 1); 
    2269                      if (timeCounterType!=record) SuperClassWriter::writeData(time_counter_bound, timeBoundId, isCollective, field->getNStep() - 1); 
     2291//                     SuperClassWriter::writeData(time_counter, getTimeCounterName(), isCollective, field->getNStep() - 1); 
     2292//                     if (timeCounterType!=record) SuperClassWriter::writeData(time_counter_bound, timeBoundId, isCollective, field->getNStep() - 1); 
     2293                     SuperClassWriter::writeTimeAxisData(time_counter, getTimeCounterName(), isCollective, field->getNStep() - 1,isRoot); 
     2294                     if (timeCounterType!=record) SuperClassWriter::writeTimeAxisDataBounds(time_counter_bound, timeBoundId, isCollective, field->getNStep() - 1, isRoot); 
     2295 
    22702296                   } 
     2297                   CTimer::get("Files : writing time axis").suspend();   
    22712298                 } 
    22722299 
Note: See TracChangeset for help on using the changeset viewer.