Index: wflow-py/wflow/wf_DynamicFramework.py =================================================================== diff -u -r5a35482661552a440f090200fcdf0d0f5b14729a -rfc26a9323efe7b4f097394506286f5bd83bc1090 --- wflow-py/wflow/wf_DynamicFramework.py (.../wf_DynamicFramework.py) (revision 5a35482661552a440f090200fcdf0d0f5b14729a) +++ wflow-py/wflow/wf_DynamicFramework.py (.../wf_DynamicFramework.py) (revision fc26a9323efe7b4f097394506286f5bd83bc1090) @@ -307,9 +307,9 @@ for par in self.modelparameters: if self._userModel()._inInitial(): - if par.type == 'tbl': + if par.type == 'tbl' or par.type =='tblsparse': if not hasattr(self._userModel(), par.name): - self._userModel().logger.info("Adding " + par.name + " to model.") + self._userModel().logger.info("Initial: Adding " + par.name + " to model.") tblname = os.path.join(self._userModel().Dir, par.stack) theparmap = self.readtblFlexDefault(tblname, par.default, *par.lookupmaps) setattr(self._userModel(), par.name, theparmap) @@ -323,6 +323,7 @@ self._userModel().Soil, par.default) setattr(self._userModel(), par.name, theparmap) + if par.type == 'staticmap': if not hasattr(self._userModel(), par.name): self._userModel().logger.info("Adding " + par.name + " to model.") @@ -355,12 +356,6 @@ theparmap = cover(theparmap, par.default) setattr(self._userModel(), par.name, theparmap) - if par.type == 'tbl': - if not hasattr(self._userModel(), par.name): - self._userModel().logger.info("Adding " + par.name + " to model.") - tblname = os.path.join(self._userModel().Dir, par.stack) - theparmap = self.readtblFlexDefault(tblname, par.default, *par.lookupmaps) - setattr(self._userModel(), par.name, theparmap) if par.type == 'hourlyclim': if not hasattr(self._userModel(), par.name): @@ -384,7 +379,26 @@ par.default) setattr(self._userModel(), par.name, theparmap) + if par.type == 'tbl': + if not hasattr(self._userModel(), par.name): + self._userModel().logger.info("Adding " + par.name + " to model.") + tblname = os.path.join(self._userModel().Dir, par.stack + "_" + str(self._userModel().currentStep)) + theparmap = self.readtblFlexDefault(tblname, par.default, *par.lookupmaps) + setattr(self._userModel(), par.name, theparmap) + if par.type == 'tblsparse': + if not hasattr(self._userModel(), par.name): + self._userModel().logger.info("Adding " + par.name + " to model.") + + tblname = os.path.join(self._userModel().Dir, par.stack + "_" + str(self._userModel().currentStep)) + if os.path.exists(tblname): + theparmap = self.readtblFlexDefault(tblname, par.default, *par.lookupmaps) + setattr(self._userModel(), par.name, theparmap) + else: + self._userModel().logger.debug(tblname + " not available for this step, using previous value.") + + + def wf_timeinputscalar(self, tssfile, areamap, default): """ @@ -514,11 +528,11 @@ newargs = [] args = list(args) for mapje in args: - if len(os.path.splitext(mapje)[1]) > 1: + if len(os.path.splitext(mapje)[1]) > 1: # We have an extension... newargs.append(os.path.join(self._userModel().caseName, mapje)) # we specify a full map else: - # Assume we have monthly climatology + # Assume we have monthly climatology as no extension is present theparmap = self.wf_readmapClimatology(os.path.join(self._userModel().caseName, mapje), kind=1, default=default, verbose=True) theparmap = cover(theparmap, default) Index: wflow-py/wflow/wflow_routing.py =================================================================== diff -u -rff596787764e8625c7d923eec003f0de94287449 -rfc26a9323efe7b4f097394506286f5bd83bc1090 --- wflow-py/wflow/wflow_routing.py (.../wflow_routing.py) (revision ff596787764e8625c7d923eec003f0de94287449) +++ wflow-py/wflow/wflow_routing.py (.../wflow_routing.py) (revision fc26a9323efe7b4f097394506286f5bd83bc1090) @@ -526,11 +526,11 @@ modelparameters.append(self.ParamType(name="InwaterForcing",stack=self.IW_mapstack ,type="timeseries",default=0.0,verbose=True,lookupmaps=[])) modelparameters.append(self.ParamType(name="Inflow",stack=self.Inflow_mapstack,type="timeseries",default=0.0,verbose=False,lookupmaps=[])) modelparameters.append(self.ParamType(name="ReserVoirLocs",stack='staticmaps/wflow_reservoirlocs.map',type="staticmap",default=0.0,verbose=False,lookupmaps=[])) - modelparameters.append(self.ParamType(name="ResTargetFullFrac",stack='intbl/ResTargetFullFrac.tbl',type="tbl",default=0.8,verbose=False,lookupmaps=['staticmaps/wflow_reservoirlocs.map'])) - modelparameters.append(self.ParamType(name="ResTargetMinFrac",stack='intbl/ResTargetMinFrac.tbl',type="tbl",default=0.4,verbose=False,lookupmaps=['staticmaps/wflow_reservoirlocs.map'])) - modelparameters.append(self.ParamType(name="ResMaxVolume",stack='intbl/ResMaxVolume.tbl',type="tbl",default=0.0,verbose=False,lookupmaps=['staticmaps/wflow_reservoirlocs.map'])) - modelparameters.append(self.ParamType(name="ResMaxRelease",stack='intbl/ResMaxRelease.tbl',type="tbl",default=1.0,verbose=False,lookupmaps=['staticmaps/wflow_reservoirlocs.map'])) - modelparameters.append(self.ParamType(name="ResDemand",stack='intbl/ResDemand.tbl',type="tbl",default=1.0,verbose=False,lookupmaps=['staticmaps/wflow_reservoirlocs.map'])) + modelparameters.append(self.ParamType(name="ResTargetFullFrac",stack='intbl/ResTargetFullFrac.tbl',type="tblsparse",default=0.8,verbose=False,lookupmaps=['staticmaps/wflow_reservoirlocs.map'])) + modelparameters.append(self.ParamType(name="ResTargetMinFrac",stack='intbl/ResTargetMinFrac.tbl',type="tblsparse",default=0.4,verbose=False,lookupmaps=['staticmaps/wflow_reservoirlocs.map'])) + modelparameters.append(self.ParamType(name="ResMaxVolume",stack='intbl/ResMaxVolume.tbl',type="tblsparse",default=0.0,verbose=False,lookupmaps=['staticmaps/wflow_reservoirlocs.map'])) + modelparameters.append(self.ParamType(name="ResMaxRelease",stack='intbl/ResMaxRelease.tbl',type="tblsparse",default=1.0,verbose=False,lookupmaps=['staticmaps/wflow_reservoirlocs.map'])) + modelparameters.append(self.ParamType(name="ResDemand",stack='intbl/ResDemand.tbl',type="tblsparse",default=1.0,verbose=False,lookupmaps=['staticmaps/wflow_reservoirlocs.map'])) return modelparameters