openquake.hmtk.seismicity.occurrence package#

Submodules#

openquake.hmtk.seismicity.occurrence.aki_maximum_likelihood module#

class openquake.hmtk.seismicity.occurrence.aki_maximum_likelihood.AkiMaxLikelihood[source]#

Bases: SeismicityOccurrence

calculate(catalogue, config=None, completeness=None)[source]#

Calculation of b-value and its uncertainty for a given catalogue, using the maximum likelihood method of Aki (1965), with a correction for discrete bin width (Bender, 1983).

Parameters:
  • catalogue – See openquake.hmtk.seismicity.occurrence.base.py for further explanation

  • config – The configuration in this case do not contains specific information

  • completeness (float) – Completeness magnitude

Return float bval:

b-value of the Gutenberg-Richter relationship

Return float sigma_b:

Standard deviation of the GR b-value

openquake.hmtk.seismicity.occurrence.b_maximum_likelihood module#

class openquake.hmtk.seismicity.occurrence.b_maximum_likelihood.BMaxLikelihood[source]#

Bases: SeismicityOccurrence

Implements maximum likelihood calculations taking into account time variation in completeness”

calculate(catalogue, config, completeness=None)[source]#

Calculates recurrence parameters a_value and b_value, and their respective uncertainties

Parameters:
  • catalogue – Earthquake Catalogue An instance of openquake.hmtk.seismicity.catalogue

  • config (dict) – A configuration dictionary; the only parameter that can be defined in this case if the type of average to be applied in the calculation

  • completeness (list or numpy.ndarray) – Completeness table

openquake.hmtk.seismicity.occurrence.base module#

class openquake.hmtk.seismicity.occurrence.base.SeismicityOccurrence[source]#

Bases: object

Implements recurrence calculations for instrumental seismicity

abstract calculate(catalogue, config, completeness=None)[source]#

Implements recurrence calculation

Parameters:
  • catalogue – An instance of openquake.hmtk.seismicity.catalogue

  • config (dict) – The config contains the necessary information to run a specific algorithm.

  • completeness (numpy.ndarray) – The completeness matrix

openquake.hmtk.seismicity.occurrence.kijko_smit module#

class openquake.hmtk.seismicity.occurrence.kijko_smit.KijkoSmit[source]#

Bases: SeismicityOccurrence

Class to Implement the Kijko & Smit (2012) algorithm for estimation of a- and b-value

calculate(catalogue, config, completeness=None)[source]#

Main function to calculate the a- and b-value

openquake.hmtk.seismicity.occurrence.penalized_mle module#

class openquake.hmtk.seismicity.occurrence.penalized_mle.PenalizedMLE[source]#

Bases: SeismicityOccurrence

Test Implementation of the Penalized Maximum Likelihood function

IERR = {1: 'No events in catalogue - returning prior', 2: 'Failure of convergence - returning prior'}#
calculate(catalogue, config, completeness)[source]#

Calculates the b-value and rates (and their corresponding standard deviations) using the Penalized MLE approach

Parameters:
  • config (dict) – Configuration parameters

  • catalogue – Earthquake catalogue as instance of :class: openquake.hmtk.seismicity.catalogue.Catalogue

  • completeness – Completeness table

Returns:

b-value, standard deviation on b, rate (or a-value), standard deviation on a

openquake.hmtk.seismicity.occurrence.utils module#

openquake.hmtk.seismicity.occurrence.utils.generate_synthetic_magnitudes(aval, bval, mmin, mmax, nyears)[source]#

Generates a synthetic catalogue for a specified number of years, with magnitudes distributed according to a truncated Gutenberg-Richter distribution

Parameters:
  • aval (float) – a-value

  • bval (float) – b-value

  • mmin (float) – Minimum Magnitude

  • mmax (float) – Maximum Magnitude

  • nyears (int) – Number of years

Returns:

Synthetic catalogue (dict) with year and magnitude attributes

openquake.hmtk.seismicity.occurrence.utils.generate_trunc_gr_magnitudes(bval, mmin, mmax, nsamples)[source]#

Generate a random list of magnitudes distributed according to a truncated Gutenberg-Richter model

Parameters:
  • bval (float) – b-value

  • mmin (float) – Minimum Magnitude

  • mmax (float) – Maximum Magnitude

  • nsamples (int) – Number of samples

Returns:

Vector of generated magnitudes

openquake.hmtk.seismicity.occurrence.utils.get_completeness_counts(catalogue, completeness, d_m)[source]#

Returns the number of earthquakes in a set of magnitude bins of specified with, along with the corresponding completeness duration (in years) of the bin

Parameters:
  • catalogue – Earthquake catalogue as instance of :class: openquake.hmtk.seisimicity.catalogue.Catalogue

  • completeness (numpy.ndarray) – Completeness table [year, magnitude]

  • d_m (float) – Bin size

Returns:

  • cent_mag - array indicating center of magnitude bins

  • t_per - array indicating total duration (in years) of completeness

  • n_obs - number of events in completeness period

openquake.hmtk.seismicity.occurrence.utils.input_checks(catalogue, config, completeness)[source]#

Performs a basic set of input checks on the data

openquake.hmtk.seismicity.occurrence.utils.recurrence_table(mag, dmag, year, time_interval=None)[source]#

Table of recurrence statistics for each magnitude [Magnitude, Number of Observations, Cumulative Number of Observations >= M, Number of Observations (normalised to annual value), Cumulative Number of Observations (normalised to annual value)] Counts number and cumulative number of occurrences of each magnitude in catalogue

Parameters:
  • mag (numpy.ndarray) – Catalog matrix magnitude column

  • dmag (numpy.ndarray) – Magnitude interval

  • year (numpy.ndarray) – Catalog matrix year column

Returns numpy.ndarray recurrence table:

Recurrence table

openquake.hmtk.seismicity.occurrence.weichert module#

class openquake.hmtk.seismicity.occurrence.weichert.Weichert[source]#

Bases: SeismicityOccurrence

Class to Implement Weichert Algorithm

calc(catalogue, config, completeness=None)[source]#

Calculates GR params

calculate(catalogue, config, completeness=None)[source]#

Calculates b value and rate for mag ref

weichert_algorithm(tper, fmag, nobs, mrate=0.0, bval=1.0, itstab=1e-05, maxiter=1000)[source]#

Weichert algorithm

Parameters:
  • tper (numpy.ndarray (float)) – length of observation period corresponding to magnitude

  • fmag (numpy.ndarray (float)) – central magnitude

  • nobs (numpy.ndarray (int)) – number of events in magnitude increment

  • mrate (float) – reference magnitude

  • bval – initial value for b-value

  • itstab (float) – stabilisation tolerance

  • maxiter (Int) – Maximum number of iterations

Returns:

b-value, sigma_b, a-value, sigma_a

Return type:

float

Module contents#