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: openquake.hmtk.seismicity.occurrence.base.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: openquake.hmtk.seismicity.occurrence.base.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
  • or numpy.ndarray completeness (list) – Completeness table

openquake.hmtk.seismicity.occurrence.base module

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

Bases: object

Implements recurrence calculations for instrumental seismicity

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: openquake.hmtk.seismicity.occurrence.base.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: openquake.hmtk.seismicity.occurrence.base.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.downsample_completeness_table(comp_table, sample_width=0.1, mmax=None)[source]

Re-sample the completeness table to a specified sample_width

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: openquake.hmtk.seismicity.occurrence.base.SeismicityOccurrence

Class to Implement Weichert Algorithm

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

Calculates recurrence using the Weichert (1980) method

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