[seiscomp, scanloc] Install, add .gitignore

This commit is contained in:
2025-10-09 15:07:02 +02:00
commit 20f5301bb1
2848 changed files with 1315858 additions and 0 deletions

429957
share/cities.xml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,92 @@
SELECT 'Add StationMagnitude.passedQC' AS '';
ALTER TABLE StationMagnitude ADD passedQC TINYINT(1) AFTER waveformID_used;
SELECT 'Creating DataAvailability PublicObject entry' AS '';
INSERT INTO Object(_oid) VALUES (NULL);
INSERT INTO PublicObject(_oid,publicID) VALUES (LAST_INSERT_ID(),'DataAvailability');
SELECT 'Creating DataSegment' AS '';
CREATE TABLE DataSegment (
_oid INTEGER(11) NOT NULL,
_parent_oid INTEGER(11) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
start DATETIME NOT NULL,
start_ms INTEGER NOT NULL,
end DATETIME NOT NULL,
end_ms INTEGER NOT NULL,
updated DATETIME NOT NULL,
updated_ms INTEGER NOT NULL,
sampleRate DOUBLE NOT NULL,
quality VARCHAR(8) NOT NULL,
outOfOrder TINYINT(1) NOT NULL,
PRIMARY KEY(_oid),
INDEX(_parent_oid),
INDEX(start,start_ms),
INDEX(end,end_ms),
INDEX(updated,updated_ms),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
UNIQUE KEY composite_index (_parent_oid,start,start_ms)
) ENGINE=INNODB;
SELECT 'Creating DataAttributeExtent' AS '';
CREATE TABLE DataAttributeExtent (
_oid INTEGER(11) NOT NULL,
_parent_oid INTEGER(11) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
start DATETIME NOT NULL,
start_ms INTEGER NOT NULL,
end DATETIME NOT NULL,
end_ms INTEGER NOT NULL,
sampleRate DOUBLE NOT NULL,
quality VARCHAR(8) NOT NULL,
updated DATETIME NOT NULL,
updated_ms INTEGER NOT NULL,
segmentCount INT UNSIGNED NOT NULL,
PRIMARY KEY(_oid),
INDEX(_parent_oid),
INDEX(start,start_ms),
INDEX(end,end_ms),
INDEX(updated,updated_ms),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
UNIQUE KEY composite_index (_parent_oid,sampleRate,quality)
) ENGINE=INNODB;
SELECT 'Creating DataExtent' AS '';
CREATE TABLE DataExtent (
_oid INTEGER(11) NOT NULL,
_parent_oid INTEGER(11) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
waveformID_networkCode CHAR(8) NOT NULL,
waveformID_stationCode CHAR(8) NOT NULL,
waveformID_locationCode CHAR(8),
waveformID_channelCode CHAR(8),
waveformID_resourceURI VARCHAR(255),
start DATETIME NOT NULL,
start_ms INTEGER NOT NULL,
end DATETIME NOT NULL,
end_ms INTEGER NOT NULL,
updated DATETIME NOT NULL,
updated_ms INTEGER NOT NULL,
lastScan DATETIME NOT NULL,
lastScan_ms INTEGER NOT NULL,
segmentOverflow TINYINT(1) NOT NULL,
PRIMARY KEY(_oid),
INDEX(_parent_oid),
INDEX(waveformID_resourceURI),
INDEX(start,start_ms),
INDEX(end,end_ms),
INDEX(updated,updated_ms),
INDEX(lastScan,lastScan_ms),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
UNIQUE KEY composite_index (_parent_oid,waveformID_networkCode,waveformID_stationCode,waveformID_locationCode,waveformID_channelCode,waveformID_resourceURI)
) ENGINE=INNODB;
SELECT 'Updating Meta' AS '';
UPDATE Meta SET value='0.11' WHERE name='Schema-Version';

View File

@ -0,0 +1,5 @@
SELECT 'Add Origin.confidenceLevel' AS '';
ALTER TABLE Origin ADD uncertainty_confidenceLevel DOUBLE UNSIGNED AFTER uncertainty_preferredDescription;
SELECT 'Updating Meta' AS '';
UPDATE Meta SET value='0.12' WHERE name='Schema-Version';

View File

@ -0,0 +1,2 @@
SELECT 'Updating Meta' AS '';
UPDATE Meta SET value='0.13' WHERE name='Schema-Version';

View File

@ -0,0 +1,5 @@
SELECT 'Convert JournalEntry.parameters to BLOB' AS '';
ALTER TABLE JournalEntry MODIFY parameters blob;
SELECT 'Updating Meta' AS '';
UPDATE Meta SET value='0.12.1' WHERE name='Schema-Version';

View File

@ -0,0 +1,8 @@
SELECT 'Convert Comment.text to LONGTEXT' AS '';
ALTER TABLE Comment MODIFY text LONGTEXT;
SELECT 'Convert JournalEntry.parameters to LONGTEXT' AS '';
ALTER TABLE JournalEntry MODIFY parameters LONGTEXT;
SELECT 'Updating Meta' AS '';
UPDATE Meta SET value='0.13.2' WHERE name='Schema-Version';

View File

@ -0,0 +1,21 @@
CREATE TABLE ResponseFAP (
_oid INTEGER(11) NOT NULL,
_parent_oid INTEGER(11) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
name VARCHAR(255),
gain DOUBLE UNSIGNED,
gainFrequency DOUBLE UNSIGNED,
numberOfTuples SMALLINT UNSIGNED,
tuples_content BLOB,
tuples_used TINYINT(1) NOT NULL DEFAULT '0',
remark_content BLOB,
remark_used TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
INDEX(_parent_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
UNIQUE(_parent_oid,name)
) ENGINE=INNODB;
UPDATE Meta SET value='0.8' WHERE name='Schema-Version';

View File

@ -0,0 +1,12 @@
ALTER TABLE ConfigStation ADD creationInfo_agencyID VARCHAR(64);
ALTER TABLE ConfigStation ADD creationInfo_agencyURI VARCHAR(255);
ALTER TABLE ConfigStation ADD creationInfo_author VARCHAR(128);
ALTER TABLE ConfigStation ADD creationInfo_authorURI VARCHAR(255);
ALTER TABLE ConfigStation ADD creationInfo_creationTime DATETIME;
ALTER TABLE ConfigStation ADD creationInfo_creationTime_ms INTEGER;
ALTER TABLE ConfigStation ADD creationInfo_modificationTime DATETIME;
ALTER TABLE ConfigStation ADD creationInfo_modificationTime_ms INTEGER;
ALTER TABLE ConfigStation ADD creationInfo_version VARCHAR(64);
ALTER TABLE ConfigStation ADD creationInfo_used TINYINT(1) NOT NULL DEFAULT '0';
UPDATE Meta SET value='0.9' WHERE name='Schema-Version';

View File

@ -0,0 +1,406 @@
SELECT 'Creating ResponseIIR' AS '';
CREATE TABLE ResponseIIR (
_oid INTEGER(11) NOT NULL,
_parent_oid INTEGER(11) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
name VARCHAR(255),
type CHAR(1),
gain DOUBLE,
gainFrequency DOUBLE UNSIGNED,
decimationFactor SMALLINT UNSIGNED,
delay DOUBLE UNSIGNED,
correction DOUBLE,
numberOfNumerators TINYINT UNSIGNED,
numberOfDenominators TINYINT UNSIGNED,
numerators_content BLOB,
numerators_used TINYINT(1) NOT NULL DEFAULT '0',
denominators_content BLOB,
denominators_used TINYINT(1) NOT NULL DEFAULT '0',
remark_content BLOB,
remark_used TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
INDEX(_parent_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
UNIQUE KEY composite_index (_parent_oid,name)
) ENGINE=INNODB;
SELECT 'Updating Comment' AS '';
ALTER TABLE Comment
ADD start DATETIME AFTER id,
ADD start_ms INTEGER AFTER start,
ADD end DATETIME AFTER start_ms,
ADD end_ms INTEGER AFTER end;
DROP INDEX _parent_oid_2 ON Comment;
ALTER TABLE Comment ADD CONSTRAINT composite_index UNIQUE(_parent_oid,id);
SELECT 'Updating StationGroup' AS '';
ALTER TABLE StationGroup
ADD start_ms INTEGER AFTER start,
ADD end_ms INTEGER AFTER end;
UPDATE StationGroup SET start_ms=0 WHERE start != NULL;
UPDATE StationGroup SET end_ms=0 WHERE end != NULL;
SELECT 'Updating DataloggerCalibration' AS '';
ALTER TABLE DataloggerCalibration
ADD start_ms INTEGER NOT NULL DEFAULT '0' AFTER start,
ADD end_ms INTEGER AFTER end,
MODIFY gain DOUBLE;
ALTER TABLE DataloggerCalibration ALTER start_ms DROP DEFAULT;
UPDATE DataloggerCalibration SET end_ms=0 WHERE end != NULL;
DROP INDEX _parent_oid_2 ON DataloggerCalibration;
ALTER TABLE DataloggerCalibration ADD CONSTRAINT composite_index UNIQUE(_parent_oid,serialNumber,channel,start,start_ms);
SELECT 'Updating SensorCalibration' AS '';
ALTER TABLE SensorCalibration
ADD start_ms INTEGER NOT NULL DEFAULT '0' AFTER start,
ADD end_ms INTEGER AFTER end,
MODIFY gain DOUBLE;
ALTER TABLE SensorCalibration ALTER start_ms DROP DEFAULT;
UPDATE SensorCalibration SET end_ms=0 WHERE end != NULL;
DROP INDEX _parent_oid_2 ON SensorCalibration;
ALTER TABLE SensorCalibration ADD CONSTRAINT composite_index UNIQUE(_parent_oid,serialNumber,channel,start,start_ms);
SELECT 'Updating AuxStream' AS '';
ALTER TABLE AuxStream
ADD start_ms INTEGER NOT NULL DEFAULT '0' AFTER start,
ADD end_ms INTEGER AFTER end,
MODIFY format VARCHAR(50);
ALTER TABLE AuxStream ALTER start_ms DROP DEFAULT;
UPDATE AuxStream SET end_ms=0 WHERE end != NULL;
DROP INDEX _parent_oid_2 ON AuxStream;
ALTER TABLE AuxStream ADD CONSTRAINT composite_index UNIQUE(_parent_oid,code,start,start_ms);
SELECT 'Updating Stream' AS '';
ALTER TABLE Stream
ADD start_ms INTEGER NOT NULL DEFAULT '0' AFTER start,
ADD end_ms INTEGER AFTER end,
MODIFY format VARCHAR(50);
ALTER TABLE Stream ALTER start_ms DROP DEFAULT;
UPDATE Stream SET end_ms=0 WHERE end != NULL;
DROP INDEX _parent_oid_2 ON Stream;
ALTER TABLE Stream ADD CONSTRAINT composite_index UNIQUE(_parent_oid,code,start,start_ms);
SELECT 'Updating SensorLocation' AS '';
ALTER TABLE SensorLocation
ADD start_ms INTEGER NOT NULL DEFAULT '0' AFTER start,
ADD end_ms INTEGER AFTER end;
ALTER TABLE SensorLocation ALTER start_ms DROP DEFAULT;
UPDATE SensorLocation SET end_ms=0 WHERE end != NULL;
DROP INDEX _parent_oid_2 ON SensorLocation;
ALTER TABLE SensorLocation ADD CONSTRAINT composite_index UNIQUE(_parent_oid,code,start,start_ms);
SELECT 'Updating Station' AS '';
ALTER TABLE Station
ADD start_ms INTEGER NOT NULL DEFAULT '0' AFTER start,
ADD end_ms INTEGER AFTER end,
MODIFY description VARCHAR(255);
ALTER TABLE Station ALTER start_ms DROP DEFAULT;
UPDATE Station SET end_ms=0 WHERE end != NULL;
DROP INDEX _parent_oid_2 ON Station;
ALTER TABLE Station ADD CONSTRAINT composite_index UNIQUE(_parent_oid,code,start,start_ms);
SELECT 'Updating Network' AS '';
ALTER TABLE Network
ADD start_ms INTEGER NOT NULL DEFAULT '0' AFTER start,
ADD end_ms INTEGER AFTER end,
MODIFY description VARCHAR(255);
ALTER TABLE Network ALTER start_ms DROP DEFAULT;
UPDATE Network SET end_ms=0 WHERE end != NULL;
DROP INDEX _parent_oid_2 ON Network;
ALTER TABLE Network ADD CONSTRAINT composite_index UNIQUE(_parent_oid,code,start,start_ms);
SELECT 'Updating ResponseFIR' AS '';
ALTER TABLE ResponseFIR
MODIFY gain double,
ADD gainFrequency DOUBLE UNSIGNED AFTER gain;
DROP INDEX _parent_oid_2 ON ResponseFIR;
ALTER TABLE ResponseFIR ADD CONSTRAINT composite_index UNIQUE(_parent_oid,name);
SELECT 'Updating ResponsePAZ' AS '';
ALTER TABLE ResponsePAZ
ADD decimationFactor SMALLINT UNSIGNED,
ADD delay DOUBLE UNSIGNED,
ADD correction DOUBLE,
MODIFY gain DOUBLE;
DROP INDEX _parent_oid_2 ON ResponsePAZ;
ALTER TABLE ResponsePAZ ADD CONSTRAINT composite_index UNIQUE(_parent_oid,name);
SELECT 'Updating ResponsePolynomial' AS '';
ALTER TABLE ResponsePolynomial
MODIFY gain DOUBLE,
MODIFY approximationLowerBound DOUBLE,
MODIFY approximationUpperBound DOUBLE;
DROP INDEX _parent_oid_2 ON ResponsePolynomial;
ALTER TABLE ResponsePolynomial ADD CONSTRAINT composite_index UNIQUE(_parent_oid,name);
SELECT 'Updating ResponseFAP' AS '';
ALTER TABLE ResponseFAP MODIFY gain DOUBLE;
DROP INDEX _parent_oid_2 ON ResponseFAP;
ALTER TABLE ResponseFAP ADD CONSTRAINT composite_index UNIQUE(_parent_oid,name);
SELECT 'Updating Datalogger' AS '';
ALTER TABLE Datalogger
MODIFY gain DOUBLE,
MODIFY description VARCHAR(255);
DROP INDEX _parent_oid_2 ON Datalogger;
ALTER TABLE Datalogger ADD CONSTRAINT composite_index UNIQUE(_parent_oid,name);
SELECT 'Updating StationGroup' AS '';
ALTER TABLE StationGroup
MODIFY code CHAR(20),
MODIFY description VARCHAR(255);
DROP INDEX _parent_oid_2 ON StationGroup;
ALTER TABLE StationGroup ADD CONSTRAINT composite_index UNIQUE(_parent_oid,code);
SELECT 'Updating AuxSource' AS '';
ALTER TABLE AuxSource
MODIFY name VARCHAR(255) NOT NULL,
MODIFY description VARCHAR(255);
DROP INDEX _parent_oid_2 ON AuxSource;
ALTER TABLE AuxSource ADD CONSTRAINT composite_index UNIQUE(_parent_oid,name);
SELECT 'Updating AuxDevice' AS '';
ALTER TABLE AuxDevice
MODIFY name VARCHAR(255) NOT NULL,
MODIFY description VARCHAR(255);
DROP INDEX _parent_oid_2 ON AuxDevice;
ALTER TABLE AuxDevice ADD CONSTRAINT composite_index UNIQUE(_parent_oid,name);
SELECT 'Updating Sensor' AS '';
ALTER TABLE Sensor MODIFY name VARCHAR(255) NOT NULL;
DROP INDEX _parent_oid_2 ON Sensor;
ALTER TABLE Sensor ADD CONSTRAINT composite_index UNIQUE(_parent_oid,name);
SELECT 'Updating CompositeTime' AS '';
ALTER TABLE CompositeTime
ADD second_pdf_variable_content BLOB AFTER second_confidenceLevel,
ADD second_pdf_probability_content BLOB AFTER second_pdf_variable_content,
ADD second_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER second_pdf_probability_content;
SELECT 'Updating MomentTensor' AS '';
ALTER TABLE MomentTensor
ADD scalarMoment_pdf_variable_content BLOB AFTER scalarMoment_confidenceLevel,
ADD scalarMoment_pdf_probability_content BLOB AFTER scalarMoment_pdf_variable_content,
ADD scalarMoment_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER scalarMoment_pdf_probability_content,
ADD tensor_Mrr_pdf_variable_content BLOB AFTER tensor_Mrr_confidenceLevel,
ADD tensor_Mrr_pdf_probability_content BLOB AFTER tensor_Mrr_pdf_variable_content,
ADD tensor_Mrr_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER tensor_Mrr_pdf_probability_content,
ADD tensor_Mtt_pdf_variable_content BLOB AFTER tensor_Mtt_confidenceLevel,
ADD tensor_Mtt_pdf_probability_content BLOB AFTER tensor_Mtt_pdf_variable_content,
ADD tensor_Mtt_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER tensor_Mtt_pdf_probability_content,
ADD tensor_Mpp_pdf_variable_content BLOB AFTER tensor_Mpp_confidenceLevel,
ADD tensor_Mpp_pdf_probability_content BLOB AFTER tensor_Mpp_pdf_variable_content,
ADD tensor_Mpp_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER tensor_Mpp_pdf_probability_content,
ADD tensor_Mrt_pdf_variable_content BLOB AFTER tensor_Mrt_confidenceLevel,
ADD tensor_Mrt_pdf_probability_content BLOB AFTER tensor_Mrt_pdf_variable_content,
ADD tensor_Mrt_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER tensor_Mrt_pdf_probability_content,
ADD tensor_Mrp_pdf_variable_content BLOB AFTER tensor_Mrp_confidenceLevel,
ADD tensor_Mrp_pdf_probability_content BLOB AFTER tensor_Mrp_pdf_variable_content,
ADD tensor_Mrp_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER tensor_Mrp_pdf_probability_content,
ADD tensor_Mtp_pdf_variable_content BLOB AFTER tensor_Mtp_confidenceLevel,
ADD tensor_Mtp_pdf_probability_content BLOB AFTER tensor_Mtp_pdf_variable_content,
ADD tensor_Mtp_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER tensor_Mtp_pdf_probability_content;
SELECT 'Updating FocalMechanism' AS '';
ALTER TABLE FocalMechanism
ADD nodalPlanes_nodalPlane1_strike_pdf_variable_content BLOB AFTER nodalPlanes_nodalPlane1_strike_confidenceLevel,
ADD nodalPlanes_nodalPlane1_strike_pdf_probability_content BLOB AFTER nodalPlanes_nodalPlane1_strike_pdf_variable_content,
ADD nodalPlanes_nodalPlane1_strike_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER nodalPlanes_nodalPlane1_strike_pdf_probability_content,
ADD nodalPlanes_nodalPlane1_dip_pdf_variable_content BLOB AFTER nodalPlanes_nodalPlane1_dip_confidenceLevel,
ADD nodalPlanes_nodalPlane1_dip_pdf_probability_content BLOB AFTER nodalPlanes_nodalPlane1_dip_pdf_variable_content,
ADD nodalPlanes_nodalPlane1_dip_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER nodalPlanes_nodalPlane1_dip_pdf_probability_content,
ADD nodalPlanes_nodalPlane1_rake_pdf_variable_content BLOB AFTER nodalPlanes_nodalPlane1_rake_confidenceLevel,
ADD nodalPlanes_nodalPlane1_rake_pdf_probability_content BLOB AFTER nodalPlanes_nodalPlane1_rake_pdf_variable_content,
ADD nodalPlanes_nodalPlane1_rake_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER nodalPlanes_nodalPlane1_rake_pdf_probability_content,
ADD nodalPlanes_nodalPlane2_strike_pdf_variable_content BLOB AFTER nodalPlanes_nodalPlane2_strike_confidenceLevel,
ADD nodalPlanes_nodalPlane2_strike_pdf_probability_content BLOB AFTER nodalPlanes_nodalPlane2_strike_pdf_variable_content,
ADD nodalPlanes_nodalPlane2_strike_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER nodalPlanes_nodalPlane2_strike_pdf_probability_content,
ADD nodalPlanes_nodalPlane2_dip_pdf_variable_content BLOB AFTER nodalPlanes_nodalPlane2_dip_confidenceLevel,
ADD nodalPlanes_nodalPlane2_dip_pdf_probability_content BLOB AFTER nodalPlanes_nodalPlane2_dip_pdf_variable_content,
ADD nodalPlanes_nodalPlane2_dip_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER nodalPlanes_nodalPlane2_dip_pdf_probability_content,
ADD nodalPlanes_nodalPlane2_rake_pdf_variable_content BLOB AFTER nodalPlanes_nodalPlane2_rake_confidenceLevel,
ADD nodalPlanes_nodalPlane2_rake_pdf_probability_content BLOB AFTER nodalPlanes_nodalPlane2_rake_pdf_variable_content,
ADD nodalPlanes_nodalPlane2_rake_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER nodalPlanes_nodalPlane2_rake_pdf_probability_content,
ADD principalAxes_tAxis_azimuth_pdf_variable_content BLOB AFTER principalAxes_tAxis_azimuth_confidenceLevel,
ADD principalAxes_tAxis_azimuth_pdf_probability_content BLOB AFTER principalAxes_tAxis_azimuth_pdf_variable_content,
ADD principalAxes_tAxis_azimuth_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER principalAxes_tAxis_azimuth_pdf_probability_content,
ADD principalAxes_tAxis_plunge_pdf_variable_content BLOB AFTER principalAxes_tAxis_plunge_confidenceLevel,
ADD principalAxes_tAxis_plunge_pdf_probability_content BLOB AFTER principalAxes_tAxis_plunge_pdf_variable_content,
ADD principalAxes_tAxis_plunge_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER principalAxes_tAxis_plunge_pdf_probability_content,
ADD principalAxes_tAxis_length_pdf_variable_content BLOB AFTER principalAxes_tAxis_length_confidenceLevel,
ADD principalAxes_tAxis_length_pdf_probability_content BLOB AFTER principalAxes_tAxis_length_pdf_variable_content,
ADD principalAxes_tAxis_length_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER principalAxes_tAxis_length_pdf_probability_content,
ADD principalAxes_pAxis_azimuth_pdf_variable_content BLOB AFTER principalAxes_pAxis_azimuth_confidenceLevel,
ADD principalAxes_pAxis_azimuth_pdf_probability_content BLOB AFTER principalAxes_pAxis_azimuth_pdf_variable_content,
ADD principalAxes_pAxis_azimuth_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER principalAxes_pAxis_azimuth_pdf_probability_content,
ADD principalAxes_pAxis_plunge_pdf_variable_content BLOB AFTER principalAxes_pAxis_plunge_confidenceLevel,
ADD principalAxes_pAxis_plunge_pdf_probability_content BLOB AFTER principalAxes_pAxis_plunge_pdf_variable_content,
ADD principalAxes_pAxis_plunge_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER principalAxes_pAxis_plunge_pdf_probability_content,
ADD principalAxes_pAxis_length_pdf_variable_content BLOB AFTER principalAxes_pAxis_length_confidenceLevel,
ADD principalAxes_pAxis_length_pdf_probability_content BLOB AFTER principalAxes_pAxis_length_pdf_variable_content,
ADD principalAxes_pAxis_length_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER principalAxes_pAxis_length_pdf_probability_content,
ADD principalAxes_nAxis_azimuth_pdf_variable_content BLOB AFTER principalAxes_nAxis_azimuth_confidenceLevel,
ADD principalAxes_nAxis_azimuth_pdf_probability_content BLOB AFTER principalAxes_nAxis_azimuth_pdf_variable_content,
ADD principalAxes_nAxis_azimuth_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER principalAxes_nAxis_azimuth_pdf_probability_content,
ADD principalAxes_nAxis_plunge_pdf_variable_content BLOB AFTER principalAxes_nAxis_plunge_confidenceLevel,
ADD principalAxes_nAxis_plunge_pdf_probability_content BLOB AFTER principalAxes_nAxis_plunge_pdf_variable_content,
ADD principalAxes_nAxis_plunge_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER principalAxes_nAxis_plunge_pdf_probability_content,
ADD principalAxes_nAxis_length_pdf_variable_content BLOB AFTER principalAxes_nAxis_length_confidenceLevel,
ADD principalAxes_nAxis_length_pdf_probability_content BLOB AFTER principalAxes_nAxis_length_pdf_variable_content,
ADD principalAxes_nAxis_length_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER principalAxes_nAxis_length_pdf_probability_content;
SELECT 'Updating Amplitude' AS '';
ALTER TABLE Amplitude
ADD amplitude_pdf_variable_content BLOB AFTER amplitude_confidenceLevel,
ADD amplitude_pdf_probability_content BLOB AFTER amplitude_pdf_variable_content,
ADD amplitude_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER amplitude_pdf_probability_content,
ADD period_pdf_variable_content BLOB AFTER period_confidenceLevel,
ADD period_pdf_probability_content BLOB AFTER period_pdf_variable_content,
ADD period_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER period_pdf_probability_content,
ADD scalingTime_pdf_variable_content BLOB AFTER scalingTime_confidenceLevel,
ADD scalingTime_pdf_probability_content BLOB AFTER scalingTime_pdf_variable_content,
ADD scalingTime_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER scalingTime_pdf_probability_content;
SELECT 'Updating Magnitude' AS '';
ALTER TABLE Magnitude
ADD magnitude_pdf_variable_content BLOB AFTER magnitude_confidenceLevel,
ADD magnitude_pdf_probability_content BLOB AFTER magnitude_pdf_variable_content,
ADD magnitude_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER magnitude_pdf_probability_content;
SELECT 'Updating StationMagnitude' AS '';
ALTER TABLE StationMagnitude
ADD magnitude_pdf_variable_content BLOB AFTER magnitude_confidenceLevel,
ADD magnitude_pdf_probability_content BLOB AFTER magnitude_pdf_variable_content,
ADD magnitude_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER magnitude_pdf_probability_content;
SELECT 'Updating Pick' AS '';
ALTER TABLE Pick
ADD time_pdf_variable_content BLOB AFTER time_confidenceLevel,
ADD time_pdf_probability_content BLOB AFTER time_pdf_variable_content,
ADD time_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER time_pdf_probability_content,
ADD horizontalSlowness_pdf_variable_content BLOB AFTER horizontalSlowness_confidenceLevel,
ADD horizontalSlowness_pdf_probability_content BLOB AFTER horizontalSlowness_pdf_variable_content,
ADD horizontalSlowness_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER horizontalSlowness_pdf_probability_content,
ADD backazimuth_pdf_variable_content BLOB AFTER backazimuth_confidenceLevel,
ADD backazimuth_pdf_probability_content BLOB AFTER backazimuth_pdf_variable_content,
ADD backazimuth_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER backazimuth_pdf_probability_content;
SELECT 'Updating Origin' AS '';
ALTER TABLE Origin
ADD time_pdf_variable_content BLOB AFTER time_confidenceLevel,
ADD time_pdf_probability_content BLOB AFTER time_pdf_variable_content,
ADD time_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER time_pdf_probability_content,
ADD latitude_pdf_variable_content BLOB AFTER latitude_confidenceLevel,
ADD latitude_pdf_probability_content BLOB AFTER latitude_pdf_variable_content,
ADD latitude_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER latitude_pdf_probability_content,
ADD longitude_pdf_variable_content BLOB AFTER longitude_confidenceLevel,
ADD longitude_pdf_probability_content BLOB AFTER longitude_pdf_variable_content,
ADD longitude_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER longitude_pdf_probability_content,
ADD depth_pdf_variable_content BLOB AFTER depth_confidenceLevel,
ADD depth_pdf_probability_content BLOB AFTER depth_pdf_variable_content,
ADD depth_pdf_used TINYINT(1) NOT NULL DEFAULT '0' AFTER depth_pdf_probability_content;
SELECT 'Updating Access' AS '';
DROP INDEX _parent_oid_2 ON Access;
ALTER TABLE Access ADD CONSTRAINT composite_index UNIQUE(_parent_oid,networkCode,stationCode,locationCode,streamCode,user,start);
SELECT 'Updating AmplitudeReference' AS '';
DROP INDEX _parent_oid_2 ON AmplitudeReference;
ALTER TABLE AmplitudeReference ADD CONSTRAINT composite_index UNIQUE(_parent_oid,amplitudeID);
SELECT 'Updating ArclinkRequest' AS '';
DROP INDEX _parent_oid_2 ON ArclinkRequest;
ALTER TABLE ArclinkRequest ADD CONSTRAINT composite_index UNIQUE(_parent_oid,created,created_ms,requestID,userID);
SELECT 'Updating ArclinkRequestLine' AS '';
DROP INDEX _parent_oid_2 ON ArclinkRequestLine;
ALTER TABLE ArclinkRequestLine ADD CONSTRAINT composite_index UNIQUE(_parent_oid,start,start_ms,end,end_ms,streamID_networkCode,streamID_stationCode,streamID_locationCode,streamID_channelCode,streamID_resourceURI);
SELECT 'Updating ArclinkStatusLine' AS '';
DROP INDEX _parent_oid_2 ON ArclinkStatusLine;
ALTER TABLE ArclinkStatusLine ADD CONSTRAINT composite_index UNIQUE(_parent_oid,volumeID,type,status);
SELECT 'Updating ArclinkUser' AS '';
DROP INDEX _parent_oid_2 ON ArclinkUser;
ALTER TABLE ArclinkUser ADD CONSTRAINT composite_index UNIQUE(_parent_oid,name,email);
SELECT 'Updating Arrival' AS '';
DROP INDEX _parent_oid_2 ON Arrival;
ALTER TABLE Arrival ADD CONSTRAINT composite_index UNIQUE(_parent_oid,pickID);
SELECT 'Updating ConfigStation' AS '';
DROP INDEX _parent_oid_2 ON ConfigStation;
ALTER TABLE ConfigStation ADD CONSTRAINT composite_index UNIQUE(_parent_oid,networkCode,stationCode);
SELECT 'Updating Decimation' AS '';
DROP INDEX _parent_oid_2 ON Decimation;
ALTER TABLE Decimation ADD CONSTRAINT composite_index UNIQUE(_parent_oid,sampleRateNumerator,sampleRateDenominator);
SELECT 'Updating EventDescription' AS '';
DROP INDEX _parent_oid_2 ON EventDescription;
ALTER TABLE EventDescription ADD CONSTRAINT composite_index UNIQUE(_parent_oid,type);
SELECT 'Updating FocalMechanismReference' AS '';
DROP INDEX _parent_oid_2 ON FocalMechanismReference;
ALTER TABLE FocalMechanismReference ADD CONSTRAINT composite_index UNIQUE(_parent_oid,focalMechanismID);
SELECT 'Updating MomentTensorComponentContribution' AS '';
DROP INDEX _parent_oid_2 ON MomentTensorComponentContribution;
ALTER TABLE MomentTensorComponentContribution ADD CONSTRAINT composite_index UNIQUE(_parent_oid,phaseCode,component);
SELECT 'Updating MomentTensorPhaseSetting' AS '';
DROP INDEX _parent_oid_2 ON MomentTensorPhaseSetting;
ALTER TABLE MomentTensorPhaseSetting ADD CONSTRAINT composite_index UNIQUE(_parent_oid,code);
SELECT 'Updating OriginReference' AS '';
DROP INDEX _parent_oid_2 ON OriginReference;
ALTER TABLE OriginReference ADD CONSTRAINT composite_index UNIQUE(_parent_oid,originID);
SELECT 'Updating Outage' AS '';
DROP INDEX _parent_oid_2 ON Outage;
ALTER TABLE Outage ADD CONSTRAINT composite_index UNIQUE(_parent_oid,waveformID_networkCode,waveformID_stationCode,waveformID_locationCode,waveformID_channelCode,waveformID_resourceURI,start,start_ms);
SELECT 'Updating PickReference' AS '';
DROP INDEX _parent_oid_2 ON PickReference;
ALTER TABLE PickReference ADD CONSTRAINT composite_index UNIQUE(_parent_oid,pickID);
SELECT 'Updating QCLog' AS '';
DROP INDEX _parent_oid_2 ON QCLog;
ALTER TABLE QCLog ADD CONSTRAINT composite_index UNIQUE(_parent_oid,start,start_ms,waveformID_networkCode,waveformID_stationCode,waveformID_locationCode,waveformID_channelCode,waveformID_resourceURI);
SELECT 'Updating Route' AS '';
DROP INDEX _parent_oid_2 ON Route;
ALTER TABLE Route ADD CONSTRAINT composite_index UNIQUE(_parent_oid,networkCode,stationCode,locationCode,streamCode);
SELECT 'Updating RouteArclink' AS '';
DROP INDEX _parent_oid_2 ON RouteArclink;
ALTER TABLE RouteArclink ADD CONSTRAINT composite_index UNIQUE(_parent_oid,address,start);
SELECT 'Updating RouteSeedlink' AS '';
DROP INDEX _parent_oid_2 ON RouteSeedlink;
ALTER TABLE RouteSeedlink ADD CONSTRAINT composite_index UNIQUE(_parent_oid,address);
SELECT 'Updating Setup' AS '';
DROP INDEX _parent_oid_2 ON Setup;
ALTER TABLE Setup ADD CONSTRAINT composite_index UNIQUE(_parent_oid,name);
SELECT 'Updating StationMagnitudeContribution' AS '';
DROP INDEX _parent_oid_2 ON StationMagnitudeContribution;
ALTER TABLE StationMagnitudeContribution ADD CONSTRAINT composite_index UNIQUE(_parent_oid,stationMagnitudeID);
SELECT 'Updating StationReference' AS '';
DROP INDEX _parent_oid_2 ON StationReference;
ALTER TABLE StationReference ADD CONSTRAINT composite_index UNIQUE(_parent_oid,stationID);
SELECT 'Updating WaveformQuality' AS '';
DROP INDEX _parent_oid_2 ON WaveformQuality;
ALTER TABLE WaveformQuality ADD CONSTRAINT composite_index UNIQUE(_parent_oid,start,start_ms,waveformID_networkCode,waveformID_stationCode,waveformID_locationCode,waveformID_channelCode,waveformID_resourceURI,type,parameter);
# Convert Stream type to type that inherits from PublicObject
SELECT 'Updating PublicObject' AS '';
INSERT INTO PublicObject(_oid, publicID) SELECT _oid, concat("Stream/", DATE_FORMAT(_last_modified, '%Y%m%d%H%i%s'), ".", _oid) FROM Stream;
SELECT 'Updating Meta' AS '';
UPDATE Meta SET value='0.10' WHERE name='Schema-Version';

View File

@ -0,0 +1,104 @@
\echo Add StationMagnitude.passedQC
ALTER TABLE StationMagnitude ADD m_passedQC BOOLEAN;
\echo Creating DataAvailability PublicObject entry
INSERT INTO Object(_oid) VALUES (DEFAULT);
INSERT INTO PublicObject(_oid,m_publicID) VALUES (CURRVAL('Object_seq'),'DataAvailability');
\echo Creating DataSegment
CREATE TABLE DataSegment (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_start TIMESTAMP NOT NULL,
m_start_ms INTEGER NOT NULL,
m_end TIMESTAMP NOT NULL,
m_end_ms INTEGER NOT NULL,
m_updated TIMESTAMP NOT NULL,
m_updated_ms INTEGER NOT NULL,
m_sampleRate DOUBLE PRECISION NOT NULL,
m_quality VARCHAR(8) NOT NULL,
m_outOfOrder BOOLEAN NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
CONSTRAINT datasegment_composite_index UNIQUE(_parent_oid,m_start,m_start_ms)
);
CREATE INDEX DataSegment__parent_oid ON DataSegment(_parent_oid);
CREATE INDEX DataSegment_m_start_m_start_ms ON DataSegment(m_start,m_start_ms);
CREATE INDEX DataSegment_m_end_m_end_ms ON DataSegment(m_end,m_end_ms);
CREATE INDEX DataSegment_m_updated_m_updated_ms ON DataSegment(m_updated,m_updated_ms);
CREATE TRIGGER DataSegment_update BEFORE UPDATE ON DataSegment FOR EACH ROW EXECUTE PROCEDURE update_modified();
\echo Creating DataAttributeExtent
CREATE TABLE DataAttributeExtent (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_start TIMESTAMP NOT NULL,
m_start_ms INTEGER NOT NULL,
m_end TIMESTAMP NOT NULL,
m_end_ms INTEGER NOT NULL,
m_sampleRate DOUBLE PRECISION NOT NULL,
m_quality VARCHAR(8) NOT NULL,
m_updated TIMESTAMP NOT NULL,
m_updated_ms INTEGER NOT NULL,
m_segmentCount INT NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
CONSTRAINT dataattributeextent_composite_index UNIQUE(_parent_oid,m_sampleRate,m_quality)
);
CREATE INDEX DataAttributeExtent__parent_oid ON DataAttributeExtent(_parent_oid);
CREATE INDEX DataAttributeExtent_m_start_m_start_ms ON DataAttributeExtent(m_start,m_start_ms);
CREATE INDEX DataAttributeExtent_m_end_m_end_ms ON DataAttributeExtent(m_end,m_end_ms);
CREATE INDEX DataAttributeExtent_m_updated_m_updated_ms ON DataAttributeExtent(m_updated,m_updated_ms);
CREATE TRIGGER DataAttributeExtent_update BEFORE UPDATE ON DataAttributeExtent FOR EACH ROW EXECUTE PROCEDURE update_modified();
\echo Creating DataExtent
CREATE TABLE DataExtent (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_waveformID_networkCode VARCHAR(8) NOT NULL,
m_waveformID_stationCode VARCHAR(8) NOT NULL,
m_waveformID_locationCode VARCHAR(8),
m_waveformID_channelCode VARCHAR(8),
m_waveformID_resourceURI VARCHAR(255),
m_start TIMESTAMP NOT NULL,
m_start_ms INTEGER NOT NULL,
m_end TIMESTAMP NOT NULL,
m_end_ms INTEGER NOT NULL,
m_updated TIMESTAMP NOT NULL,
m_updated_ms INTEGER NOT NULL,
m_lastScan TIMESTAMP NOT NULL,
m_lastScan_ms INTEGER NOT NULL,
m_segmentOverflow BOOLEAN NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
CONSTRAINT dataextent_composite_index UNIQUE(_parent_oid,m_waveformID_networkCode,m_waveformID_stationCode,m_waveformID_locationCode,m_waveformID_channelCode,m_waveformID_resourceURI)
);
CREATE INDEX DataExtent__parent_oid ON DataExtent(_parent_oid);
CREATE INDEX DataExtent_m_waveformID_resourceURI ON DataExtent(m_waveformID_resourceURI);
CREATE INDEX DataExtent_m_start_m_start_ms ON DataExtent(m_start,m_start_ms);
CREATE INDEX DataExtent_m_end_m_end_ms ON DataExtent(m_end,m_end_ms);
CREATE INDEX DataExtent_m_updated_m_updated_ms ON DataExtent(m_updated,m_updated_ms);
CREATE INDEX DataExtent_m_lastScan_m_lastScan_ms ON DataExtent(m_lastScan,m_lastScan_ms);
CREATE TRIGGER DataExtent_update BEFORE UPDATE ON DataExtent FOR EACH ROW EXECUTE PROCEDURE update_modified();
\echo Updating Meta
UPDATE Meta SET value='0.11' WHERE name='Schema-Version';

View File

@ -0,0 +1,5 @@
\echo Add Origin.m_uncertainty_confidenceLevel
ALTER TABLE Origin ADD m_uncertainty_confidenceLevel DOUBLE PRECISION;
\echo Updating Meta
UPDATE Meta SET value='0.12' WHERE name='Schema-Version';

View File

@ -0,0 +1,2 @@
\echo Updating Meta
UPDATE Meta SET value='0.13' WHERE name='Schema-Version';

View File

@ -0,0 +1,5 @@
\echo Convert JournalEntry.m_parameters to BYTEA
ALTER TABLE JournalEntry ALTER COLUMN m_parameters TYPE bytea USING m_parameters::bytea;
\echo Updating Meta
UPDATE Meta SET value='0.12.1' WHERE name='Schema-Version';

View File

@ -0,0 +1,8 @@
\echo Convert Comment.m_text to TEXT
ALTER TABLE Comment ALTER COLUMN m_text TYPE TEXT;
\echo Convert JournalEntry.m_parameters to TEXT
ALTER TABLE JournalEntry ALTER COLUMN m_parameters TYPE TEXT;
\echo Updating Meta
UPDATE Meta SET value='0.13.2' WHERE name='Schema-Version';

View File

@ -0,0 +1,20 @@
CREATE TABLE ResponseFAP (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_name VARCHAR(255),
m_gain DOUBLE PRECISION,
m_gainFrequency DOUBLE PRECISION,
m_numberOfTuples SMALLINT,
m_tuples_content BYTEA,
m_tuples_used BOOLEAN NOT NULL DEFAULT '0',
m_remark_content BYTEA,
m_remark_used BOOLEAN NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
UNIQUE(_parent_oid,m_name)
);
UPDATE Meta SET value='0.8' WHERE name='Schema-Version';

View File

@ -0,0 +1,12 @@
ALTER TABLE ConfigStation ADD m_creationInfo_agencyID VARCHAR(64);
ALTER TABLE ConfigStation ADD m_creationInfo_agencyURI VARCHAR(255);
ALTER TABLE ConfigStation ADD m_creationInfo_author VARCHAR(128);
ALTER TABLE ConfigStation ADD m_creationInfo_authorURI VARCHAR(255);
ALTER TABLE ConfigStation ADD m_creationInfo_creationTime TIMESTAMP;
ALTER TABLE ConfigStation ADD m_creationInfo_creationTime_ms INTEGER;
ALTER TABLE ConfigStation ADD m_creationInfo_modificationTime TIMESTAMP;
ALTER TABLE ConfigStation ADD m_creationInfo_modificationTime_ms INTEGER;
ALTER TABLE ConfigStation ADD m_creationInfo_version VARCHAR(64);
ALTER TABLE ConfigStation ADD m_creationInfo_used BOOLEAN NOT NULL DEFAULT '0';
UPDATE Meta SET value='0.9' WHERE name='Schema-Version';

View File

@ -0,0 +1,392 @@
\echo Creating ResponseIIR
CREATE TABLE ResponseIIR (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_name VARCHAR(255),
m_type VARCHAR(1),
m_gain DOUBLE PRECISION,
m_gainFrequency DOUBLE PRECISION,
m_decimationFactor SMALLINT,
m_delay DOUBLE PRECISION,
m_correction DOUBLE PRECISION,
m_numberOfNumerators SMALLINT,
m_numberOfDenominators SMALLINT,
m_numerators_content BYTEA,
m_numerators_used BOOLEAN NOT NULL DEFAULT '0',
m_denominators_content BYTEA,
m_denominators_used BOOLEAN NOT NULL DEFAULT '0',
m_remark_content BYTEA,
m_remark_used BOOLEAN NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
CONSTRAINT responseiir_composite_index UNIQUE(_parent_oid,m_name)
);
CREATE INDEX ResponseIIR__parent_oid ON ResponseIIR(_parent_oid);
CREATE TRIGGER ResponseIIR_update BEFORE UPDATE ON ResponseIIR FOR EACH ROW EXECUTE PROCEDURE update_modified();
\echo Updating Comment
ALTER TABLE Comment
ADD m_start TIMESTAMP,
ADD m_start_ms INTEGER,
ADD m_end TIMESTAMP,
ADD m_end_ms INTEGER;
ALTER TABLE ONLY Comment ADD CONSTRAINT comment_composite_index UNIQUE (_parent_oid, m_id);
ALTER TABLE ONLY Comment DROP CONSTRAINT comment__parent_oid_m_id_key;
\echo Updating AuxStream
ALTER TABLE AuxStream
ADD m_start_ms INTEGER NOT NULL DEFAULT '0',
ADD m_end_ms INTEGER,
ALTER m_format TYPE VARCHAR(50);
ALTER TABLE AuxStream ALTER m_start_ms DROP DEFAULT;
UPDATE AuxStream SET m_end_ms=0 WHERE m_end != NULL;
ALTER TABLE ONLY AuxStream ADD CONSTRAINT auxstream_composite_index UNIQUE(_parent_oid,m_code,m_start,m_start_ms);
ALTER TABLE ONLY AuxStream DROP CONSTRAINT auxstream__parent_oid_m_code_m_start_key;
\echo Updating Stream
ALTER TABLE Stream
ADD m_start_ms INTEGER NOT NULL DEFAULT '0',
ADD m_end_ms INTEGER,
ALTER m_format TYPE VARCHAR(50);
ALTER TABLE Stream ALTER m_start_ms DROP DEFAULT;
UPDATE Stream SET m_end_ms=0 WHERE m_end != NULL;
ALTER TABLE ONLY Stream ADD CONSTRAINT stream_composite_index UNIQUE(_parent_oid,m_code,m_start,m_start_ms);
ALTER TABLE ONLY Stream DROP CONSTRAINT stream__parent_oid_m_code_m_start_key;
\echo Updating SensorLocation
ALTER TABLE SensorLocation
ADD m_start_ms INTEGER NOT NULL DEFAULT '0',
ADD m_end_ms INTEGER;
ALTER TABLE SensorLocation ALTER m_start_ms DROP DEFAULT;
UPDATE SensorLocation SET m_end_ms=0 WHERE m_end != NULL;
ALTER TABLE ONLY SensorLocation ADD CONSTRAINT sensorlocation_composite_index UNIQUE(_parent_oid,m_code,m_start,m_start_ms);
ALTER TABLE ONLY SensorLocation DROP CONSTRAINT sensorlocation__parent_oid_m_code_m_start_key;
\echo Updating Station
ALTER TABLE Station
ADD m_start_ms INTEGER NOT NULL DEFAULT '0',
ADD m_end_ms INTEGER,
ALTER m_description TYPE VARCHAR(255);
ALTER TABLE Station ALTER m_start_ms DROP DEFAULT;
ALTER TABLE ONLY Station ADD CONSTRAINT station_composite_index UNIQUE (_parent_oid, m_code, m_start, m_start_ms);
ALTER TABLE ONLY Station DROP CONSTRAINT station__parent_oid_m_code_m_start_key;
\echo Updating DataloggerCalibration
ALTER TABLE DataloggerCalibration
ADD m_start_ms INTEGER NOT NULL DEFAULT '0',
ADD m_end_ms INTEGER;
ALTER TABLE DataloggerCalibration ALTER m_start_ms DROP DEFAULT;
UPDATE DataloggerCalibration SET m_end_ms=0 WHERE m_end != NULL;
ALTER TABLE ONLY DataloggerCalibration ADD CONSTRAINT dataloggercalibration_composite_index UNIQUE(_parent_oid,m_serialNumber,m_channel,m_start,m_start_ms);
ALTER TABLE ONLY DataloggerCalibration DROP CONSTRAINT dataloggercalibration__parent_oid_m_serialnumber_m_channel__key;
\echo Updating SensorCalibration
ALTER TABLE SensorCalibration
ADD m_start_ms INTEGER NOT NULL DEFAULT '0',
ADD m_end_ms INTEGER;
ALTER TABLE SensorCalibration ALTER m_start_ms DROP DEFAULT;
UPDATE SensorCalibration SET m_end_ms=0 WHERE m_end != NULL;
ALTER TABLE ONLY SensorCalibration ADD CONSTRAINT sensorcalibration_composite_index UNIQUE(_parent_oid,m_serialNumber,m_channel,m_start,m_start_ms);
ALTER TABLE ONLY SensorCalibration DROP CONSTRAINT sensorcalibration__parent_oid_m_serialnumber_m_channel_m_st_key;
\echo Updating Network
ALTER TABLE Network
ADD m_start_ms INTEGER NOT NULL DEFAULT '0',
ADD m_end_ms INTEGER,
ALTER m_description TYPE VARCHAR(255);
ALTER TABLE Network ALTER m_start_ms DROP DEFAULT;
UPDATE Network SET m_end_ms=0 WHERE m_end != NULL;
ALTER TABLE ONLY Network ADD CONSTRAINT network_composite_index UNIQUE(_parent_oid,m_code,m_start,m_start_ms);
ALTER TABLE ONLY Network DROP CONSTRAINT network__parent_oid_m_code_m_start_key;
\echo Updating ResponseFIR
ALTER TABLE ResponseFIR ADD m_gainFrequency DOUBLE PRECISION;
ALTER TABLE ONLY ResponseFIR ADD CONSTRAINT responsefir_composite_index UNIQUE (_parent_oid, m_name);
ALTER TABLE ONLY ResponseFIR DROP CONSTRAINT responsefir__parent_oid_m_name_key;
\echo Updating ResponsePAZ
ALTER TABLE ResponsePAZ
ADD m_decimationFactor SMALLINT,
ADD m_delay DOUBLE PRECISION,
ADD m_correction DOUBLE PRECISION;
ALTER TABLE ONLY ResponsePAZ ADD CONSTRAINT responsepaz_composite_index UNIQUE (_parent_oid, m_name);
ALTER TABLE ONLY ResponsePAZ DROP CONSTRAINT responsepaz__parent_oid_m_name_key;
\echo Updating StationGroup
ALTER TABLE StationGroup
ADD m_start_ms INTEGER,
ADD m_end_ms INTEGER,
ALTER m_code TYPE VARCHAR(20),
ALTER m_description TYPE VARCHAR(255);
UPDATE StationGroup SET m_start_ms=0 WHERE m_start != NULL;
UPDATE StationGroup SET m_end_ms=0 WHERE m_end != NULL;
ALTER TABLE ONLY StationGroup ADD CONSTRAINT stationgroup_composite_index UNIQUE (_parent_oid, m_code);
ALTER TABLE ONLY StationGroup DROP CONSTRAINT stationgroup__parent_oid_m_code_key;
\echo Updating AuxSource
ALTER TABLE AuxSource
ALTER m_name TYPE VARCHAR(255),
ALTER m_description TYPE VARCHAR(255);
ALTER TABLE ONLY AuxSource ADD CONSTRAINT auxsource_composite_index UNIQUE (_parent_oid, m_name);
ALTER TABLE ONLY AuxSource DROP CONSTRAINT auxsource__parent_oid_m_name_key;
\echo Updating AuxDevice
ALTER TABLE AuxDevice
ALTER m_name TYPE VARCHAR(255),
ALTER m_description TYPE VARCHAR(255);
ALTER TABLE ONLY AuxDevice ADD CONSTRAINT auxdevice_composite_index UNIQUE (_parent_oid, m_name);
ALTER TABLE ONLY AuxDevice DROP CONSTRAINT auxdevice__parent_oid_m_name_key;
\echo Updating Sensor
ALTER TABLE Sensor ALTER m_name TYPE VARCHAR(255);
ALTER TABLE ONLY Sensor ADD CONSTRAINT sensor_composite_index UNIQUE (_parent_oid, m_name);
ALTER TABLE ONLY Sensor DROP CONSTRAINT sensor__parent_oid_m_name_key;
\echo Updating Datalogger
ALTER TABLE Datalogger ALTER m_description TYPE VARCHAR(255);
ALTER TABLE ONLY Datalogger ADD CONSTRAINT datalogger_composite_index UNIQUE (_parent_oid, m_name);
ALTER TABLE ONLY Datalogger DROP CONSTRAINT datalogger__parent_oid_m_name_key;
\echo Updating CompositeTime
ALTER TABLE CompositeTime
ADD m_second_pdf_variable_content BYTEA,
ADD m_second_pdf_probability_content BYTEA,
ADD m_second_pdf_used BOOLEAN NOT NULL DEFAULT '0';
\echo Updating MomentTensor
ALTER TABLE MomentTensor
ADD m_scalarMoment_pdf_variable_content BYTEA,
ADD m_scalarMoment_pdf_probability_content BYTEA,
ADD m_scalarMoment_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_tensor_Mrr_pdf_variable_content BYTEA,
ADD m_tensor_Mrr_pdf_probability_content BYTEA,
ADD m_tensor_Mrr_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_tensor_Mtt_pdf_variable_content BYTEA,
ADD m_tensor_Mtt_pdf_probability_content BYTEA,
ADD m_tensor_Mtt_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_tensor_Mpp_pdf_variable_content BYTEA,
ADD m_tensor_Mpp_pdf_probability_content BYTEA,
ADD m_tensor_Mpp_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_tensor_Mrt_pdf_variable_content BYTEA,
ADD m_tensor_Mrt_pdf_probability_content BYTEA,
ADD m_tensor_Mrt_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_tensor_Mrp_pdf_variable_content BYTEA,
ADD m_tensor_Mrp_pdf_probability_content BYTEA,
ADD m_tensor_Mrp_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_tensor_Mtp_pdf_variable_content BYTEA,
ADD m_tensor_Mtp_pdf_probability_content BYTEA,
ADD m_tensor_Mtp_pdf_used BOOLEAN NOT NULL DEFAULT '0';
\echo Updating FocalMechanism
ALTER TABLE FocalMechanism
ADD m_nodalPlanes_nodalPlane1_strike_pdf_variable_content BYTEA,
ADD m_nodalPlanes_nodalPlane1_strike_pdf_probability_content BYTEA,
ADD m_nodalPlanes_nodalPlane1_strike_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_nodalPlanes_nodalPlane1_dip_pdf_variable_content BYTEA,
ADD m_nodalPlanes_nodalPlane1_dip_pdf_probability_content BYTEA,
ADD m_nodalPlanes_nodalPlane1_dip_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_nodalPlanes_nodalPlane1_rake_pdf_variable_content BYTEA,
ADD m_nodalPlanes_nodalPlane1_rake_pdf_probability_content BYTEA,
ADD m_nodalPlanes_nodalPlane1_rake_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_nodalPlanes_nodalPlane2_strike_pdf_variable_content BYTEA,
ADD m_nodalPlanes_nodalPlane2_strike_pdf_probability_content BYTEA,
ADD m_nodalPlanes_nodalPlane2_strike_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_nodalPlanes_nodalPlane2_dip_pdf_variable_content BYTEA,
ADD m_nodalPlanes_nodalPlane2_dip_pdf_probability_content BYTEA,
ADD m_nodalPlanes_nodalPlane2_dip_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_nodalPlanes_nodalPlane2_rake_pdf_variable_content BYTEA,
ADD m_nodalPlanes_nodalPlane2_rake_pdf_probability_content BYTEA,
ADD m_nodalPlanes_nodalPlane2_rake_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_principalAxes_tAxis_azimuth_pdf_variable_content BYTEA,
ADD m_principalAxes_tAxis_azimuth_pdf_probability_content BYTEA,
ADD m_principalAxes_tAxis_azimuth_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_principalAxes_tAxis_plunge_pdf_variable_content BYTEA,
ADD m_principalAxes_tAxis_plunge_pdf_probability_content BYTEA,
ADD m_principalAxes_tAxis_plunge_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_principalAxes_tAxis_length_pdf_variable_content BYTEA,
ADD m_principalAxes_tAxis_length_pdf_probability_content BYTEA,
ADD m_principalAxes_tAxis_length_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_principalAxes_pAxis_azimuth_pdf_variable_content BYTEA,
ADD m_principalAxes_pAxis_azimuth_pdf_probability_content BYTEA,
ADD m_principalAxes_pAxis_azimuth_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_principalAxes_pAxis_plunge_pdf_variable_content BYTEA,
ADD m_principalAxes_pAxis_plunge_pdf_probability_content BYTEA,
ADD m_principalAxes_pAxis_plunge_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_principalAxes_pAxis_length_pdf_variable_content BYTEA,
ADD m_principalAxes_pAxis_length_pdf_probability_content BYTEA,
ADD m_principalAxes_pAxis_length_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_principalAxes_nAxis_azimuth_pdf_variable_content BYTEA,
ADD m_principalAxes_nAxis_azimuth_pdf_probability_content BYTEA,
ADD m_principalAxes_nAxis_azimuth_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_principalAxes_nAxis_plunge_pdf_variable_content BYTEA,
ADD m_principalAxes_nAxis_plunge_pdf_probability_content BYTEA,
ADD m_principalAxes_nAxis_plunge_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_principalAxes_nAxis_length_pdf_variable_content BYTEA,
ADD m_principalAxes_nAxis_length_pdf_probability_content BYTEA,
ADD m_principalAxes_nAxis_length_pdf_used BOOLEAN NOT NULL DEFAULT '0';
\echo Updating Amplitude
ALTER TABLE Amplitude
ADD m_amplitude_pdf_variable_content BYTEA,
ADD m_amplitude_pdf_probability_content BYTEA,
ADD m_amplitude_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_period_pdf_variable_content BYTEA,
ADD m_period_pdf_probability_content BYTEA,
ADD m_period_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_scalingTime_pdf_variable_content BYTEA,
ADD m_scalingTime_pdf_probability_content BYTEA,
ADD m_scalingTime_pdf_used BOOLEAN NOT NULL DEFAULT '0';
\echo Updating Magnitude
ALTER TABLE Magnitude
ADD m_magnitude_pdf_variable_content BYTEA,
ADD m_magnitude_pdf_probability_content BYTEA,
ADD m_magnitude_pdf_used BOOLEAN NOT NULL DEFAULT '0';
\echo Updating StationMagnitude
ALTER TABLE StationMagnitude
ADD m_magnitude_pdf_variable_content BYTEA,
ADD m_magnitude_pdf_probability_content BYTEA,
ADD m_magnitude_pdf_used BOOLEAN NOT NULL DEFAULT '0';
\echo Updating Pick
ALTER TABLE Pick
ADD m_time_pdf_variable_content BYTEA,
ADD m_time_pdf_probability_content BYTEA,
ADD m_time_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_horizontalSlowness_pdf_variable_content BYTEA,
ADD m_horizontalSlowness_pdf_probability_content BYTEA,
ADD m_horizontalSlowness_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_backazimuth_pdf_variable_content BYTEA,
ADD m_backazimuth_pdf_probability_content BYTEA,
ADD m_backazimuth_pdf_used BOOLEAN NOT NULL DEFAULT '0';
\echo Updating Origin
ALTER TABLE Origin
ADD m_time_pdf_variable_content BYTEA,
ADD m_time_pdf_probability_content BYTEA,
ADD m_time_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_latitude_pdf_variable_content BYTEA,
ADD m_latitude_pdf_probability_content BYTEA,
ADD m_latitude_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_longitude_pdf_variable_content BYTEA,
ADD m_longitude_pdf_probability_content BYTEA,
ADD m_longitude_pdf_used BOOLEAN NOT NULL DEFAULT '0',
ADD m_depth_pdf_variable_content BYTEA,
ADD m_depth_pdf_probability_content BYTEA,
ADD m_depth_pdf_used BOOLEAN NOT NULL DEFAULT '0';
\echo Updating Access
ALTER TABLE ONLY Access ADD CONSTRAINT access_composite_index UNIQUE (_parent_oid, m_networkcode, m_stationcode, m_locationcode, m_streamcode, m_user, m_start);
ALTER TABLE ONLY Access DROP CONSTRAINT access__parent_oid_m_networkcode_m_stationcode_m_locationco_key;
\echo Updating AmplitudeReference
ALTER TABLE ONLY AmplitudeReference ADD CONSTRAINT amplitudereference_composite_index UNIQUE (_parent_oid, m_amplitudeid);
ALTER TABLE ONLY AmplitudeReference DROP CONSTRAINT amplitudereference__parent_oid_m_amplitudeid_key;
\echo Updating ArclinkRequest
ALTER TABLE ONLY ArclinkRequest ADD CONSTRAINT arclinkrequest_composite_index UNIQUE (_parent_oid, m_created, m_created_ms, m_requestid, m_userid);
ALTER TABLE ONLY ArclinkRequest DROP CONSTRAINT arclinkrequest__parent_oid_m_created_m_created_ms_m_request_key;
\echo Updating ArclinkRequestLine
ALTER TABLE ONLY ArclinkRequestLine ADD CONSTRAINT arclinkrequestline_composite_index UNIQUE (_parent_oid, m_start, m_start_ms, m_end, m_end_ms, m_streamid_networkcode, m_streamid_stationcode, m_streamid_locationcode, m_streamid_channelcode, m_streamid_resourceuri);
ALTER TABLE ONLY ArclinkRequestLine DROP CONSTRAINT arclinkrequestline__parent_oid_m_start_m_start_ms_m_end_m_e_key;
\echo Updating ArclinkStatusLine
ALTER TABLE ONLY ArclinkStatusLine ADD CONSTRAINT arclinkstatusline_composite_index UNIQUE (_parent_oid, m_volumeid, m_type, m_status);
ALTER TABLE ONLY ArclinkStatusLine DROP CONSTRAINT arclinkstatusline__parent_oid_m_volumeid_m_type_m_status_key;
\echo Updating ArclinkUser
ALTER TABLE ONLY ArclinkUser ADD CONSTRAINT arclinkuser_composite_index UNIQUE (_parent_oid, m_name, m_email);
ALTER TABLE ONLY ArclinkUser DROP CONSTRAINT arclinkuser__parent_oid_m_name_m_email_key;
\echo Updating Arrival
ALTER TABLE ONLY Arrival ADD CONSTRAINT arrival_composite_index UNIQUE (_parent_oid, m_pickid);
ALTER TABLE ONLY Arrival DROP CONSTRAINT arrival__parent_oid_m_pickid_key;
\echo Updating ConfigStation
ALTER TABLE ONLY ConfigStation ADD CONSTRAINT configstation_composite_index UNIQUE (_parent_oid, m_networkcode, m_stationcode);
ALTER TABLE ONLY ConfigStation DROP CONSTRAINT configstation__parent_oid_m_networkcode_m_stationcode_key;
\echo Updating Decimation
ALTER TABLE ONLY Decimation ADD CONSTRAINT decimation_composite_index UNIQUE (_parent_oid, m_sampleratenumerator, m_sampleratedenominator);
ALTER TABLE ONLY Decimation DROP CONSTRAINT decimation__parent_oid_m_sampleratenumerator_m_sampleratede_key;
\echo Updating EventDescription
ALTER TABLE ONLY EventDescription ADD CONSTRAINT eventdescription_composite_index UNIQUE (_parent_oid, m_type);
ALTER TABLE ONLY EventDescription DROP CONSTRAINT eventdescription__parent_oid_m_type_key;
\echo Updating FocalMechanismReference
ALTER TABLE ONLY FocalMechanismReference ADD CONSTRAINT focalmechanismreference_composite_index UNIQUE (_parent_oid, m_focalmechanismid);
ALTER TABLE ONLY FocalMechanismReference DROP CONSTRAINT focalmechanismreference__parent_oid_m_focalmechanismid_key;
\echo Updating MomentTensorComponentContribution
ALTER TABLE ONLY MomentTensorComponentContribution ADD CONSTRAINT momenttensorcomponentcontribution_composite_index UNIQUE (_parent_oid, m_phasecode, m_component);
ALTER TABLE ONLY MomentTensorComponentContribution DROP CONSTRAINT momenttensorcomponentcontribu__parent_oid_m_phasecode_m_com_key;
\echo Updating MomentTensorPhaseSetting
ALTER TABLE ONLY MomentTensorPhaseSetting ADD CONSTRAINT momenttensorphasesetting_composite_index UNIQUE (_parent_oid, m_code);
ALTER TABLE ONLY MomentTensorPhaseSetting DROP CONSTRAINT momenttensorphasesetting__parent_oid_m_code_key;
\echo Updating OriginReference
ALTER TABLE ONLY OriginReference ADD CONSTRAINT originreference_composite_index UNIQUE (_parent_oid, m_originid);
ALTER TABLE ONLY OriginReference DROP CONSTRAINT originreference__parent_oid_m_originid_key;
\echo Updating Outage
ALTER TABLE ONLY Outage ADD CONSTRAINT outage_composite_index UNIQUE (_parent_oid, m_waveformid_networkcode, m_waveformid_stationcode, m_waveformid_locationcode, m_waveformid_channelcode, m_waveformid_resourceuri, m_start, m_start_ms);
ALTER TABLE ONLY Outage DROP CONSTRAINT outage__parent_oid_m_waveformid_networkcode_m_waveformid_st_key;
\echo Updating PickReference
ALTER TABLE ONLY PickReference ADD CONSTRAINT pickreference_composite_index UNIQUE (_parent_oid, m_pickid);
ALTER TABLE ONLY PickReference DROP CONSTRAINT pickreference__parent_oid_m_pickid_key;
\echo Updating QCLog
ALTER TABLE ONLY QCLog ADD CONSTRAINT qclog_composite_index UNIQUE (_parent_oid, m_start, m_start_ms, m_waveformid_networkcode, m_waveformid_stationcode, m_waveformid_locationcode, m_waveformid_channelcode, m_waveformid_resourceuri);
ALTER TABLE ONLY QCLog DROP CONSTRAINT qclog__parent_oid_m_start_m_start_ms_m_waveformid_networkco_key;
\echo Updating ResponseFAP
ALTER TABLE ONLY ResponseFAP ADD CONSTRAINT responsefap_composite_index UNIQUE (_parent_oid, m_name);
ALTER TABLE ONLY ResponseFAP DROP CONSTRAINT responsefap__parent_oid_m_name_key;
\echo Updating ResponsePolynomial
ALTER TABLE ONLY ResponsePolynomial ADD CONSTRAINT responsepolynomial_composite_index UNIQUE (_parent_oid, m_name);
ALTER TABLE ONLY ResponsePolynomial DROP CONSTRAINT responsepolynomial__parent_oid_m_name_key;
\echo Updating Route
ALTER TABLE ONLY Route ADD CONSTRAINT route_composite_index UNIQUE (_parent_oid, m_networkcode, m_stationcode, m_locationcode, m_streamcode);
ALTER TABLE ONLY Route DROP CONSTRAINT route__parent_oid_m_networkcode_m_stationcode_m_locationcod_key;
\echo Updating RouteArclink
ALTER TABLE ONLY RouteArclink ADD CONSTRAINT routearclink_composite_index UNIQUE (_parent_oid, m_address, m_start);
ALTER TABLE ONLY RouteArclink DROP CONSTRAINT routearclink__parent_oid_m_address_m_start_key;
\echo Updating RouteSeedlink
ALTER TABLE ONLY RouteSeedlink ADD CONSTRAINT routeseedlink_composite_index UNIQUE (_parent_oid, m_address);
ALTER TABLE ONLY RouteSeedlink DROP CONSTRAINT routeseedlink__parent_oid_m_address_key;
\echo Updating Setup
ALTER TABLE ONLY Setup ADD CONSTRAINT setup_composite_index UNIQUE (_parent_oid, m_name);
ALTER TABLE ONLY Setup DROP CONSTRAINT setup__parent_oid_m_name_key;
\echo Updating StationMagnitudeContribution
ALTER TABLE ONLY StationMagnitudeContribution ADD CONSTRAINT stationmagnitudecontribution_composite_index UNIQUE (_parent_oid, m_stationmagnitudeid);
ALTER TABLE ONLY StationMagnitudeContribution DROP CONSTRAINT stationmagnitudecontribution__parent_oid_m_stationmagnitude_key;
\echo Updating StationReference
ALTER TABLE ONLY StationReference ADD CONSTRAINT stationreference_composite_index UNIQUE (_parent_oid, m_stationid);
ALTER TABLE ONLY StationReference DROP CONSTRAINT stationreference__parent_oid_m_stationid_key;
\echo Updating WaveformQuality
ALTER TABLE ONLY WaveformQuality ADD CONSTRAINT waveformquality_composite_index UNIQUE (_parent_oid, m_start, m_start_ms, m_waveformid_networkcode, m_waveformid_stationcode, m_waveformid_locationcode, m_waveformid_channelcode, m_waveformid_resourceuri, m_type, m_parameter);
ALTER TABLE ONLY WaveformQuality DROP CONSTRAINT waveformquality__parent_oid_m_start_m_start_ms_m_waveformid_key;
/* Convert Stream type to type that inherits from PublicObject */
\echo Updating PublicObject
INSERT INTO PublicObject(_oid, m_publicID) SELECT _oid, 'Stream/' || to_char(_last_modified, 'YYYYmmddHHMISS') || '.' || _oid FROM Stream;
\echo Updating Meta
UPDATE Meta SET value='0.10' WHERE name='Schema-Version';

1842
share/db/mysql.sql Normal file

File diff suppressed because it is too large Load Diff

162
share/db/mysql_setup.py Executable file
View File

@ -0,0 +1,162 @@
#!/usr/bin/env seiscomp-python
# -*- coding: utf-8 -*-
############################################################################
# Copyright (C) 2016 by gempa GmbH #
# #
# All Rights Reserved. #
# #
# NOTICE: All information contained herein is, and remains #
# the property of gempa GmbH and its suppliers, if any. The intellectual #
# and technical concepts contained herein are proprietary to gempa GmbH #
# and its suppliers. #
# Dissemination of this information or reproduction of this material #
# is strictly forbidden unless prior written permission is obtained #
# from gempa GmbH. #
############################################################################
from __future__ import (
absolute_import,
print_function)
import os
import sys
import tempfile
from utils import write, execute
def createMYSQLDB(
db,
rwuser,
rwpwd,
rouser,
ropwd,
rwhost,
rootpwd,
drop,
schemapath,
characterset):
cmd = "mysql -u root -h " + rwhost
if rootpwd:
cmd += " -p" + rootpwd
write("+ Create MYSQL database")
res = execute(cmd + " -s --skip-column-names -e \"select version()\"")
if res.error:
print(" \n"
" Could not determine MYSQL server version. Is the root password correct\n"
" and MYSQL is running and the client installed on "
"this machine?",
file=sys.stderr)
return False
write(" + Found MYSQL server version {}".format(res.data))
if drop:
q = "DROP DATABASE IF EXISTS \\`{}\\`;".format(db)
print(" + Drop database {}".format(db))
res = execute(cmd + " -e \"{}\"".format(q))
if res.error:
print(" + {}".format(res.error))
return False
write(" + Create database {}".format(db))
q = "CREATE DATABASE \\`{}\\`".format(db)
if characterset is not None:
q += f" CHARACTER SET {characterset} COLLATE {characterset}_bin"
q += ";"
res = execute(cmd + " -e \"{}\"".format(q))
if res.error:
print(" + {}".format(res.error))
return False
write(" + Setup user roles")
# MySQL 8 requires explicit "CREATE USER", but this fails
# if the user already exists.
# "CREATE USER IF NOT EXISTS" is not supported by MySQL<5.7.
# Drop possibly existing users, ignoring errors.
res = execute(cmd + " -e \"SELECT 1 FROM mysql.user "
"WHERE user = '{}'\"".format(rwuser))
if res.error:
print(" + {}".format(res.error))
return False
q = ""
exists = "1" in res.data
if not exists:
q += "CREATE USER '{}'@'localhost' IDENTIFIED BY '{}';".format(rwuser, rwpwd)
q += "CREATE USER '{}'@'%' IDENTIFIED BY '{}';".format(rwuser, rwpwd)
q += "GRANT ALL ON \\`{}\\`.* TO '{}'@'localhost';".format(db, rwuser)
q += "GRANT ALL ON \\`{}\\`.* TO '{}'@'%';".format(db, rwuser)
res = execute(cmd + " -e \"{}\"".format(q))
if res.error:
print(" + {}".format(res.error))
return False
if rwuser != rouser:
res = execute(cmd + " -e \"SELECT 1 FROM mysql.user "
"WHERE user = '{}'\"".format(rouser))
if res.error:
print(" + {}".format(res.error))
return False
q = ""
exists = "1" in res.data
if not exists:
q += "CREATE USER '{}'@'localhost' IDENTIFIED BY '{}';".format(rouser, ropwd)
q += "CREATE USER '{}'@'%' IDENTIFIED BY '{}';".format(rouser, ropwd)
q += "GRANT SELECT ON \\`{}\\`.* TO '{}'@'localhost';".format(db, rouser)
q += "GRANT SELECT ON \\`{}\\`.* TO '{}'@'%';".format(db, rouser)
res = execute(cmd + " -e \"{}\"".format(q))
if res.error:
print(" + {}".format(res.error))
return False
write(" + Create tables")
q = "USE \\`{}\\`; source {};".format(db, os.path.join(schemapath, "mysql.sql"))
res = execute(cmd + " -e \"{}\"".format(q))
if res.error:
print(" + {}".format(res.error))
return False
return True
def main():
if len(sys.argv) < 10 or len(sys.argv) > 11:
print("Usage: mysql_setup.py <db> <rwuser> <rwpwd> <rouser> <ropwd> "
"<rwhost> <mysql rootpwd> <drop> <schema path> <characterset>\n\n"
"For example: mysql_setup.py seiscomp sysop sysop sysop sysop "
"localhost <password> false ~/seiscomp/share/db/")
return 1
db = sys.argv[1]
rwuser = sys.argv[2]
rwpwd = sys.argv[3]
rouser = sys.argv[4]
ropwd = sys.argv[5]
rwhost = sys.argv[6]
rootpwd = sys.argv[7]
schemapath = sys.argv[9]
if len(sys.argv) > 10:
characterset = sys.argv[10]
else:
characterset = "utf8mb4"
drop = sys.argv[8].lower() == 'true'
os.chdir(tempfile.gettempdir())
if not createMYSQLDB(db, rwuser, rwpwd, rouser, ropwd, rwhost, rootpwd, drop, schemapath, characterset):
return 1
return 0
if __name__ == "__main__":
sys.exit(main())

31
share/db/pkexec_wrapper.sh Executable file
View File

@ -0,0 +1,31 @@
#!/bin/bash
pid=-1
# the cleanup function will be the exit point
cleanup () {
if [ $pid -ne -1 ]
then
kill $pid &>/dev/null
fi
}
if [ $# -eq 0 ]; then
echo "Usage: pkexec_wrapper.sh <cmd>"
exit 0
fi
trap cleanup EXIT ERR INT TERM
cmd=$1
# The fallback agent can only be started when the device /dev/tty
# is available and usable. If this script is started from the
# desktop the tty device may not be available.
if !(test "$(ps -p "$$" -o tty=)" = "?"); then
pkttyagent -p $(echo $$) --fallback &
pid=`echo $!`
fi
pkexec "$@"

2100
share/db/postgres.sql Normal file

File diff suppressed because it is too large Load Diff

149
share/db/postgres_setup.py Executable file
View File

@ -0,0 +1,149 @@
#!/usr/bin/env seiscomp-python
# -*- coding: utf-8 -*-
############################################################################
# Copyright (C) 2016 by gempa GmbH #
# #
# All Rights Reserved. #
# #
# NOTICE: All information contained herein is, and remains #
# the property of gempa GmbH and its suppliers, if any. The intellectual #
# and technical concepts contained herein are proprietary to gempa GmbH #
# and its suppliers. #
# Dissemination of this information or reproduction of this material #
# is strictly forbidden unless prior written permission is obtained #
# from gempa GmbH. #
############################################################################
import os
import sys
import tempfile
from utils import write, execute
def createPostgresSQLDB(
db, rwuser, rwpwd, rouser, ropwd, rwhost, drop, schemapath
):
# cmd = "psql --host {}".format(rwhost)
# We have to disable notice messages with --client-min-messages=warning
# because PostgreSQL outputs notice messages to stderr when e.g. tables should
# be removed which do not exist even the if exist check is inplace.
cmd = "PGOPTIONS='--client-min-messages=warning' psql"
write("+ Create PostgresSQL database")
if drop:
q = f"DROP DATABASE IF EXISTS {db};"
write(f" + Drop database {db}")
res = execute(f'{cmd} -c "{q}"')
if res.error:
print(f" + {res.error}")
return False
write(f" + Check user {rwuser}")
q = f"SELECT 1 FROM pg_roles WHERE rolname='{rwuser}'"
res = execute(cmd + f' -c "{q}"')
if res.error:
print(f" + {res.error}")
return False
rwUserExits = "1" in res.data
if not rwUserExits:
write(f" + Create user {rwuser}")
q = f"CREATE USER {rwuser} WITH ENCRYPTED PASSWORD '{rwpwd}';"
res = execute(f'{cmd} -c "{q}"')
if res.error:
print(f" + {res.error}")
return False
write(f" + Create database {db}")
q = f"CREATE DATABASE {db} OWNER {rwuser} ENCODING 'UTF8'"
res = execute(f'{cmd} -c "{q}"')
if res.error:
print(f" + {res.error}")
return False
#q = f"ALTER DATABASE {db} SET bytea_output TO 'escape'"
#res = execute(f'{cmd} -c "{q}"')
#if res.error:
# print(f" + {res.error}")
# return False
write(" + Create SeisComP tables")
q = f"\\i {os.path.join(schemapath, 'postgres.sql')};"
res = execute(f'PGPASSWORD={rwpwd} {cmd} -U {rwuser} -d {db} -h {rwhost} -c "{q}"')
if res.error:
print(f" + {res.error}")
return False
write(" + Setup user roles")
q = ""
q += f"GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO {rwuser};"
q += f"GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA public TO {rwuser};"
res = execute(f'{cmd} -c "{q}" -d {db}')
if res.error:
print(f" + {res.error}")
return False
if rwuser != rouser:
q = f"SELECT 1 FROM pg_roles WHERE rolname='{rouser}'"
res = execute(cmd + f' -c "{q}"')
if res.error:
print(f" + {res.error}")
return False
exits = "1" in res.data
if not exits:
write(f" + Create read-only user {rouser}")
q = f"CREATE USER {rouser} WITH ENCRYPTED PASSWORD '{ropwd}';"
res = execute(f'{cmd} -c "{q}"')
if res.error:
print(f" + {res.error}")
return False
q = f"GRANT SELECT ON ALL TABLES IN SCHEMA public TO {rouser};"
if res.error:
print(f" + {res.error}")
return False
return True
def main():
if len(sys.argv) != 9:
print(
"Usage: postgres_setup.py <db> <rwuser> <rwpwd> "
"<rouser> <ropwd> <rwhost> <drop> <schema path>\n\n"
"For example: su postgres -c postgres_setup.py seiscomp sysop sysop "
"sysop sysop localhost false ~/seiscomp/share/db/"
)
return 1
db = sys.argv[1]
rwuser = sys.argv[2]
rwpwd = sys.argv[3]
rouser = sys.argv[4]
ropwd = sys.argv[5]
rwhost = sys.argv[6]
schemapath = sys.argv[8]
drop = sys.argv[7].lower() == "true"
os.chdir(tempfile.gettempdir())
if not createPostgresSQLDB(
db, rwuser, rwpwd, rouser, ropwd, rwhost, drop, schemapath
):
return 1
return 0
if __name__ == "__main__":
sys.exit(main())

2206
share/db/sqlite3.sql Normal file

File diff suppressed because it is too large Load Diff

67
share/db/sqlite3_setup.py Executable file
View File

@ -0,0 +1,67 @@
#!/usr/bin/env seiscomp-python
# -*- coding: utf-8 -*-
############################################################################
# Copyright (C) 2016 by gempa GmbH #
# #
# All Rights Reserved. #
# #
# NOTICE: All information contained herein is, and remains #
# the property of gempa GmbH and its suppliers, if any. The intellectual #
# and technical concepts contained herein are proprietary to gempa GmbH #
# and its suppliers. #
# Dissemination of this information or reproduction of this material #
# is strictly forbidden unless prior written permission is obtained #
# from gempa GmbH. #
############################################################################
from __future__ import (
absolute_import,
print_function)
import os
import sys
import tempfile
from utils import write, execute
def createSQLite3DB(filename, schemapath, override):
cmd = "sqlite3 {} < {}".format(filename, os.path.join(schemapath, "sqlite3.sql"))
write("+ Create SQLite3 database at '{}'".format(filename))
if os.path.exists(filename) and not override:
print("+ Database file '{}' exists".format(filename))
return False
path = os.path.dirname(filename)
if not os.path.exists(path):
try:
os.makedirs(path)
except OSError as err:
print("+ Could not create directory '{}': {} ".format(path, err))
return False
res = execute(cmd)
if res.error:
print(" + {}".format(res.error))
return False
return True
def main():
if len(sys.argv) != 4:
print("Usage: sqlite3_setup.py <filename> ~/seiscomp/share/db/ <override>")
return 1
filename = sys.argv[1]
schemapath = sys.argv[2]
override = sys.argv[3].lower() == "true"
os.chdir(tempfile.gettempdir())
if not createSQLite3DB(filename, schemapath, override):
return 1
return 0
if __name__ == "__main__":
sys.exit(main())

62
share/db/utils.py Executable file
View File

@ -0,0 +1,62 @@
#!/usr/bin/env seiscomp-python
# -*- coding: utf-8 -*-
############################################################################
# Copyright (C) 2016 by gempa GmbH #
# #
# All Rights Reserved. #
# #
# NOTICE: All information contained herein is, and remains #
# the property of gempa GmbH and its suppliers, if any. The intellectual #
# and technical concepts contained herein are proprietary to gempa GmbH #
# and its suppliers. #
# Dissemination of this information or reproduction of this material #
# is strictly forbidden unless prior written permission is obtained #
# from gempa GmbH. #
############################################################################
from __future__ import (
absolute_import,
print_function)
import subprocess
import sys
#------------------------------------------------------------------------------
# Python version depended string conversion
if sys.version_info[0] < 3:
py3bstr = str
py3ustr = str
else:
py3bstr = lambda s: s.encode('utf-8')
py3ustr = lambda s: s.decode('utf-8', 'replace')
class ProcResult:
def __init__(self):
self.error = ""
self.data = ""
def execute(cmd):
proc = subprocess.Popen(
cmd,
stdout=subprocess.PIPE,
stderr=subprocess.PIPE,
shell=True)
out = proc.communicate()
res = ProcResult()
res.data = py3ustr(out[0].strip())
if proc.returncode != 0:
res.error = py3ustr(out[1].strip())
if not res.error:
res.error = "Error: Process returned exit code: {}".format(proc.returncode)
else:
# Ignore any stderr output in case of the exit code is 0
res.error = None
return res
def write(msg):
print(msg)
sys.stdout.flush()

410
share/db/wfparam/mysql.sql Normal file
View File

@ -0,0 +1,410 @@
DROP TABLE IF EXISTS FilterParameter;
DROP TABLE IF EXISTS SimpleFilter;
DROP TABLE IF EXISTS SimpleFilterChainMember;
DROP TABLE IF EXISTS PeakMotion;
DROP TABLE IF EXISTS Record;
DROP TABLE IF EXISTS EventRecordReference;
DROP TABLE IF EXISTS Rupture;
DROP TABLE IF EXISTS StrongOriginDescription;
INSERT INTO Object(_oid) VALUES (NULL);
INSERT INTO PublicObject(_oid,publicID) VALUES (LAST_INSERT_ID(),'StrongMotionParameters');
CREATE TABLE FilterParameter (
_oid BIGINT(20) NOT NULL,
_parent_oid BIGINT(20) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
value_value DOUBLE NOT NULL,
value_uncertainty DOUBLE UNSIGNED,
value_lowerUncertainty DOUBLE UNSIGNED,
value_upperUncertainty DOUBLE UNSIGNED,
value_confidenceLevel DOUBLE UNSIGNED,
value_pdf_variable_content BLOB,
value_pdf_probability_content BLOB,
value_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
name VARCHAR(255) NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
) ENGINE=INNODB;
CREATE TABLE SimpleFilter (
_oid BIGINT(20) NOT NULL,
_parent_oid BIGINT(20) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
type VARCHAR(255) NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
) ENGINE=INNODB;
CREATE TABLE SimpleFilterChainMember (
_oid BIGINT(20) NOT NULL,
_parent_oid BIGINT(20) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
sequenceNo INT UNSIGNED NOT NULL,
simpleFilterID VARCHAR(255) NOT NULL,
PRIMARY KEY(_oid),
INDEX(simpleFilterID),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
UNIQUE(_parent_oid,sequenceNo)
) ENGINE=INNODB;
CREATE TABLE PeakMotion (
_oid BIGINT(20) NOT NULL,
_parent_oid BIGINT(20) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
motion_value DOUBLE NOT NULL,
motion_uncertainty DOUBLE UNSIGNED,
motion_lowerUncertainty DOUBLE UNSIGNED,
motion_upperUncertainty DOUBLE UNSIGNED,
motion_confidenceLevel DOUBLE UNSIGNED,
motion_pdf_variable_content BLOB,
motion_pdf_probability_content BLOB,
motion_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
type VARCHAR(255) NOT NULL,
period DOUBLE UNSIGNED,
damping DOUBLE UNSIGNED,
method VARCHAR(255),
atTime_value DATETIME,
atTime_value_ms INTEGER,
atTime_uncertainty DOUBLE UNSIGNED,
atTime_lowerUncertainty DOUBLE UNSIGNED,
atTime_upperUncertainty DOUBLE UNSIGNED,
atTime_confidenceLevel DOUBLE UNSIGNED,
atTime_pdf_variable_content BLOB,
atTime_pdf_probability_content BLOB,
atTime_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
atTime_used TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
) ENGINE=INNODB;
CREATE TABLE Record (
_oid BIGINT(20) NOT NULL,
_parent_oid BIGINT(20) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
creationInfo_agencyID VARCHAR(64),
creationInfo_agencyURI VARCHAR(255),
creationInfo_author VARCHAR(128),
creationInfo_authorURI VARCHAR(255),
creationInfo_creationTime DATETIME,
creationInfo_creationTime_ms INTEGER,
creationInfo_modificationTime DATETIME,
creationInfo_modificationTime_ms INTEGER,
creationInfo_version VARCHAR(64),
creationInfo_used TINYINT(1) NOT NULL DEFAULT '0',
gainUnit CHAR(20),
duration DOUBLE,
startTime_value DATETIME NOT NULL,
startTime_value_ms INTEGER NOT NULL,
startTime_uncertainty DOUBLE UNSIGNED,
startTime_lowerUncertainty DOUBLE UNSIGNED,
startTime_upperUncertainty DOUBLE UNSIGNED,
startTime_confidenceLevel DOUBLE UNSIGNED,
startTime_pdf_variable_content BLOB,
startTime_pdf_probability_content BLOB,
startTime_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
owner_name VARCHAR(255),
owner_forename VARCHAR(255),
owner_agency VARCHAR(255),
owner_department VARCHAR(255),
owner_address VARCHAR(255),
owner_phone VARCHAR(255),
owner_email VARCHAR(255),
owner_used TINYINT(1) NOT NULL DEFAULT '0',
resampleRateNumerator INT UNSIGNED,
resampleRateDenominator INT UNSIGNED,
waveformID_networkCode CHAR(8) NOT NULL,
waveformID_stationCode CHAR(8) NOT NULL,
waveformID_locationCode CHAR(8),
waveformID_channelCode CHAR(8),
waveformID_resourceURI VARCHAR(255),
waveformFile_creationInfo_agencyID VARCHAR(64),
waveformFile_creationInfo_agencyURI VARCHAR(255),
waveformFile_creationInfo_author VARCHAR(128),
waveformFile_creationInfo_authorURI VARCHAR(255),
waveformFile_creationInfo_creationTime DATETIME,
waveformFile_creationInfo_creationTime_ms INTEGER,
waveformFile_creationInfo_modificationTime DATETIME,
waveformFile_creationInfo_modificationTime_ms INTEGER,
waveformFile_creationInfo_version VARCHAR(64),
waveformFile_creationInfo_used TINYINT(1) NOT NULL DEFAULT '0',
waveformFile_class VARCHAR(255),
waveformFile_type VARCHAR(255),
waveformFile_filename VARCHAR(255),
waveformFile_url VARCHAR(255),
waveformFile_description VARCHAR(255),
waveformFile_used TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
) ENGINE=INNODB;
CREATE TABLE EventRecordReference (
_oid BIGINT(20) NOT NULL,
_parent_oid BIGINT(20) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
recordID VARCHAR(255) NOT NULL,
campbellDistance_value DOUBLE,
campbellDistance_uncertainty DOUBLE UNSIGNED,
campbellDistance_lowerUncertainty DOUBLE UNSIGNED,
campbellDistance_upperUncertainty DOUBLE UNSIGNED,
campbellDistance_confidenceLevel DOUBLE UNSIGNED,
campbellDistance_pdf_variable_content BLOB,
campbellDistance_pdf_probability_content BLOB,
campbellDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
campbellDistance_used TINYINT(1) NOT NULL DEFAULT '0',
ruptureToStationAzimuth_value DOUBLE,
ruptureToStationAzimuth_uncertainty DOUBLE UNSIGNED,
ruptureToStationAzimuth_lowerUncertainty DOUBLE UNSIGNED,
ruptureToStationAzimuth_upperUncertainty DOUBLE UNSIGNED,
ruptureToStationAzimuth_confidenceLevel DOUBLE UNSIGNED,
ruptureToStationAzimuth_pdf_variable_content BLOB,
ruptureToStationAzimuth_pdf_probability_content BLOB,
ruptureToStationAzimuth_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ruptureToStationAzimuth_used TINYINT(1) NOT NULL DEFAULT '0',
ruptureAreaDistance_value DOUBLE,
ruptureAreaDistance_uncertainty DOUBLE UNSIGNED,
ruptureAreaDistance_lowerUncertainty DOUBLE UNSIGNED,
ruptureAreaDistance_upperUncertainty DOUBLE UNSIGNED,
ruptureAreaDistance_confidenceLevel DOUBLE UNSIGNED,
ruptureAreaDistance_pdf_variable_content BLOB,
ruptureAreaDistance_pdf_probability_content BLOB,
ruptureAreaDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ruptureAreaDistance_used TINYINT(1) NOT NULL DEFAULT '0',
JoynerBooreDistance_value DOUBLE,
JoynerBooreDistance_uncertainty DOUBLE UNSIGNED,
JoynerBooreDistance_lowerUncertainty DOUBLE UNSIGNED,
JoynerBooreDistance_upperUncertainty DOUBLE UNSIGNED,
JoynerBooreDistance_confidenceLevel DOUBLE UNSIGNED,
JoynerBooreDistance_pdf_variable_content BLOB,
JoynerBooreDistance_pdf_probability_content BLOB,
JoynerBooreDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
JoynerBooreDistance_used TINYINT(1) NOT NULL DEFAULT '0',
closestFaultDistance_value DOUBLE,
closestFaultDistance_uncertainty DOUBLE UNSIGNED,
closestFaultDistance_lowerUncertainty DOUBLE UNSIGNED,
closestFaultDistance_upperUncertainty DOUBLE UNSIGNED,
closestFaultDistance_confidenceLevel DOUBLE UNSIGNED,
closestFaultDistance_pdf_variable_content BLOB,
closestFaultDistance_pdf_probability_content BLOB,
closestFaultDistance_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
closestFaultDistance_used TINYINT(1) NOT NULL DEFAULT '0',
preEventLength DOUBLE,
postEventLength DOUBLE,
PRIMARY KEY(_oid),
INDEX(recordID),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
) ENGINE=INNODB;
CREATE TABLE Rupture (
_oid BIGINT(20) NOT NULL,
_parent_oid BIGINT(20) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
width_value DOUBLE,
width_uncertainty DOUBLE UNSIGNED,
width_lowerUncertainty DOUBLE UNSIGNED,
width_upperUncertainty DOUBLE UNSIGNED,
width_confidenceLevel DOUBLE UNSIGNED,
width_pdf_variable_content BLOB,
width_pdf_probability_content BLOB,
width_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
width_used TINYINT(1) NOT NULL DEFAULT '0',
displacement_value DOUBLE,
displacement_uncertainty DOUBLE UNSIGNED,
displacement_lowerUncertainty DOUBLE UNSIGNED,
displacement_upperUncertainty DOUBLE UNSIGNED,
displacement_confidenceLevel DOUBLE UNSIGNED,
displacement_pdf_variable_content BLOB,
displacement_pdf_probability_content BLOB,
displacement_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
displacement_used TINYINT(1) NOT NULL DEFAULT '0',
riseTime_value DOUBLE,
riseTime_uncertainty DOUBLE UNSIGNED,
riseTime_lowerUncertainty DOUBLE UNSIGNED,
riseTime_upperUncertainty DOUBLE UNSIGNED,
riseTime_confidenceLevel DOUBLE UNSIGNED,
riseTime_pdf_variable_content BLOB,
riseTime_pdf_probability_content BLOB,
riseTime_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
riseTime_used TINYINT(1) NOT NULL DEFAULT '0',
vt_to_vs_value DOUBLE,
vt_to_vs_uncertainty DOUBLE UNSIGNED,
vt_to_vs_lowerUncertainty DOUBLE UNSIGNED,
vt_to_vs_upperUncertainty DOUBLE UNSIGNED,
vt_to_vs_confidenceLevel DOUBLE UNSIGNED,
vt_to_vs_pdf_variable_content BLOB,
vt_to_vs_pdf_probability_content BLOB,
vt_to_vs_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
vt_to_vs_used TINYINT(1) NOT NULL DEFAULT '0',
shallowAsperityDepth_value DOUBLE,
shallowAsperityDepth_uncertainty DOUBLE UNSIGNED,
shallowAsperityDepth_lowerUncertainty DOUBLE UNSIGNED,
shallowAsperityDepth_upperUncertainty DOUBLE UNSIGNED,
shallowAsperityDepth_confidenceLevel DOUBLE UNSIGNED,
shallowAsperityDepth_pdf_variable_content BLOB,
shallowAsperityDepth_pdf_probability_content BLOB,
shallowAsperityDepth_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
shallowAsperityDepth_used TINYINT(1) NOT NULL DEFAULT '0',
shallowAsperity TINYINT(1),
literatureSource_title VARCHAR(255),
literatureSource_firstAuthorName VARCHAR(255),
literatureSource_firstAuthorForename VARCHAR(255),
literatureSource_secondaryAuthors VARCHAR(255),
literatureSource_doi VARCHAR(255),
literatureSource_year INT UNSIGNED,
literatureSource_in_title VARCHAR(255),
literatureSource_editor VARCHAR(255),
literatureSource_place VARCHAR(255),
literatureSource_language VARCHAR(255),
literatureSource_tome INT UNSIGNED,
literatureSource_page_from INT UNSIGNED,
literatureSource_page_to INT UNSIGNED,
literatureSource_used TINYINT(1) NOT NULL DEFAULT '0',
slipVelocity_value DOUBLE,
slipVelocity_uncertainty DOUBLE UNSIGNED,
slipVelocity_lowerUncertainty DOUBLE UNSIGNED,
slipVelocity_upperUncertainty DOUBLE UNSIGNED,
slipVelocity_confidenceLevel DOUBLE UNSIGNED,
slipVelocity_pdf_variable_content BLOB,
slipVelocity_pdf_probability_content BLOB,
slipVelocity_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
slipVelocity_used TINYINT(1) NOT NULL DEFAULT '0',
strike_value DOUBLE,
strike_uncertainty DOUBLE UNSIGNED,
strike_lowerUncertainty DOUBLE UNSIGNED,
strike_upperUncertainty DOUBLE UNSIGNED,
strike_confidenceLevel DOUBLE UNSIGNED,
strike_pdf_variable_content BLOB,
strike_pdf_probability_content BLOB,
strike_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
strike_used TINYINT(1) NOT NULL DEFAULT '0',
length_value DOUBLE,
length_uncertainty DOUBLE UNSIGNED,
length_lowerUncertainty DOUBLE UNSIGNED,
length_upperUncertainty DOUBLE UNSIGNED,
length_confidenceLevel DOUBLE UNSIGNED,
length_pdf_variable_content BLOB,
length_pdf_probability_content BLOB,
length_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
length_used TINYINT(1) NOT NULL DEFAULT '0',
area_value DOUBLE,
area_uncertainty DOUBLE UNSIGNED,
area_lowerUncertainty DOUBLE UNSIGNED,
area_upperUncertainty DOUBLE UNSIGNED,
area_confidenceLevel DOUBLE UNSIGNED,
area_pdf_variable_content BLOB,
area_pdf_probability_content BLOB,
area_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
area_used TINYINT(1) NOT NULL DEFAULT '0',
ruptureVelocity_value DOUBLE,
ruptureVelocity_uncertainty DOUBLE UNSIGNED,
ruptureVelocity_lowerUncertainty DOUBLE UNSIGNED,
ruptureVelocity_upperUncertainty DOUBLE UNSIGNED,
ruptureVelocity_confidenceLevel DOUBLE UNSIGNED,
ruptureVelocity_pdf_variable_content BLOB,
ruptureVelocity_pdf_probability_content BLOB,
ruptureVelocity_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
ruptureVelocity_used TINYINT(1) NOT NULL DEFAULT '0',
stressdrop_value DOUBLE,
stressdrop_uncertainty DOUBLE UNSIGNED,
stressdrop_lowerUncertainty DOUBLE UNSIGNED,
stressdrop_upperUncertainty DOUBLE UNSIGNED,
stressdrop_confidenceLevel DOUBLE UNSIGNED,
stressdrop_pdf_variable_content BLOB,
stressdrop_pdf_probability_content BLOB,
stressdrop_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
stressdrop_used TINYINT(1) NOT NULL DEFAULT '0',
momentReleaseTop5km_value DOUBLE,
momentReleaseTop5km_uncertainty DOUBLE UNSIGNED,
momentReleaseTop5km_lowerUncertainty DOUBLE UNSIGNED,
momentReleaseTop5km_upperUncertainty DOUBLE UNSIGNED,
momentReleaseTop5km_confidenceLevel DOUBLE UNSIGNED,
momentReleaseTop5km_pdf_variable_content BLOB,
momentReleaseTop5km_pdf_probability_content BLOB,
momentReleaseTop5km_pdf_used TINYINT(1) NOT NULL DEFAULT '0',
momentReleaseTop5km_used TINYINT(1) NOT NULL DEFAULT '0',
fwHwIndicator VARCHAR(64),
ruptureGeometryWKT VARCHAR(255),
faultID VARCHAR(255) NOT NULL,
surfaceRupture_observed TINYINT(1),
surfaceRupture_evidence VARCHAR(255),
surfaceRupture_literatureSource_title VARCHAR(255),
surfaceRupture_literatureSource_firstAuthorName VARCHAR(255),
surfaceRupture_literatureSource_firstAuthorForename VARCHAR(255),
surfaceRupture_literatureSource_secondaryAuthors VARCHAR(255),
surfaceRupture_literatureSource_doi VARCHAR(255),
surfaceRupture_literatureSource_year INT UNSIGNED,
surfaceRupture_literatureSource_in_title VARCHAR(255),
surfaceRupture_literatureSource_editor VARCHAR(255),
surfaceRupture_literatureSource_place VARCHAR(255),
surfaceRupture_literatureSource_language VARCHAR(255),
surfaceRupture_literatureSource_tome INT UNSIGNED,
surfaceRupture_literatureSource_page_from INT UNSIGNED,
surfaceRupture_literatureSource_page_to INT UNSIGNED,
surfaceRupture_literatureSource_used TINYINT(1) NOT NULL DEFAULT '0',
surfaceRupture_used TINYINT(1) NOT NULL DEFAULT '0',
centroidReference VARCHAR(255),
PRIMARY KEY(_oid),
INDEX(ruptureGeometryWKT),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
) ENGINE=INNODB;
CREATE TABLE StrongOriginDescription (
_oid BIGINT(20) NOT NULL,
_parent_oid BIGINT(20) NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
originID VARCHAR(255) NOT NULL,
waveformCount INT UNSIGNED,
creationInfo_agencyID VARCHAR(64),
creationInfo_agencyURI VARCHAR(255),
creationInfo_author VARCHAR(128),
creationInfo_authorURI VARCHAR(255),
creationInfo_creationTime DATETIME,
creationInfo_creationTime_ms INTEGER,
creationInfo_modificationTime DATETIME,
creationInfo_modificationTime_ms INTEGER,
creationInfo_version VARCHAR(64),
creationInfo_used TINYINT(1) NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
INDEX(originID),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
) ENGINE=INNODB;

View File

@ -0,0 +1,442 @@
DROP TABLE FilterParameter;
DROP TABLE SimpleFilter;
DROP TABLE SimpleFilterChainMember;
DROP TABLE PeakMotion;
DROP TABLE Record;
DROP TABLE EventRecordReference;
DROP TABLE Rupture;
DROP TABLE StrongOriginDescription;
INSERT INTO Object(_oid) VALUES (DEFAULT);
INSERT INTO PublicObject(_oid,m_publicID) VALUES (CURRVAL('Object_seq'),'StrongMotionParameters');
CREATE TABLE FilterParameter (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_value_value DOUBLE PRECISION NOT NULL,
m_value_uncertainty DOUBLE PRECISION,
m_value_lowerUncertainty DOUBLE PRECISION,
m_value_upperUncertainty DOUBLE PRECISION,
m_value_confidenceLevel DOUBLE PRECISION,
m_value_pdf_variable_content BYTEA,
m_value_pdf_probability_content BYTEA,
m_value_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_name VARCHAR(255) NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE TRIGGER FilterParameter_update BEFORE UPDATE ON FilterParameter FOR EACH ROW EXECUTE PROCEDURE update_modified();
CREATE TABLE SimpleFilter (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_type VARCHAR(255) NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE TRIGGER SimpleFilter_update BEFORE UPDATE ON SimpleFilter FOR EACH ROW EXECUTE PROCEDURE update_modified();
CREATE TABLE SimpleFilterChainMember (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_sequenceNo INT NOT NULL,
m_simpleFilterID VARCHAR(255) NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
UNIQUE(_parent_oid,m_sequenceNo)
);
CREATE INDEX SimpleFilterChainMember_m_simpleFilterID ON SimpleFilterChainMember(m_simpleFilterID);
CREATE TRIGGER SimpleFilterChainMember_update BEFORE UPDATE ON SimpleFilterChainMember FOR EACH ROW EXECUTE PROCEDURE update_modified();
CREATE TABLE PeakMotion (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_motion_value DOUBLE PRECISION NOT NULL,
m_motion_uncertainty DOUBLE PRECISION,
m_motion_lowerUncertainty DOUBLE PRECISION,
m_motion_upperUncertainty DOUBLE PRECISION,
m_motion_confidenceLevel DOUBLE PRECISION,
m_motion_pdf_variable_content BYTEA,
m_motion_pdf_probability_content BYTEA,
m_motion_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_type VARCHAR(255) NOT NULL,
m_period DOUBLE PRECISION,
m_damping DOUBLE PRECISION,
m_method VARCHAR(255),
m_atTime_value TIMESTAMP,
m_atTime_value_ms INTEGER,
m_atTime_uncertainty DOUBLE PRECISION,
m_atTime_lowerUncertainty DOUBLE PRECISION,
m_atTime_upperUncertainty DOUBLE PRECISION,
m_atTime_confidenceLevel DOUBLE PRECISION,
m_atTime_pdf_variable_content BYTEA,
m_atTime_pdf_probability_content BYTEA,
m_atTime_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_atTime_used BOOLEAN NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE TRIGGER PeakMotion_update BEFORE UPDATE ON PeakMotion FOR EACH ROW EXECUTE PROCEDURE update_modified();
CREATE TABLE Record (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_creationInfo_agencyID VARCHAR(64),
m_creationInfo_agencyURI VARCHAR(255),
m_creationInfo_author VARCHAR(128),
m_creationInfo_authorURI VARCHAR(255),
m_creationInfo_creationTime TIMESTAMP,
m_creationInfo_creationTime_ms INTEGER,
m_creationInfo_modificationTime TIMESTAMP,
m_creationInfo_modificationTime_ms INTEGER,
m_creationInfo_version VARCHAR(64),
m_creationInfo_used BOOLEAN NOT NULL DEFAULT '0',
m_gainUnit VARCHAR(20),
m_duration DOUBLE PRECISION,
m_startTime_value TIMESTAMP NOT NULL,
m_startTime_value_ms INTEGER NOT NULL,
m_startTime_uncertainty DOUBLE PRECISION,
m_startTime_lowerUncertainty DOUBLE PRECISION,
m_startTime_upperUncertainty DOUBLE PRECISION,
m_startTime_confidenceLevel DOUBLE PRECISION,
m_startTime_pdf_variable_content BYTEA,
m_startTime_pdf_probability_content BYTEA,
m_startTime_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_owner_name VARCHAR(255),
m_owner_forename VARCHAR(255),
m_owner_agency VARCHAR(255),
m_owner_department VARCHAR(255),
m_owner_address VARCHAR(255),
m_owner_phone VARCHAR(255),
m_owner_email VARCHAR(255),
m_owner_used BOOLEAN NOT NULL DEFAULT '0',
m_resampleRateNumerator INT,
m_resampleRateDenominator INT,
m_waveformID_networkCode VARCHAR(8) NOT NULL,
m_waveformID_stationCode VARCHAR(8) NOT NULL,
m_waveformID_locationCode VARCHAR(8),
m_waveformID_channelCode VARCHAR(8),
m_waveformID_resourceURI VARCHAR(255),
m_waveformFile_creationInfo_agencyID VARCHAR(64),
m_waveformFile_creationInfo_agencyURI VARCHAR(255),
m_waveformFile_creationInfo_author VARCHAR(128),
m_waveformFile_creationInfo_authorURI VARCHAR(255),
m_waveformFile_creationInfo_creationTime TIMESTAMP,
m_waveformFile_creationInfo_creationTime_ms INTEGER,
m_waveformFile_creationInfo_modificationTime TIMESTAMP,
m_waveformFile_creationInfo_modificationTime_ms INTEGER,
m_waveformFile_creationInfo_version VARCHAR(64),
m_waveformFile_creationInfo_used BOOLEAN NOT NULL DEFAULT '0',
m_waveformFile_class VARCHAR(255),
m_waveformFile_type VARCHAR(255),
m_waveformFile_filename VARCHAR(255),
m_waveformFile_url VARCHAR(255),
m_waveformFile_description VARCHAR(255),
m_waveformFile_used BOOLEAN NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE TRIGGER Record_update BEFORE UPDATE ON Record FOR EACH ROW EXECUTE PROCEDURE update_modified();
CREATE TABLE EventRecordReference (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_recordID VARCHAR(255) NOT NULL,
m_campbellDistance_value DOUBLE PRECISION,
m_campbellDistance_uncertainty DOUBLE PRECISION,
m_campbellDistance_lowerUncertainty DOUBLE PRECISION,
m_campbellDistance_upperUncertainty DOUBLE PRECISION,
m_campbellDistance_confidenceLevel DOUBLE PRECISION,
m_campbellDistance_pdf_variable_content BYTEA,
m_campbellDistance_pdf_probability_content BYTEA,
m_campbellDistance_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_campbellDistance_used BOOLEAN NOT NULL DEFAULT '0',
m_ruptureToStationAzimuth_value DOUBLE PRECISION,
m_ruptureToStationAzimuth_uncertainty DOUBLE PRECISION,
m_ruptureToStationAzimuth_lowerUncertainty DOUBLE PRECISION,
m_ruptureToStationAzimuth_upperUncertainty DOUBLE PRECISION,
m_ruptureToStationAzimuth_confidenceLevel DOUBLE PRECISION,
m_ruptureToStationAzimuth_pdf_variable_content BYTEA,
m_ruptureToStationAzimuth_pdf_probability_content BYTEA,
m_ruptureToStationAzimuth_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_ruptureToStationAzimuth_used BOOLEAN NOT NULL DEFAULT '0',
m_ruptureAreaDistance_value DOUBLE PRECISION,
m_ruptureAreaDistance_uncertainty DOUBLE PRECISION,
m_ruptureAreaDistance_lowerUncertainty DOUBLE PRECISION,
m_ruptureAreaDistance_upperUncertainty DOUBLE PRECISION,
m_ruptureAreaDistance_confidenceLevel DOUBLE PRECISION,
m_ruptureAreaDistance_pdf_variable_content BYTEA,
m_ruptureAreaDistance_pdf_probability_content BYTEA,
m_ruptureAreaDistance_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_ruptureAreaDistance_used BOOLEAN NOT NULL DEFAULT '0',
m_JoynerBooreDistance_value DOUBLE PRECISION,
m_JoynerBooreDistance_uncertainty DOUBLE PRECISION,
m_JoynerBooreDistance_lowerUncertainty DOUBLE PRECISION,
m_JoynerBooreDistance_upperUncertainty DOUBLE PRECISION,
m_JoynerBooreDistance_confidenceLevel DOUBLE PRECISION,
m_JoynerBooreDistance_pdf_variable_content BYTEA,
m_JoynerBooreDistance_pdf_probability_content BYTEA,
m_JoynerBooreDistance_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_JoynerBooreDistance_used BOOLEAN NOT NULL DEFAULT '0',
m_closestFaultDistance_value DOUBLE PRECISION,
m_closestFaultDistance_uncertainty DOUBLE PRECISION,
m_closestFaultDistance_lowerUncertainty DOUBLE PRECISION,
m_closestFaultDistance_upperUncertainty DOUBLE PRECISION,
m_closestFaultDistance_confidenceLevel DOUBLE PRECISION,
m_closestFaultDistance_pdf_variable_content BYTEA,
m_closestFaultDistance_pdf_probability_content BYTEA,
m_closestFaultDistance_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_closestFaultDistance_used BOOLEAN NOT NULL DEFAULT '0',
m_preEventLength DOUBLE PRECISION,
m_postEventLength DOUBLE PRECISION,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE INDEX EventRecordReference_m_recordID ON EventRecordReference(m_recordID);
CREATE TRIGGER EventRecordReference_update BEFORE UPDATE ON EventRecordReference FOR EACH ROW EXECUTE PROCEDURE update_modified();
CREATE TABLE Rupture (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_width_value DOUBLE PRECISION,
m_width_uncertainty DOUBLE PRECISION,
m_width_lowerUncertainty DOUBLE PRECISION,
m_width_upperUncertainty DOUBLE PRECISION,
m_width_confidenceLevel DOUBLE PRECISION,
m_width_pdf_variable_content BYTEA,
m_width_pdf_probability_content BYTEA,
m_width_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_width_used BOOLEAN NOT NULL DEFAULT '0',
m_displacement_value DOUBLE PRECISION,
m_displacement_uncertainty DOUBLE PRECISION,
m_displacement_lowerUncertainty DOUBLE PRECISION,
m_displacement_upperUncertainty DOUBLE PRECISION,
m_displacement_confidenceLevel DOUBLE PRECISION,
m_displacement_pdf_variable_content BYTEA,
m_displacement_pdf_probability_content BYTEA,
m_displacement_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_displacement_used BOOLEAN NOT NULL DEFAULT '0',
m_riseTime_value DOUBLE PRECISION,
m_riseTime_uncertainty DOUBLE PRECISION,
m_riseTime_lowerUncertainty DOUBLE PRECISION,
m_riseTime_upperUncertainty DOUBLE PRECISION,
m_riseTime_confidenceLevel DOUBLE PRECISION,
m_riseTime_pdf_variable_content BYTEA,
m_riseTime_pdf_probability_content BYTEA,
m_riseTime_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_riseTime_used BOOLEAN NOT NULL DEFAULT '0',
m_vt_to_vs_value DOUBLE PRECISION,
m_vt_to_vs_uncertainty DOUBLE PRECISION,
m_vt_to_vs_lowerUncertainty DOUBLE PRECISION,
m_vt_to_vs_upperUncertainty DOUBLE PRECISION,
m_vt_to_vs_confidenceLevel DOUBLE PRECISION,
m_vt_to_vs_pdf_variable_content BYTEA,
m_vt_to_vs_pdf_probability_content BYTEA,
m_vt_to_vs_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_vt_to_vs_used BOOLEAN NOT NULL DEFAULT '0',
m_shallowAsperityDepth_value DOUBLE PRECISION,
m_shallowAsperityDepth_uncertainty DOUBLE PRECISION,
m_shallowAsperityDepth_lowerUncertainty DOUBLE PRECISION,
m_shallowAsperityDepth_upperUncertainty DOUBLE PRECISION,
m_shallowAsperityDepth_confidenceLevel DOUBLE PRECISION,
m_shallowAsperityDepth_pdf_variable_content BYTEA,
m_shallowAsperityDepth_pdf_probability_content BYTEA,
m_shallowAsperityDepth_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_shallowAsperityDepth_used BOOLEAN NOT NULL DEFAULT '0',
m_shallowAsperity BOOLEAN,
m_literatureSource_title VARCHAR(255),
m_literatureSource_firstAuthorName VARCHAR(255),
m_literatureSource_firstAuthorForename VARCHAR(255),
m_literatureSource_secondaryAuthors VARCHAR(255),
m_literatureSource_doi VARCHAR(255),
m_literatureSource_year INT,
m_literatureSource_in_title VARCHAR(255),
m_literatureSource_editor VARCHAR(255),
m_literatureSource_place VARCHAR(255),
m_literatureSource_language VARCHAR(255),
m_literatureSource_tome INT,
m_literatureSource_page_from INT,
m_literatureSource_page_to INT,
m_literatureSource_used BOOLEAN NOT NULL DEFAULT '0',
m_slipVelocity_value DOUBLE PRECISION,
m_slipVelocity_uncertainty DOUBLE PRECISION,
m_slipVelocity_lowerUncertainty DOUBLE PRECISION,
m_slipVelocity_upperUncertainty DOUBLE PRECISION,
m_slipVelocity_confidenceLevel DOUBLE PRECISION,
m_slipVelocity_pdf_variable_content BYTEA,
m_slipVelocity_pdf_probability_content BYTEA,
m_slipVelocity_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_slipVelocity_used BOOLEAN NOT NULL DEFAULT '0',
m_strike_value DOUBLE PRECISION,
m_strike_uncertainty DOUBLE PRECISION,
m_strike_lowerUncertainty DOUBLE PRECISION,
m_strike_upperUncertainty DOUBLE PRECISION,
m_strike_confidenceLevel DOUBLE PRECISION,
m_strike_pdf_variable_content BYTEA,
m_strike_pdf_probability_content BYTEA,
m_strike_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_strike_used BOOLEAN NOT NULL DEFAULT '0',
m_length_value DOUBLE PRECISION,
m_length_uncertainty DOUBLE PRECISION,
m_length_lowerUncertainty DOUBLE PRECISION,
m_length_upperUncertainty DOUBLE PRECISION,
m_length_confidenceLevel DOUBLE PRECISION,
m_length_pdf_variable_content BYTEA,
m_length_pdf_probability_content BYTEA,
m_length_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_length_used BOOLEAN NOT NULL DEFAULT '0',
m_area_value DOUBLE PRECISION,
m_area_uncertainty DOUBLE PRECISION,
m_area_lowerUncertainty DOUBLE PRECISION,
m_area_upperUncertainty DOUBLE PRECISION,
m_area_confidenceLevel DOUBLE PRECISION,
m_area_pdf_variable_content BYTEA,
m_area_pdf_probability_content BYTEA,
m_area_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_area_used BOOLEAN NOT NULL DEFAULT '0',
m_ruptureVelocity_value DOUBLE PRECISION,
m_ruptureVelocity_uncertainty DOUBLE PRECISION,
m_ruptureVelocity_lowerUncertainty DOUBLE PRECISION,
m_ruptureVelocity_upperUncertainty DOUBLE PRECISION,
m_ruptureVelocity_confidenceLevel DOUBLE PRECISION,
m_ruptureVelocity_pdf_variable_content BYTEA,
m_ruptureVelocity_pdf_probability_content BYTEA,
m_ruptureVelocity_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_ruptureVelocity_used BOOLEAN NOT NULL DEFAULT '0',
m_stressdrop_value DOUBLE PRECISION,
m_stressdrop_uncertainty DOUBLE PRECISION,
m_stressdrop_lowerUncertainty DOUBLE PRECISION,
m_stressdrop_upperUncertainty DOUBLE PRECISION,
m_stressdrop_confidenceLevel DOUBLE PRECISION,
m_stressdrop_pdf_variable_content BYTEA,
m_stressdrop_pdf_probability_content BYTEA,
m_stressdrop_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_stressdrop_used BOOLEAN NOT NULL DEFAULT '0',
m_momentReleaseTop5km_value DOUBLE PRECISION,
m_momentReleaseTop5km_uncertainty DOUBLE PRECISION,
m_momentReleaseTop5km_lowerUncertainty DOUBLE PRECISION,
m_momentReleaseTop5km_upperUncertainty DOUBLE PRECISION,
m_momentReleaseTop5km_confidenceLevel DOUBLE PRECISION,
m_momentReleaseTop5km_pdf_variable_content BYTEA,
m_momentReleaseTop5km_pdf_probability_content BYTEA,
m_momentReleaseTop5km_pdf_used BOOLEAN NOT NULL DEFAULT '0',
m_momentReleaseTop5km_used BOOLEAN NOT NULL DEFAULT '0',
m_fwHwIndicator VARCHAR(64),
m_ruptureGeometryWKT VARCHAR(255),
m_faultID VARCHAR(255) NOT NULL,
m_surfaceRupture_observed BOOLEAN,
m_surfaceRupture_evidence VARCHAR(255),
m_surfaceRupture_literatureSource_title VARCHAR(255),
m_surfaceRupture_literatureSource_firstAuthorName VARCHAR(255),
m_surfaceRupture_literatureSource_firstAuthorForename VARCHAR(255),
m_surfaceRupture_literatureSource_secondaryAuthors VARCHAR(255),
m_surfaceRupture_literatureSource_doi VARCHAR(255),
m_surfaceRupture_literatureSource_year INT,
m_surfaceRupture_literatureSource_in_title VARCHAR(255),
m_surfaceRupture_literatureSource_editor VARCHAR(255),
m_surfaceRupture_literatureSource_place VARCHAR(255),
m_surfaceRupture_literatureSource_language VARCHAR(255),
m_surfaceRupture_literatureSource_tome INT,
m_surfaceRupture_literatureSource_page_from INT,
m_surfaceRupture_literatureSource_page_to INT,
m_surfaceRupture_literatureSource_used BOOLEAN NOT NULL DEFAULT '0',
m_surfaceRupture_used BOOLEAN NOT NULL DEFAULT '0',
m_centroidReference VARCHAR(255),
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE INDEX Rupture_m_ruptureGeometryWKT ON Rupture(m_ruptureGeometryWKT);
CREATE TRIGGER Rupture_update BEFORE UPDATE ON Rupture FOR EACH ROW EXECUTE PROCEDURE update_modified();
CREATE TABLE StrongOriginDescription (
_oid BIGINT NOT NULL,
_parent_oid BIGINT NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
m_originID VARCHAR(255) NOT NULL,
m_waveformCount INT,
m_creationInfo_agencyID VARCHAR(64),
m_creationInfo_agencyURI VARCHAR(255),
m_creationInfo_author VARCHAR(128),
m_creationInfo_authorURI VARCHAR(255),
m_creationInfo_creationTime TIMESTAMP,
m_creationInfo_creationTime_ms INTEGER,
m_creationInfo_modificationTime TIMESTAMP,
m_creationInfo_modificationTime_ms INTEGER,
m_creationInfo_version VARCHAR(64),
m_creationInfo_used BOOLEAN NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE INDEX StrongOriginDescription_m_originID ON StrongOriginDescription(m_originID);
CREATE TRIGGER StrongOriginDescription_update BEFORE UPDATE ON StrongOriginDescription FOR EACH ROW EXECUTE PROCEDURE update_modified();

View File

@ -0,0 +1,458 @@
DROP TABLE IF EXISTS FilterParameter;
DROP TABLE IF EXISTS SimpleFilter;
DROP TABLE IF EXISTS SimpleFilterChainMember;
DROP TABLE IF EXISTS PeakMotion;
DROP TABLE IF EXISTS Record;
DROP TABLE IF EXISTS EventRecordReference;
DROP TABLE IF EXISTS Rupture;
DROP TABLE IF EXISTS StrongOriginDescription;
INSERT INTO Object(_oid) VALUES (NULL);
INSERT INTO PublicObject(_oid,publicID) VALUES ((SELECT MAX(_oid) FROM Object),'StrongMotionParameters');
CREATE TABLE FilterParameter (
_oid INTEGER NOT NULL,
_parent_oid INTEGER NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
value_value DOUBLE NOT NULL,
value_uncertainty DOUBLE UNSIGNED,
value_lowerUncertainty DOUBLE UNSIGNED,
value_upperUncertainty DOUBLE UNSIGNED,
value_confidenceLevel DOUBLE UNSIGNED,
value_pdf_variable_content BLOB,
value_pdf_probability_content BLOB,
value_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
name VARCHAR NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE TRIGGER FilterParameterUpdate UPDATE ON FilterParameter
BEGIN
UPDATE FilterParameter SET _last_modified=CURRENT_TIMESTAMP WHERE _oid=old._oid;
END;
CREATE TABLE SimpleFilter (
_oid INTEGER NOT NULL,
_parent_oid INTEGER NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
type VARCHAR NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE TRIGGER SimpleFilterUpdate UPDATE ON SimpleFilter
BEGIN
UPDATE SimpleFilter SET _last_modified=CURRENT_TIMESTAMP WHERE _oid=old._oid;
END;
CREATE TABLE SimpleFilterChainMember (
_oid INTEGER NOT NULL,
_parent_oid INTEGER NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
sequenceNo INT UNSIGNED NOT NULL,
simpleFilterID VARCHAR NOT NULL,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
UNIQUE(_parent_oid,sequenceNo)
);
CREATE INDEX SimpleFilterChainMember_simpleFilterID ON SimpleFilterChainMember(simpleFilterID);
CREATE TRIGGER SimpleFilterChainMemberUpdate UPDATE ON SimpleFilterChainMember
BEGIN
UPDATE SimpleFilterChainMember SET _last_modified=CURRENT_TIMESTAMP WHERE _oid=old._oid;
END;
CREATE TABLE PeakMotion (
_oid INTEGER NOT NULL,
_parent_oid INTEGER NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
motion_value DOUBLE NOT NULL,
motion_uncertainty DOUBLE UNSIGNED,
motion_lowerUncertainty DOUBLE UNSIGNED,
motion_upperUncertainty DOUBLE UNSIGNED,
motion_confidenceLevel DOUBLE UNSIGNED,
motion_pdf_variable_content BLOB,
motion_pdf_probability_content BLOB,
motion_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
type VARCHAR NOT NULL,
period DOUBLE UNSIGNED,
damping DOUBLE UNSIGNED,
method VARCHAR,
atTime_value DATETIME,
atTime_value_ms INTEGER,
atTime_uncertainty DOUBLE UNSIGNED,
atTime_lowerUncertainty DOUBLE UNSIGNED,
atTime_upperUncertainty DOUBLE UNSIGNED,
atTime_confidenceLevel DOUBLE UNSIGNED,
atTime_pdf_variable_content BLOB,
atTime_pdf_probability_content BLOB,
atTime_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
atTime_used INTEGER(1) NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE TRIGGER PeakMotionUpdate UPDATE ON PeakMotion
BEGIN
UPDATE PeakMotion SET _last_modified=CURRENT_TIMESTAMP WHERE _oid=old._oid;
END;
CREATE TABLE Record (
_oid INTEGER NOT NULL,
_parent_oid INTEGER NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
creationInfo_agencyID VARCHAR,
creationInfo_agencyURI VARCHAR,
creationInfo_author VARCHAR,
creationInfo_authorURI VARCHAR,
creationInfo_creationTime DATETIME,
creationInfo_creationTime_ms INTEGER,
creationInfo_modificationTime DATETIME,
creationInfo_modificationTime_ms INTEGER,
creationInfo_version VARCHAR,
creationInfo_used INTEGER(1) NOT NULL DEFAULT '0',
gainUnit CHAR,
duration DOUBLE,
startTime_value DATETIME NOT NULL,
startTime_value_ms INTEGER NOT NULL,
startTime_uncertainty DOUBLE UNSIGNED,
startTime_lowerUncertainty DOUBLE UNSIGNED,
startTime_upperUncertainty DOUBLE UNSIGNED,
startTime_confidenceLevel DOUBLE UNSIGNED,
startTime_pdf_variable_content BLOB,
startTime_pdf_probability_content BLOB,
startTime_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
owner_name VARCHAR,
owner_forename VARCHAR,
owner_agency VARCHAR,
owner_department VARCHAR,
owner_address VARCHAR,
owner_phone VARCHAR,
owner_email VARCHAR,
owner_used INTEGER(1) NOT NULL DEFAULT '0',
resampleRateNumerator INT UNSIGNED,
resampleRateDenominator INT UNSIGNED,
waveformID_networkCode CHAR NOT NULL,
waveformID_stationCode CHAR NOT NULL,
waveformID_locationCode CHAR,
waveformID_channelCode CHAR,
waveformID_resourceURI VARCHAR,
waveformFile_creationInfo_agencyID VARCHAR,
waveformFile_creationInfo_agencyURI VARCHAR,
waveformFile_creationInfo_author VARCHAR,
waveformFile_creationInfo_authorURI VARCHAR,
waveformFile_creationInfo_creationTime DATETIME,
waveformFile_creationInfo_creationTime_ms INTEGER,
waveformFile_creationInfo_modificationTime DATETIME,
waveformFile_creationInfo_modificationTime_ms INTEGER,
waveformFile_creationInfo_version VARCHAR,
waveformFile_creationInfo_used INTEGER(1) NOT NULL DEFAULT '0',
waveformFile_class VARCHAR,
waveformFile_type VARCHAR,
waveformFile_filename VARCHAR,
waveformFile_url VARCHAR,
waveformFile_description VARCHAR,
waveformFile_used INTEGER(1) NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE TRIGGER RecordUpdate UPDATE ON Record
BEGIN
UPDATE Record SET _last_modified=CURRENT_TIMESTAMP WHERE _oid=old._oid;
END;
CREATE TABLE EventRecordReference (
_oid INTEGER NOT NULL,
_parent_oid INTEGER NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
recordID VARCHAR NOT NULL,
campbellDistance_value DOUBLE,
campbellDistance_uncertainty DOUBLE UNSIGNED,
campbellDistance_lowerUncertainty DOUBLE UNSIGNED,
campbellDistance_upperUncertainty DOUBLE UNSIGNED,
campbellDistance_confidenceLevel DOUBLE UNSIGNED,
campbellDistance_pdf_variable_content BLOB,
campbellDistance_pdf_probability_content BLOB,
campbellDistance_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
campbellDistance_used INTEGER(1) NOT NULL DEFAULT '0',
ruptureToStationAzimuth_value DOUBLE,
ruptureToStationAzimuth_uncertainty DOUBLE UNSIGNED,
ruptureToStationAzimuth_lowerUncertainty DOUBLE UNSIGNED,
ruptureToStationAzimuth_upperUncertainty DOUBLE UNSIGNED,
ruptureToStationAzimuth_confidenceLevel DOUBLE UNSIGNED,
ruptureToStationAzimuth_pdf_variable_content BLOB,
ruptureToStationAzimuth_pdf_probability_content BLOB,
ruptureToStationAzimuth_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
ruptureToStationAzimuth_used INTEGER(1) NOT NULL DEFAULT '0',
ruptureAreaDistance_value DOUBLE,
ruptureAreaDistance_uncertainty DOUBLE UNSIGNED,
ruptureAreaDistance_lowerUncertainty DOUBLE UNSIGNED,
ruptureAreaDistance_upperUncertainty DOUBLE UNSIGNED,
ruptureAreaDistance_confidenceLevel DOUBLE UNSIGNED,
ruptureAreaDistance_pdf_variable_content BLOB,
ruptureAreaDistance_pdf_probability_content BLOB,
ruptureAreaDistance_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
ruptureAreaDistance_used INTEGER(1) NOT NULL DEFAULT '0',
JoynerBooreDistance_value DOUBLE,
JoynerBooreDistance_uncertainty DOUBLE UNSIGNED,
JoynerBooreDistance_lowerUncertainty DOUBLE UNSIGNED,
JoynerBooreDistance_upperUncertainty DOUBLE UNSIGNED,
JoynerBooreDistance_confidenceLevel DOUBLE UNSIGNED,
JoynerBooreDistance_pdf_variable_content BLOB,
JoynerBooreDistance_pdf_probability_content BLOB,
JoynerBooreDistance_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
JoynerBooreDistance_used INTEGER(1) NOT NULL DEFAULT '0',
closestFaultDistance_value DOUBLE,
closestFaultDistance_uncertainty DOUBLE UNSIGNED,
closestFaultDistance_lowerUncertainty DOUBLE UNSIGNED,
closestFaultDistance_upperUncertainty DOUBLE UNSIGNED,
closestFaultDistance_confidenceLevel DOUBLE UNSIGNED,
closestFaultDistance_pdf_variable_content BLOB,
closestFaultDistance_pdf_probability_content BLOB,
closestFaultDistance_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
closestFaultDistance_used INTEGER(1) NOT NULL DEFAULT '0',
preEventLength DOUBLE,
postEventLength DOUBLE,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE INDEX EventRecordReference_recordID ON EventRecordReference(recordID);
CREATE TRIGGER EventRecordReferenceUpdate UPDATE ON EventRecordReference
BEGIN
UPDATE EventRecordReference SET _last_modified=CURRENT_TIMESTAMP WHERE _oid=old._oid;
END;
CREATE TABLE Rupture (
_oid INTEGER NOT NULL,
_parent_oid INTEGER NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
width_value DOUBLE,
width_uncertainty DOUBLE UNSIGNED,
width_lowerUncertainty DOUBLE UNSIGNED,
width_upperUncertainty DOUBLE UNSIGNED,
width_confidenceLevel DOUBLE UNSIGNED,
width_pdf_variable_content BLOB,
width_pdf_probability_content BLOB,
width_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
width_used INTEGER(1) NOT NULL DEFAULT '0',
displacement_value DOUBLE,
displacement_uncertainty DOUBLE UNSIGNED,
displacement_lowerUncertainty DOUBLE UNSIGNED,
displacement_upperUncertainty DOUBLE UNSIGNED,
displacement_confidenceLevel DOUBLE UNSIGNED,
displacement_pdf_variable_content BLOB,
displacement_pdf_probability_content BLOB,
displacement_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
displacement_used INTEGER(1) NOT NULL DEFAULT '0',
riseTime_value DOUBLE,
riseTime_uncertainty DOUBLE UNSIGNED,
riseTime_lowerUncertainty DOUBLE UNSIGNED,
riseTime_upperUncertainty DOUBLE UNSIGNED,
riseTime_confidenceLevel DOUBLE UNSIGNED,
riseTime_pdf_variable_content BLOB,
riseTime_pdf_probability_content BLOB,
riseTime_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
riseTime_used INTEGER(1) NOT NULL DEFAULT '0',
vt_to_vs_value DOUBLE,
vt_to_vs_uncertainty DOUBLE UNSIGNED,
vt_to_vs_lowerUncertainty DOUBLE UNSIGNED,
vt_to_vs_upperUncertainty DOUBLE UNSIGNED,
vt_to_vs_confidenceLevel DOUBLE UNSIGNED,
vt_to_vs_pdf_variable_content BLOB,
vt_to_vs_pdf_probability_content BLOB,
vt_to_vs_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
vt_to_vs_used INTEGER(1) NOT NULL DEFAULT '0',
shallowAsperityDepth_value DOUBLE,
shallowAsperityDepth_uncertainty DOUBLE UNSIGNED,
shallowAsperityDepth_lowerUncertainty DOUBLE UNSIGNED,
shallowAsperityDepth_upperUncertainty DOUBLE UNSIGNED,
shallowAsperityDepth_confidenceLevel DOUBLE UNSIGNED,
shallowAsperityDepth_pdf_variable_content BLOB,
shallowAsperityDepth_pdf_probability_content BLOB,
shallowAsperityDepth_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
shallowAsperityDepth_used INTEGER(1) NOT NULL DEFAULT '0',
shallowAsperity INTEGER(1),
literatureSource_title VARCHAR,
literatureSource_firstAuthorName VARCHAR,
literatureSource_firstAuthorForename VARCHAR,
literatureSource_secondaryAuthors VARCHAR,
literatureSource_doi VARCHAR,
literatureSource_year INT UNSIGNED,
literatureSource_in_title VARCHAR,
literatureSource_editor VARCHAR,
literatureSource_place VARCHAR,
literatureSource_language VARCHAR,
literatureSource_tome INT UNSIGNED,
literatureSource_page_from INT UNSIGNED,
literatureSource_page_to INT UNSIGNED,
literatureSource_used INTEGER(1) NOT NULL DEFAULT '0',
slipVelocity_value DOUBLE,
slipVelocity_uncertainty DOUBLE UNSIGNED,
slipVelocity_lowerUncertainty DOUBLE UNSIGNED,
slipVelocity_upperUncertainty DOUBLE UNSIGNED,
slipVelocity_confidenceLevel DOUBLE UNSIGNED,
slipVelocity_pdf_variable_content BLOB,
slipVelocity_pdf_probability_content BLOB,
slipVelocity_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
slipVelocity_used INTEGER(1) NOT NULL DEFAULT '0',
strike_value DOUBLE,
strike_uncertainty DOUBLE UNSIGNED,
strike_lowerUncertainty DOUBLE UNSIGNED,
strike_upperUncertainty DOUBLE UNSIGNED,
strike_confidenceLevel DOUBLE UNSIGNED,
strike_pdf_variable_content BLOB,
strike_pdf_probability_content BLOB,
strike_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
strike_used INTEGER(1) NOT NULL DEFAULT '0',
length_value DOUBLE,
length_uncertainty DOUBLE UNSIGNED,
length_lowerUncertainty DOUBLE UNSIGNED,
length_upperUncertainty DOUBLE UNSIGNED,
length_confidenceLevel DOUBLE UNSIGNED,
length_pdf_variable_content BLOB,
length_pdf_probability_content BLOB,
length_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
length_used INTEGER(1) NOT NULL DEFAULT '0',
area_value DOUBLE,
area_uncertainty DOUBLE UNSIGNED,
area_lowerUncertainty DOUBLE UNSIGNED,
area_upperUncertainty DOUBLE UNSIGNED,
area_confidenceLevel DOUBLE UNSIGNED,
area_pdf_variable_content BLOB,
area_pdf_probability_content BLOB,
area_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
area_used INTEGER(1) NOT NULL DEFAULT '0',
ruptureVelocity_value DOUBLE,
ruptureVelocity_uncertainty DOUBLE UNSIGNED,
ruptureVelocity_lowerUncertainty DOUBLE UNSIGNED,
ruptureVelocity_upperUncertainty DOUBLE UNSIGNED,
ruptureVelocity_confidenceLevel DOUBLE UNSIGNED,
ruptureVelocity_pdf_variable_content BLOB,
ruptureVelocity_pdf_probability_content BLOB,
ruptureVelocity_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
ruptureVelocity_used INTEGER(1) NOT NULL DEFAULT '0',
stressdrop_value DOUBLE,
stressdrop_uncertainty DOUBLE UNSIGNED,
stressdrop_lowerUncertainty DOUBLE UNSIGNED,
stressdrop_upperUncertainty DOUBLE UNSIGNED,
stressdrop_confidenceLevel DOUBLE UNSIGNED,
stressdrop_pdf_variable_content BLOB,
stressdrop_pdf_probability_content BLOB,
stressdrop_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
stressdrop_used INTEGER(1) NOT NULL DEFAULT '0',
momentReleaseTop5km_value DOUBLE,
momentReleaseTop5km_uncertainty DOUBLE UNSIGNED,
momentReleaseTop5km_lowerUncertainty DOUBLE UNSIGNED,
momentReleaseTop5km_upperUncertainty DOUBLE UNSIGNED,
momentReleaseTop5km_confidenceLevel DOUBLE UNSIGNED,
momentReleaseTop5km_pdf_variable_content BLOB,
momentReleaseTop5km_pdf_probability_content BLOB,
momentReleaseTop5km_pdf_used INTEGER(1) NOT NULL DEFAULT '0',
momentReleaseTop5km_used INTEGER(1) NOT NULL DEFAULT '0',
fwHwIndicator VARCHAR(64),
ruptureGeometryWKT VARCHAR,
faultID VARCHAR NOT NULL,
surfaceRupture_observed INTEGER(1),
surfaceRupture_evidence VARCHAR,
surfaceRupture_literatureSource_title VARCHAR,
surfaceRupture_literatureSource_firstAuthorName VARCHAR,
surfaceRupture_literatureSource_firstAuthorForename VARCHAR,
surfaceRupture_literatureSource_secondaryAuthors VARCHAR,
surfaceRupture_literatureSource_doi VARCHAR,
surfaceRupture_literatureSource_year INT UNSIGNED,
surfaceRupture_literatureSource_in_title VARCHAR,
surfaceRupture_literatureSource_editor VARCHAR,
surfaceRupture_literatureSource_place VARCHAR,
surfaceRupture_literatureSource_language VARCHAR,
surfaceRupture_literatureSource_tome INT UNSIGNED,
surfaceRupture_literatureSource_page_from INT UNSIGNED,
surfaceRupture_literatureSource_page_to INT UNSIGNED,
surfaceRupture_literatureSource_used INTEGER(1) NOT NULL DEFAULT '0',
surfaceRupture_used INTEGER(1) NOT NULL DEFAULT '0',
centroidReference VARCHAR,
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE INDEX Rupture_ruptureGeometryWKT ON Rupture(ruptureGeometryWKT);
CREATE TRIGGER RuptureUpdate UPDATE ON Rupture
BEGIN
UPDATE Rupture SET _last_modified=CURRENT_TIMESTAMP WHERE _oid=old._oid;
END;
CREATE TABLE StrongOriginDescription (
_oid INTEGER NOT NULL,
_parent_oid INTEGER NOT NULL,
_last_modified TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
originID VARCHAR NOT NULL,
waveformCount INT UNSIGNED,
creationInfo_agencyID VARCHAR,
creationInfo_agencyURI VARCHAR,
creationInfo_author VARCHAR,
creationInfo_authorURI VARCHAR,
creationInfo_creationTime DATETIME,
creationInfo_creationTime_ms INTEGER,
creationInfo_modificationTime DATETIME,
creationInfo_modificationTime_ms INTEGER,
creationInfo_version VARCHAR,
creationInfo_used INTEGER(1) NOT NULL DEFAULT '0',
PRIMARY KEY(_oid),
FOREIGN KEY(_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE,
FOREIGN KEY(_parent_oid)
REFERENCES Object(_oid)
ON DELETE CASCADE
);
CREATE INDEX StrongOriginDescription_originID ON StrongOriginDescription(originID);
CREATE TRIGGER StrongOriginDescriptionUpdate UPDATE ON StrongOriginDescription
BEGIN
UPDATE StrongOriginDescription SET _last_modified=CURRENT_TIMESTAMP WHERE _oid=old._oid;
END;

View File

@ -0,0 +1 @@
apt install libxml2 libboost-filesystem1.67.0 libboost-iostreams1.67.0 libboost-thread1.67.0 libboost-program-options1.67.0 libboost-regex1.67.0 libboost-signals1.67.0 libboost-system1.67.0 libssl1.1 libncurses5 libmariadb3 libpq5 libpython3.7 python3-numpy

View File

@ -0,0 +1 @@
apt install python3-twisted python3-dateutil

View File

@ -0,0 +1 @@
apt install libqt5gui5 libqt5xml5 libqt5opengl5 libqt5sql5-sqlite libqt5svg5 libqt5printsupport5

View File

@ -0,0 +1 @@
../../../iloc/install-iloc.sh

View File

@ -0,0 +1 @@
apt install mariadb-server mariadb-client

View File

@ -0,0 +1 @@
apt install postgresql postgresql-client

View File

@ -0,0 +1 @@
apt install libxml2 libboost-filesystem1.74.0 libboost-iostreams1.74.0 libboost-thread1.74.0 libboost-program-options1.74.0 libboost-regex1.74.0 libboost-system1.74.0 libssl1.1 libncurses5 libmariadb3 libpq5 libpython3.9 python3-numpy

View File

@ -0,0 +1 @@
apt install python3-twisted python3-dateutil

View File

@ -0,0 +1 @@
apt install libqt5gui5 libqt5xml5 libqt5opengl5 libqt5sql5-sqlite libqt5svg5 libqt5printsupport5

View File

@ -0,0 +1 @@
../../../iloc/install-iloc.sh

View File

@ -0,0 +1 @@
apt install mariadb-server mariadb-client

View File

@ -0,0 +1 @@
apt install postgresql postgresql-client

View File

@ -0,0 +1 @@
apt install libxml2 libboost-filesystem1.74.0 libboost-iostreams1.74.0 libboost-thread1.74.0 libboost-program-options1.74.0 libboost-regex1.74.0 libboost-system1.74.0 libssl3 libncurses5 libmariadb3 libpq5 libpython3.11 python3-numpy

View File

@ -0,0 +1 @@
apt install python3-twisted python3-dateutil

View File

@ -0,0 +1 @@
apt install libqt5gui5 libqt5xml5 libqt5opengl5 libqt5sql5-sqlite libqt5svg5 libqt5printsupport5

View File

@ -0,0 +1 @@
../../../iloc/install-iloc.sh

View File

@ -0,0 +1 @@
apt install mariadb-server mariadb-client

View File

@ -0,0 +1 @@
apt install postgresql postgresql-client

View File

@ -0,0 +1 @@
yum install libxml2 boost-filesystem boost-iostreams boost-thread boost-program-options boost-regex boost-signals boost-system openssl ncurses mysql postgresql python36 python36-numpy mariadb

View File

@ -0,0 +1,10 @@
yum install python36-dateutil python36-pip
echo "user name for pip install (sysop):"
read user
if [ -z "$user" ]; then user=sysop; fi
# install Python packages using pip
echo "installing packages for user " $user
su - $user -c 'python3 -m pip install --user twisted'

View File

@ -0,0 +1 @@
yum install qt5-qtbase qt5-qtbase-gui qt5-qtsvg

View File

@ -0,0 +1 @@
../../../iloc/install-iloc.sh

View File

@ -0,0 +1 @@
yum install mariadb mariadb-server

View File

@ -0,0 +1 @@
yum install mysql mysql-server

View File

@ -0,0 +1 @@
yum install postgresql postgresql-server

View File

@ -0,0 +1 @@
yum install libxml2 boost-filesystem boost-iostreams boost-thread boost-program-options boost-regex boost-signals boost-system openssl ncurses mariadb postgresql python3-numpy mysql-libs

View File

@ -0,0 +1,2 @@
dnf install epel-release
dnf install python3-twisted python3-dateutil

View File

@ -0,0 +1 @@
yum install qt5-qtbase qt5-qtbase-gui qt5-qtsvg

View File

@ -0,0 +1 @@
../../../iloc/install-iloc.sh

View File

@ -0,0 +1 @@
yum install mariadb mariadb-server

View File

@ -0,0 +1 @@
dnf install mysql mysql-server

View File

@ -0,0 +1 @@
yum install postgresql postgresql-server

View File

@ -0,0 +1 @@
dnf install libxml2 boost-filesystem boost-iostreams boost-thread boost-program-options boost-regex boost-system openssl ncurses mariadb postgresql python3-numpy

View File

@ -0,0 +1,2 @@
dnf install epel-release
dnf install python3-twisted python3-dateutil

View File

@ -0,0 +1 @@
dnf install qt5-qtbase qt5-qtbase-gui qt5-qtsvg

View File

@ -0,0 +1 @@
../../../iloc/install-iloc.sh

View File

@ -0,0 +1 @@
dnf install mariadb mariadb-server

View File

@ -0,0 +1 @@
dnf install mysql mysql-server

View File

@ -0,0 +1 @@
dnf install postgresql postgresql-server

View File

@ -0,0 +1 @@
apt-get install libxml2 libboost-filesystem1.71.0 libboost-iostreams1.71.0 libboost-thread1.71.0 libboost-program-options1.71.0 libboost-regex1.71.0 libboost-system1.71.0 libssl1.1 libncurses5 libmysqlclient21 libmariadb3 libpq5 libpython3.8 python3-numpy

View File

@ -0,0 +1 @@
apt-get install python3-twisted python3-dateutil

View File

@ -0,0 +1 @@
apt install libqt5gui5 libqt5xml5 libqt5opengl5 libqt5sql5-sqlite libqt5svg5 libqt5printsupport5

View File

@ -0,0 +1 @@
../../../iloc/install-iloc.sh

View File

@ -0,0 +1 @@
apt-get install mariadb-server mariadb-client

View File

@ -0,0 +1 @@
apt-get install mysql-server mysql-client

View File

@ -0,0 +1 @@
apt-get install postgresql postgresql-client

View File

@ -0,0 +1 @@
apt-get install libxml2 libboost-filesystem1.74.0 libboost-iostreams1.74.0 libboost-thread1.74.0 libboost-program-options1.74.0 libboost-regex1.74.0 libboost-system1.74.0 libssl3 libncurses6 libmysqlclient21 libmariadb3 libpq5 libpython3.10 python3-numpy

View File

@ -0,0 +1 @@
apt-get install python3-twisted python3-dateutil

View File

@ -0,0 +1 @@
apt install libqt5gui5 libqt5xml5 libqt5opengl5 libqt5sql5-sqlite libqt5svg5 libqt5printsupport5

View File

@ -0,0 +1 @@
../../../iloc/install-iloc.sh

View File

@ -0,0 +1 @@
apt-get install mariadb-server mariadb-client

View File

@ -0,0 +1 @@
apt-get install mysql-server mysql-client

View File

@ -0,0 +1 @@
apt-get install postgresql postgresql-client

View File

@ -0,0 +1 @@
apt-get install libxml2 libboost-filesystem1.83.0 libboost-iostreams1.83.0 libboost-thread1.83.0 libboost-program-options1.83.0 libboost-regex1.83.0 libboost-system1.83.0 libssl3 libncurses6 libmysqlclient21 libmariadb3 libpq5 libpython3.12 python3-numpy

View File

@ -0,0 +1 @@
apt-get install python3-twisted python3-dateutil

View File

@ -0,0 +1 @@
apt install libqt5gui5 libqt5xml5 libqt5opengl5 libqt5sql5-sqlite libqt5svg5 libqt5printsupport5

View File

@ -0,0 +1 @@
../../../iloc/install-iloc.sh

View File

@ -0,0 +1 @@
apt-get install mariadb-server mariadb-client

View File

@ -0,0 +1 @@
apt-get install mysql-server mysql-client

View File

@ -0,0 +1 @@
apt-get install postgresql postgresql-client

52
share/doc/hypo71/README Normal file
View File

@ -0,0 +1,52 @@
########################################################################
# #
# Copyright (C) 2012 OVSM/IPGP #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# This program is part of 'Projet TSUAREG - INTERREG IV Caraïbes'. #
# It has been co-financed by the European Union and le Ministère de #
# l'Ecologie, du Développement Durable, des Transports et du Logement. #
# #
########################################################################
# #
# Hypo71 earthquake location plugin for SeisComP #
# #
# Authors: Jean-Marie SAUREL / Stephen ROSELIA #
# Emails : saurel@ipgp.fr / stephen.roselia@supinfo.com #
# #
########################################################################
# #
# HYPO71 is a computer program for determining hypocenter, magnitude, #
# and first motion pattern of local earthquakes, and was first #
# released in 1971. It is perhaps the first earthquake location #
# program that achieved worldwide usage, as evidenced by the fact that #
# about 1,000 copies of the HYPO71 manual were requested and #
# distributed (Lee, 1990). It is included here for historical #
# documentation. #
# #
# http://www.jclahr.com/science/software/hypo71/index.html #
# #
########################################################################
# #
# How to make it work: #
# #
# Load the plugin in scolv.cfg -> plugins = hypo71 #
# Add content of examples/hypo71.cfg, edit properly paths, permissions #
# #
# Copy examples/hypo71/ into share/hypo71/ #
# Edit run.sh and make paths match accordingly to those specified #
# in scolv.cfg #
# #
########################################################################

View File

@ -0,0 +1,61 @@
########################################################################
# #
# Copyright (C) 2012 OVSM/IPGP #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# This program is part of 'Projet TSUAREG - INTERREG IV Caraïbes'. #
# It has been co-financed by the European Union and le Ministère de #
# l'Ecologie, du Développement Durable, des Transports et du Logement. #
# #
########################################################################
# #
# @file hypo71.cfg #
# @author Stephen Roselia <stephen.roselia@supinfo.com> #
# @author Jean-Marie Saurel <saurel@ipgp.fr> #
# @version 1.1 #
# @brief Hypo71 plugin configuration #
# #
########################################################################
# Hypo71 input file to process (generated by plugin)
hypo71.inputFile = @DATADIR@/hypo71/HYPO71.INP
# Hypo71 log file to store ZTR calculation and final results
hypo71.logFile = @LOGDIR@/HYPO71.LOG
# Hypo71 output file to read results from (generated by binary)
hypo71.outputFile = @DATADIR@/hypo71/HYPO71.PRT
# Hypo71 script called by plugin
hypo71.hypo71ScriptFile = @DATADIR@/hypo71/run.sh
# Hypo71 default profile
hypo71.defaultControlFile = @DATADIR@/hypo71/profiles/default.hypo71.conf
# Hypo71 origin patternID
hypo71.publicID = Hypo71.@time/%Y%m%d%H%M%S.%f@.@id@
# Should we use the custom patternID ?
hypo71.useHypo71PatternID = false
# Hypo71 custom profiles examples
hypo71.profiles = ModelA
hypo71.profile.Tectonic.earthModelID = "My Velocity Model A"
hypo71.profile.Tectonic.methodID = Hypo71PC
hypo71.profile.Tectonic.controlFile = @DATADIR@/hypo71/profiles/profile.a.conf

View File

@ -0,0 +1,6 @@
HYPO71.INP
HYPO71.PRT
HYPO71.OUT

View File

@ -0,0 +1,76 @@
############################################################
## HYPO71 SeisComP Plugin ##
## @OVSM-IPGP ##
## ##
## Default configuration file! ##
## Checkout Hypo71 Manual for more informations about the ##
## Fortran's script variables configuration. ##
############################################################
################
# !RESET LIST! #
################
TEST(01) = .1 # sec # cutoff RMS value under which Jeffrey's weghting of residuals is not used
TEST(02) = 10. # km #
TEST(03) = 0.2 # critical F-value for the stepwise multiple regression - default value is 2, lower value means more steps
TEST(04) = .01 # km # adjustment value under which Geiger's iteration is terminated - default value is .05, lower value means more steps
TEST(05) = 5. # km # focal-depth value above which DZ is rest to DZ / (K+1)
TEST(06) = 4. # regression TEST(03)/TEST(06) coefficient value if no significant variable is found in the stepwise multiple regression
TEST(07) = -.87 # FMA coefficient value for calculating the duration magnitude - not used
TEST(08) = 2. # FMB coefficient value for calculating the duration magnitude - not used
TEST(09) = .0035 # FMD coefficient value for calculating the duration magnitude - not used
TEST(10) = 2. # km # coefficient value J = D/TEST(10) used for resetting DX and DY - default value is 100, lower value allows smaller steps
TEST(11) = 999. # maximum number of iterations in the hypocentral adjustment - default value is 8, computer are now able to handle much more iterations
TEST(12) = .5 # coefficient value DZ = -Z*TEST(12) used for resetting DZ when hypocenter is placed in the air
TEST(13) = 1. # km # standard error value of hypocentral optionally calculated RMS
## The following values are only available with the Hypo71PC version modified by Alexandre Nercessian (IPGP) which is included with this plugin
TEST(15) = -2. # km # maximum altitude of earthquake in km (down is positive)
TEST(20) = 1. # used altitude = read altitude * TEST(20) - for example, -2500 = -250 * 10
########################
# !CRUSTAL MODEL LIST! #
########################
## list of velocities for each layer
CRUSTAL_VELOCITY_MODEL = 3.50, 6.00, 7.00, 8.00
## list of top layer boundary in km
CRUSTAL_DEPTH_MODEL = 0.00, 3.00, 15.00, 30.00
##################
# !CONTROL CARD! #
##################
# Mandatory parameters!
ZTR = 5. # km # trial focus depth - this can be a list of different trial depth separated by coma (recommended if you expect earthquakes from 0 to 200km depth)
XNEAR = 50. # km # distance from epicenter up to which the distance weighting is 1 - arrivals weight is not altered
XFAR = 200. # km # distance from epicenter beyond which the distance weighting is 0 - arrivals are not taken into account beyond this distance
POS = 1.78 # ratio of P-wave velocity to S-wave velocity
# Non alterable parameters!
IPUN = 1 # indicator for punched cards - Don't change
IPRN = 1 # indicator for printed output - Don't change
KSORT = # 1 or blank # sort stations by distance in the output ? - Don't change
# Optional parameters!
KFM = 15 # minimum number of first motion readings required before it is plotted - Not used
KTEST = # 1 or blank # solution is at RMS minimum ? - Not used
KAZ = # 1 or blank # apply azimuthal weighting of stations ?
# Disable the definition of a starting point ? true or false
# If set to false, then a starting point as to be defined with LAT1, LAT2, LON1, LON2 and ZTR values - Not recommended
USE_TRIAL_POSITION = false
######################
# !INSTRUCTION CARD! #
######################
KNST = 1 # use S data ? - usually you would want to use S arrivals
INST = 0 # fix depth ? - usually you don't want to use a fixed depth

View File

@ -0,0 +1,66 @@
############################################################
## HYPO71 SeisComP Plugin ##
## @OVSM-IPGP ##
## ##
############################################################
## This profile is based on Dorel velocity model for French Antilles
## It allows several iterations at different starting depth for deep and crustal earthquakes
##############
# Reset List #
##############
TEST(01) = .1 # sec # cutoff RMS value under which Jeffrey's weghting of residuals is not used
TEST(02) = 50. # km #
TEST(03) = 0.2 # critical F-value for the stepwise multiple regression
TEST(04) = .01 # km # adjustment value under which Geiger's iteration is terminated
TEST(05) = 5. # km # focal-depth value above which DZ is rest to DZ / (K+1)
TEST(06) = 4. # regression TEST(03)/TEST(06) coefficient value if no significant variable is found in the stepwise multiple regression
TEST(10) = 2. # km # coefficient value J = D/TEST(10) used for resetting DX and DY
TEST(11) = 999. # maximum number of iterations in the hypocentral adjustment
TEST(12) = .5 # coefficient value DZ = -Z*TEST(12) used for resetting DZ when hypocenter is placed in the air
TEST(13) = 1. # km # standard error value of hypocentral optionally calculated RMS
## The following values are only available with the Hypo71PC version modified by Alexandre Nercessian (IPGP) which is included with this plugin
TEST(15) = -2. # km # maximum altitude of earthquake in km (down is positive)
TEST(20) = 1. # used altitude = read altitude * TEST(20) - for example, -2500 = -250 * 10
######################
# Crustal Model List #
######################
CRUSTAL_VELOCITY_MODEL = 3.50, 6.00, 7.00, 8.00
CRUSTAL_DEPTH_MODEL = 0.00, 3.00, 15.00, 30.00
################
# Control Card #
################
# MANDATORY
ZTR = 5, 20, 40, 60, 80, 100, 150, 200 # km # trial focus depth
# MANDATORY
XNEAR = 200. # km # distance from epicenter up to which the distance weighting is 1
# MANDATORY
XFAR = 450. # km # distance from epicenter beyond which the distance weighting is 0
# MANDATORY
POS = 1.76 # ratio of P-velocity to S-velocity
KAZ = 1 # 1 or blank # apply azimuthal weighting of stations ?
KSORT = 1 # 1 or blank # sort stations by distance in the output ?
# Use last localization as starting point ?
# then LAT1, LAT2, LON1, LON2 and ZTR will take origin last values
USE_TRIAL_POSITION = false
####################
# Instruction Card #
####################
KNST = 1 # use S data ?
INST = 0 # fix depth ?
#####################################
# Optionnal Weighting Look-Up Table #
#####################################
WEIGHT_UNCERTAINTY_BOUNDARIES = 0.1, 0.2, 0.5, 1.0

View File

@ -0,0 +1,61 @@
############################################################
## HYPO71 SeisComP Plugin ##
## @OVSM-IPGP ##
## ##
############################################################
## This profile is based on Dorel velocity model for French Antilles
## It allows several iterations at different starting depth for deep and crustal earthquakes
##############
# Reset List #
##############
TEST(01) = .1 # sec # cutoff RMS value under which Jeffrey's weghting of residuals is not used
TEST(02) = 50. # km #
TEST(03) = 0.2 # critical F-value for the stepwise multiple regression
TEST(04) = .01 # km # adjustment value under which Geiger's iteration is terminated
TEST(05) = 5. # km # focal-depth value above which DZ is rest to DZ / (K+1)
TEST(06) = 4. # regression TEST(03)/TEST(06) coefficient value if no significant variable is found in the stepwise multiple regression
TEST(10) = 2. # km # coefficient value J = D/TEST(10) used for resetting DX and DY
TEST(11) = 999. # maximum number of iterations in the hypocentral adjustment
TEST(12) = .5 # coefficient value DZ = -Z*TEST(12) used for resetting DZ when hypocenter is placed in the air
TEST(13) = 1. # km # standard error value of hypocentral optionally calculated RMS
## The following values are only available with the Hypo71PC version modified by Alexandre Nercessian (IPGP) which is included with this plugin
TEST(15) = -2. # km # maximum altitude of earthquake in km (down is positive)
TEST(20) = 1. # used altitude = read altitude * TEST(20) - for example, -2500 = -250 * 10
######################
# Crustal Model List #
######################
CRUSTAL_VELOCITY_MODEL = 3.50, 6.00, 7.00, 8.00
CRUSTAL_DEPTH_MODEL = 0.00, 3.00, 15.00, 30.00
################
# Control Card #
################
# MANDATORY
ZTR = 5, 20, 40, 60, 80, 100, 150, 200 # km # trial focus depth
# MANDATORY
XNEAR = 200. # km # distance from epicenter up to which the distance weighting is 1
# MANDATORY
XFAR = 450. # km # distance from epicenter beyond which the distance weighting is 0
# MANDATORY
POS = 1.76 # ratio of P-velocity to S-velocity
KAZ = 1 # 1 or blank # apply azimuthal weighting of stations ?
KSORT = 1 # 1 or blank # sort stations by distance in the output ?
# Use last localization as starting point ?
# then LAT1, LAT2, LON1, LON2 and ZTR will take origin last values
USE_TRIAL_POSITION = false
####################
# Instruction Card #
####################
KNST = 1 # use S data ?
INST = 0 # fix depth ?

View File

@ -0,0 +1,66 @@
############################################################
## HYPO71 SeisComP Plugin ##
## @OVSM-IPGP ##
## ##
############################################################
##############
# Reset List #
##############
TEST(01) = .1 # sec # cutoff RMS value under which Jeffrey's weghting of residuals is not used
TEST(02) = 10. # km #
TEST(03) = 2. # critical F-value for the stepwise multiple regression
TEST(04) = .010 # km # adjustment value under which Geiger's iteration is terminated
TEST(05) = 5. # km # focal-depth value above which DZ is rest to DZ / (K+1)
TEST(06) = 4. # regression TEST(03)/TEST(06) coefficient value if no significant variable is found in the stepwise multiple regression
TEST(10) = 100 # km # coefficient value J = D/TEST(10) used for resetting DX and DY
TEST(11) = 8. # maximum number of iterations in the hypocentral adjustment
TEST(12) = .5 # coefficient value DZ = -Z*TEST(12) used for resetting DZ when hypocenter is placed in the air
TEST(13) = 1 # km # standard error value of hypocentral optionally calculated RMS
# The following values are only available with the Hypo71PC version modified by Alexandre Nercessian (IPGP) which is included with this plugin
TEST(15) = -2. # km # maximum altitude of earthquake in km (down is positive)
TEST(20) = 1. # used altitude = read altitude * TEST(20) - for example, -2500 = -250 * 10
######################
# Crustal Model List #
######################
CRUSTAL_VELOCITY_MODEL = 3.50, 6.00, 7.00, 8.00
CRUSTAL_DEPTH_MODEL = 0.00, 3.00, 15.00, 30.00
################
# Control Card #
################
# MANDATORY
ZTR = 5, 10, 15, 20 # km # trial focus depth
# MANDATORY
XNEAR = 10. # km # distance from epicenter up to which the distance weighting is 1
# MANDATORY
XFAR = 20. # km # distance from epicenter beyond which the distance weighting is 0
# MANDATORY
POS = 1.80 # ratio of P-velocity to S-velocity
IQ = 3 # quality class of earthquake to be included in the summary of residuals
KMS = 0 # indicator to check missing data
KFM = 30 # minimum number of first motion readings required before it is plotted
IPUN = 1 # indicator for punched cards
IMAG = 1 # method of selecting earthquake magnitude
#IR = 0 # number of new system response curves to be read in
IPRN = 0 # indicator for printed output
#KTEST = # 1 or blank # solution is at RMS minimum ?
KAZ = 1 # 1 or blank # apply azimuthal weighting of stations ?
#KSORT = # 1 or blank # sort stations by distance in the output ?
#KSEL = # 1 or blank # start printed output for each earthquake on a new page ?
# Use last localization as starting point ?
# then LAT1, LAT2, LON1, LON2 and ZTR will take origin last values
USE_TRIAL_POSITION = true
####################
# Instruction Card #
####################
#IPRO = # additional instruction card
KNST = 1 # use S data ?
INST = 0 # fix depth ?
#ZRES = # trial focal depth -> replaces ZTR by ZRES

View File

@ -0,0 +1,11 @@
#!/bin/bash
HYPO71PC_BINARY=Hypo71PC
HYPO71PC_HOME=`dirname $0`
# Jumping into the right directory
cd ${HYPO71PC_HOME}/
# Executing binary with input file as argument
${SEISCOMP_ROOT}/bin/$HYPO71PC_BINARY < input

1467
share/doc/scanloc/CHANGELOG Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 1ccb7a5ec373f883f53d7da2a4f13e50
tags: 645f666f9bcd5a90fca523b33c5a78b7

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 166 KiB

Some files were not shown because too many files have changed in this diff Show More