the pair ('fragilityModel', 'nrml/0.4'). """ version, tag = re.search(r'(nrml/[\d\.]+)\}(\w+)', nrml_node.tag).groups() return tag, version def to_python(fname, *args): """ Parse a NRML file and return an associated Python object. It works by calling nrml.read() and node_to_obj() in sequence. """ [node] = read(fname) return node_to_obj(node, fname, *args) parse = deprecated('Use nrml.to_python instead')(to_python) node_to_obj = CallableDict(keyfunc=get_tag_version, keymissing=lambda n, f: n) # dictionary of functions with at least two arguments, node and fname @node_to_obj.add(('ruptureCollection', 'nrml/0.5')) def get_rupture_collection(node, fname, converter): return converter.convert_node(node) default = sourceconverter.SourceConverter() @node_to_obj.add(('sourceModel', 'nrml/0.4')) def get_source_model_04(node, fname, converter=default):
from openquake.calculators.export.hazard import savez from openquake.commonlib import writers, risk_writers, calc from openquake.commonlib.util import (get_assets, compose_arrays, reader) from openquake.commonlib.risk_writers import (DmgState, DmgDistPerTaxonomy, DmgDistPerAsset, DmgDistTotal, ExposureData, Site) Output = collections.namedtuple('Output', 'ltype path array') F32 = numpy.float32 F64 = numpy.float64 U16 = numpy.uint16 U32 = numpy.uint32 U64 = numpy.uint64 stat_dt = numpy.dtype([('mean', F32), ('stddev', F32)]) deprecated = deprecated('Use the csv exporter instead') def add_quotes(values): # used to escape taxonomies in CSV files return numpy.array(['"%s"' % val for val in values], (bytes, 100)) def get_rup_data(ebruptures): dic = {} for ebr in ebruptures: point = ebr.rupture.surface.get_middle_point() dic[ebr.serial] = (ebr.rupture.mag, point.x, point.y, point.z) return dic