Custom magnitude for local events measured on horizontal components


MLc is a custom magnitude for local events based on ML but with greater flexibility. The original implementation is based on specifications by the Hessian Agency for Nature Conservation, Environment and Geology, Hessian Earthquake Service. More options have been added allowing the magnitude to be configured with great flexibility in order to account for many different conditions. The general procedures for measuring amplitudes and computing magnitudes are outlined in the “Concepts” section on magnitudes.

The MLc magnitude is very similar to the original ML, except that

  • Amplitude pre-filtering is applied by default.

  • Wood-Anderson simulation is optionally applied and can be deactivated.

  • Measured amplitudes can be scaled accounting for expected units.

  • Measured amplitudes are combined by taking the maximum instead of the average.

  • A parametric magnitude calibration function applies but a correction in the form log10(A0) can be configured for converting measured amplitudes to station magnitudes.

  • Hypocentral instead of epicentral distance is considered by default.


Some general conditions apply for measuring amplitudes:

  • Measured amplitude type: MLc.

  • Expected unit of gain-corrected input data: m/s. Activate response correction in global bindings in case data are provided in acceleration.

  • Components used for amplitude measurements: both horizontal components separately.

The default parameters for measuring MLc amplitudes can be adjusted by global binding parameters:

Some additional parameters require you to create an amplitude-type profile for global binding parameters. Name the profile like the amplitude name, hence MLc:

  • Time window for measuring signal amplitudes [s]: P pick time + 150 s by scautopick or distance [km]/3 km/s + 30 s, the relevant parameters are: amplitudes.MLc.signalBegin, amplitudes.MLc.signalEnd. Time grammar may be applied for begin and end times.

  • Time window for measuring noise amplitudes [s]: 30 s before the P pick, the relevant parameters are: amplitudes.MLc.noiseBegin, amplitudes.MLc.noiseEnd. Time grammar may be applied for begin and end times.

  • Minimum SNR: 0, configurable by amplitudes.MLc.minSNR.

  • Distance range: 0 - 8 deg, configurable by amplitudes.MLc.minDist, amplitudes.MLc.maxDist, stations at distances beyond 8 deg will be strictly ignored.

  • Depth range: <= 80 km, can be adjusted and extended by amplitudes.MLc.minDepth and amplitudes.MLc.maxDepth.

Most parameters controlling the amplitude measurements are configurable in global bindings or global module configuration.

The Wood-Anderson simulation will convert input velocity data to ground displacement in mm. The input data may be of a different unit after applying amplitudes.MLc.preFilter, e.g. when integration is applied, and / or when Wood-Anderson simulation is disabled. Configure amplitudes.MLc.amplitudeScale for converting the unit of the processed data to the unit expected by the station magnitude calibration for the measured amplitude.


For comparing MLc amplitudes with ML amplitudes set the global bindings parameters

amplitudes.MLc.preFilter = ""
amplitudes.MLc.combiner = average

Station magnitudes

Default properties, most parameters are configurable in global bindings:

The calibration function is considered in one of the forms

  • parametric when magnitudes.MLc.calibrationType = “parametric”`:

    MLc = \log_{10}(A) + c_3 * \log_{10}(r/c_5) + c_2 * (r + c_4) + c_1 + c_0(station)


    • A: displacement amplitude measured in unit of mm or as per configuration

    • r: hypocentral (default) or epicentral distance

    • c1, c2, c3, c4, c5: general calibration parameters

    • c0: station-specific correction

    • r: Hypocentral (default) or epicentral distance as configured by magnitudes.MLc.distMode.

    The default values are valid for SW-Germany (Stange [61]), c6 and H have been added for supporting dependency on depth (Rhoades et al. [56]).

  • log10(A0)-based non-parametric when magnitudes.MLc.calibrationType = “A0”`:

    MLc = \log_{10}(A) - \log_{10}(A_0)


    • log_{10}(A_0): distance-dependent correction value. Read MLv for the details.


The magnitude calibration function can be regionalized by adjusting global module configuration parameters in MLc region profiles of magnitudes.MLc.region.* and in a MLc Magnitude type profile e.g. in global.cfg.

The flexibility of the amplitude and magnitude processing allows for MLc to be applied in various use cases. Examples are given below.

  • Default: Pre-filtered and gain-corrected amplitudes, Wood-Anderson corrected and measured in mm for Southwestern Germany, Stange [61]:

    MLc = \log_{10}(A) + 1.11 * \log_{10}(r) + 0.00095 * r + 0.69 + c_0

  • Wood-Anderson-corrected displacement amplitudes measured in mm for Southern California, Hutton and Boore [45]:

    MLc = \log_{10}(A) + 1.110 * \log_{10}(r / 100) + 0.00189 * (r - 100) + 3.0

  • Pre-filtered velocity amplitudes in units of mym/s (requiring to set amplitudes.MLc.amplitudeScale), no Wood-Anderson correction, for West Bohemia, e.g. Hiemer and Roessler [44]:

    MLc = \log_{10}(A) - log_{10}(2\Pi) + 2.1 * \log_{10}(r) - 1.7 + c_0


MLc magnitudes for measured amplitude of 1 mm with default magnitude calibration (MLc_s, Stange [61]) and calibration values for Southern California (MLc_hb, Hutton and Boore [45]).

Network magnitude

The network magnitude is computed from station magnitudes automatically by scmag or interactively by scolv. Originally the median was computed from all station MLc to form the network magnitude MLc. Here, the trimmed mean is applied. Outliers beyond the outer 12.5% percentiles are removed before forming the mean. The method can be adjusted in scmag by magnitudes.average.

Moment magnitude

MLc can be scaled to a moment magnitude, Mw(MLc), by a magnitude-type profile in global module configuration. Read the Tutorial on moment magnitudes for the details.

Magnitude aliases

Magnitude aliases can be created by magnitudes.aliases in global module configuration in order to derive other magnitude types from original amplitudes and magnitudes. The actual amplitude and magnitude parameters of the aliases will be configured in global bindings or by magnitude-type profiles in global module configuration. Read the Tutorial on magnitude aliases for the details.


Regionalization may be achieved by a magnitude-type profile in global module configuration. Read the Tutorial on regionalization for the details.


  1. Set the configuration and calibration parameters in the global bindings similar to ML. Instead of configuring lots of global bindings profiles or station bindings one line per parameter can be added to the global module configuration (global.cfg) which takes the form

    module.trunk.NET.STA.amplitudes.MLc.preFilter = value
    module.trunk.NET.STA.magnitudes.MLc.parametric.c0 = value
  2. Add MLc to the list of default amplitudes and magnitudes if MLc is to be computed by automatic modules, e.g. of scamp, scmag.

  3. Configure scmag (magnitudes.average in scmag.cfg) for choosing the method to form the network magnitude from station magnitudes, e.g.

    magnitudes.average = MLc:median
  4. Add MLc to the list of magnitudes preferred by scevent (eventAssociation.magTypes in scevent.cfg) in order to let MLc become the preferred magnitude.

  5. Set defaults/visibility of MLc in GUI modules, e.g. scolv or scesv.


All default values for bindings configuration parameters are from Stange [61].