def _main_runner(config_file): print 'Starting runner' from shyft.orchestration.utils.ShyftConfig import ShyftConfig config = ShyftConfig(config_file) simulator = ShyftRunner(config) simulator.build_model(config.t_start, config.dt, config.n_steps) simulator.run_model() if "shapes" in simulator.cell_data_types(): extractor = {'Total discharge': lambda x: x.response.total_discharge, 'Snow storage': lambda x: x.response.gs.storage*(1.0 - (x.lake_frac + x.reservoir_frac)), 'Temperature': lambda x: x.temperature[len(x.temperature)-1], 'Precipitation': lambda x: x.precipitation[len(x.precipitation)-1]} simulator.plot_distributed_data(simulator.cell_data("shapes"), simulator.model.get_cells(), extractor) print "Exit.."
# time_axis = api.FixedIntervalTimeAxis(t_start, delta_t, n_steps) time_axis = api.TimeAxis(t_start, delta_t, n_steps) config._target = make_fake_target(config.model_config, time_axis, config.catchment_index[0]['catch_id']) calibrator = ShyftCalibrator(config) calibrator.init(time_axis) print calibrator.calibrate(tol=1.0e-5) print "Exit.." if __name__ == "__main__": import sys import os from shyft.orchestration.utils.ShyftRunner import ShyftRunner from shyft.orchestration.utils.ShyftConfig import ShyftConfig enki_root=os.path.join("D:\\","Users","sih","enki_config_for_test") config_file = os.path.join(enki_root, "runner_configurations.yaml") config= ShyftConfig(config_file,'NeaNidelva') simulator = ShyftRunner(config) simulator.build_model(config.t_start, config.dt, config.n_steps) simulator.run_model() discharge_0=simulator.get_calculated_discharge(38) if "shapes" in simulator.cell_data_types(): extractor = {'Total discharge': lambda x: x.response.total_discharge, 'Snow storage': lambda x: x.response.gs.storage*(1.0 - (x.lake_frac + x.reservoir_frac)), 'Temperature': lambda x: x.temperature[len(x.temperature)-1], 'Precipitation': lambda x: x.precipitation[len(x.precipitation)-1]} simulator.plot_distributed_data(simulator.cell_data("shapes"), simulator.model.get_cells(), extractor) print "Exit.." #default_config_file = os.path.join(os.path.dirname(__file__), "config\NeaNidelva_calibration.yaml") #filename = sys.argv[1] if len(sys.argv) == 2 else default_config_file #_main_calibration_runner(filename)