Changeset 1205 for XIOS/dev/branch_yushan_merged/src/io/nc4_data_output.cpp
- Timestamp:
- 07/10/17 18:17:04 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/branch_yushan_merged/src/io/nc4_data_output.cpp
r1176 r1205 11 11 #include "netCdfException.hpp" 12 12 #include "exception.hpp" 13 #include "timer.hpp" 13 14 #include "uuid.hpp" 14 15 // mpi.hpp … … 79 80 80 81 81 82 StdString dimXid, dimYid ; 82 83 83 84 nc_type typePrec ; … … 1045 1046 int zoom_begin_srv = axis->zoom_begin_srv; 1046 1047 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; 1050 1049 1051 1050 if ((0 == zoom_size_srv) && (MULTI_FILE == SuperClass::type)) return; … … 1102 1101 1103 1102 SuperClassWriter::definition_end(); 1104 printf("SuperClass::type = %d, typePrec = %d\n", SuperClass::type, typePrec); 1103 1105 1104 switch (SuperClass::type) 1106 1105 { … … 1126 1125 std::vector<StdSize> start(1), startBounds(2) ; 1127 1126 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; 1129 1128 count[0] = countBounds[0] = zoom_size_srv; 1130 1129 startBounds[1] = 0; … … 1832 1831 1833 1832 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 1834 1842 try 1835 1843 { 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()); 1847 1848 1848 1849 if (!appendMode) … … 1989 1990 CGrid* grid = field->grid; 1990 1991 1991 if (field->getNStep()<1) return ; 1992 if (field->getNStep()<1) 1993 { 1994 return; 1995 } 1992 1996 1993 1997 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 1996 2004 StdString fieldid = field->getFieldOutputName(); 1997 2005 … … 2118 2126 case (MULTI_FILE) : 2119 2127 { 2128 CTimer::get("Files : writing data").resume(); 2120 2129 SuperClassWriter::writeData(fieldData, fieldid, isCollective, field->getNStep() - 1); 2130 CTimer::get("Files : writing data").suspend(); 2121 2131 if (wtime) 2122 2132 { 2133 CTimer::get("Files : writing time axis").resume(); 2123 2134 if ( wtimeData) 2124 2135 { 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 } 2128 2141 if (wtimeCounter) 2129 2142 { 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); 2132 2147 } 2148 CTimer::get("Files : writing time axis").suspend(); 2133 2149 } 2134 2150 break; … … 2256 2272 } 2257 2273 2274 2275 CTimer::get("Files : writing data").resume(); 2258 2276 SuperClassWriter::writeData(fieldData, fieldid, isCollective, field->getNStep() - 1, &start, &count); 2277 CTimer::get("Files : writing data").suspend(); 2278 2259 2279 if (wtime) 2260 2280 { 2281 CTimer::get("Files : writing time axis").resume(); 2261 2282 if ( wtimeData) 2262 2283 { 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); 2265 2288 } 2266 2289 if (wtimeCounter) 2267 2290 { 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 2270 2296 } 2297 CTimer::get("Files : writing time axis").suspend(); 2271 2298 } 2272 2299
Note: See TracChangeset
for help on using the changeset viewer.