Changeset 1253
- Timestamp:
- 09/06/17 11:03:04 (7 years ago)
- Location:
- XIOS/trunk/src/filter
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/filter/file_writer_filter.cpp
r1186 r1253 17 17 void CFileWriterFilter::onInputReady(std::vector<CDataPacketPtr> data) 18 18 { 19 CDataPacketPtr packet = data[0];20 21 19 const bool detectMissingValue = (!field->detect_missing_value.isEmpty() 22 20 && !field->default_value.isEmpty() 23 21 && field->detect_missing_value == true); 22 23 CArray<double, 1> dataArray = (detectMissingValue) ? data[0]->data.copy() : data[0]->data; 24 24 25 if (detectMissingValue) 25 26 { 26 27 const double missingValue = field->default_value; 27 const size_t nbData = packet->data.numElements();28 const size_t nbData = dataArray.numElements(); 28 29 for (size_t idx = 0; idx < nbData; ++idx) 29 30 { 30 if (NumTraits<double>::isnan( packet->data(idx)))31 packet->data(idx) = missingValue;31 if (NumTraits<double>::isnan(dataArray(idx))) 32 dataArray(idx) = missingValue; 32 33 } 33 34 } 34 35 35 field->sendUpdateData( packet->data);36 field->sendUpdateData(dataArray); 36 37 } 37 38 -
XIOS/trunk/src/filter/store_filter.cpp
r1247 r1253 78 78 void CStoreFilter::onInputReady(std::vector<CDataPacketPtr> data) 79 79 { 80 CDataPacketPtr packet = data[0]; 80 81 CDataPacketPtr packet; 82 if (detectMissingValues) 83 { 84 const size_t nbData = data[0]->data.numElements(); 85 86 packet = CDataPacketPtr(new CDataPacket); 87 packet->date = data[0]->date; 88 packet->timestamp = data[0]->timestamp; 89 packet->status = data[0]->status; 90 packet->data.resize(nbData); 91 packet->data = data[0]->data; 92 93 for (size_t idx = 0; idx < nbData; ++idx) 94 { 95 if (NumTraits<double>::isnan(packet->data(idx))) 96 packet->data(idx) = missingValue; 97 } 98 99 } 100 101 else 102 { 103 packet = data[0]; 104 } 81 105 82 106 packets.insert(std::make_pair(packet->timestamp, packet)); … … 85 109 gc.registerObject(this, packet->timestamp); 86 110 87 if (detectMissingValues)88 {89 const size_t nbData = packet->data.numElements();90 for (size_t idx = 0; idx < nbData; ++idx)91 {92 if (NumTraits<double>::isnan(packet->data(idx)))93 packet->data(idx) = missingValue;94 }95 }96 111 } 97 112
Note: See TracChangeset
for help on using the changeset viewer.