Skip to content
This repository was archived by the owner on May 10, 2023. It is now read-only.

Commit e16e882

Browse files
committed
Merge branch 'release/jakarta' into build/jakarta/2020.330
2 parents 3a14129 + 6d4643e commit e16e882

File tree

2 files changed

+33
-19
lines changed

2 files changed

+33
-19
lines changed

src/ipgp/apps/ew2sc3/ew2sc3.cpp

Lines changed: 28 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -839,7 +839,10 @@ int EW2SC3::extractOrigin(char* msg) {
839839
eventMin = line.substr(10, 2);
840840
eventSec = line.substr(12, 2) + "." + line.substr(14, 2);
841841
eventSec = blank_replace(eventSec, zero);
842-
eventAmplitudeMagnitude = line.substr(36, 1) + "." + line.substr(37, 2);
842+
if ( line.substr(36, 3) == " " )
843+
eventAmplitudeMagnitude = "NaN";
844+
else
845+
eventAmplitudeMagnitude = line.substr(36, 1) + "." + line.substr(37, 2);
843846
eventAmplitudeMagnitude = blank_replace(eventAmplitudeMagnitude, zero);
844847
neventMonth = blank_replace(eventMonth, zero);
845848
neventDay = blank_replace(eventDay, zero);
@@ -865,8 +868,10 @@ int EW2SC3::extractOrigin(char* msg) {
865868
eventLonMin = line.substr(27, 4);
866869
eventErh = line.substr(85, 2) + "." + line.substr(87, 2);
867870
eventErz = line.substr(89, 2) + "." + line.substr(91, 2);
868-
869-
eventCodaDurationMagnitude = line.substr(70, 1) + "." + line.substr(71, 2);
871+
if ( line.substr(70, 3) == " " )
872+
eventCodaDurationMagnitude = "NaN";
873+
else
874+
eventCodaDurationMagnitude = line.substr(70, 1) + "." + line.substr(71, 2);
870875
eventCodaDurationMagnitude = blank_replace(eventCodaDurationMagnitude, zero);
871876
eventPreferredMagnitude = line.substr(147, 1) + "." + line.substr(148, 2);
872877
eventPreferredMagnitude = blank_replace(eventPreferredMagnitude, zero);
@@ -1178,24 +1183,28 @@ int EW2SC3::extractOrigin(char* msg) {
11781183
mci.setModificationTime(Time::GMT());
11791184

11801185
// Amplitude magnitude
1181-
MagnitudePtr amag = Magnitude::Create();
1182-
amag->setType("ML");
1183-
amag->setOriginID(origin->publicID());
1184-
amag->setMagnitude(RealQuantity(to_double(eventAmplitudeMagnitude)));
1185-
amag->setMethodID("mean");
1186-
amag->setStationCount(idx);
1187-
amag->setCreationInfo(mci);
1188-
origin->add(amag.get());
1186+
if ( eventAmplitudeMagnitude != "NaN" ) {
1187+
MagnitudePtr amag = Magnitude::Create();
1188+
amag->setType("ML");
1189+
amag->setOriginID(origin->publicID());
1190+
amag->setMagnitude(RealQuantity(to_double(eventAmplitudeMagnitude)));
1191+
amag->setMethodID("mean");
1192+
amag->setStationCount(idx);
1193+
amag->setCreationInfo(mci);
1194+
origin->add(amag.get());
1195+
}
11891196

11901197
// Coda duration magnitude
1191-
MagnitudePtr dmag = Magnitude::Create();
1192-
dmag->setType("Md");
1193-
dmag->setOriginID(origin->publicID());
1194-
dmag->setMagnitude(RealQuantity(to_double(eventCodaDurationMagnitude)));
1195-
dmag->setMethodID("mean");
1196-
dmag->setStationCount(idx);
1197-
dmag->setCreationInfo(mci);
1198-
origin->add(dmag.get());
1198+
if ( eventCodaDurationMagnitude != "NaN" ) {
1199+
MagnitudePtr dmag = Magnitude::Create();
1200+
dmag->setType("Md");
1201+
dmag->setOriginID(origin->publicID());
1202+
dmag->setMagnitude(RealQuantity(to_double(eventCodaDurationMagnitude)));
1203+
dmag->setMethodID("mean");
1204+
dmag->setStationCount(idx);
1205+
dmag->setCreationInfo(mci);
1206+
origin->add(dmag.get());
1207+
}
11991208

12001209
OriginQuality oq;
12011210
if ( to_double(eventRms) != .0 )

src/trunk/libs/seiscomp3/io/recordstream/sdsarchive.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -524,6 +524,8 @@ bool SDSArchive::stepStream() {
524524
_currentArchive = _arcroots.begin();
525525
}
526526

527+
vector<string>::iterator tmpIt = _currentArchive;
528+
527529
for ( ; _currentArchive != _arcroots.end(); ++_currentArchive ) {
528530
_currentFilename = *_currentArchive + relativeFilename;
529531
_recstream.close();
@@ -548,6 +550,9 @@ bool SDSArchive::stepStream() {
548550
if ( !_recstream.eof() && !isEnd() )
549551
return true;
550552
}
553+
else {
554+
_currentArchive = tmpIt;
555+
}
551556

552557
first = false;
553558
}

0 commit comments

Comments
 (0)