Closed casadoj closed 2 months ago
Reduce the search range for $\delta$ to a maximum value of 1, which is the default value used in Hanazaki. I was using an upper bound of 2.
I've added this lines to the method simulation
in the class Hanazaki_calibrator
:
if Qn > Qf:
Qn = min(Qn, Qf)
pars[3] = Qn / self.inflow.mean()
The calibration of the Hanazaki routine creates, in some instances, reservoirs whose normal outflow ($Q_n$) is larger than the flood outflow ($Q_f$), which makes no sense.
In the current implementation, normal outflow is a factor of the mean inflow ($\hat{I}$), and the flood outflow is a factor of the inflow associated with the 100-year return period.
$$Q_n = \delta \cdot \hat{I}$$
$$Qf = \epsilon \cdot Q{100}$$
I need to implement a check that does not allow $Q_n$ being larger than $Q_f$.