SCMAG(1)

NAME
scmag - SeisComP Documentation

Calculates magnitudes of different types.

DESCRIPTION

The purpose of scmag is to compute magnitudes from pre-computed amplitudes. Instead it takes amplitudes and origins as input and produces StationMagnitudes and (network) Magnitudes as output. It does not access waveforms. The resulting magnitudes are sent to the "MAGNITUDE" group. scmag doesn’t access any waveforms. It only uses amplitudes previously calculated.

The purpose of scmag is the decoupling of magnitude computation from amplitude measurements. This allows several modules to generate amplitudes concurrently, like scautopick or scamp. As soon as an origin comes in, the amplitudes related to the picks are taken either from the memory buffer or the database to compute the magnitudes.

  Relationship between amplitudes and origins

scmag makes use of the fact that origins sent by scautoloc, scolv or other modules include the complete set of arrivals, which reference picks used for origin computation. The picks in turn are referenced by a number of amplitudes, some of which are relevant for magnitude computation.

Read the scamp documentation for more details on amplitude measurements.

  Primary magnitudes

Primary magnitudes are computed from amplitudes and station-event distances. Currently the following primary magnitude types are implemented.

  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.

MLr Local magnitude calculated from MLv amplitudes based on GNS/GEONET specifications for New Zealand (Ristau et al. [58]).

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

  Derived magnitudes

Additionally, scmag derives the following magnitudes from primary magnitudes:

Mw(mB)
    Estimation of the moment magnitude Mw based on mB using the Mw vs. mB regression of Bormann and Saul [38]

Mw(Mwp)
    Estimation of the moment magnitude Mw based on Mwp using the Mw vs. Mwp regression of Whitmore et al. [65]

M   Summary magnitude, which consists of a weighted average of the individual magnitudes and attempts to be a best possible compromise between all magnitudes. See below for configuration and also scevent for how to add the summary magnitude to the list of possible preferred magnitudes or how to make it always preferred.

    More details are given in the section Summary magnitude.

Mw(avg)
    Estimation of the moment magnitude Mw based on a weighted average of other magnitudes, currently MLv, mb and Mw(mB), in future possibly other magnitudes as well, especially those suitable for very large events. The purpose of Mw(avg) is to have, at any stage during the processing, a “best possible” estimation of the magnitude by combining all available magnitudes into a single, weighted average. Initially the average will consist of only MLv and/or mb measurements, but as soon as Mw(mB) measurements become available, these (and in future other large-event magnitudes) become progressively more weight in the average.

    If an amplitude is updated, the corresponding magnitude is updated as well. This allows the computation of preliminary, real-time magnitudes even before the full length of the P coda is available.

STATION MAGNITUDES

Station magnitudes of a particular magnitude type are calculated based on measured amplitudes considered by this magnitude type and the distance between the origin and the station at which the amplitude was measured. Typically, epicentral distance is used for distance. Magnitudes may support configurable distance measures, e.g., MLc. The relation between measured amplitudes, distance and station magnitude is given by a calibration function which is specific to a magnitude type and configurable for some magnitudes.

NOTE: Usually station magnitudes use amplitudes of the same type. However, some magnitude consider amplitudes of another type. E.g. MLr uses amplitudes computed for MLv.

  Regionalization

Depending on the geographic region in which events, stations or entire ray paths are located, different calibration functions and constraints may apply. This is called "magnitude regionalization". The region is defined by a polygon stored in a region file. For a particular magnitude, regionalization can be configured by global parameters, e.g., in $SEISCOMP_ROOT/etc/global.cfg.

1.  Add magnitude type profile to the magnitudes parameters. The name of the profile must be the name of the magnitude type.

2.  Add the profile-specific parameters.

    Example for MLc in $SEISCOMP_ROOT/etc/global.cfg the polygon with name test defined in a BNA file:

    magnitudes.MLc.regionFile = @DATADIR@/spatial/vector/magnitudes/regions.bna
    magnitudes.MLc.region.test.enable = true
    magnitudes.MLc.region.test.A0.logA0 = 0:-1.3, 60:-2.8, 100:-3.0, 400:-4.5, 1000:-5.85

NETWORK MAGNITUDES

The network magnitude is a magnitude value summarizing several station magnitudes values of one origin. Different methods are available for forming network magnitudes from station magnitudes:
Method | Description
mean | The usual mean value.
trimmed mean value | To stabilize the network magnitudes the smallest and the largest 12.5% of the station magnitude values are removed before computing the mean.
median | The usual median value.
median trimmed mean | Removing all station magnitudes with a distance greater than 0.5 (default) from the median of all station magnitudes and computing the mean of all remaining station magnitudes.

Configure the method per magnitude type by magnitudes.average. Default values apply for each magnitude type which are defined by the magnitude itself. In the scolv Magnitudes tab the methods, the stations magnitudes and other parameters can be selected interactively.

SUMMARY MAGNITUDE

scmag can compute a summary magnitude as a weighted sum from all available network magnitudes. This magnitude is typically called M as configured in summaryMagnitude.type.

It is computed as a weighted average over the available magnitudes:

M &= \frac{\sum w_{i} * M_{i}}{\sum w_i} \\ w_{i} &= a_i * stationCount(M_{i}) + b_i

The coefficients a and b can be configured per magnitude type by summaryMagnitude.coefficients.a and summaryMagnitude.coefficients.b, respectively. Furthermore each magnitude type can be specifically added to or excluded from the summary magnitude calculation as defined in summaryMagnitude.whitelist or summaryMagnitude.blacklist, respectively.

NOTE: While the magnitudes are computed by scmag the decision about the preferred magnitude of an event is made by scevent.

PREFERRED MAGNITUDE

The preferred magnitude of an event is set automatically by scevent or interactively in scolv. It can be any network magnitude or the summary magnitude.

MODULE CONFIGURATION
etc/defaults/global.cfg
etc/defaults/scmag.cfg
etc/global.cfg
etc/scmag.cfg
~/.seiscomp/global.cfg
~/.seiscomp/scmag.cfg

scmag inherits global options.

magnitudes
    Default: MLv,mb,mB,Mwp

    Type: list:string

    The magnitude types to be calculated. Station magnitudes are computed from their amplitudes, network magnitudes from their station magnitudes.

minimumArrivalWeight
    Default: 0.5

    Type: double

    The minimum weight of an arrival for an associated amplitude to be used for calculating a magnitude.

    NOTE: magnitudes.* General parameters for computing magnitudes. Others are configured by global binding parameters for specific magnitude types.

magnitudes.average
    Default: default

    Type: list:string

    The methods for computing the network magnitude from station magnitudes. Exactly one method per magnitude can be configured. To define the averaging method per magnitude type append the type after colon, e.g.: "magnitudes.average = default, MLv:median"

    default: Compute the mean if less than 4 contributed station magnitudes exist. Otherwise apply trimmedMean(25), trimmed mean with 25%.

connection.sendInterval
    Default: 1

    Type: int

    Unit: s

    Interval between 2 sending processes. The interval controls how often information is updated.

    NOTE: summaryMagnitude.* The summary magnitude is the weighted average from all defined network magnitude types: Single network magnitude values are multiplied with their magnitude-type specific weight and summed up. The resulting sum is divided by the sum of all weights.

summaryMagnitude.enabled
    Default: true

    Type: boolean

    Enables summary magnitude calculation.

summaryMagnitude.type
    Default: M

    Type: string

    Define the type/name of the summary magnitude.

summaryMagnitude.minStationCount
    Default: 1

    Type: int

    This is the minimum station magnitude required for any magnitude to contribute to the summary magnitude at all. If this is set to 4, then no magnitude with less than 4 station magnitudes is taken into consideration even if this results in no summary magnitude at all. For this reason, the default here is 1 but in a purely automatic system it should be higher, at least 4 is recommended.

summaryMagnitude.singleton
    Default: true

    Type: boolean

    Allow computing the summary magnitude even if only one single network magnitude meeting the other criteria is available. Unselecting this parameter will suppress computing summary magnitudes if only one network magnitude is available.

summaryMagnitude.blacklist
    Type: list:string

    Define the magnitude types to be excluded from the summary magnitude calculation.

summaryMagnitude.whitelist
    Type: list:string

    Define the magnitude types to be included in the summary magnitude calculation.

    NOTE: summaryMagnitude.coefficients.* The coefficients defining the weight of network magnitudes for calculating the summary magnitude. Weight = a * magnitudeStationCount + b.

summaryMagnitude.coefficients.a
    Default: 0, Mw(mB):0.4, Mw(Mwp):0.4

    Type: list:string

    Define the coefficients a. To define the value per magnitude type append the type after colon. A value without a type defines the default value.

summaryMagnitude.coefficients.b
    Default: 1, MLv:2, Mw(mB):-1, Mw(Mwp):-1

    Type: list:string

    Define the coefficients b. To define the value per magnitude type append the type after colon. A value without a type defines the default value.

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.

  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 .

--db-disable
    Do not use the database at all

  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 station magnitudes for all picks associated with an origin where amplitudes are available and the corresponding network magnitudes. Station and network magnitudes having the evaluation status set are ignored. Use --reprocess to include those magnitudes. It outputs an XML text adding the station- and network magnitudes to the input XML file.

--reprocess
    Reprocess also station and network magnitudes with an evaluation status set but do not change original weights. New contributions are added with weight 0.

  Reprocess

--static
    With that flag all existing station magnitudes are recomputed based on their associated amplitudes. If an amplitude cannot be accessed, no station magnitude is updated. Network magnitudes are recomputed based on their station magnitude contributions. No new objects will be created in this mode, it only updates values and weights. The method to accumulate the station magnitudes to form the network magnitude will be read from the existing object and replicated. If it cannot be interpreted, then the configured default for this magnitude type will be used instead. Weights of station magnitudes will be changed according to the accumulation method of the network magnitude.

--keep-weights
    Keep the original weights in combination with --static.

AUTHOR
gempa GmbH, GFZ Potsdam

COPYRIGHT
gempa GmbH, GFZ Potsdam