def optimize_source_model(input_path, area_src_disc, output_path): """ Read a source model and generate a new one, converting area sources to point sources. """ area_src_disc = float(area_src_disc) source.optimize_source_model(input_path, area_src_disc, output_path) engine.complain_and_exit(output_path)
def list_inputs(input_type): """ Print a list of available input models """ if input_type == "exposure": model = models.ExposureModel else: engine.complain_and_exit( "Wrong input type. Available input types: exposure") inputs = model.objects.all() if not inputs.count(): print "No inputs found of type %s" % input_type return print ('model id | name') for inp in inputs: print "%9d|%s" % (inp.id, inp.name)
def list_inputs(input_type): """ Print a list of available input models """ if input_type == "exposure": model = models.ExposureModel else: engine.complain_and_exit( "Wrong input type. Available input types: exposure") inputs = model.objects.all() if not inputs.count(): print "No inputs found of type %s" % input_type return print('model id | name') for inp in inputs: print "%9d|%s" % (inp.id, inp.name)
def main(): arg_parser = set_up_arg_parser() args = arg_parser.parse_args() if args.version: engine.complain_and_exit(__version__) if args.config_file: os.environ[config.OQ_CONFIG_FILE_VAR] = \ abspath(expanduser(args.config_file)) config.refresh() if args.optimize_source_model: optimize_source_model(*args.optimize_source_model) if args.no_distribute: os.environ[openquake.engine.NO_DISTRIBUTE_VAR] = '1' if args.list_inputs: list_inputs(args.list_inputs) # hazard elif args.list_hazard_calculations: list_calculations(models.HazardCalculation.objects) elif args.list_hazard_outputs is not None: engine.list_hazard_outputs(args.list_hazard_outputs) elif args.export_hazard is not None: output_id, target_dir = args.export_hazard output_id = int(output_id) export_hazard(output_id, expanduser(target_dir), args.export_type) elif args.run_hazard is not None: log_file = expanduser(args.log_file) \ if args.log_file is not None else None engine.run_hazard(expanduser(args.run_hazard), args.log_level, log_file, args.exports) elif args.delete_hazard_calculation is not None: del_haz_calc(args.delete_hazard_calculation, args.yes) # risk elif args.list_risk_calculations: list_calculations(models.RiskCalculation.objects) elif args.list_risk_outputs is not None: engine.list_risk_outputs(args.list_risk_outputs) elif args.export_risk is not None: output_id, target_dir = args.export_risk export_risk(output_id, expanduser(target_dir), args.export_type) elif args.run_risk is not None: if (args.hazard_output_id is None and args.hazard_calculation_id is None): engine.complain_and_exit(MISSING_HAZARD_MSG) log_file = expanduser(args.log_file) \ if args.log_file is not None else None engine.run_risk(expanduser(args.run_risk), args.log_level, log_file, args.exports, hazard_output_id=args.hazard_output_id, hazard_calculation_id=args.hazard_calculation_id) elif args.delete_risk_calculation is not None: del_risk_calc(args.delete_risk_calculation, args.yes) # import elif args.load_gmf is not None: with open(args.load_gmf) as f: out, hc = import_gmf_scenario(f) print 'Added output id=%d of type %s; hazard_calculation_id=%d'\ % (out.id, out.output_type, hc.id) elif args.load_curve is not None: with open(args.load_curve) as f: out, hc = import_hazard_curves(f) print 'Added output id=%d of type %s; hazard_calculation_id=%d'\ % (out.id, out.output_type, hc.id) elif args.list_imported_outputs: list_imported_outputs() elif args.delete_uncompleted_calculations: delete_uncompleted_calculations() else: arg_parser.print_usage()