7.0.0

# MLc

Custom magnitude for local events measured on horizontal components

## Description

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.

### Amplitudes

Some general conditions apply for measuring amplitudes:

- Name 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 parameters for measuring MLc amplitudes can be adjusted by global binding parameters:

Topic | Parameter | Default | Comment
--- | --- | --- | ---
Filtering | `amplitudes.MLc.preFilter` | BW(3,0.5,12) | Applied before instrument simulation
Wood-Anderson simulation | `amplitudes.MLc.applyWoodAnderson` | true | When WA simulation is inactive, measured amplitudes take the units of the gain of the stream on which they were measured.
Wood-Anderson parameters | `amplitudes.WoodAnderson.gain`, `amplitudes.WoodAnderson.T0`, `amplitudes.WoodAnderson.h` | 2080, 0.8, 0.7 | Defaults: see IASPEI recommendation.
Amplitude scaling | `amplitudes.MLc.amplitudeScale` | 1 | Apply for scaling measured amplitudes to units required by the magnitude
Amplitude combination | `amplitudes.MLc.combiner` | max | Method for combining amplitudes measured on both horizontal components

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

Topic | Parameter | Default | Comment
--- | --- | --- | ---
Minimum distance | `amplitudes.$name.minDist` | 0 |
Maximum distance | `amplitudes.$name.maxDist` | 8 | Cannot be extended beyond default
Minimum source depth | `amplitudes.$name.minDepth` | 0 | Can be negative
Maximum source depth | `amplitudes.$name.maxDepth` | 80 | Can be extended beyond default
Noise window begin | `amplitudes.$name.noiseBegin` | -30 | (+++)
Noise window end | `amplitudes.$name.noiseEnd` | -5 | (+++)
Signal window begin | `amplitudes.$name.signalBegin` | -5 | (+++)
Signal window end | `amplitudes.$name.signalEnd` | 150 (+) or distance/3+30 (++) | (+) When measured by scautopick, (++) When measured by scamp or scolv (+++)
Minimum SNR | `amplitudes.$name.minSNR` | not applied | Compares the maximum amplitudes measured within the signal and noise windows
Period range | NA | NA | Period is not measured. A configuration will prevent any MLc amplitude from being measured
Amplitude saturation | `amplitudes.$name.saturationThreshold` | false | Apply for avoiding measurements on clipped data
Response correction | `amplitudes.$name.enableResponses` | false | Activate for input units other than nm/s and set `amplitudes.$name.resp.minFreq`, `amplitudes.$name.resp.maxFreq`

(+++) All values defining the time windows for measuring noise and signal are relative to P arrival time, read Time grammar.

The default values are valid for SW-Germany (Stange [71]). 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.

Note

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

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

### Station magnitudes

Station magnitudes are computed from measured amplitudes by applying a configurable calibration function when the origin is within depths and distance constraints. The parameters are configurable in global bindings or by global module parameters when applying regionalization.

Station corrections are configurable by a magnitude-type profile named MLc in global bindings with `magnitudes.$name.offset` or the equivalent in global module configuration as `module.trunk.NET.STA.magnitudes.MLc.offset`. The latter is not supported by scconfig but it reduces the amount of required bindings.

The calibration function is considered in one of the forms

- Parametric when `magnitudes.MLc.calibrationType` = “parametric”`:

  where

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

  - c1 - c8: general calibration parameters

  - c0: station-specific correction

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

  - h: (source depth - `magnitudes.MLc.parametric.H`) when source depth > `magnitudes.MLc.parametric.H` but 0 otherwise.

  The default values are valid for SW-Germany (Stange [71]). c6, H have been added for supporting dependency on depth (Rhoades et al. [65]) and c7, c8 for observations at short distances (Luckett et al. [61]).

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

  where

  - : distance-dependent correction value. Read MLv for the details.

Note

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

Configurable parameters:

Topic | Parameter | Default | Comment
--- | --- | --- | ---
Distance type | `magnitudes.MLc.distMode` | hypocentral | epicentral or hyocentral can be selected
Minimum distance | `magnitudes.MLc.minDist` | -1 |
Maximum distance | `magnitudes.MLc.maxDist` | 8 | Measurements beyond 8 deg are strictly ignored
Minimum source depth | `magnitudes.MLc.minDepth` | -10 |
Maximum source depth | `magnitudes.MLc.maxDepth` | 80 | Can be extended beyond default
Period range | NA | NA | Period is not measured. A configuration will prevent any MLc magnitude from being computed
Amplitude type |  | MLc | Configurable by amplitude and magnitude alias
Amplitude unit |  | mm | other units can be assumed by amplitude scaling with `amplitudes.MLc.amplitudeScale`
Magnitude calibration type | `magnitudes.MLc.calibrationType` | parametric | parametric and A0 (non-parametric) are available
Linear magnitude correction | `magnitudes.$name.multiplier` | 1.0 | Configure station corrections more conveniently configurable in global module configuration as `module.trunk.NET.STA.magnitudes.MLc.multiplier`
Constant magnitude correction | `magnitudes.$name.offset` | 0.0 | Configure station corrections more conveniently configurable in global module configuration as `module.trunk.NET.STA.magnitudes.MLc.offset`
parametric calibration |  |  | Parameters are used for `magnitudes.MLc.calibrationType` = parametric
| `magnitudes.MLc.parametric.c0` | 0.0 |
| `magnitudes.MLc.parametric.c1` | 0.69 |
| `magnitudes.MLc.parametric.c2` | 0.00095 |
| `magnitudes.MLc.parametric.c3` | 1.11 |
| `magnitudes.MLc.parametric.c4` | 0.0 |
| `magnitudes.MLc.parametric.c5` | 1.0 |
| `magnitudes.MLc.parametric.c6` | 0.0 | see Rhoades et al. [65]
| `magnitudes.MLc.parametric.H` | 40.0 | see Rhoades et al. [65]
| `magnitudes.MLc.parametric.c7` | 0.0 | see Luckett et al. [61]
| `magnitudes.MLc.parametric.c8` | 0.0 | see Luckett et al. [61]
non-parametric calibration |  |  | Parameters are used for `magnitudes.MLc.calibrationType` = A0
| `magnitudes.MLc.A0.logA0` | 0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85 | from ML magnitude

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

### Aliases

Amplitude and magnitude aliases can be created by `magnitudes.aliases` and `amplitudes.aliases`, respectively, 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

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

## Examples

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 [71]:

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

- 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 [52]:

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

## Setup

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.