Index: wflow-py/UnitTests/TestBMI.py =================================================================== diff -u -rc30e6377f07fd5c900d5431dd0df1bb1c0a10dc4 -re2336bc0557f4dec254c617f3bb9cd811721a2d8 --- wflow-py/UnitTests/TestBMI.py (.../TestBMI.py) (revision c30e6377f07fd5c900d5431dd0df1bb1c0a10dc4) +++ wflow-py/UnitTests/TestBMI.py (.../TestBMI.py) (revision e2336bc0557f4dec254c617f3bb9cd811721a2d8) @@ -32,18 +32,23 @@ print("-------------- Grid spacing: ") print(bmiobj.get_grid_spacing('Altitude')) + self.assertAlmostEquals(sum([0.036666665, 0.036666665]), sum(bmiobj.get_grid_spacing('Altitude')), places=4) print("-------------- Grid X: ") print(bmiobj.get_grid_x('Altitude')) + self.assertAlmostEquals( 5.22716331, bmiobj.get_grid_x('Altitude')[0,0], places=4) print("-------------- Grid Y: ") print(bmiobj.get_grid_y('Altitude')) + self.assertAlmostEquals( 45.89426804, bmiobj.get_grid_y('Altitude')[0,0], places=4) print("-------------- Grid Z: ") print(bmiobj.get_grid_z('Altitude')) + self.assertAlmostEquals(218.44944763, bmiobj.get_grid_z('Altitude')[0, 0], places=4) print("-------------- Name: ") print(bmiobj.get_component_name()) + self.assertEquals('wflow_sceleton',bmiobj.get_component_name()) print("-------------- Input var names: ") print(bmiobj.get_input_var_names()) Index: wflow-py/UnitTests/TestBMI_combined.py =================================================================== diff -u -r6506c343c0e081144b316c548882a31cec975d93 -re2336bc0557f4dec254c617f3bb9cd811721a2d8 --- wflow-py/UnitTests/TestBMI_combined.py (.../TestBMI_combined.py) (revision 6506c343c0e081144b316c548882a31cec975d93) +++ wflow-py/UnitTests/TestBMI_combined.py (.../TestBMI_combined.py) (revision e2336bc0557f4dec254c617f3bb9cd811721a2d8) @@ -18,25 +18,31 @@ def testbmifuncs(self): bmiobj = bmi.wflowbmi_csdms() - bmiobj.initialize('bmirunner.ini') + 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() - print bmiobj.get_end_time() - print bmiobj.get_current_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 = (bmiobj.get_end_time() - bmiobj.get_start_time())/bmiobj.get_time_step() + 1 + steps = 0 print steps - for a in range(0,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.assertEquals(steps, 29) + self.assertEquals(curtime, bmiobj.get_current_time()) if __name__ == '__main__': Index: wflow-py/UnitTests/wflow_sceleton/outstate/TSoil.map =================================================================== diff -u -rbc40ad43ad6d4988ac6bd724618ce51c455fcf06 -re2336bc0557f4dec254c617f3bb9cd811721a2d8 Binary files differ Index: wflow-py/UnitTests/wflow_sceleton/wflow_sceleton.ini =================================================================== diff -u -rc30e6377f07fd5c900d5431dd0df1bb1c0a10dc4 -re2336bc0557f4dec254c617f3bb9cd811721a2d8 --- wflow-py/UnitTests/wflow_sceleton/wflow_sceleton.ini (.../wflow_sceleton.ini) (revision c30e6377f07fd5c900d5431dd0df1bb1c0a10dc4) +++ wflow-py/UnitTests/wflow_sceleton/wflow_sceleton.ini (.../wflow_sceleton.ini) (revision e2336bc0557f4dec254c617f3bb9cd811721a2d8) @@ -2,6 +2,7 @@ [API] IF = 0,1 InwaterMM = 2,4 +TEMP=0,Celcius Index: wflow-py/wflow/wflow_bmi.py =================================================================== diff -u -rc30e6377f07fd5c900d5431dd0df1bb1c0a10dc4 -re2336bc0557f4dec254c617f3bb9cd811721a2d8 --- wflow-py/wflow/wflow_bmi.py (.../wflow_bmi.py) (revision c30e6377f07fd5c900d5431dd0df1bb1c0a10dc4) +++ wflow-py/wflow/wflow_bmi.py (.../wflow_bmi.py) (revision e2336bc0557f4dec254c617f3bb9cd811721a2d8) @@ -906,7 +906,8 @@ :return: start time in the units and epoch returned by the function get_time_units """ st = self.dynModel.wf_supplyStartTime() - self.bmilogger.debug("get_start_time: " + str(st)) + self.bmilogger.debug( + "get_start_time: " + str(st) + " " + str(self.dynModel.DT.runStartTime.strftime("%Y-%m-%d %H:%M:%S"))) return st def get_current_time(self): @@ -927,7 +928,7 @@ :return: end time of simulation n the units and epoch returned by the function get_time_units """ et = self.dynModel.wf_supplyEndTime() - self.bmilogger.debug("get_end_time: " + str(et)) + self.bmilogger.debug("get_end_time: " + str(et)+ " " + str(self.dynModel.DT.runEndTime.strftime("%Y-%m-%d %H:%M:%S"))) return et def get_time_step(self):