本文整理汇总了Python中wfs_input_generator.InputFileGenerator.event_filter方法的典型用法代码示例。如果您正苦于以下问题:Python InputFileGenerator.event_filter方法的具体用法?Python InputFileGenerator.event_filter怎么用?Python InputFileGenerator.event_filter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类wfs_input_generator.InputFileGenerator
的用法示例。
在下文中一共展示了InputFileGenerator.event_filter方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_event_filter
# 需要导入模块: from wfs_input_generator import InputFileGenerator [as 别名]
# 或者: from wfs_input_generator.InputFileGenerator import event_filter [as 别名]
def test_event_filter():
"""
Tests the filtering of the events.
This is funky. If any filter is given, it will remove all events that do
not have an event_id.
"""
events = \
[{"latitude": 45.0,
"longitude": 12.1,
"depth_in_km": 13.0,
"origin_time": obspy.UTCDateTime(2012, 4, 12, 7, 15, 48, 500000),
"m_rr": -2.11e+18,
"m_tt": -4.22e+19,
"m_pp": 4.43e+19,
"m_rt": -9.35e+18,
"m_rp": -8.38e+18,
"m_tp": -6.44e+18,
"description": "FICTIONAL EVENT IN BAVARIA",
"_event_id": "smi:local/Event/2013-01-05T20:19:58.727909"},
{"latitude": 13.93,
"longitude": -92.47,
"depth_in_km": 28.7,
"origin_time": obspy.UTCDateTime(2012, 11, 7, 16, 35, 55, 200000),
"m_rr": 1.02e+20,
"m_tt": -7.96e+19,
"m_pp": -2.19e+19,
"m_rt": 6.94e+19,
"m_rp": -4.08e+19,
"m_tp": 4.09e+19,
"description": "GUATEMALA",
"_event_id": "smi:local/Event/2013-01-07T13:58:41.209477"}]
event_file_1 = os.path.join(DATA, "event1.xml")
event_file_2 = os.path.join(DATA, "event2.xml")
gen = InputFileGenerator()
gen.add_events([event_file_1, event_file_2])
assert sorted(gen._events) == sorted(events)
# No applied filter should just result in the same stations being available
# everywhere.
assert sorted(gen._filtered_events) == sorted(gen._events)
# Events filters are a simple list of URLS.
gen.event_filter = ["smi:local/Event/2013-01-07T13:58:41.209477"]
# Only the last event should now be available.
assert sorted(gen._filtered_events) == sorted(events[1:])
# Removing the filter should make the missing events reappear.
gen.event_filter = None
assert sorted(gen._filtered_events) == sorted(gen._events)
gen.station_filter = []
assert sorted(gen._filtered_events) == sorted(gen._events)
示例2: test_event_filter_JSON
# 需要导入模块: from wfs_input_generator import InputFileGenerator [as 别名]
# 或者: from wfs_input_generator.InputFileGenerator import event_filter [as 别名]
def test_event_filter_JSON():
"""
Event filters can be set as JSON.
"""
filters = ["smi:some/url", "smi:some/other/url"]
gen = InputFileGenerator()
gen.event_filter = json.dumps(filters)
assert gen.event_filter == filters
示例3: test_event_filter_removed_everything_without_an_id
# 需要导入模块: from wfs_input_generator import InputFileGenerator [as 别名]
# 或者: from wfs_input_generator.InputFileGenerator import event_filter [as 别名]
def test_event_filter_removed_everything_without_an_id():
"""
An applied event filter will remove all events without an id.
"""
events = [{
"latitude": 45.0,
"longitude": 12.1,
"depth_in_km": 13.0,
"origin_time": obspy.UTCDateTime(2012, 4, 12, 7, 15, 48, 500000),
"m_rr": -2.11e+18,
"m_tt": -4.22e+19,
"m_pp": 4.43e+19,
"m_rt": -9.35e+18,
"m_rp": -8.38e+18,
"m_tp": -6.44e+18,
"description": "Some description"
}, {
"latitude": 13.93,
"longitude": -92.47,
"depth_in_km": 28.7,
"origin_time": obspy.UTCDateTime(2012, 11, 7, 16, 35, 55, 200000),
"m_rr": 1.02e+20,
"m_tt": -7.96e+19,
"m_pp": -2.19e+19,
"m_rt": 6.94e+19,
"m_rp": -4.08e+19,
"m_tp": 4.09e+19,
"description": None}]
gen = InputFileGenerator()
gen.add_events(events)
assert sorted(gen._filtered_events) == sorted(events)
# Applying a filter will remove everything.
gen.event_filter = ["smi://some/url"]
assert sorted(gen._filtered_events) == []
# Removing the filter should make the missing events reappear.
gen.event_filter = None
assert sorted(gen._filtered_events) == sorted(gen._events)
gen.station_filter = []
assert sorted(gen._filtered_events) == sorted(gen._events)
示例4: compute
# 需要导入模块: from wfs_input_generator import InputFileGenerator [as 别名]
# 或者: from wfs_input_generator.InputFileGenerator import event_filter [as 别名]
def compute(self):
gen = InputFileGenerator()
userconf = json.load(open(self.parameters["solver_conf_file"]))
fields = userconf["fields"]
for x in fields:
gen.add_configuration({x["name"]:self.strToBool(x["value"])})
with open (self.parameters["quakeml"], "r") as events:
quakeml=events.read()
#unicode_qml=quakeml.decode('utf-8')
#data = unicode_qml.encode('ascii','ignore')
##
cat=readQuakeML(quakeml)
events = []
#cat = obspy.readEvents(data)
#Remove all events with no moment tensor.
for event in cat:
for fm in event.focal_mechanisms:
if fm.moment_tensor and fm.moment_tensor.tensor:
events.append(event)
break
cat.events = events
gen.add_events(cat)
evn=0
outputdir=""
for x in userconf["events"]:
gen.event_filter=[x]
if self.parameters["station_format"]=="stationXML":
gen.add_stations(self.parameters["stations_file"])
if self.parameters["station_format"]=="points":
stlist = []
with open(self.parameters["stations_file"]) as f:
k=False
for line in f:
if (k==False):
k=True
else:
station={}
l=line.strip().split(" ")
station.update({"id":l[1]+"."+l[0]})
station.update({"latitude":float(l[3])})
station.update({"longitude":float(l[2])})
station.update({"elevation_in_m":float(l[4])})
station.update({"local_depth_in_m":float(l[5])})
stlist.append(station)
gen.add_stations(stlist)
gen.station_filter = userconf["stations"]
outputdir=self.outputdest+userconf["runId"]+"/"+userconf["runId"]+"_"+str(evn)+"/DATA"
output_files = gen.write(format=userconf["solver"], output_dir=outputdir)
locations = []
for x in output_files.keys():
locations.append("file://"+socket.gethostname()+outputdir+"/"+x)
self.addOutput(gen._filtered_events,location=locations,metadata=self.extractEventMetadata(outputdir,gen._filtered_events),control={"con:immediateAccess":"true"})
evn+=1
self.addOutput(outputdir,location=locations,metadata={"to_xdecompose":str(outputdir)},control={"con:immediateAccess":"true"})