Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 5
0
 def test_complex_to_hazardlib(self):
     assert_close(self._expected_complex, self.cmplx)
Exemplo n.º 6
0
 def test_simple_to_hazardlib(self):
     assert_close(self._expected_simple, self.simple)
Exemplo n.º 7
0
 def test_area_to_hazardlib(self):
     assert_close(self.area, self._expected_area)
Exemplo n.º 8
0
 def test_point_to_hazardlib(self):
     assert_close(self._expected_point, self.point)
Exemplo n.º 9
0
 def test_characteristic_complex(self):
     self.char_complex.surface_node = None
     assert_close(self._expected_char_complex, self.char_complex)
Exemplo n.º 10
0
 def test_characteristic_multi(self):
     assert_close(self._expected_char_multi, self.char_multi)
Exemplo n.º 11
0
 def test_characteristic_complex(self):
     self.char_complex.surface_node = None
     assert_close(self._expected_char_complex, self.char_complex)
Exemplo n.º 12
0
 def test_characteristic_simple(self):
     self.char_simple.surface_node = None
     assert_close(self._expected_char_simple, self.char_simple)
Exemplo n.º 13
0
 def test_complex_to_hazardlib(self):
     assert_close(self._expected_complex, self.cmplx)
Exemplo n.º 14
0
 def test_simple_to_hazardlib(self):
     assert_close(self._expected_simple, self.simple)
Exemplo n.º 15
0
 def test_area_to_hazardlib(self):
     assert_close(self.area, self._expected_area)
Exemplo n.º 16
0
 def test_point_to_hazardlib(self):
     assert_close(self._expected_point, self.point)
Exemplo n.º 17
0
 def test_characteristic_simple(self):
     assert_close(self._expected_char_simple, self.char_simple)
Exemplo n.º 18
0
 def test_characteristic_complex(self):
     assert_close(self._expected_char_complex, self.char_complex)
Exemplo n.º 19
0
 def test_characteristic_simple(self):
     assert_close(self._expected_char_simple, self.char_simple)
Exemplo n.º 20
0
 def test_characteristic_multi(self):
     assert_close(self._expected_char_multi, self.char_multi)
Exemplo n.º 21
0
 def test_characteristic_complex(self):
     assert_close(self._expected_char_complex, self.char_complex)
Exemplo n.º 22
0
 def test_characteristic_simple(self):
     self.char_simple.surface_node = None
     assert_close(self._expected_char_simple, self.char_simple)
Exemplo n.º 23
0
 def test_characteristic_multi(self):
     self.char_multi.surface_node = None
     assert_close(self._expected_char_multi, self.char_multi)