Pumps
Pumps spend energy to move water from one reservoir to another, usually upstream. The input data for max pumping is expressed in \(m^3/s\), but the variable is translated to \(Mm^3\) by use of a factor.
\[\begin{split} \\{i \in pumps,\ k \in \\{0, 1, ..., timesteps - 1\\}\\}\end{split}\]
\[ 0 \leq pum(i,k) \leq PumMax(i,k) : Mm^3 \]
Using the pumps takes power. So each pump is inserted into the power balance for the corresponding area with a factor that translates pumped water to power usage.
\[\begin{split} \\{a \in areas,i \in reservoirs,\ k \in \\{0, 1, ..., timesteps - 1\\}\\}\end{split}\]
\[ \textrm{POWBAL}(a,k):\ ...\ - Mm^3\_to\_GWh*pum(i,k)\ ...\ :\ GWh \]
At the start of each master problem a check is run to see if the pumps should be active for the period or not. This test checks the reservoir above and below the pump and compares the water level to a configured limit. If the reservoir above is too full or below is too empty, the pump is deactivated for the period.