Beispiel #1
0
 def test_alternative_mfds(self):
     converter = s.SourceConverter(
         investigation_time=1.,
         rupture_mesh_spacing=1,  # km
         complex_fault_mesh_spacing=5,  # km
         width_of_mfd_bin=0.1,  # for Truncated GR MFDs
         area_source_discretization=1.)
     grp_nodes = nrml.read(ALT_MFDS_SRC_MODEL).sourceModel.nodes
     [[sflt1, sflt2], [cplx1]] = map(converter.convert_node, grp_nodes)
     # Check the values
     # Arbitrary MFD
     assert_close(cplx1.mfd.magnitudes, [8.6, 8.8, 9.0])
     assert_close(cplx1.mfd.occurrence_rates, [0.0006, 0.0008, 0.0004])
     # Youngs & Coppersmith from characteristic rate
     self.assertAlmostEqual(sflt1.mfd.b_val, 1.0)
     self.assertAlmostEqual(sflt1.mfd.a_val, 3.3877843113)
     self.assertAlmostEqual(sflt1.mfd.char_mag, 7.0)
     self.assertAlmostEqual(sflt1.mfd.char_rate, 0.005)
     self.assertAlmostEqual(sflt1.mfd.min_mag, 5.0)
     # Youngs & Coppersmith from total moment rate
     self.assertAlmostEqual(sflt2.mfd.b_val, 1.0)
     self.assertAlmostEqual(sflt2.mfd.a_val, 5.0800, 3)
     self.assertAlmostEqual(sflt2.mfd.char_mag, 7.0)
     self.assertAlmostEqual(sflt2.mfd.char_rate, 0.24615, 5)
     self.assertAlmostEqual(sflt2.mfd.min_mag, 5.0)
Beispiel #2
0
    def test_different(self):
        a = [1, 2]
        b = [1, 2, 3]
        with self.assertRaises(AssertionError):  # different lenghts
            assert_close(a, b)

        with self.assertRaises(AssertionError):  # different floats
            assert_close([1, 2, 3.1], b)

        with self.assertRaises(AssertionError):  # None and float
            assert_close([1, 2, None], b)

        with self.assertRaises(AssertionError):  # nested dicts
            gmf1 = {'a': {'PGA': [0.1, 0.2], 'SA(0.1)': [0.3, 0.4]}}
            gmf2 = {'a': {'PGA': [0.1, 0.2], 'SA(0.1)': [0.3, 0.41]}}
            assert_close(gmf1, gmf2)

        class C(object):
            pass

        c1 = C()
        c2 = C()
        c2.a = 1
        with self.assertRaises(AssertionError):  # different attributes
            assert_close(c1, c2)
Beispiel #3
0
 def test_alternative_mfds(self):
     converter = s.SourceConverter(
         investigation_time=1.,
         rupture_mesh_spacing=1,  # km
         complex_fault_mesh_spacing=5,  # km
         width_of_mfd_bin=0.1,  # for Truncated GR MFDs
         area_source_discretization=1.)
     grp_nodes = nrml.read(ALT_MFDS_SRC_MODEL).sourceModel.nodes
     [[sflt1, sflt2], [cplx1]] = map(converter.convert_node, grp_nodes)
     # Check the values
     # Arbitrary MFD
     assert_close(cplx1.mfd.magnitudes, [8.6, 8.8, 9.0])
     assert_close(cplx1.mfd.occurrence_rates, [0.0006, 0.0008, 0.0004])
     # Youngs & Coppersmith from characteristic rate
     self.assertAlmostEqual(sflt1.mfd.b_val, 1.0)
     self.assertAlmostEqual(sflt1.mfd.a_val, 3.3877843113)
     self.assertAlmostEqual(sflt1.mfd.char_mag, 7.0)
     self.assertAlmostEqual(sflt1.mfd.char_rate, 0.005)
     self.assertAlmostEqual(sflt1.mfd.min_mag, 5.0)
     # Youngs & Coppersmith from total moment rate
     self.assertAlmostEqual(sflt2.mfd.b_val, 1.0)
     self.assertAlmostEqual(sflt2.mfd.a_val, 5.0800, 3)
     self.assertAlmostEqual(sflt2.mfd.char_mag, 7.0)
     self.assertAlmostEqual(sflt2.mfd.char_rate, 0.24615, 5)
     self.assertAlmostEqual(sflt2.mfd.min_mag, 5.0)
Beispiel #4
0
    def test_different(self):
        a = [1, 2]
        b = [1, 2, 3]
        with self.assertRaises(AssertionError):  # different lenghts
            assert_close(a, b)

        with self.assertRaises(AssertionError):  # different floats
            assert_close([1, 2, 3.1], b)

        with self.assertRaises(AssertionError):  # None and float
            assert_close([1, 2, None], b)

        with self.assertRaises(AssertionError):  # nested dicts
            gmf1 = {'a': {'PGA': [0.1, 0.2], 'SA(0.1)': [0.3, 0.4]}}
            gmf2 = {'a': {'PGA': [0.1, 0.2], 'SA(0.1)': [0.3, 0.41]}}
            assert_close(gmf1, gmf2)

        class C(object):
            pass

        c1 = C()
        c2 = C()
        c2.a = 1
        with self.assertRaises(AssertionError):  # different attributes
            assert_close(c1, c2)
Beispiel #5
0
 def test_complex_to_hazardlib(self):
     assert_close(self._expected_complex, self.cmplx)
Beispiel #6
0
 def test_simple_to_hazardlib(self):
     assert_close(self._expected_simple, self.simple)
Beispiel #7
0
 def test_area_to_hazardlib(self):
     assert_close(self.area, self._expected_area)
Beispiel #8
0
 def test_point_to_hazardlib(self):
     assert_close(self._expected_point, self.point)
Beispiel #9
0
 def test_characteristic_complex(self):
     self.char_complex.surface_node = None
     assert_close(self._expected_char_complex, self.char_complex)
Beispiel #10
0
 def test_characteristic_multi(self):
     assert_close(self._expected_char_multi, self.char_multi)
Beispiel #11
0
 def test_characteristic_complex(self):
     self.char_complex.surface_node = None
     assert_close(self._expected_char_complex, self.char_complex)
Beispiel #12
0
 def test_characteristic_simple(self):
     self.char_simple.surface_node = None
     assert_close(self._expected_char_simple, self.char_simple)
Beispiel #13
0
 def test_complex_to_hazardlib(self):
     assert_close(self._expected_complex, self.cmplx)
Beispiel #14
0
 def test_simple_to_hazardlib(self):
     assert_close(self._expected_simple, self.simple)
Beispiel #15
0
 def test_area_to_hazardlib(self):
     assert_close(self.area, self._expected_area)
Beispiel #16
0
 def test_point_to_hazardlib(self):
     assert_close(self._expected_point, self.point)
Beispiel #17
0
 def test_characteristic_simple(self):
     assert_close(self._expected_char_simple, self.char_simple)
Beispiel #18
0
 def test_characteristic_complex(self):
     assert_close(self._expected_char_complex, self.char_complex)
Beispiel #19
0
 def test_characteristic_simple(self):
     assert_close(self._expected_char_simple, self.char_simple)
Beispiel #20
0
 def test_characteristic_multi(self):
     assert_close(self._expected_char_multi, self.char_multi)
Beispiel #21
0
 def test_characteristic_complex(self):
     assert_close(self._expected_char_complex, self.char_complex)
Beispiel #22
0
 def test_characteristic_simple(self):
     self.char_simple.surface_node = None
     assert_close(self._expected_char_simple, self.char_simple)
Beispiel #23
0
 def test_characteristic_multi(self):
     self.char_multi.surface_node = None
     assert_close(self._expected_char_multi, self.char_multi)