5.7.1.1. eqcorrscan.utils.mag_calc.amp_pick_event

eqcorrscan.utils.mag_calc.amp_pick_event(event, st, respdir, chans=[u'Z'], var_wintype=True, winlen=0.9, pre_pick=0.2, pre_filt=True, lowcut=1.0, highcut=20.0, corners=4)[source]

Pick amplitudes for local magnitude for a single event. Looks for maximum peak-to-trough amplitude for a channel in a stream, and picks this amplitude and period. There are a few things it does internally to stabilise the result

  1. Applies a given filter to the data - very necessary for small magnitude earthquakes;
  2. Keeps track of the poles and zeros of this filter and removes then from the picked amplitude;
  3. Picks the peak-to-trough amplitude, but records half of this: the specification for the local magnitude is to use a peak amplitude on a horizontal, however, with modern digital seismometers, the peak amplitude often has an additional, DC-shift applied to it, to stabilise this, and to remove possible issues with de-meaning data recorded during the wave-train of an event (e.g. the mean may not be the same as it would be for longer durations), we use half the peak-to-trough amplitude;
  4. Despite the original definition of local magnitude requiring the use of a horizontal channel, more recent work has shown that the vertical channels give more consistent magnitude estimations between stations, due to a reduction in site-amplification effects, we therefore use the vertical channels by default, but allow the user to chose which channels they deem appropriate;
  5. We do not specify that the maximum amplitude should be the S-phase: The original definition holds that the maximum body-wave amplitude should be used - while this is often the S-phase, we do not discrimiate against the P-phase. We do note that, unless the user takes care when assigning winlen and filters, they may end up with amplitude picks for surface waves;
  6. We use a variable window-length by default that takes into account P-S times if available, this is in an effort to include only the body waves. When P-S times are not available we hard-wire a P-S at 0.34 x hypocentral distance.
Parameters:
  • event (obspy.core.event.Event) Event to pick
  • st (obspy.core.Stream) Stream associated with event
  • respdir (str) Path to the response information directory
  • chans (list) List of the channels to pick on, defaults to [‘Z’] - should just be the orientations, e.g. Z,1,2,N,E
  • var_wintype (bool) If True, the winlen will be multiplied by the P-S time if both P and S picks are available, otherwise it will be multiplied by the hypocentral distance*0.34 - derived using a p-s ratio of 1.68 and S-velocity of 1.5km/s to give a large window, defaults to True
  • winlen (float) Length of window, see above parameter, if var_wintype is False then this will be in seconds, otherwise it is the multiplier to the p-s time, defaults to 0.5.
  • pre_pick (float) Time before the s-pick to start the cut window, defaults to 0.2
  • pre_filt (bool) To apply a pre-filter or not, defaults to True
  • lowcut (float) Lowcut in Hz for the pre-filter, defaults to 1.0
  • highcut (float) Highcut in Hz for the pre-filter, defaults to 20.0
  • corners (int) Number of corners to use in the pre-filter
Returns:

obspy.core.event