New release Jakarta 2017.334

There is an SC3 package for Ubuntu on Raspberry too.

https://wiki.ubuntu.com/ARM/RaspberryPi

I’m working on the update script for patch 3 to migrate our strong motion table… do the order of columns matter? Or can I just add them to the end:

UPDATE Meta SET value='0.10' WHERE name='Schema-Version';

ALTER TABLE FilterParameter
ADD value_pdf_variable_content BLOB,
ADD value_pdf_probability_content BLOB,
ADD value_pdf_used TINYINT(1) NOT NULL DEFAULT '0';

ALTER TABLE PeakMotion
ADD motion_pdf_variable_content BLOB,
ADD motion_pdf_probability_content BLOB,
ADD motion_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD atTime_pdf_variable_content BLOB,
ADD atTime_pdf_probability_content BLOB,
ADD atTime_pdf_used TINYINT(1) NOT NULL DEFAULT '0';

ALTER TABLE Record
ADD value_pdf_variable_content BLOB,
ADD value_pdf_probability_content BLOB,
ADD value_pdf_used TINYINT(1) NOT NULL DEFAULT '0';

ALTER TABLE EventRecordReference
ADD campbellDistance_pdf_variable_content BLOB,
ADD campbellDistance_pdf_probability_content BLOB,
ADD campbellDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD ruptureToStationAzimuth_pdf_variable_content BLOB,
ADD ruptureToStationAzimuth_pdf_probability_content BLOB,
ADD ruptureToStationAzimuth_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD ruptureAreaDistance_pdf_variable_content BLOB,
ADD ruptureAreaDistance_pdf_probability_content BLOB,
ADD ruptureAreaDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD JoynerBooreDistance_pdf_variable_content BLOB,
ADD JoynerBooreDistance_pdf_probability_content BLOB,
ADD JoynerBooreDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD closestFaultDistance_pdf_variable_content BLOB,
ADD closestFaultDistance_pdf_probability_content BLOB,
ADD closestFaultDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',

ALTER TABLE Rupture
ADD width_pdf_variable_content BLOB,
ADD width_pdf_probability_content BLOB,
ADD width_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD displacement_pdf_variable_content BLOB,
ADD displacement_pdf_probability_content BLOB,
ADD displacement_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD riseTime_pdf_variable_content BLOB,
ADD riseTime_pdf_probability_content BLOB,
ADD riseTime_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD vt_to_vs_pdf_variable_content BLOB,
ADD vt_to_vs_pdf_probability_content BLOB,
ADD vt_to_vs_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD shallowAsperityDepth_pdf_variable_content BLOB,
ADD shallowAsperityDepth_pdf_probability_content BLOB,
ADD shallowAsperityDepth_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD slipVelocity_pdf_variable_content BLOB,
ADD slipVelocity_pdf_probability_content BLOB,
ADD slipVelocity_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD strike_value DOUBLE,
ADD strike_uncertainty DOUBLE UNSIGNED,
ADD strike_lowerUncertainty DOUBLE UNSIGNED,
ADD strike_upperUncertainty DOUBLE UNSIGNED,
ADD strike_confidenceLevel DOUBLE UNSIGNED,
ADD strike_pdf_variable_content BLOB,
ADD strike_pdf_probability_content BLOB,
ADD strike_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD strike_used TINYINT(1) NOT NULL DEFAULT '0',
ADD length_pdf_variable_content BLOB,
ADD length_pdf_probability_content BLOB,
ADD length_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD area_pdf_variable_content BLOB,
ADD area_pdf_probability_content BLOB,
ADD area_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD ruptureVelocity_pdf_variable_content BLOB,
ADD ruptureVelocity_pdf_probability_content BLOB,
ADD ruptureVelocity_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD stressdrop_pdf_variable_content BLOB,
ADD stressdrop_pdf_probability_content BLOB,
ADD stressdrop_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD momentReleaseTop5km_pdf_variable_content BLOB,
ADD momentReleaseTop5km_pdf_probability_content BLOB,
ADD momentReleaseTop5km_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD centroidReference VARCHAR(255);

Raspbian 9 (Stretch) packages are included in 2017.334.04 build.

https://www.seiscomp3.org/downloader

The order of columns does not matter.

It should work. Just be aware that you have to change the bytea_output to escape:

ALTER DATABASE seiscomp3 SET bytea_output TO 'escape'

Give it a try and let us know if you observe issues.

trying to compile with Ubuntu 18.04

after setup, scconfig cannot import inventory.xml
no selection for format

Selection_001

What is the output on the command line for import_inv help formats?

here it is

Thanks, that is looking good. So the “format” selection box in scconfig is really empty? I cannot verify that from your screenshot.

yes, from scconfig the formats is empty…

I can import with import_inv though but it won’t binding station.

I assume that you have tried the master branch from Github? I have pushed a fix which should solve the issue.

yes… it is now fixed

I tried updating our 2016.333 version with a separate strong motion DB to the newest version but during a test run it is not saving peak motion values to the database. In scmaster.log there are these exceptions:

2018/05/14 16:38:42 [error/Communication] message (#scwfparam#localhost -> STRONG_MOTION): decoding failed: expected exact or derived from Object, found StrongOriginDescription
2018/05/14 16:38:42 [error/Communication] message (#scwfparam#localhost -> STRONG_MOTION): decoding failed: expected exact or derived from Object, found EventRecordReference
2018/05/14 16:38:42 [error/Communication] message (#scwfparam#localhost -> STRONG_MOTION): decoding failed: expected exact or derived from Object, found EventRecordReference

Any idea what this means? STRONG_MOTION is my message group…

Actually this seems unrelated to why peakmotions were not saved… I was missing a column in my strong motion schema update script. But these exceptions are still there regardless!

For completeness here is the scwfparam schema update sql if anyone needs it:

UPDATE Meta SET value='0.10' WHERE name='Schema-Version';

ALTER TABLE FilterParameter
ADD value_pdf_variable_content BLOB,
ADD value_pdf_probability_content BLOB,
ADD value_pdf_used TINYINT(1) NOT NULL DEFAULT '0';

ALTER TABLE PeakMotion
ADD motion_pdf_variable_content BLOB,
ADD motion_pdf_probability_content BLOB,
ADD motion_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD atTime_pdf_variable_content BLOB,
ADD atTime_pdf_probability_content BLOB,
ADD atTime_pdf_used TINYINT(1) NOT NULL DEFAULT '0';

ALTER TABLE Record
ADD startTime_pdf_variable_content BLOB,
ADD startTime_pdf_probability_content BLOB,
ADD startTime_pdf_used TINYINT(1) NOT NULL DEFAULT '0';

ALTER TABLE EventRecordReference
ADD campbellDistance_pdf_variable_content BLOB,
ADD campbellDistance_pdf_probability_content BLOB,
ADD campbellDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD ruptureToStationAzimuth_pdf_variable_content BLOB,
ADD ruptureToStationAzimuth_pdf_probability_content BLOB,
ADD ruptureToStationAzimuth_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD ruptureAreaDistance_pdf_variable_content BLOB,
ADD ruptureAreaDistance_pdf_probability_content BLOB,
ADD ruptureAreaDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD JoynerBooreDistance_pdf_variable_content BLOB,
ADD JoynerBooreDistance_pdf_probability_content BLOB,
ADD JoynerBooreDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD closestFaultDistance_pdf_variable_content BLOB,
ADD closestFaultDistance_pdf_probability_content BLOB,
ADD closestFaultDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0';

ALTER TABLE Rupture
ADD width_pdf_variable_content BLOB,
ADD width_pdf_probability_content BLOB,
ADD width_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD displacement_pdf_variable_content BLOB,
ADD displacement_pdf_probability_content BLOB,
ADD displacement_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD riseTime_pdf_variable_content BLOB,
ADD riseTime_pdf_probability_content BLOB,
ADD riseTime_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD vt_to_vs_pdf_variable_content BLOB,
ADD vt_to_vs_pdf_probability_content BLOB,
ADD vt_to_vs_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD shallowAsperityDepth_pdf_variable_content BLOB,
ADD shallowAsperityDepth_pdf_probability_content BLOB,
ADD shallowAsperityDepth_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD slipVelocity_pdf_variable_content BLOB,
ADD slipVelocity_pdf_probability_content BLOB,
ADD slipVelocity_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD strike_value DOUBLE,
ADD strike_uncertainty DOUBLE UNSIGNED,
ADD strike_lowerUncertainty DOUBLE UNSIGNED,
ADD strike_upperUncertainty DOUBLE UNSIGNED,
ADD strike_confidenceLevel DOUBLE UNSIGNED,
ADD strike_pdf_variable_content BLOB,
ADD strike_pdf_probability_content BLOB,
ADD strike_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD strike_used TINYINT(1) NOT NULL DEFAULT '0',
ADD length_pdf_variable_content BLOB,
ADD length_pdf_probability_content BLOB,
ADD length_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD area_pdf_variable_content BLOB,
ADD area_pdf_probability_content BLOB,
ADD area_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD ruptureVelocity_pdf_variable_content BLOB,
ADD ruptureVelocity_pdf_probability_content BLOB,
ADD ruptureVelocity_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD stressdrop_pdf_variable_content BLOB,
ADD stressdrop_pdf_probability_content BLOB,
ADD stressdrop_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD momentReleaseTop5km_pdf_variable_content BLOB,
ADD momentReleaseTop5km_pdf_probability_content BLOB,
ADD momentReleaseTop5km_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ADD centroidReference VARCHAR(255);

scmaster does not know about the message types. You have to load the dmsm plugin into scmaster.

Like so (in scmaster.cfg)?

plugins = dbplugin, dmsm

Because I have dmsm loaded in scdb already so I thought that would work (scdb.cfg)

plugins = dmsm

Yes. If you have scdb running then you can ignore the scmaster error messages because scdb is already handling the messages and populates your database. Is the scdb target database the same as the scmaster database? Furthermore check the scdb.log.

Scdb log is fine and the data is being stored. I will add it to scmaster as well, to get rid of annoying warnings. It won’t save it twice right?

Yes, it will be saved twice. scmaster has the database plugin loaded which is actually the same thing as scdb but guarantees that messages are stored in the database before they are distributed to other clients. scdb cannot hold that. Use scdb only if you want to populate a separate database.

how to merge old database to new database?