def test_Pago_VeianoMontaguto(self): # regression test fault_trace = Line([Point(15.2368, 41.1594), Point(15.1848, 41.1644), Point(15.1327, 41.1694), Point(15.0807, 41.1745), Point(15.0286, 41.1795), Point(14.9765, 41.1846), Point(14.9245, 41.1896), Point(14.8724, 41.1946), Point(14.8204, 41.1997)]) mfd = EvenlyDiscretizedMFD(min_mag=6.9, bin_width=0.2, occurrence_rates=[1.0]) dip = 70.0 upper_seismogenic_depth = 11.0 lower_seismogenic_depth = 25.0 rake = -130 scalerel = WC1994() rupture_mesh_spacing = 5 rupture_aspect_ratio = 1 tom = PoissonTOM(10) fault = SimpleFaultSource( 'ITCS057', 'Pago Veiano-Montaguto', TRT.ACTIVE_SHALLOW_CRUST, mfd, rupture_mesh_spacing, scalerel, rupture_aspect_ratio, upper_seismogenic_depth, lower_seismogenic_depth, fault_trace, dip, rake ) self.assertEqual(len(list(fault.iter_ruptures(tom))), 1)
def test_Pago_VeianoMontaguto(self): # regression test fault_trace = Line([ Point(15.2368, 41.1594), Point(15.1848, 41.1644), Point(15.1327, 41.1694), Point(15.0807, 41.1745), Point(15.0286, 41.1795), Point(14.9765, 41.1846), Point(14.9245, 41.1896), Point(14.8724, 41.1946), Point(14.8204, 41.1997) ]) mfd = EvenlyDiscretizedMFD(min_mag=6.9, bin_width=0.2, occurrence_rates=[1.0]) dip = 70.0 upper_seismogenic_depth = 11.0 lower_seismogenic_depth = 25.0 rake = -130 scalerel = WC1994() rupture_mesh_spacing = 5 rupture_aspect_ratio = 1 tom = PoissonTOM(10) fault = SimpleFaultSource( 'ITCS057', 'Pago Veiano-Montaguto', TRT.ACTIVE_SHALLOW_CRUST, mfd, rupture_mesh_spacing, scalerel, rupture_aspect_ratio, tom, upper_seismogenic_depth, lower_seismogenic_depth, fault_trace, dip, rake) self.assertEqual(len(list(fault.iter_ruptures())), 1)
def test_hypoloc_multisegment_rupture_test(self): source_id = name = 'test-source' trt = TRT.ACTIVE_SHALLOW_CRUST hypo_list = numpy.array([[0.25, 0.25, 0.4], [0.75, 0.75, 0.6]]) slip_list = numpy.array([[90., 1.]]) self.mesh_spacing = 5. self.fault_trace_nodes = [ self.fault_trace_start, Point(0.3, 0.3), self.fault_trace_end ] self.fault_trace = Line(self.fault_trace_nodes) src = SimpleFaultSource(source_id, name, trt, self.src_mfd, self.mesh_spacing, self.sarea, 1., self.src_tom, self.upper_seismogenic_depth, self.lower_seismogenic_depth, self.fault_trace, self.dip, self.rake, hypo_list, slip_list) lon = [ 0.0954, 0.2544, 0.1272, 0.2862, 0.159, 0.3279, 0.1908, 0.3696, 0.2226, 0.4114, 0.2544, 0.4531, 0.2862, 0.4949, 0.3279, 0.5366, 0.3696, 0.5783, 0.4114, 0.6201, 0.4531, 0.6618, 0.4949, 0.7035, 0.5366, 0.7453, 0.5783, 0.787, 0.6201, 0.8288, 0.6618, 0.8705 ] lat = [ 0.0954, 0.2544, 0.1272, 0.2862, 0.159, 0.2694, 0.1908, 0.2527, 0.2226, 0.236, 0.2544, 0.2192, 0.2862, 0.2025, 0.2694, 0.1858, 0.2527, 0.169, 0.236, 0.1523, 0.2192, 0.1356, 0.2025, 0.1188, 0.1858, 0.1021, 0.169, 0.0854, 0.1523, 0.0687, 0.1356, 0.0519 ] dep = [ 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0 ] rate = [ 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375 ] for rup, i in zip(src.iter_ruptures(), range(1000)): self.assertAlmostEqual(rup.hypocenter.longitude, lon[i], delta=0.1) self.assertAlmostEqual(rup.hypocenter.latitude, lat[i], delta=0.1) self.assertAlmostEqual(rup.hypocenter.depth, dep[i], delta=0.1) self.assertAlmostEqual(rup.occurrence_rate, rate[i], delta=0.01)
def create_oqhazardlib_source(self, tom, mesh_spacing, use_defaults=False): """ Returns an instance of the :class: `openquake.hazardlib.source.simple_fault.SimpleFaultSource` :param tom: Temporal occurrance model :param float mesh_spacing: Mesh spacing """ if not self.mfd: raise ValueError("Cannot write to hazardlib without MFD") return SimpleFaultSource( self.id, self.name, self.trt, self.mfd, mesh_spacing, conv.mag_scale_rel_to_hazardlib(self.mag_scale_rel, use_defaults), conv.render_aspect_ratio(self.rupt_aspect_ratio, use_defaults), tom, self.upper_depth, self.lower_depth, self.fault_trace, self.dip, self.rake)
def _make_source(self, mfd, aspect_ratio, fault_trace=None, dip=45): source_id = name = 'test-source' trt = self.TRT rake = self.RAKE rupture_mesh_spacing = 1 upper_seismogenic_depth = 0 lower_seismogenic_depth = 4.2426406871192848 magnitude_scaling_relationship = PeerMSR() rupture_aspect_ratio = aspect_ratio tom = self.TOM if fault_trace is None: fault_trace = Line([ Point(0.0, 0.0), Point(0.0, 0.0359728811758), Point(0.0190775080917, 0.0550503815181), Point(0.03974514139, 0.0723925718855) ]) sfs = SimpleFaultSource( source_id, name, trt, mfd, rupture_mesh_spacing, magnitude_scaling_relationship, rupture_aspect_ratio, tom, upper_seismogenic_depth, lower_seismogenic_depth, fault_trace, dip, rake) assert_pickleable(sfs) return sfs
def test_hypoloc_multisegment_rupture_test(self): source_id = name = 'test-source' trt = TRT.ACTIVE_SHALLOW_CRUST hypo_list = numpy.array([[0.25, 0.25, 0.4], [0.75, 0.75, 0.6]]) slip_list = numpy.array([[90., 1.]]) self.mesh_spacing = 5. self.fault_trace_nodes = [ self.fault_trace_start, Point(0.3, 0.3), self.fault_trace_end] self.fault_trace = Line(self.fault_trace_nodes) src = SimpleFaultSource(source_id, name, trt, self.src_mfd, self.mesh_spacing, self.sarea, 1., self.src_tom, self.upper_seismogenic_depth, self.lower_seismogenic_depth, self.fault_trace, self.dip, self.rake, hypo_list, slip_list) lon = [0.0954, 0.2544, 0.1272, 0.2862, 0.159, 0.3279, 0.1908, 0.3696, 0.2226, 0.4114, 0.2544, 0.4531, 0.2862, 0.4949, 0.3279, 0.5366, 0.3696, 0.5783, 0.4114, 0.6201, 0.4531, 0.6618, 0.4949, 0.7035, 0.5366, 0.7453, 0.5783, 0.787, 0.6201, 0.8288, 0.6618, 0.8705] lat = [0.0954, 0.2544, 0.1272, 0.2862, 0.159, 0.2694, 0.1908, 0.2527, 0.2226, 0.236, 0.2544, 0.2192, 0.2862, 0.2025, 0.2694, 0.1858, 0.2527, 0.169, 0.236, 0.1523, 0.2192, 0.1356, 0.2025, 0.1188, 0.1858, 0.1021, 0.169, 0.0854, 0.1523, 0.0687, 0.1356, 0.0519] dep = [10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0] rate = [0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375, 0.025, 0.0375] for rup, i in zip(src.iter_ruptures(), range(1000)): self.assertAlmostEqual(rup.hypocenter.longitude, lon[i], delta=0.1) self.assertAlmostEqual(rup.hypocenter.latitude, lat[i], delta=0.1) self.assertAlmostEqual(rup.hypocenter.depth, dep[i], delta=0.1) self.assertAlmostEqual(rup.occurrence_rate, rate[i], delta=0.01)
def test_slip_vertical_rupture(self): self.src_mfd = mfdeven.EvenlyDiscretizedMFD(8.5, 1., [1.]) source_id = name = 'test-source' trt = TRT.ACTIVE_SHALLOW_CRUST hypo_list = numpy.array([[0.25, 0.25, 0.4], [0.75, 0.75, 0.6]]) slip_list = numpy.array([[90., 0.25], [0., 0.75]]) src = SimpleFaultSource(source_id, name, trt, self.src_mfd, self.mesh_spacing, self.sarea, 1., self.src_tom, self.upper_seismogenic_depth, self.lower_seismogenic_depth, self.fault_trace, self.dip, self.rake, hypo_list, slip_list) slip = [90., 0., 90., 0.] rate = [0.1, 0.3, 0.15, 0.45] for rup, i in zip(src.iter_ruptures(), range(1000)): self.assertAlmostEqual(rup.rupture_slip_direction, slip[i], delta=0.1) self.assertAlmostEqual(rup.occurrence_rate, rate[i], delta=0.01)
def create_oqhazardlib_source(self, tom, mesh_spacing, use_defaults=False): """ Returns an instance of the :class: openquake.hazardlib.source.simple_fault.SimpleFaultSource :param tom: Temporal occurrance model :param float mesh_spacing: Mesh spacing """ return SimpleFaultSource( self.id, self.name, self.trt, conv.mfd_to_hazardlib(self.mfd), mesh_spacing, conv.mag_scale_rel_to_hazardlib(self.mag_scale_rel, use_defaults), conv.render_aspect_ratio(self.rupt_aspect_ratio, use_defaults), tom, self.upper_depth, self.lower_depth, self.fault_trace, self.dip, self.rake)
PoissonTOM(1.0), 0., 40., PMF([(1.0, NodalPlane(0.0, 90.0, 0.0))]), PMF([(0.5, 5.0), (0.5, 15.0)]), AREA_POLY, 4.0) SIMPLE_TRACE = Line([Point(14.975, 15.0, 0.0), Point(15.025, 15.0, 0.0)]) SIMPLE_FAULT = SimpleFaultSource("SFLT000", "Simple Fault Source", "Active Shallow Crust", EvenlyDiscretizedMFD(7.0, 0.1, [1.0]), 1.0, PeerMSR(), 1.0, PoissonTOM(1.0), 0.0, 20.0, SIMPLE_TRACE, 90., 0.0) COMPLEX_EDGES = [SIMPLE_TRACE, Line([Point(14.975, 15.0, 20.0), Point(15.025, 15.0, 20.0)])] COMPLEX_FAULT = ComplexFaultSource("CFLT000", "Complex Fault Source", "Active Shallow Crust", EvenlyDiscretizedMFD(7.0, 0.1, [1.0]), 1.0, PeerMSR(),
def test_hypoloc_dip_rupture(self): source_id = name = 'test-source' trt = TRT.ACTIVE_SHALLOW_CRUST dip = 30. hypo_list = numpy.array([[0.25, 0.25, 0.4], [0.75, 0.75, 0.6]]) slip_list = numpy.array([[90., 1.]]) self.mesh_spacing = 5. src = SimpleFaultSource(source_id, name, trt, self.src_mfd, self.mesh_spacing, self.sarea, 1., self.src_tom, self.upper_seismogenic_depth, self.lower_seismogenic_depth, self.fault_trace, dip, self.rake, hypo_list, slip_list) lon = [0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993] lat = [-0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452] dep = [5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0] rate = [0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054] for rup, i in zip(src.iter_ruptures(), range(1000)): self.assertAlmostEqual(rup.hypocenter.longitude, lon[i], delta=0.1) self.assertAlmostEqual(rup.hypocenter.latitude, lat[i], delta=0.1) self.assertAlmostEqual(rup.hypocenter.depth, dep[i], delta=0.1) self.assertAlmostEqual(rup.occurrence_rate, rate[i], delta=0.01)
def test_hypoloc_vertical_rupture(self): source_id = name = 'test-source' trt = TRT.ACTIVE_SHALLOW_CRUST hypo_list = numpy.array([[0.25, 0.25, 0.4], [0.75, 0.75, 0.6]]) slip_list = numpy.array([[90., 1.]]) src = SimpleFaultSource(source_id, name, trt, self.src_mfd, self.mesh_spacing, self.sarea, 1., self.src_tom, self.upper_seismogenic_depth, self.lower_seismogenic_depth, self.fault_trace, self.dip, self.rake, hypo_list, slip_list) lon = [0.11691180881629422, 0.35972864251163345, 0.12590502487907043, 0.36872185857443507, 0.13489824094187208, 0.37771507463723675, 0.14389145700464828, 0.38670829070001295, 0.15288467306744993, 0.39570150676281457, 0.16187788913025158, 0.40469472282559077, 0.17087110519302778, 0.41368793888839245, 0.17986432125582943, 0.42268115495119407, 0.18885753731860563, 0.43167437101397027, 0.19785075338140728, 0.44066758707677195, 0.20684396944418348, 0.44966080313954815, 0.21583718550698514, 0.45865401920234977, 0.22483040156978679, 0.46764723526512603, 0.23382361763256301, 0.47664045132792765, 0.24281683369536466, 0.48563366739072933, 0.25181004975814086, 0.49462688345350553, 0.26080326582094249, 0.50362009951630715, 0.26979648188374417, 0.51261331557908341, 0.27878969794652037, 0.52160653164188497, 0.28778291400932199, 0.53059974770468665, 0.29677613007209824, 0.53959296376746291, 0.30576934613489987, 0.54858617983026448, 0.31476256219770149, 0.55757939589304073, 0.32375577826047774, 0.56657261195584241, 0.33274899432327937, 0.57556582801864398, 0.34174221038605557, 0.58455904408142023, 0.35073542644885725, 0.59355226014422191, 0.35972864251163345, 0.60254547620699805, 0.36872185857443507, 0.61153869226979973, 0.37771507463723675, 0.62053190833257599, 0.38670829070001295, 0.62952512439537756, 0.39570150676281457, 0.63851834045817923, 0.40469472282559077, 0.64751155652095549, 0.41368793888839245, 0.65650477258375706, 0.42268115495119407, 0.66549798864653331, 0.43167437101397027, 0.67449120470933499, 0.44066758707677195, 0.68348442077213656, 0.44966080313954815, 0.69247763683491281, 0.45865401920234977, 0.70147085289771449, 0.46764723526512603, 0.71046406896049064, 0.47664045132792765, 0.71945728502329231, 0.48563366739072933, 0.72845050108606846, 0.49462688345350553, 0.73744371714887014, 0.50362009951630715, 0.74643693321167182, 0.51261331557908341, 0.75543014927444796, 0.52160653164188497, 0.76442336533724964, 0.53059974770468665, 0.77341658140002589, 0.53959296376746291, 0.78240979746282757, 0.54858617983026448, 0.79140301352562914, 0.55757939589304073, 0.80039622958840539, 0.56657261195584241, 0.80938944565120707, 0.57556582801864398, 0.81838266171398322, 0.58455904408142023, 0.82737587777678498, 0.59355226014422191, 0.83636909383958657, 0.60254547620699805, 0.84536230990236272, 0.61153869226979973, 0.85435552596516445, 0.62053190833257599, 0.86334874202794054, 0.62952512439537756, 0.87234195809074222, 0.63851834045817923, 0.88133517415351847] lat = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0] dep = [10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0] rate = [0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728] for rup, i in zip(src.iter_ruptures(), range(1000)): self.assertAlmostEqual( rup.hypocenter.longitude, lon[i], delta=0.01) self.assertAlmostEqual(rup.hypocenter.latitude, lat[i], delta=0.01) self.assertAlmostEqual(rup.hypocenter.depth, dep[i], delta=0.01) self.assertAlmostEqual(rup.occurrence_rate, rate[i], delta=0.01)
def test_hypoloc_dip_rupture(self): source_id = name = 'test-source' trt = TRT.ACTIVE_SHALLOW_CRUST dip = 30. hypo_list = numpy.array([[0.25, 0.25, 0.4], [0.75, 0.75, 0.6]]) slip_list = numpy.array([[90., 1.]]) self.mesh_spacing = 5. src = SimpleFaultSource(source_id, name, trt, self.src_mfd, self.mesh_spacing, self.sarea, 1., self.src_tom, self.upper_seismogenic_depth, self.lower_seismogenic_depth, self.fault_trace, dip, self.rake, hypo_list, slip_list) lon = [ 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993, 0.0899, 0.3148, 0.1349, 0.3597, 0.1799, 0.4047, 0.2248, 0.4497, 0.2698, 0.4946, 0.3148, 0.5396, 0.3597, 0.5846, 0.4047, 0.6295, 0.4497, 0.6745, 0.4946, 0.7195, 0.5396, 0.7644, 0.5846, 0.8094, 0.6295, 0.8544, 0.6745, 0.8993 ] lat = [ -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.0779, -0.2726, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1168, -0.3115, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1558, -0.3505, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.1947, -0.3894, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2337, -0.4284, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.2726, -0.4673, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3115, -0.5062, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452, -0.3505, -0.5452 ] dep = [ 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 5.0, 17.5, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 7.5, 20.0, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 10.0, 22.5, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 12.5, 25.0, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 15.0, 27.5, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 17.5, 30.0, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 20.0, 32.5, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0, 22.5, 35.0 ] rate = [ 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054, 0.0036, 0.0054 ] for rup, i in zip(src.iter_ruptures(), range(1000)): self.assertAlmostEqual(rup.hypocenter.longitude, lon[i], delta=0.1) self.assertAlmostEqual(rup.hypocenter.latitude, lat[i], delta=0.1) self.assertAlmostEqual(rup.hypocenter.depth, dep[i], delta=0.1) self.assertAlmostEqual(rup.occurrence_rate, rate[i], delta=0.01)
def test_hypoloc_vertical_rupture(self): source_id = name = 'test-source' trt = TRT.ACTIVE_SHALLOW_CRUST hypo_list = numpy.array([[0.25, 0.25, 0.4], [0.75, 0.75, 0.6]]) slip_list = numpy.array([[90., 1.]]) src = SimpleFaultSource(source_id, name, trt, self.src_mfd, self.mesh_spacing, self.sarea, 1., self.src_tom, self.upper_seismogenic_depth, self.lower_seismogenic_depth, self.fault_trace, self.dip, self.rake, hypo_list, slip_list) lon = [ 0.11691180881629422, 0.35972864251163345, 0.12590502487907043, 0.36872185857443507, 0.13489824094187208, 0.37771507463723675, 0.14389145700464828, 0.38670829070001295, 0.15288467306744993, 0.39570150676281457, 0.16187788913025158, 0.40469472282559077, 0.17087110519302778, 0.41368793888839245, 0.17986432125582943, 0.42268115495119407, 0.18885753731860563, 0.43167437101397027, 0.19785075338140728, 0.44066758707677195, 0.20684396944418348, 0.44966080313954815, 0.21583718550698514, 0.45865401920234977, 0.22483040156978679, 0.46764723526512603, 0.23382361763256301, 0.47664045132792765, 0.24281683369536466, 0.48563366739072933, 0.25181004975814086, 0.49462688345350553, 0.26080326582094249, 0.50362009951630715, 0.26979648188374417, 0.51261331557908341, 0.27878969794652037, 0.52160653164188497, 0.28778291400932199, 0.53059974770468665, 0.29677613007209824, 0.53959296376746291, 0.30576934613489987, 0.54858617983026448, 0.31476256219770149, 0.55757939589304073, 0.32375577826047774, 0.56657261195584241, 0.33274899432327937, 0.57556582801864398, 0.34174221038605557, 0.58455904408142023, 0.35073542644885725, 0.59355226014422191, 0.35972864251163345, 0.60254547620699805, 0.36872185857443507, 0.61153869226979973, 0.37771507463723675, 0.62053190833257599, 0.38670829070001295, 0.62952512439537756, 0.39570150676281457, 0.63851834045817923, 0.40469472282559077, 0.64751155652095549, 0.41368793888839245, 0.65650477258375706, 0.42268115495119407, 0.66549798864653331, 0.43167437101397027, 0.67449120470933499, 0.44066758707677195, 0.68348442077213656, 0.44966080313954815, 0.69247763683491281, 0.45865401920234977, 0.70147085289771449, 0.46764723526512603, 0.71046406896049064, 0.47664045132792765, 0.71945728502329231, 0.48563366739072933, 0.72845050108606846, 0.49462688345350553, 0.73744371714887014, 0.50362009951630715, 0.74643693321167182, 0.51261331557908341, 0.75543014927444796, 0.52160653164188497, 0.76442336533724964, 0.53059974770468665, 0.77341658140002589, 0.53959296376746291, 0.78240979746282757, 0.54858617983026448, 0.79140301352562914, 0.55757939589304073, 0.80039622958840539, 0.56657261195584241, 0.80938944565120707, 0.57556582801864398, 0.81838266171398322, 0.58455904408142023, 0.82737587777678498, 0.59355226014422191, 0.83636909383958657, 0.60254547620699805, 0.84536230990236272, 0.61153869226979973, 0.85435552596516445, 0.62053190833257599, 0.86334874202794054, 0.62952512439537756, 0.87234195809074222, 0.63851834045817923, 0.88133517415351847 ] lat = [ 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ] dep = [ 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0, 10.0, 30.0 ] rate = [ 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728, 0.0067796610169491532, 0.010169491525423728 ] for rup, i in zip(src.iter_ruptures(), range(1000)): self.assertAlmostEqual(rup.hypocenter.longitude, lon[i], delta=0.01) self.assertAlmostEqual(rup.hypocenter.latitude, lat[i], delta=0.01) self.assertAlmostEqual(rup.hypocenter.depth, dep[i], delta=0.01) self.assertAlmostEqual(rup.occurrence_rate, rate[i], delta=0.01)