def test_filtering_non_empty_eq_catalog(self):
        eq_internal_point = [2000, 1, 2, -0.25, 0.25]
        eq_side_point = [2000, 1, 2, -0.5, 0.25]
        eq_external_point = [2000, 1, 2, 0.5, 0.25]
        eq_catalog = np.array([eq_internal_point, eq_side_point, eq_external_point])

        sm_filter = SourceModelCatalogFilter()

        expected_catalog = np.array([eq_internal_point])
        self.assertTrue(np.array_equal(expected_catalog, sm_filter.filter_eqs(self.sm_geometry, eq_catalog)))
    def test_source_model_calling_a_filter(self):
        sm_filter = SourceModelCatalogFilter()
        sm_filter.filter_eqs = Mock()
        sm_filter.filter_eqs.return_value = []

        catalog_filter = CatalogFilter(sm_filter)

        gen = catalog_filter.filter_eqs([dict(a=1), dict(b=2)], [])
        self.assertEqual((dict(a=1), []), gen.next())
        self.assertEqual((dict(b=2), []), gen.next())

        self.assertEqual(dict(a=1), sm_filter.filter_eqs.call_args_list[0][0][0])
        self.assertEqual(dict(b=2), sm_filter.filter_eqs.call_args_list[1][0][0])
Example #3
0
    def test_filtering_non_empty_eq_catalog(self):
        eq_internal_point = [2000, 1, 2, -0.25, 0.25]
        eq_side_point = [2000, 1, 2, -0.5, 0.25]
        eq_external_point = [2000, 1, 2, 0.5, 0.25]
        eq_catalog = np.array(
            [eq_internal_point, eq_side_point, eq_external_point])

        sm_filter = SourceModelCatalogFilter()

        expected_catalog = np.array([eq_internal_point])
        self.assertTrue(
            np.array_equal(expected_catalog,
                           sm_filter.filter_eqs(self.sm_geometry, eq_catalog)))
Example #4
0
    def test_source_model_calling_a_filter(self):
        sm_filter = SourceModelCatalogFilter()
        sm_filter.filter_eqs = Mock()
        sm_filter.filter_eqs.return_value = []

        catalog_filter = CatalogFilter(sm_filter)

        gen = catalog_filter.filter_eqs([dict(a=1), dict(b=2)], [])
        self.assertEqual((dict(a=1), []), gen.next())
        self.assertEqual((dict(b=2), []), gen.next())

        self.assertEqual(dict(a=1),
                         sm_filter.filter_eqs.call_args_list[0][0][0])
        self.assertEqual(dict(b=2),
                         sm_filter.filter_eqs.call_args_list[1][0][0])
Example #5
0
from mtoolkit.catalog_filter import CatalogFilter, SourceModelCatalogFilter

if __name__ == '__main__':

    CMD_LINE_ARGS = cmd_line()

    if CMD_LINE_ARGS:

        INPUT_CONFIG_FILENAME = CMD_LINE_ARGS.input_file[0]

        LOG_LEVEL = logging.DEBUG if CMD_LINE_ARGS.detailed else logging.INFO

        build_logger(LOG_LEVEL)

        CONTEXT = Context(INPUT_CONFIG_FILENAME)

        PIPELINE_PREPROCESSING = PreprocessingBuilder().build(CONTEXT.config)

        PIPELINE_PROCESSING = ProcessingBuilder().build(CONTEXT.config)

        if CONTEXT.config['source_model_file']:
            CATALOG_FILTER = CatalogFilter(SourceModelCatalogFilter())
        else:
            CATALOG_FILTER = CatalogFilter()

        WORKFLOW = Workflow(PIPELINE_PREPROCESSING, PIPELINE_PROCESSING)
        WORKFLOW.start(CONTEXT, CATALOG_FILTER)

        WRITER = AreaSourceWriter(CONTEXT.config['result_file'])
        WRITER.serialize(CONTEXT.sm_definitions)
 def test_filtering_an_empty_eq_catalog(self):
     sm_filter = SourceModelCatalogFilter()
     self.assertTrue(np.allclose(self.empty_catalog, sm_filter.filter_eqs(self.sm_geometry, self.empty_catalog)))
Example #7
0
    def test_a_bad_polygon_raises_exception(self):
        self.sm_geometry = build_geometry([1, 1, 1, 2, 2, 1, 2, 2])
        sm_filter = SourceModelCatalogFilter()

        self.assertRaises(RuntimeError, sm_filter.filter_eqs, self.sm_geometry,
                          self.empty_catalog)
Example #8
0
 def test_filtering_an_empty_eq_catalog(self):
     sm_filter = SourceModelCatalogFilter()
     self.assertTrue(
         np.allclose(
             self.empty_catalog,
             sm_filter.filter_eqs(self.sm_geometry, self.empty_catalog)))
Example #9
0
def run(workflow, context):
    """Run the workflow with source model filtering"""

    return workflow.start(context, CatalogFilter(SourceModelCatalogFilter()))