def simulate(self, p, tindex=None, dt=1):
dt = int(dt)
b = self.rfunc.block(p[:-self.recharge.nparam], dt) # Block response
# The recharge calculation needs arrays
precip_array = np.array(self.stress["prec"])
evap_array = np.array(self.stress["evap"])
rseries = self.recharge.simulate(precip_array, evap_array,
p[-self.recharge.nparam:])
self.npoints = len(rseries)
h = pd.Series(fftconvolve(rseries, b, 'full')[:self.npoints],
index=self.stress["prec"].index, name=self.name)
if tindex is not None:
h = h[tindex]
return h
评论列表
文章目录