import re
import sys
import time
from openquake.hazardlib.geo.point import Point
[docs]
def get_time(time_start, time_cell):
time_end = time.time()
delta_tot = (time_end-time_start) / 60.
delta_cell = (time_end-time_cell) / 60.
tstr = "Elapsed time: total %3.0f min - last cell %3.0f min"
print(tstr % (delta_tot, delta_cell))
return time_end
[docs]
def find_oqmbtk_folder():
for tstr in sys.path:
if re.search('oq-mbtk', tstr):
return tstr
return None
def _get_point_list(lons, lats):
"""
:returns:
Returns a list of :class:` openquake.hazardlib.geo.point.Point`
instances
"""
points = []
for i in range(0, len(lons)):
points.append(Point(lons[i], lats[i]))
return points
[docs]
class GetSourceIDs(object):
def __init__(self, model):
self.model = model
self.reset()
[docs]
def reset(self):
self.keys = set([key for key in self.model.sources])
[docs]
def keep_equal_to(self, param_name, values):
"""
:parameter str param_name:
:parameter list values:
"""
assert type(values) is list
tmp = []
for key in self.keys:
src = self.model.sources[key]
param_value = getattr(src, param_name)
for value in values:
if param_value == value:
tmp.append(key)
continue
self.keys = tmp
[docs]
def keep_gt_than(self, param_name, value):
tmp = []
for key in self.keys:
src = self.model.sources[key]
param_value = getattr(src, param_name)
if param_value > value:
tmp.append(key)
self.keys = tmp
[docs]
def keep_lw_than(self, param_name, value):
tmp = []
for key in self.keys:
src = self.model.sources[key]
param_value = getattr(src, param_name)
if param_value < value:
tmp.append(key)
self.keys = tmp