Index: wflow-py/UnitTests/TestBMI.py =================================================================== diff -u -rde426ba5d34987feb480e55b83f47a5e1b6bb325 -re27d0afdd07a07f344b793be87029591128be64c --- wflow-py/UnitTests/TestBMI.py (.../TestBMI.py) (revision de426ba5d34987feb480e55b83f47a5e1b6bb325) +++ wflow-py/UnitTests/TestBMI.py (.../TestBMI.py) (revision e27d0afdd07a07f344b793be87029591128be64c) @@ -130,18 +130,18 @@ bmiobj.set_start_time(0) print(bmiobj.get_attribute_value("run:starttime")) + print("-------------- save the state:") + bmiobj.save_state(".") + self.assertTrue(os.path.exists("TSoil.map")) + os.remove("TSoil.map") + + bmiobj.finalize() - #update - #update_until - #update_frac - #save_state - ## finalize - # get_value_at_indices - # set_value_at_indices + if __name__ == '__main__': unittest.main() Index: wflow-py/UnitTests/wflow_sceleton/outstate/TSoil.map =================================================================== diff -u -rba01b0e52c1381d7c8d87e10e44f03d688e998c5 -re27d0afdd07a07f344b793be87029591128be64c Binary files differ Index: wflow-py/wflow/wf_DynamicFramework.py =================================================================== diff -u -r3bb53de3e1d138e181dfdf0fcee09a5926fb5e20 -re27d0afdd07a07f344b793be87029591128be64c --- wflow-py/wflow/wf_DynamicFramework.py (.../wf_DynamicFramework.py) (revision 3bb53de3e1d138e181dfdf0fcee09a5926fb5e20) +++ wflow-py/wflow/wf_DynamicFramework.py (.../wf_DynamicFramework.py) (revision e27d0afdd07a07f344b793be87029591128be64c) @@ -390,6 +390,9 @@ if hasattr(self,'NcOutput'): self.NcOutput.finish() + fp = open(os.path.join(self._userModel().caseName,self._userModel().runId,"configofrun.ini"),'wb') + self._userModel().config.write(fp) + def loggingSetUp(self,caseName,runId,logfname,model,modelversion,level=pcrut.logging.INFO): """ Index: wflow-py/wflow/wflow_bmi.py =================================================================== diff -u -rba01b0e52c1381d7c8d87e10e44f03d688e998c5 -re27d0afdd07a07f344b793be87029591128be64c --- wflow-py/wflow/wflow_bmi.py (.../wflow_bmi.py) (revision ba01b0e52c1381d7c8d87e10e44f03d688e998c5) +++ wflow-py/wflow/wflow_bmi.py (.../wflow_bmi.py) (revision e27d0afdd07a07f344b793be87029591128be64c) @@ -298,7 +298,7 @@ """ :param start_time: time in units (seconds) since the epoch - :return: + :return: nothing """ dateobj = datetime.datetime.utcfromtimestamp(start_time) @@ -355,7 +355,8 @@ def save_state(self, destination_directory): """ - Ask the model to write its complete internal current state to one or more state files in the given directory. + Ask the model to write its complete internal current state to one or more state files in the + given directory. Afterwards the given directory should only contain the state files and nothing else. Input parameters: File destination_directory: the directory in which the state files should be written. @@ -364,7 +365,7 @@ def initialize(self, filename,loglevel=logging.DEBUG): """ - Initialise the model. Should be call before any other method. + Initialise the model. Should be called before any other method. :var filename: full path to the wflow ini file :var loglevel: optional loglevel (default == DEBUG) @@ -398,8 +399,7 @@ curtime = self.get_current_time() if curtime > time: - print("Time before current time.") - raise ValueError + raise ValueError("Time before current time.") timespan = time - curtime nrsteps = int(timespan/self.dynModel.timestepsecs) Index: wflow-py/wflow/wflow_hbv.py =================================================================== diff -u -r0be5ce3b9499d97a057835ff286d803f674a3928 -re27d0afdd07a07f344b793be87029591128be64c --- wflow-py/wflow/wflow_hbv.py (.../wflow_hbv.py) (revision 0be5ce3b9499d97a057835ff286d803f674a3928) +++ wflow-py/wflow/wflow_hbv.py (.../wflow_hbv.py) (revision e27d0afdd07a07f344b793be87029591128be64c) @@ -982,10 +982,6 @@ dynModelFw._runResume() dynModelFw._runDynamic(_firstTimeStep,_lastTimeStep) dynModelFw._runSuspend() - - - fp = open(caseName + "/" + runId + "/runinfo/configofrun.ini",'wb') - myModel.config.write(fp) dynModelFw._wf_shutdown() Index: wflow-py/wflow/wflow_sbm.py =================================================================== diff -u -r99458d705d3917090cede67fb5a1066f20ae1416 -re27d0afdd07a07f344b793be87029591128be64c --- wflow-py/wflow/wflow_sbm.py (.../wflow_sbm.py) (revision 99458d705d3917090cede67fb5a1066f20ae1416) +++ wflow-py/wflow/wflow_sbm.py (.../wflow_sbm.py) (revision e27d0afdd07a07f344b793be87029591128be64c) @@ -1464,9 +1464,6 @@ dynModelFw._runResume() dynModelFw._runDynamic(_firstTimeStep, _lastTimeStep) dynModelFw._runSuspend() - - fp = open(caseName + "/" + runId + "/runinfo/configofrun.ini", 'wb') - myModel.config.write(fp) dynModelFw._wf_shutdown()