def find_earthquakes_in_source(self, input_catalogue, distance, upper_depth=None, lower_depth=None, **kwargs): """From a given earthquake catalogue in the form of an MTKCatalogue class, retreive only the events inside the source :param catalogue: Instance of the MTKCatalogue class :param geo_buffer: Geographical buffer (km) to extend polygon selection :param upper_depth: Upper seismogenic depth (km) :param lower_depth: Lower seismogenic depth (km) """ self.catalogue = deepcopy(catalogue) source_selector = Selector(catalogue.data) self.catalogue.data, self.catalogue.number_events = source_selector.select_within_polygon( self.geometry, distance=distance, upper_depth=upper_depth, lower_depth=lower_depth ) if number_selected < 5: raise Warning("Source %i (%s) has fewer than 5 events" % self.source_id, self.name)
def __init__(self, input_catalogue, source_polygon=None, shallow_depth=None, deep_depth=None, polygon_buffer=None): '''Initialise completeness class''' self.source_geometry = source_polygon self.completeness_table = None self.upper_depth = shallow_depth self.lower_depth = deep_depth # Cut catalogue to source geometry if isinstance(source_polygon, Polygon): catalogue_selector = Selector(input_catalogue) self.catalogue = catalogue_selector.select_within_polygon( source_polygon, distance = polygon_buffer, upper_depth = self.upper_depth, lower_depth = self.lower_depth)[0] else: self.catalogue = deepcopy(input_catalogue) self.model = Completeness() self.completeness_table = None self.valid_config = False