def testbmifuncs(self): bmiobj = bmi.wflowbmi_csdms() bmiobj.initialize("bmirunner.ini", loglevel=logging.INFO) print(bmiobj.get_component_name().split(",")) print(bmiobj.get_input_var_names()) print(bmiobj.get_output_var_names()) print(bmiobj.get_start_time()) endtime = bmiobj.get_end_time() curtime = bmiobj.get_current_time() print(endtime) print(curtime) print(bmiobj.get_time_step()) print(bmiobj.get_attribute_names()) steps = 0 print(steps) while curtime < endtime: bmiobj.update() steps = steps + 1 curtime = bmiobj.get_current_time() atn = bmiobj.get_attribute_names() print(atn[0]) print(bmiobj.get_attribute_value(atn[0])) bmiobj.finalize() self.assertEqual(steps, 29) self.assertEqual(curtime, bmiobj.get_current_time())
def testbmirunner_set(self): configfile = "combined/bmirunner.ini" bmiobj = bmi.wflowbmi_csdms() bmiobj.initialize_config(configfile) bmiobj.initialize_model() start = bmiobj.get_start_time() end = bmiobj.get_end_time() bmiobj.set_start_time(start) # bmiobj.set_end_time(end) # Get time for the loop ts = bmiobj.get_time_step() curtime = bmiobj.get_current_time() # Loop over the time duration while curtime < end: bmiobj.update_until(curtime + ts) curtime = bmiobj.get_current_time() bmiobj.finalize()
def testbmifuncs(self): bmiobj = bmi.wflowbmi_csdms() bmiobj.initialize('bmirunner.ini') print bmiobj.get_component_name().split(',') print bmiobj.get_input_var_names() print bmiobj.get_output_var_names() print bmiobj.get_start_time() print bmiobj.get_end_time() print bmiobj.get_current_time() print bmiobj.get_time_step() print bmiobj.get_attribute_names() steps = (bmiobj.get_end_time() - bmiobj.get_start_time())/bmiobj.get_time_step() + 1 print steps for a in range(0,steps): bmiobj.update() atn = bmiobj.get_attribute_names() print atn[0] print bmiobj.get_attribute_value(atn[0]) bmiobj.finalize()