Index: wflow-py/wflow/wflow_lib.py =================================================================== diff -u -rd6ff5f0cdbb84e579b51b352ba41ed7097c0f2f4 -r1e97f1b2e3a9575c7e7342f52af55db068e6ec62 --- wflow-py/wflow/wflow_lib.py (.../wflow_lib.py) (revision d6ff5f0cdbb84e579b51b352ba41ed7097c0f2f4) +++ wflow-py/wflow/wflow_lib.py (.../wflow_lib.py) (revision 1e97f1b2e3a9575c7e7342f52af55db068e6ec62) @@ -283,13 +283,14 @@ ] = np_outflow[np_outflow < 0] outflow_linked = numpy2pcr(Scalar, np_outflow_linked, 0.0) + fl_nr_loop = float(nr_loop) storage = ( storage_start - + (inflow * timestepsecs / nr_loop) - + (prec_av / nr_loop / 1000.0) * ResArea - - (pet_av / nr_loop / 1000.0) * ResArea - - (cover(outflow, 0.0) * timestepsecs / nr_loop) - + (cover(outflow_linked, 0.0) * timestepsecs / nr_loop) + + (inflow * timestepsecs / fl_nr_loop) + + (prec_av / fl_nr_loop / 1000.0) * ResArea + - (pet_av / fl_nr_loop / 1000.0) * ResArea + - (cover(outflow, 0.0) * timestepsecs / fl_nr_loop) + + (cover(outflow_linked, 0.0) * timestepsecs / fl_nr_loop) ) waterlevel = ifthenelse( Index: wflow-py/wflow/wflow_sbm.py =================================================================== diff -u -rb55582394e7889cc37a6e320baad1eead4293b53 -r1e97f1b2e3a9575c7e7342f52af55db068e6ec62 --- wflow-py/wflow/wflow_sbm.py (.../wflow_sbm.py) (revision b55582394e7889cc37a6e320baad1eead4293b53) +++ wflow-py/wflow/wflow_sbm.py (.../wflow_sbm.py) (revision 1e97f1b2e3a9575c7e7342f52af55db068e6ec62) @@ -2109,12 +2109,12 @@ min(self.UStoreLayerDepth[n], st), ) self.T[n] = ifthenelse( - self.ZiLayer == n, self.maskLayer[n], self.T[n] + self.ZiLayer == float(n), self.maskLayer[n], self.T[n] ) self.UStoreLayerDepth[n] = self.UStoreLayerDepth[n] - self.T[n] else: self.UStoreLayerDepth[n] = ifthenelse( - self.ZiLayer < n, + self.ZiLayer < float(n), self.maskLayer[n], self.UStoreLayerDepth[n] + self.T[n - 1], ) @@ -2130,7 +2130,7 @@ self.RestPotEvap, self.maskLayer[n], self.ZeroMap, - self.ZeroMap + n, + self.ZeroMap + float(n), self.ActEvapUStore, self.c[n], self.L, @@ -2156,12 +2156,12 @@ # Transfer in layer with zi is not yet substracted from layer (set to zero) self.T[n] = ifthenelse( - self.ZiLayer <= n, + self.ZiLayer <= float(n), self.maskLayer[n], min(self.UStoreLayerDepth[n], st), ) self.UStoreLayerDepth[n] = ifthenelse( - self.ZiLayer < n, + self.ZiLayer < float(n), self.maskLayer[n], self.UStoreLayerDepth[n] - self.T[n], ) @@ -2253,13 +2253,13 @@ if self.TransferMethod == 2: self.L = ifthen( - self.ZiLayer == n, + self.ZiLayer == float(n), ifthenelse( - self.ZeroMap + n > 0, self.zi - l_Thickness[n - 1], self.zi + self.ZeroMap + float(n) > 0, self.zi - l_Thickness[n - 1], self.zi ), ) st = ifthen( - self.ZiLayer == n, + self.ZiLayer == float(n), self.KsatVer * exp(-self.f * self.zi) * min( @@ -2272,7 +2272,7 @@ ** self.c[n], ) self.Transfer = self.Transfer + ifthenelse( - self.ZiLayer == n, + self.ZiLayer == float(n), min( self.UStoreLayerDepth[n], ifthenelse(self.SaturationDeficit <= 0.00001, 0.0, st),