def test_is_writeable(self): parser = SourceModelParser(SourceConverter(50., 1., 10, 0.1, 10.)) groups = [copy.deepcopy(grp) for grp in parser.parse_groups(ALT_MFDS)] # there are a SimpleFaultSource and a CharacteristicFaultSource fd, fname = tempfile.mkstemp(suffix='.xml') with os.fdopen(fd, 'wb'): write_source_model(fname, groups, 'Test Source Model')
def from_model_files(cls, limits, input_model, investigation_time=1.0, simple_mesh_spacing=1.0, complex_mesh_spacing=5.0, mfd_width=0.1, area_discretisation=10.0): """ Reads the hazard model from a file :param list limits: Grid configuration [west, east, xspc, south, north, yspc, upper, lower, zspc] :param str input_model: Path to input source model :param float investigation_time: Investigation time of Poisson model :param float simple_mesh_spacing: Rupture mesh spacing of simple fault (km) :param float complex_mesh_spacing: Rupture mesh spacing of complex fault (km) :param float mfd_width: Spacing (in magnitude units) of MFD :param float area_discretisation: Spacing of discretisation of area source (km) """ converter = SourceConverter(investigation_time, simple_mesh_spacing, complex_mesh_spacing, mfd_width, area_discretisation) parser = SourceModelParser(converter) sources = [] for grp in parser.parse_groups(input_model): sources.extend(grp.sources) return cls(limits, sources, area_discretisation)