Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
    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