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)
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)
def test_complex_to_hazardlib(self): assert_close(self._expected_complex, self.cmplx)
def test_simple_to_hazardlib(self): assert_close(self._expected_simple, self.simple)
def test_area_to_hazardlib(self): assert_close(self.area, self._expected_area)
def test_point_to_hazardlib(self): assert_close(self._expected_point, self.point)
def test_characteristic_complex(self): self.char_complex.surface_node = None assert_close(self._expected_char_complex, self.char_complex)
def test_characteristic_multi(self): assert_close(self._expected_char_multi, self.char_multi)
def test_characteristic_simple(self): self.char_simple.surface_node = None assert_close(self._expected_char_simple, self.char_simple)
def test_characteristic_simple(self): assert_close(self._expected_char_simple, self.char_simple)
def test_characteristic_complex(self): assert_close(self._expected_char_complex, self.char_complex)
def test_characteristic_multi(self): self.char_multi.surface_node = None assert_close(self._expected_char_multi, self.char_multi)