def test_scenario_event_max_width(self): eqrm_flags = DummyEventSet() eqrm_flags.scenario_latitude = -32.95 eqrm_flags.scenario_longitude = 151.61 eqrm_flags.scenario_azimuth = 340 eqrm_flags.dip = 35 eqrm_flags.scenario_magnitude = 8 eqrm_flags.scenario_max_width = None eqrm_flags.scenario_depth = 11.5 eqrm_flags.scenario_number_of_events = 1 event_set = Event_Set.create_scenario_events( rupture_centroid_lat=[eqrm_flags.scenario_latitude], rupture_centroid_lon=[eqrm_flags.scenario_longitude], azimuth=[eqrm_flags.scenario_azimuth], dip=[eqrm_flags.dip], Mw=[eqrm_flags.scenario_magnitude], fault_width=eqrm_flags.scenario_max_width, depth=[eqrm_flags.scenario_depth], scenario_number_of_events=eqrm_flags.scenario_number_of_events) #print "event_set.rupture_centroid_lat", event_set.rupture_centroid_lat answer = array(eqrm_flags.scenario_latitude) self.assert_(allclose(event_set.rupture_centroid_lat, answer)) answer = array(eqrm_flags.scenario_longitude) self.assert_(allclose(event_set.rupture_centroid_lon, answer)) answer = array(eqrm_flags.scenario_azimuth) self.assert_(allclose(event_set.azimuth, answer)) answer = array(eqrm_flags.dip) self.assert_(allclose(event_set.dip, answer)) answer = array(eqrm_flags.scenario_magnitude) self.assert_(allclose(event_set.Mw, answer)) answer = array(eqrm_flags.scenario_depth) self.assert_(allclose(event_set.depth, answer)) self.assert_(eqrm_flags.scenario_number_of_events, len(event_set.Mw)) area = array( conversions.modified_Wells_and_Coppersmith_94_area( eqrm_flags.scenario_magnitude)) width = array( conversions.modified_Wells_and_Coppersmith_94_width( eqrm_flags.dip, eqrm_flags.scenario_magnitude, area, eqrm_flags.scenario_max_width)) self.assert_(allclose(event_set.width, width)) answer = area / width self.assert_(allclose(event_set.length, answer))
def test_scenario_event_II(self): eqrm_flags = DummyEventSet() eqrm_flags.scenario_latitude = [-30., -32.] eqrm_flags.scenario_longitude = [150., -151.] eqrm_flags.scenario_azimuth = [340, 330] eqrm_flags.dip = [37, 30] eqrm_flags.scenario_magnitude = [8, 7.5] eqrm_flags.scenario_max_width = [15, 7] eqrm_flags.scenario_depth = [11.5, 11.0] eqrm_flags.scenario_number_of_events = 1 # If this is 2 it fails event_set = Event_Set.create_scenario_events( rupture_centroid_lat=eqrm_flags.scenario_latitude, rupture_centroid_lon=eqrm_flags.scenario_longitude, azimuth=eqrm_flags.scenario_azimuth, dip=eqrm_flags.dip, Mw=eqrm_flags.scenario_magnitude, fault_width=eqrm_flags.scenario_max_width, depth=eqrm_flags.scenario_depth, scenario_number_of_events=eqrm_flags.scenario_number_of_events) answer = array(eqrm_flags.scenario_latitude) self.assert_(allclose(event_set.rupture_centroid_lat, answer)) answer = array(eqrm_flags.scenario_longitude) self.assert_(allclose(event_set.rupture_centroid_lon, answer)) answer = array(eqrm_flags.scenario_azimuth) self.assert_(allclose(event_set.azimuth, answer)) answer = array(eqrm_flags.dip) self.assert_(allclose(event_set.dip, answer)) answer = array(eqrm_flags.scenario_magnitude) self.assert_(allclose(event_set.Mw, answer)) answer = array(eqrm_flags.scenario_depth) self.assert_(allclose(event_set.depth, answer)) self.assert_(eqrm_flags.scenario_number_of_events, len(event_set.Mw)) area = array((conversions.modified_Wells_and_Coppersmith_94_area( eqrm_flags.scenario_magnitude[0]), conversions.modified_Wells_and_Coppersmith_94_area( eqrm_flags.scenario_magnitude[1]))) width = array( conversions.modified_Wells_and_Coppersmith_94_width( eqrm_flags.dip, eqrm_flags.scenario_magnitude, area, eqrm_flags.scenario_max_width)) self.assert_(allclose(event_set.width, width)) answer = area / width self.assert_(allclose(event_set.length, answer))
def test_scenario_event_II(self): eqrm_flags = DummyEventSet() eqrm_flags.scenario_latitude = [-30., -32.] eqrm_flags.scenario_longitude = [150., -151.] eqrm_flags.scenario_azimuth = [340, 330] eqrm_flags.dip = [37, 30] eqrm_flags.scenario_magnitude = [8, 7.5] eqrm_flags.scenario_max_width = [15, 7] eqrm_flags.scenario_depth = [11.5, 11.0] eqrm_flags.scenario_number_of_events = 1 # If this is 2 it fails event_set = Event_Set.create_scenario_events( rupture_centroid_lat=eqrm_flags.scenario_latitude, rupture_centroid_lon=eqrm_flags.scenario_longitude, azimuth=eqrm_flags.scenario_azimuth, dip=eqrm_flags.dip, Mw=eqrm_flags.scenario_magnitude, fault_width=eqrm_flags.scenario_max_width, depth=eqrm_flags.scenario_depth, scenario_number_of_events=eqrm_flags.scenario_number_of_events) answer = array(eqrm_flags.scenario_latitude) self.assert_(allclose(event_set.rupture_centroid_lat, answer)) answer = array(eqrm_flags.scenario_longitude) self.assert_(allclose(event_set.rupture_centroid_lon, answer)) answer = array(eqrm_flags.scenario_azimuth) self.assert_(allclose(event_set.azimuth, answer)) answer = array(eqrm_flags.dip) self.assert_(allclose(event_set.dip, answer)) answer = array(eqrm_flags.scenario_magnitude) self.assert_(allclose(event_set.Mw, answer)) answer = array(eqrm_flags.scenario_depth) self.assert_(allclose(event_set.depth, answer)) self.assert_(eqrm_flags.scenario_number_of_events, len(event_set.Mw)) area = array((conversions.modified_Wells_and_Coppersmith_94_area( eqrm_flags.scenario_magnitude[0]), conversions.modified_Wells_and_Coppersmith_94_area( eqrm_flags.scenario_magnitude[1]))) width = array(conversions.modified_Wells_and_Coppersmith_94_width( eqrm_flags.dip, eqrm_flags.scenario_magnitude, area, eqrm_flags.scenario_max_width )) self.assert_(allclose(event_set.width, width)) answer = area/width self.assert_(allclose(event_set.length, answer))
def test_scenario_event_max_width(self): eqrm_flags = DummyEventSet() eqrm_flags.scenario_latitude = -32.95 eqrm_flags.scenario_longitude = 151.61 eqrm_flags.scenario_azimuth = 340 eqrm_flags.dip = 35 eqrm_flags.scenario_magnitude = 8 eqrm_flags.scenario_max_width = None eqrm_flags.scenario_depth = 11.5 eqrm_flags.scenario_number_of_events = 1 event_set = Event_Set.create_scenario_events( rupture_centroid_lat=[eqrm_flags.scenario_latitude], rupture_centroid_lon=[eqrm_flags.scenario_longitude], azimuth=[eqrm_flags.scenario_azimuth], dip=[eqrm_flags.dip], Mw=[eqrm_flags.scenario_magnitude], fault_width=eqrm_flags.scenario_max_width, depth=[eqrm_flags.scenario_depth], scenario_number_of_events=eqrm_flags.scenario_number_of_events) #print "event_set.rupture_centroid_lat", event_set.rupture_centroid_lat answer = array(eqrm_flags.scenario_latitude) self.assert_(allclose(event_set.rupture_centroid_lat, answer)) answer = array(eqrm_flags.scenario_longitude) self.assert_(allclose(event_set.rupture_centroid_lon, answer)) answer = array(eqrm_flags.scenario_azimuth) self.assert_(allclose(event_set.azimuth, answer)) answer = array(eqrm_flags.dip) self.assert_(allclose(event_set.dip, answer)) answer = array(eqrm_flags.scenario_magnitude) self.assert_(allclose(event_set.Mw, answer)) answer = array(eqrm_flags.scenario_depth) self.assert_(allclose(event_set.depth, answer)) self.assert_(eqrm_flags.scenario_number_of_events, len(event_set.Mw)) area = array(conversions.modified_Wells_and_Coppersmith_94_area( eqrm_flags.scenario_magnitude)) width = array(conversions.modified_Wells_and_Coppersmith_94_width( eqrm_flags.dip, eqrm_flags.scenario_magnitude, area, eqrm_flags.scenario_max_width )) self.assert_ (allclose(event_set.width, width)) answer = area/width self.assert_(allclose(event_set.length, answer))
def test_scenario_event_5(self): eqrm_flags = DummyEventSet() eqrm_flags.scenario_latitude = [0.] eqrm_flags.scenario_longitude = [150.] eqrm_flags.scenario_azimuth = [0] eqrm_flags.dip = [45] eqrm_flags.scenario_magnitude = [6.02] eqrm_flags.scenario_max_width = [4] eqrm_flags.scenario_depth = [7] eqrm_flags.scenario_number_of_events = 1 event_set = Event_Set.create_scenario_events( rupture_centroid_lat=eqrm_flags.scenario_latitude, rupture_centroid_lon=eqrm_flags.scenario_longitude, azimuth=eqrm_flags.scenario_azimuth, dip=eqrm_flags.dip, Mw=eqrm_flags.scenario_magnitude, fault_width=eqrm_flags.scenario_max_width, depth=eqrm_flags.scenario_depth, scenario_number_of_events=eqrm_flags.scenario_number_of_events) answer = array(eqrm_flags.scenario_max_width) self.assert_ (allclose(event_set.width, answer)) area = array((conversions.modified_Wells_and_Coppersmith_94_area( eqrm_flags.scenario_magnitude[0]))) self.assert_ (allclose(100., area)) width = array( conversions.modified_Wells_and_Coppersmith_94_width( eqrm_flags.dip, eqrm_flags.scenario_magnitude, area, eqrm_flags.scenario_max_width )) self.assert_ (allclose(4., width)) self.assert_ (allclose(event_set.width, width)) self.assert_ (allclose(event_set.length, 25.)) self.assert_ (allclose(event_set.rupture_centroid_x, 12.5)) # Due to the 45 deg dip self.assert_ (allclose(event_set.rupture_centroid_y, event_set.depth)) # When the Azimuth is 0 increasing length moves the start trace lower # , southward, for 45 deg dips #event_set.trace_start_lat [0] #event_set.trace_start_lon [ 150] km_per_degree = 111.125113474 # trace start lat = 0 -12.5/111.125 = -0.1124859392575928 # trace start long = 150 - 7/111.125 = 149.937 # print "event_set.trace_start_lat", event_set.trace_start_lat # print "event_set.trace_start_lon", event_set.trace_start_lon self.assert_ (allclose(event_set.trace_start_lon, 149.937)) self.assert_ (allclose(event_set.trace_start_lat, -0.1124859)) eqrm_flags.scenario_depth = [km_per_degree] event_set = Event_Set.create_scenario_events( rupture_centroid_lat=eqrm_flags.scenario_latitude, rupture_centroid_lon=eqrm_flags.scenario_longitude, azimuth=eqrm_flags.scenario_azimuth, dip=eqrm_flags.dip, Mw=eqrm_flags.scenario_magnitude, fault_width=eqrm_flags.scenario_max_width, depth=eqrm_flags.scenario_depth, scenario_number_of_events=eqrm_flags.scenario_number_of_events) # trace start lon = 150 - 111.125/111.125 = 149 # print "event_set.trace_start_lat", event_set.trace_start_lat # print "event_set.trace_start_lon", event_set.trace_start_lon self.assert_ (allclose(event_set.trace_start_lon, 149.0)) self.assert_ (allclose(event_set.trace_start_lat, -0.1124859))
def test_scenario_event_4(self): eqrm_flags = DummyEventSet() eqrm_flags.scenario_latitude = [-30.] eqrm_flags.scenario_longitude = [150.] eqrm_flags.scenario_azimuth = [0] eqrm_flags.dip = [45] eqrm_flags.scenario_magnitude = [6.02] eqrm_flags.scenario_max_width = [5] eqrm_flags.scenario_depth = [7] eqrm_flags.scenario_number_of_events = 1 event_set = Event_Set.create_scenario_events( rupture_centroid_lat=eqrm_flags.scenario_latitude, rupture_centroid_lon=eqrm_flags.scenario_longitude, azimuth=eqrm_flags.scenario_azimuth, dip=eqrm_flags.dip, Mw=eqrm_flags.scenario_magnitude, fault_width=eqrm_flags.scenario_max_width, depth=eqrm_flags.scenario_depth, scenario_number_of_events=eqrm_flags.scenario_number_of_events) answer = array(eqrm_flags.scenario_max_width) self.assert_ (allclose(event_set.width, answer)) area = array((conversions.modified_Wells_and_Coppersmith_94_area( eqrm_flags.scenario_magnitude[0]))) self.assert_ (allclose(100., area)) width = array( conversions.modified_Wells_and_Coppersmith_94_width( eqrm_flags.dip, eqrm_flags.scenario_magnitude, area, eqrm_flags.scenario_max_width )) self.assert_ (allclose(5., width)) self.assert_ (allclose(event_set.width, width)) self.assert_ (allclose(event_set.length, 20.)) self.assert_ (allclose(event_set.rupture_centroid_x, 10.)) # Due to the 45 deg dip self.assert_ (allclose(event_set.rupture_centroid_y, event_set.depth)) #event_set.trace_start_lat [-30.09] #event_set.trace_start_lon [ 149.93] # Zone: 56 #Easting: 210590.347 Northing: 6677424.096 #Latitude: -30 0 ' 0.00000 '' Longitude: 150 0 ' 0.00000 '' # start # Easting: 203590.347 # Northing: 6667424.096 # Latitude: -30 5 ' 18.39181 '' Longitude: 149 55 ' 29.06358 # -30.08 # 149.92 # End # Easting: 203583.347 # Northing: 6687424.096 # Latitude: -29 54 ' 29.55723 '' Longitude: 149 55 ' 49.06877 '' # -29.90 # 149.92 self.assert_ (allclose(event_set.trace_start_lat, -30.08,0.001)) self.assert_ (allclose(event_set.trace_start_lon, 149.9,0.001)) repr = event_set.__repr__() repr_list = repr.split('\n') results = repr_list[1].split(':') self.assert_ (int(results[1]) == 1) results = repr_list[2].split(':') self.assert_ (float(results[1].strip('[]')) == \ eqrm_flags.scenario_latitude[0]) results = repr_list[3].split(':') self.assert_ (float(results[1].strip('[]')) == \ eqrm_flags.scenario_longitude[0]) results = repr_list[4].split(':') self.assert_ (float(results[1].strip('[]')) == \ eqrm_flags.scenario_magnitude [0]) self.assert_ (len(event_set) == 1)
def test_scenario_event_5(self): eqrm_flags = DummyEventSet() eqrm_flags.scenario_latitude = [0.] eqrm_flags.scenario_longitude = [150.] eqrm_flags.scenario_azimuth = [0] eqrm_flags.dip = [45] eqrm_flags.scenario_magnitude = [6.02] eqrm_flags.scenario_max_width = [4] eqrm_flags.scenario_depth = [7] eqrm_flags.scenario_number_of_events = 1 event_set = Event_Set.create_scenario_events( rupture_centroid_lat=eqrm_flags.scenario_latitude, rupture_centroid_lon=eqrm_flags.scenario_longitude, azimuth=eqrm_flags.scenario_azimuth, dip=eqrm_flags.dip, Mw=eqrm_flags.scenario_magnitude, fault_width=eqrm_flags.scenario_max_width, depth=eqrm_flags.scenario_depth, scenario_number_of_events=eqrm_flags.scenario_number_of_events) answer = array(eqrm_flags.scenario_max_width) self.assert_(allclose(event_set.width, answer)) area = array((conversions.modified_Wells_and_Coppersmith_94_area( eqrm_flags.scenario_magnitude[0]))) self.assert_(allclose(100., area)) width = array( conversions.modified_Wells_and_Coppersmith_94_width( eqrm_flags.dip, eqrm_flags.scenario_magnitude, area, eqrm_flags.scenario_max_width)) self.assert_(allclose(4., width)) self.assert_(allclose(event_set.width, width)) self.assert_(allclose(event_set.length, 25.)) self.assert_(allclose(event_set.rupture_centroid_x, 12.5)) # Due to the 45 deg dip self.assert_(allclose(event_set.rupture_centroid_y, event_set.depth)) # When the Azimuth is 0 increasing length moves the start trace lower # , southward, for 45 deg dips #event_set.trace_start_lat [0] #event_set.trace_start_lon [ 150] km_per_degree = 111.125113474 # trace start lat = 0 -12.5/111.125 = -0.1124859392575928 # trace start long = 150 - 7/111.125 = 149.937 # print "event_set.trace_start_lat", event_set.trace_start_lat # print "event_set.trace_start_lon", event_set.trace_start_lon self.assert_(allclose(event_set.trace_start_lon, 149.937)) self.assert_(allclose(event_set.trace_start_lat, -0.1124859)) eqrm_flags.scenario_depth = [km_per_degree] event_set = Event_Set.create_scenario_events( rupture_centroid_lat=eqrm_flags.scenario_latitude, rupture_centroid_lon=eqrm_flags.scenario_longitude, azimuth=eqrm_flags.scenario_azimuth, dip=eqrm_flags.dip, Mw=eqrm_flags.scenario_magnitude, fault_width=eqrm_flags.scenario_max_width, depth=eqrm_flags.scenario_depth, scenario_number_of_events=eqrm_flags.scenario_number_of_events) # trace start lon = 150 - 111.125/111.125 = 149 # print "event_set.trace_start_lat", event_set.trace_start_lat # print "event_set.trace_start_lon", event_set.trace_start_lon self.assert_(allclose(event_set.trace_start_lon, 149.0)) self.assert_(allclose(event_set.trace_start_lat, -0.1124859))
def test_scenario_event_4(self): eqrm_flags = DummyEventSet() eqrm_flags.scenario_latitude = [-30.] eqrm_flags.scenario_longitude = [150.] eqrm_flags.scenario_azimuth = [0] eqrm_flags.dip = [45] eqrm_flags.scenario_magnitude = [6.02] eqrm_flags.scenario_max_width = [5] eqrm_flags.scenario_depth = [7] eqrm_flags.scenario_number_of_events = 1 event_set = Event_Set.create_scenario_events( rupture_centroid_lat=eqrm_flags.scenario_latitude, rupture_centroid_lon=eqrm_flags.scenario_longitude, azimuth=eqrm_flags.scenario_azimuth, dip=eqrm_flags.dip, Mw=eqrm_flags.scenario_magnitude, fault_width=eqrm_flags.scenario_max_width, depth=eqrm_flags.scenario_depth, scenario_number_of_events=eqrm_flags.scenario_number_of_events) answer = array(eqrm_flags.scenario_max_width) self.assert_(allclose(event_set.width, answer)) area = array((conversions.modified_Wells_and_Coppersmith_94_area( eqrm_flags.scenario_magnitude[0]))) self.assert_(allclose(100., area)) width = array( conversions.modified_Wells_and_Coppersmith_94_width( eqrm_flags.dip, eqrm_flags.scenario_magnitude, area, eqrm_flags.scenario_max_width)) self.assert_(allclose(5., width)) self.assert_(allclose(event_set.width, width)) self.assert_(allclose(event_set.length, 20.)) self.assert_(allclose(event_set.rupture_centroid_x, 10.)) # Due to the 45 deg dip self.assert_(allclose(event_set.rupture_centroid_y, event_set.depth)) #event_set.trace_start_lat [-30.09] #event_set.trace_start_lon [ 149.93] # Zone: 56 #Easting: 210590.347 Northing: 6677424.096 #Latitude: -30 0 ' 0.00000 '' Longitude: 150 0 ' 0.00000 '' # start # Easting: 203590.347 # Northing: 6667424.096 # Latitude: -30 5 ' 18.39181 '' Longitude: 149 55 ' 29.06358 # -30.08 # 149.92 # End # Easting: 203583.347 # Northing: 6687424.096 # Latitude: -29 54 ' 29.55723 '' Longitude: 149 55 ' 49.06877 '' # -29.90 # 149.92 self.assert_(allclose(event_set.trace_start_lat, -30.08, 0.001)) self.assert_(allclose(event_set.trace_start_lon, 149.9, 0.001)) repr = event_set.__repr__() repr_list = repr.split('\n') results = repr_list[1].split(':') self.assert_(int(results[1]) == 1) results = repr_list[2].split(':') self.assert_ (float(results[1].strip('[]')) == \ eqrm_flags.scenario_latitude[0]) results = repr_list[3].split(':') self.assert_ (float(results[1].strip('[]')) == \ eqrm_flags.scenario_longitude[0]) results = repr_list[4].split(':') self.assert_ (float(results[1].strip('[]')) == \ eqrm_flags.scenario_magnitude [0]) self.assert_(len(event_set) == 1)