def test_well_formed_ruptures(self): converter = s.RuptureConverter(rupture_mesh_spacing=1.5, complex_fault_mesh_spacing=1.5) for fname in (SIMPLE_FAULT_RUPTURE, COMPLEX_FAULT_RUPTURE, SINGLE_PLANE_RUPTURE, MULTI_PLANES_RUPTURE): [node] = nrml.read(fname) converter.convert_node(node)
def get_rupture_sitecol(oqparam, sitecol): """ Read the `rupture_model` file and by filter the site collection :param oqparam: an :class:`openquake.commonlib.oqvalidation.OqParam` instance :param sitecol: a :class:`openquake.hazardlib.site.SiteCollection` instance :returns: a pair (EBRupture, FilteredSiteCollection) """ rup_model = oqparam.inputs['rupture_model'] [rup_node] = nrml.read(rup_model) conv = sourceconverter.RuptureConverter( oqparam.rupture_mesh_spacing, oqparam.complex_fault_mesh_spacing) rup = conv.convert_node(rup_node) rup.tectonic_region_type = '*' # there is not TRT for scenario ruptures rup.seed = oqparam.random_seed maxdist = oqparam.maximum_distance['default'] sc = calc.filters.filter_sites_by_distance_to_rupture( rup, maxdist, sitecol) if sc is None: raise RuntimeError( 'All sites were filtered out! maximum_distance=%s km' % maxdist) n = oqparam.number_of_ground_motion_fields events = numpy.zeros(n, stored_event_dt) events['eid'] = numpy.arange(n) ebr = EBRupture(rup, sc.sids, events) return ebr, sc
def get_rupture(oqparam): """ Returns a hazardlib rupture by reading the `rupture_model` file. :param oqparam: an :class:`openquake.commonlib.oqvalidation.OqParam` instance """ rup_model = oqparam.inputs['rupture_model'] [rup_node] = nrml.read(rup_model) conv = sourceconverter.RuptureConverter(oqparam.rupture_mesh_spacing, oqparam.complex_fault_mesh_spacing) rup = conv.convert_node(rup_node) rup.tectonic_region_type = '*' # there is not TRT for scenario ruptures return rup
def get_rupture(oqparam): """ Read the `rupture_model` XML file and by filter the site collection :param oqparam: an :class:`openquake.commonlib.oqvalidation.OqParam` instance :returns: an hazardlib rupture """ [rup_node] = nrml.read(oqparam.inputs['rupture_model']) conv = sourceconverter.RuptureConverter(oqparam.rupture_mesh_spacing) rup = conv.convert_node(rup_node) rup.tectonic_region_type = '*' # there is not TRT for scenario ruptures rup.rup_id = oqparam.ses_seed return rup
def get_rupture(oqparam): """ Read the `rupture_model` file and by filter the site collection :param oqparam: an :class:`openquake.commonlib.oqvalidation.OqParam` instance :returns: an hazardlib rupture """ rup_model = oqparam.inputs['rupture_model'] if rup_model.endswith('.csv'): return rupture.from_array(hdf5.read_csv(rup_model)) if rup_model.endswith('.xml'): [rup_node] = nrml.read(rup_model) conv = sourceconverter.RuptureConverter( oqparam.rupture_mesh_spacing, oqparam.complex_fault_mesh_spacing) rup = conv.convert_node(rup_node) else: raise ValueError('Unrecognized ruptures model %s' % rup_model) rup.tectonic_region_type = '*' # there is not TRT for scenario ruptures rup.rup_id = oqparam.ses_seed return rup