openquake.hmtk.seismicity.smoothing package#
Subpackages#
Submodules#
openquake.hmtk.seismicity.smoothing.smoothed_seismicity module#
Module :mod: openquake.hmtk.seismicity.smoothing.smoothed_seismicity implements the :class: openquake.hmtk.seismicity.smoothing.smoothed_seismicity.SmoothedSeismicity, a general class for implementing seismicity smoothing algorithms
- class openquake.hmtk.seismicity.smoothing.smoothed_seismicity.Grid[source]#
Bases:
dict
- class openquake.hmtk.seismicity.smoothing.smoothed_seismicity.IsotropicGaussianMethod[source]#
Bases:
object
- class openquake.hmtk.seismicity.smoothing.smoothed_seismicity.SmoothedSeismicity(grid_limits, use_3d=False, bvalue=None)[source]#
Bases:
object
Class to implement an analysis of Smoothed Seismicity, including the grid counting of data and the smoothing.
- Parameters:
grid (np.ndarray) – Observed count in each cell [Long., Lat., Depth., Count]
catalogue – Valid instance of the :class: openquake.hmtk.seismicity.catalogue.Catalogue
use_3d (bool) – Decide if analysis is 2-D (False) or 3-D (True). If 3-D then distances will use hypocentral distance, otherwise epicentral distance
bval (float) – b-value
beta (float) – Beta value for exponential form (beta = bval * log(10.))
data (np.ndarray) – Smoothed seismicity output
grid_limits (dict) – Limits ot the grid used for defining the cells
- create_2D_grid_simple(longitude, latitude, year, magnitude, completeness_table, t_f=1.0, mag_inc=0.1)[source]#
Generates the grid from the limits using an approach closer to that of Frankel (1995)
- Parameters:
longitude (numpy.ndarray) – Vector of earthquake longitudes
latitude (numpy.ndarray) – Vector of earthquake latitudes
year (numpy.ndarray) – Vector of earthquake years
magnitude (numpy.ndarray) – Vector of earthquake magnitudes
completeness_table (numpy.ndarray) – Completeness table
t_f (float) – Weichert adjustment factor
- Returns:
Two-dimensional spatial grid of observed rates
- create_3D_grid(catalogue, completeness_table, t_f=1.0, mag_inc=0.1)[source]#
Counts the earthquakes observed in a three dimensional grid
- Parameters:
catalogue – Instance of the openquake.hmtk.seismicity.catalogue.Catalogue class catalogue.data dictionary containing the following - ‘year’ - numpy.ndarray vector of years ‘longitude’ - numpy.ndarray vector of longitudes ‘latitude’ - numpy.ndarray vector of latitudes ‘depth’ - numpy.ndarray vector of depths
completeness_table (np.ndarray) – Completeness of the catalogue assuming evenly spaced magnitudes from most recent bin to oldest bin [year, magnitude]
t_f (float) – Weichert adjustment factor
mag_inc (float) – Increment of the completeness magnitude (rendered 0.1)
- Returns:
Three-dimensional spatial grid of observed rates (or two dimensional if only one depth layer is considered)
- run_analysis(catalogue, config, completeness_table=None, smoothing_kernel=None)[source]#
Runs an analysis of smoothed seismicity in the manner originally implemented by Frankel (1995)
- Parameters:
catalogue – Instance of the openquake.hmtk.seismicity.catalogue.Catalogue class catalogue.data dictionary containing the following - ‘year’ - numpy.ndarray vector of years ‘longitude’ - numpy.ndarray vector of longitudes ‘latitude’ - numpy.ndarray vector of latitudes ‘depth’ - numpy.ndarray vector of depths
config (dict) – Configuration settings of the algorithm: * ‘Length_Limit’ - Maximum number of bandwidths for use in smoothing (Float) * ‘BandWidth’ - Bandwidth (km) of the Smoothing Kernel (Float) * ‘increment’ - Output incremental (True) or cumulative a-value (False)
completeness_table (np.ndarray) – Completeness of the catalogue assuming evenly spaced magnitudes from most recent bin to oldest bin [year, magnitude]
smoothing_kernel – Smoothing kernel as instance of :class: openquake.hmtk.seismicity.smoothing.kernels.base.BaseSmoothingKernel
- Returns:
Full smoothed seismicity data as np.ndarray, of the form [Longitude, Latitude, Depth, Observed, Smoothed]
openquake.hmtk.seismicity.smoothing.utils module#
Module openquake.hmtk.seismicity.smoothing.utils
implements
utility functions for smoothed seismicity analysis
- openquake.hmtk.seismicity.smoothing.utils.check_completeness_table(completeness_table, catalogue)[source]#
Check to ensure completeness table is in the correct format completeness_table = np.array([[year_, mag_i]]) for i in number of bins
- Parameters:
completeness_table (np.ndarray) – Completeness table in format [[year, mag]]
catalogue – Instance of openquake.hmtk.seismicity.catalogue.Catalogue class
- Returns:
Correct completeness table
- openquake.hmtk.seismicity.smoothing.utils.get_even_magnitude_completeness(completeness_table, catalogue=None)[source]#
To make the magnitudes evenly spaced, render to a constant 0.1 magnitude unit
- Parameters:
completeness_table (np.ndarray) – Completeness table in format [[year, mag]]
catalogue – Instance of openquake.hmtk.seismicity.catalogue.Catalogue class
- Returns:
Correct completeness table
- openquake.hmtk.seismicity.smoothing.utils.get_weichert_factor(beta, cmag, cyear, end_year)[source]#
Gets the Weichert adjustment factor for each the magnitude bins
- Parameters:
beta (float) – Beta value of Gutenberg & Richter parameter (b * log(10.))
cmag (np.ndarray) – Magnitude values of the completeness table
cyear (np.ndarray) – Year values of the completeness table
end_year (float) – Last year for consideration in the catalogue
- Returns:
Weichert adjustment factor (float)
- openquake.hmtk.seismicity.smoothing.utils.hermann_adjustment_factors(bval, min_mag, mag_inc)[source]#
Returns the adjustment factors (fval, fival) proposed by Hermann (1978)
- Parameters:
bval (float) – Gutenberg & Richter (1944) b-value
min_mag (np.ndarray) – Minimum magnitude of completeness table
mag_inc (non-negative float) – Magnitude increment of the completeness table
- openquake.hmtk.seismicity.smoothing.utils.incremental_a_value(bval, min_mag, mag_inc)[source]#
Incremental a-value from cumulative - using the version of the Hermann (1979) formula described in Wesson et al. (2003)
- Parameters:
bval (float) – Gutenberg & Richter (1944) b-value
min_mag (np.ndarray) – Minimum magnitude of completeness table
mag_inc (float) – Magnitude increment of the completeness table