scimex

scimex manages the QuakeML object exchange between different SeisComP3 systems in realtime. scimex may import or export the data to one or several systems. In contrary to scimport the exchange of the QuakeML objects is event based. By default all objects (picks, amplitudes, origins, arrivals, station magnitudes, network magnitudes, magnitude references) are transferred to the other system. The user can define filters to exclude objects from being transferred. Possible filter parameter are location, magnitude, arrival count and agency. scimex supports two modi import and export mode. In export mode scimex collects all objects relevant for an event (e.g. picks, amplitudes, origins, magnitudes) from the scmaster message groups at the source and checks if the filter criteria match. Once the criteria are fulfilled, the whole package of objects is send to the scmaster IMPORT group of the receiving system. At the receiving system an instance of scimex is running in import mode. It fetches the whole event information from the IMPORT group, checks the local filter criteria of the system and sends the collected objects to the different messages groups, e.g. Pick, Amplitude, Magnitude, Location. In export mode several recipients can be defined and for each recipient individual filters can be set. To run several instances of scimex on one system, symlinks have to be defined, e.g. for import:

ln –s scimex scimex_import

and for export

ln –s scimex scimex_export

Then the configuration files scimex_import.cfg and scimex_export.cfg can be defined.

Options

scimex supports configuration files (scimex.cfg).

Configuration

connection.server = <string>
Server which acts as source.
mode = <string>
Type of mode, options are IMPORT or EXPORT.
Cleanupinterval = <int>
Time range (seconds) in which the objects stay in cache.
exportSink = <list>
List of recipients names (AgencyIDs) defined in the following, e.g. EMSC, IGN
importSink = <list>
List of importing systems (AgencyIDs) defined like recipients.
conversion = <list of tuples>
List of sender:conversion tuples. The list controls the content conversion of incoming messages in respect to the given host. Currently the import of seiscomp datamodel version 0.51 (imexscdm0.51) is supported.
<recipient>.address = <string>
Address of recipient, e.g. EMSC.address = 192.168.1.1
<recipient>.criteria = <string>
Defining filter criteria name for the recipient, e.g. EMSC.criteria = WorldXXL
<recipient>.filter = <bool>
Enables/disables filtering.
<recipient>.useDefinedRoutingTable = <bool>
Enables/disables defined routing tables.
<recipient>.routingtable = <List of tuples>
Defining routing tables in the meaning of mapping objects to message groups. E.g. Pick:NULL, StationAmplitude:NULL, Origin:LOCATION, StationMagnitude: MAGNITUDE, NetworkMagnitude:MAGNITUDE, MagnitudeReference:MAGNITUDE, OriginReference:EVENT, Event:EVENT
<recipient>.conversion = <string>
Specifies content conversion of outgoing messages. Currently the export to seiscomp datamodel version 0.51 (imexscdm0.51) is supported.
<filter>.latitude = <tuple of doubles>
Latitude range for the filter defined in <recipient>.criteria, e.g. -90:90
<filter>.longitude = <tuple of doubles>
Longitude range for the filter defined in <recipient>.criteria, e.g. -180:180
<filter>.magnitude = <tuple of doubles>
Magnitude range for the filter defined in <recipient>.criteria, e.g. 3:10
<filter>.arrivalcount = <int>
Number of minimum arrivals for the filter defined in <recipient>.criteria.
<filter>.agencyid = <string>
Positive filter for Agency IDs.

Example of scimex_import.cfg:

connection.username = scimexIm
connection.server = localhost
mode = IMPORT
cleanUpInterval=86400
importSink = gfzimport
conversion = localhost:imexscdm0.51
gfzimport.address = localhost
gfzimport.criteria= cfg
# optional and true per default
gfzimport.filter = false
# optional and true per default
gfzimport.useDefinedRoutingTable = true
gfzimport.routingtable = Pick:IMPORT,StationAmplitude:IMPORT,Origin:LOCATION,Arrival:LOCATION,StationMagnitude:MAGNITUDE,
                         NetworkMagnitude:MAGNITUDE, MagnitudeReference:MAGNITUDE,OriginReference:EVENT,Event:EVENT
cfg.longitude=-180:180
cfg.latitude=-90:90
cfg.magnitude=1:9
cfg.agencyID=""
cfg.arrivalcount=15

Example of scimex_export.cfg:

connection.username="imExst30"
connection.server = localhost
mode = EXPORT
cleanUpInterval=7200
exportSink = EMSC, IGN, IMP
IGN.address = 192.168.0.3
IGN.criteria = globalM5
IGN.filter = true
IGN.useDefinedRoutingTable = false
IGN.conversion = imexscdm0.51
EMSC.address = 192.168.0.4
EMSC.criteria = globalM5
EMSC.filter = true
EMSC.useDefinedRoutingTable = false
IMP.address = 192.168.0.5
IMP.criteria = globalM5
IMP.filter = true
IMP.useDefinedRoutingTable = false
globalM5.latitude     = -90:90
globalM5.longitude    = -180:180
globalM5.magnitude    = 5:10
globalM5.arrivalcount = 25
globalM5.agencyid     = "GFZ"