# scamp — SeisComP Release documentation

6.9.0

# scamp

Calculates amplitudes on basis of incoming origins and the associated picks.

## Description

scamp measures several different kinds of amplitudes from waveform data. It listens for origins and measures amplitudes in time windows determined from the origin. Thus, in contrast to amplitudes measured by scautopick the considered time windows can depend on epicentral distance. The resulting amplitude objects are sent to the “AMPLITUDE” messaging group. scamp is the counterpart of scmag. Usually, all amplitudes are computed at once by scamp and then published. Only very rarely an amplitude needs to be recomputed if the location of an origin changes significantly. The amplitude can be reused by scmag, making magnitude computation and update efficient. Currently, the automatic picker in SeisComP, scautopick, also measures a small set of amplitudes (namely “snr” and “mb”, the signal-to-noise ratio and the amplitude used in mb magnitude computation, respectively) for each automatic pick in fixed time windows. If there already exists an amplitude, e.g. a previously determined one by scautopick, scamp will not measure it again for the respective stream.

Amplitudes are also needed, however, for manual picks. scamp does this as well. Arrivals with weight smaller than 0.5 (default) in the corresponding Origin are discarded. This minimum weight can be configured with `amptool.minimumPickWeight`.

## Amplitude Types

Amplitudes of many types are currently computed for their corresponding magnitudes.

Note

In order to be used by scmag, the input amplitude names for the various magnitude types must typically match exactly. Exceptions:

- MN requires AMN amplitudes,

- MLr requires MLv amplitudes.

### Local distances

Md

  Duration magnitude as described in HYPOINVERSE (Klein [50]).

Mjma

  Mjma is computed on displacement data using body waves of period < 30s.

ML

  Local (Richter) magnitude calculated on the horizontal components using a correction term to fit with the standard ML (Richter [57]).

MLc

  Local custom magnitude calculated on the horizontal components according to Hessian Earthquake Service and Stange [62]

MLh

  Local magnitude calculated on the horizontal components according to SED specifications.

MLv

  Local magnitude calculated on the vertical component using a correction term to fit with the standard ML.

AMN for MN

  Nuttli magnitude for Canada and other Cratonic regions (Nuttli [53]).

### Teleseismic distances

mb

  Narrow band body wave magnitude measured on a WWSSN-SP filtered trace

mBc

  Cumulative body wave magnitude

mB

  Broad band body wave magnitude after Bormann and Saul [38]

Mwp

  The body wave magnitude of Tsuboi et al. [63]

Ms_20

  Surface-wave magnitude at 20 s period

Ms(BB)

  Broad band surface-wave magnitude

## Acceleration Input Data

For amplitudes to be computed, the input waveforms are usually given in velocity. Acceleration data, e.g. from strong-motion instruments must therefore be transformed to velocity. The transformation is enabled by activating the response correction. Activate the correction in the global bindings for all types or in a new Amplitude type profile for specific types.

Example global binding parameters for computing MLv amplitudes from accleration data. Here, the frequency range is limited to 0.5 - 20 Hz:

    amplitudes.MLv.enableResponses = true
    amplitudes.MLv.resp.taper = 5
    amplitudes.MLv.resp.minFreq = 0.5
    amplitudes.MLv.resp.maxFreq = 20

## Re-processing

scamp can be used to reprocess and to update amplitudes, e.g. when inventory paramters had to be changed retrospectively. Updating ampitudes requires waveform access. The update can be performed

1. In offline processing based on XML files (`--ep`). `--reprocess` will replace exisiting amplitudes. Updated values can be dispatched to the messing by scdispatch making them available for further processing, e.g. by scmag.

   Example:

       $ scamp --ep evtID.xml -d [type]://[host]/[database] --reprocess > evtID_update.xml
       $ scdispatch -O merge -H [host] -i evtID_update.xml

2. With messaging by setting `start-time` or `end-time`. All parameters are read from the database. `--commit` will send the updated parameters to the messing system making them available for further processing, e.g. by scmag. Otherwise, XML output is generated.

   Example:

       $ scamp -u testuser -H [host] --commit \
               --start-time '2016-10-15 00:00:00' --end-time '2016-10-16 19:20:00'

## Module Configuration

`etc/defaults/global.cfg`
`etc/defaults/scamp.cfg`
`etc/global.cfg`
`etc/scamp.cfg`
`~/.seiscomp/global.cfg`
`~/.seiscomp/scamp.cfg`

scamp inherits global options.

amplitudes

  Default: `MLv, mb, mB, Mwp`

  Type: list:string

  Definition of magnitude types for which amplitudes are to be calculated.

amptool.minimumPickWeight

  Default: `0.5`

  Type: double

  The minimum arrival weight within an origin to compute amplitudes for the associated pick.

amptool.streamFromBindings

  Default: `false`

  Type: boolean

  If enabled then global bindings will be used to replace location code and channel code of a pick with the configured values of detecLocid and detecStream for amplitude computation.

amptool.initialAcquisitionTimeout

  Default: `30`

  Type: double

  Unit: s

  Timeout in seconds of the first data packet of waveform data acquisition.

amptool.runningAcquisitionTimeout

  Default: `2`

  Type: double

  Unit: s

  Timeout in seconds of any subsequent data packet of waveform data acquisition.

## Command-Line 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.

-x, --expiry time

  Time span in hours after which objects expire.

-O, --origin-id publicID

  OriginID to calculate amplitudes for and exit.

--dump-records

  Dumps the filtered traces to ASCII when using -O.

### 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.

--test

  Test mode where no messages are sent.

### 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 .

--db-disable

  Do not use the database at all

### Records

--record-driver-list

  List all supported record stream drivers.

-I, --record-url arg

  The recordstream source URL, format: [service://]location[#type]. "service" is the name of the recordstream driver which can be queried with "--record-driver-list". If "service" is not given, "file://" is used.

--record-file arg

  Specify a file as record source.

--record-type arg

  Specify a type for the records being read.

### Input

--ep file

  Defines an event parameters XML file to be read and processed. This implies offline mode and only processes all origins contained in that file. It computes amplitudes for all picks associated with an origin and outputs an XML file that additionally contains the amplitudes.

-p, --picks

  Force measuring amplitudes for picks only. Origins are ignored and time windows are independent of distance. Works only in combination with --ep.

--reprocess

  Reprocess and update existing amplitudes. Manual amplitudes will be skipped. Works only in combination with --ep. This option can be used, e.g., for reprocessing amplitudes with new inventory information. Waveform access is required.

### Reprocess

--force

  Forces reprocessing of all amplitudes, even manual ones.

--start-time time

--end-time time

--commit

  Send amplitude updates to the messaging otherwise an XML document will be output.