Index: wflow-py/Sandbox/wflow_topoflex/reservoir_Sf.py =================================================================== diff -u -r878b78ee5bcc03356fd85011b4da54a9d9636813 -rd9373dad57e311dd6b2fefe99d78b6e91d750b74 --- wflow-py/Sandbox/wflow_topoflex/reservoir_Sf.py (.../reservoir_Sf.py) (revision 878b78ee5bcc03356fd85011b4da54a9d9636813) +++ wflow-py/Sandbox/wflow_topoflex/reservoir_Sf.py (.../reservoir_Sf.py) (revision d9373dad57e311dd6b2fefe99d78b6e91d750b74) @@ -96,10 +96,13 @@ travel time for a calcultation cell """ if sum(pcr2numpy(self.Transit,NaN)) > 0: - self.Qflag = self.trackQ[0] - self.trackQ.append(0 * scalar(self.TopoId)) - del self.trackQ[0] - temp = [self.trackQ[i] + ifthenelse(rounddown(self.Transit) == i*scalar(self.TopoId), (self.Transit - i*scalar(self.TopoId)) * self.Qfcub, ifthenelse(roundup(self.Transit) == i*scalar(self.TopoId), (i*scalar(self.TopoId) - self.Transit) * self.Qfcub, 0)) for i in range(len(self.trackQ))] + self.Qflag = self.trackQ[0] # first bucket is transferred to outlet + self.trackQ.append(0 * scalar(self.TopoId)) # add new bucket for present time step + del self.trackQ[0] # remove first bucket (transferred to outlet) + temp = [self.trackQ[i] + ifthenelse(rounddown(self.Transit) == i*scalar(self.TopoId), + (self.Transit - i*scalar(self.TopoId)) * self.Qfcub, + ifthenelse(roundup(self.Transit) == i*scalar(self.TopoId), + (i*scalar(self.TopoId) - self.Transit) * self.Qfcub, 0)) for i in range(len(self.trackQ))] self.trackQ = temp else: