Index: wflow-py/UnitTests/wflow_sceleton/outstate/TSoil.map =================================================================== diff -u -rde426ba5d34987feb480e55b83f47a5e1b6bb325 -rba01b0e52c1381d7c8d87e10e44f03d688e998c5 Binary files differ Index: wflow-py/wflow/wf_DynamicFramework.py =================================================================== diff -u -rde426ba5d34987feb480e55b83f47a5e1b6bb325 -rba01b0e52c1381d7c8d87e10e44f03d688e998c5 --- wflow-py/wflow/wf_DynamicFramework.py (.../wf_DynamicFramework.py) (revision de426ba5d34987feb480e55b83f47a5e1b6bb325) +++ wflow-py/wflow/wf_DynamicFramework.py (.../wf_DynamicFramework.py) (revision ba01b0e52c1381d7c8d87e10e44f03d688e998c5) @@ -529,7 +529,7 @@ return rest - def createRunId(self,intbl="intbl",logfname="wflow.log",NoOverWrite=True,model="model",modelVersion="no version",level=pcrut.logging.DEBUG): + def createRunId(self,intbl="intbl",logfname="wflow.log",NoOverWrite=True,model="model",modelVersion="no version",level=pcrut.logging.DEBUG,doSetupFramework=True): """ Create runId dir and copy table files to it Also changes the working dir to the case/runid directory @@ -569,6 +569,23 @@ self._userModel().config = self.iniFileSetUp(caseName,runId,configfile) + if doSetupFramework: + self.setupFramework() + + + + + + def setupFramework(self): + """ + Second step, after setting the log file and reading the ini file get data from config, setup + IO etc + + :return: + """ + caseName = self._userModel().caseName + runId = self._userModel().runId + self.outputFormat = int(configget(self._userModel().config,'framework','outputformat','1')) self.APIDebug = int(configget(self._userModel().config,'framework','debug',str(self.APIDebug))) @@ -692,7 +709,7 @@ checktss = configsection(self._userModel().config,"outputtss") if len(checktss) > 0: self.logger.warn("Found a outputtss section. This is NOT used anymore in this version. Please use outputtss_0 .. n") - + self.oscv = {} self.samplenamecsv = {} self.varnamecsv = {} @@ -705,24 +722,24 @@ toprint = configsection(self._userModel().config,thissection) secnr = secnr + 1 samplemapname = caseName + "/" + configget(self._userModel().config,thissection,"samplemap","None") - if "None" not in samplemapname : + if "None" not in samplemapname : try: self.samplemap = readmap(samplemapname) idd = tsformat + ":" +samplemapname self.oscv[idd] =wf_OutputTimeSeriesArea(self.samplemap,oformat=tsformat) self.logger.info("Adding " + tsformat + " output at "+ samplemapname) except: self.logger.warn("Could not read sample id-map for timeseries: " + samplemapname) - + for a in toprint: if "samplemap" not in a: - b = a.replace('self','self._userModel()') + b = a.replace('self','self._userModel()') fn = os.path.join(caseName,runId,self._userModel().config.get(thissection,a)) self.samplenamecsv[fn] = idd self.varnamecsv[fn] = b - - + + def wf_suspend(self, directory): """ Suspend the state variables to disk as .map files Index: wflow-py/wflow/wflow_bmi.py =================================================================== diff -u -r2187378d69bc94cad270c584a08d79ffaa9cb46c -rba01b0e52c1381d7c8d87e10e44f03d688e998c5 --- wflow-py/wflow/wflow_bmi.py (.../wflow_bmi.py) (revision 2187378d69bc94cad270c584a08d79ffaa9cb46c) +++ wflow-py/wflow/wflow_bmi.py (.../wflow_bmi.py) (revision ba01b0e52c1381d7c8d87e10e44f03d688e998c5) @@ -273,7 +273,7 @@ self.myModel = wf.WflowModel(wflow_cloneMap, self.datadir, runid, inifile) self.dynModel = wf.wf_DynamicFramework(self.myModel, maxNrSteps, firstTimestep = 1) - self.dynModel.createRunId(NoOverWrite=0,level=loglevel,model=os.path.basename(filename)) + self.dynModel.createRunId(doSetupFramework=False,NoOverWrite=0,level=loglevel,model=os.path.basename(filename)) def initialize_state(self, source_directory): """ @@ -285,6 +285,7 @@ :param source directory: path to dir with state files :return: nothing """ + self.dynModel.setupFramework() self.dynModel._runInitial() self.dynModel._runResume() # second step to read from specific directory