scxmldump

Dump objects from database or messaging to XML.

Description

scxmldump reads SeisComP objects from database or messaging and writes them in SeisComP XML (SCML) to stdout or into a file (-o).

  • Dumping from a SeisComP database supports various objects:

    • Availability,

    • Config (bindings parameters),

    • Event parameters,

    • Inventory,

    • Journal,

    • Routing.

  • Dumping from a SeisComP messaging (--listen) considers only event parameters.

Note

Waveform quality control (QC) parameters can be read from databases using scqcquery.

  • Furthermore any object carrying a publicID can be retrieved from the database including its hierarchie or not. See PublicObjects.

Event parameters

To get event, origin or pick information from the database without using SQL commands is an important task for the user. scxmldump queries the database and transforms that information into XML. Events and origins can be treated further by scbulletin for generating bulletins or conversion into other formats including KML.

Many processing modules, e.g., scevent support the on-demand processing of dumped event parameters by the command-line option --ep. Importing event parameters into another database is possible with scdb and sending to a SeisComP messaging is provided by scdispatch.

Hint

Events, origins and picks are referred to by their public IDs. IDs of events and origins can be provided by scevtls and scorgls, respectively. Event, origin and pick IDs can also be read from graphical tools like scolv or used database queries assisted by scquery.

PublicObjects

The option --public-id defines a list of publicIDs to be retrieved from the database. As the data model is extendable via plugins and custom code, scxmldump cannot know all of those object types and how to retrieve them from the database. If a publicID belongs to a type for which the code resides in another library or plugin, then scxmldump must load this plugin or library in order to find the correct database tables. For example, if a strong motion object should be dumped, then the plugin dmsm must be loaded into scxmldump.

scxmldump -d localhost --plugins dbmysql,dmsm --public-id StrongMotionOrigin/123456

This command would only export the StrongMotionOrigin itself without all child objects. Option --with-childs must be passed to export the full hierarchy:

scxmldump -d localhost --plugins dbmysql,dmsm --public-id StrongMotionOrigin/123456 --with-childs

If the extension code resides in a library then LD_PRELOAD can be used to inject the code into scxmldump:

LD_PRELOAD=/home/sysop/seiscomp/lib/libseiscomp_datamodel_sm.so scxmldump -d localhost --public-id StrongMotionOrigin/123456 --with-childs

Format conversion

Conversion of SCML into other formats is supported by sccnv. An XSD schema of the XML output can be found under $SEISCOMP_ROOT/share/xml/.

Examples

  • Dump inventory

    scxmldump -d mysql://sysop:sysop@localhost/seiscomp -fI -o inventory.xml
    
  • Dump config (bindings parameters)

    scxmldump -d localhost -fC -o config.xml
    
  • Dump full event data including the relevant journal entries

    scxmldump -d localhost -fPAMFJ -E test2012abcd -o test2012abcd.xml
    
  • Dump full event data. Event IDs are provided by scevtls and received from stdin

    scevtls -d localhost --begin 2025-01-01 |\
    scxmldump -d localhost -fPAMF -E - -o events.xml
    
  • Dump summary event data

    scxmldump -d localhost -fap -E test2012abcd -o test2012abcd.xml
    
  • Create bulletin from an event using scbulletin

    scxmldump -d localhost -fPAMF -E test2012abcd | scbulletin
    
  • Copy event parameters to another database

    scxmldump -d localhost -fPAMF -E test2012abcd |\
    scdb -i - -d mysql://sysop:sysop@archive-db/seiscomp
    
  • Dump the entire journal:

    scxmldump -d localhost -fJ -o journal.xml
    
  • Dump events received from messaging on local computer:

    scxmldump -H localhost/production --listen
    

Module Configuration

etc/defaults/global.cfg
etc/defaults/scxmldump.cfg
etc/global.cfg
etc/scxmldump.cfg
~/.seiscomp/global.cfg
~/.seiscomp/scxmldump.cfg

scxmldump inherits global options.

Command-Line Options

scxmldump [options]

Generic

-h, --help

Show help message.

-V, --version

Show version information.

--config-file arg

Use alternative configuration file. When this option is used the loading of all stages is disabled. Only the given configuration file is parsed and used. To use another name for the configuration create a symbolic link of the application or copy it. Example: scautopick -> scautopick2.

--plugins arg

Load given plugins.

-D, --daemon

Run as daemon. This means the application will fork itself and doesn’t need to be started with &.

--auto-shutdown arg

Enable/disable self-shutdown because a master module shutdown. This only works when messaging is enabled and the master module sends a shutdown message (enabled with --start-stop-msg for the master module).

--shutdown-master-module arg

Set the name of the master-module used for auto-shutdown. This is the application name of the module actually started. If symlinks are used, then it is the name of the symlinked application.

--shutdown-master-username arg

Set the name of the master-username of the messaging used for auto-shutdown. If "shutdown-master-module" is given as well, this parameter is ignored.

Verbosity

--verbosity arg

Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info, 4:debug.

-v, --v

Increase verbosity level (may be repeated, eg. -vv).

-q, --quiet

Quiet mode: no logging output.

--component arg

Limit the logging to a certain component. This option can be given more than once.

-s, --syslog

Use syslog logging backend. The output usually goes to /var/lib/messages.

-l, --lockfile arg

Path to lock file.

--console arg

Send log output to stdout.

--debug

Execute in debug mode. Equivalent to --verbosity=4 --console=1 .

--log-file arg

Use alternative log file.

Messaging

-u, --user arg

Overrides configuration parameter connection.username.

-H, --host arg

Overrides configuration parameter connection.server.

-t, --timeout arg

Overrides configuration parameter connection.timeout.

-g, --primary-group arg

Overrides configuration parameter connection.primaryGroup.

-S, --subscribe-group arg

A group to subscribe to. This option can be given more than once.

--content-type arg

Overrides configuration parameter connection.contentType.

--start-stop-msg arg

Set sending of a start and a stop message.

Database

--db-driver-list

List all supported database drivers.

-d, --database arg

The database connection string, format: service://user:pwd@host/database. "service" is the name of the database driver which can be queried with "--db-driver-list".

--config-module arg

The config module to use.

--inventory-db arg

Load the inventory from the given database or file, format: [service://]location .

--config-db arg

Load the configuration from the given database or file, format: [service://]location .

Dump

-I, --inventory

Dump the inventory.

--without-station-groups

Remove all station groups from inventory.

--stations sta-list

If inventory is dumped, filter the stations to dump. Wildcards are supported. Format of each item: net[.{sta|*}].

-C, --config

Dump the configuration (bindings).

-J, --journal

Dump the journal. In combination with -E only corresponding journal entries are included.

-R, --routing

Dump the routing.

-Y, --availability

Dump data availability information.

--with-segments

Dump individual data segments. Requires "--availability".

--listen

Listen to the message server for incoming events. Otherwise scxmldump reads from database.

-E, --event ID

Event public ID(s) to dump. Multiple events may be specified as a comma-separated list. Use "-" for reading the IDs as individual lines from stdin.

-O, --origin ID

Origin public ID(s) to dump. Multiple origins may be specified as a comma-separated list. Use "-" for reading the IDs as individual lines from stdin

-P, --with-picks

Add picks associated to origins.

-A, --with-amplitudes

Add amplitudes associated to magnitudes.

-M, --with-magnitudes

Add station magnitudes associated to origins.

-F, --with-focal-mechanism

Add focal mechanisms associated to events.

-a, --ignore-arrivals

Do not dump arrivals of origins.

--ignore-magnitudes

Do not dump (network) magnitudes of origins. This option is most useful in combination with -O to only dump the location information.

-p, --preferred-only

When dumping events only the preferred origin, the preferred magnitude and the preferred focal mechanism will be dumped.

-m, --all-magnitudes

If only the preferred origin is dumped, all magnitudes for this origin will be dumped.

--pick ID

ID(s) of pick(s) to dump. Use ‘-’ to read the IDs as individual lines from stdin.

--public-id ID

ID(s) of any object(s) to dump. Use ‘-’ to read the IDs as individual lines from stdin. No parent objects are dumped.

--with-childs

Dump also all child objects of dumped objects. Valid only in combination with --public-id.

--with-root

Whether to add the container of exported PublicObjects or not. Objects which are not a direct child of EventParameters, Inventory and so on, also referred to as top-level objects, will not be exported. Valid in combination with --public-id.

Output

-f, --formatted

Use formatted XML output. Otherwise all XML is printed on one line.

-o, --output

Name of output file. If not given, output is sent to stdout.

--prepend-datasize

Prepend a line with the length of the XML data.