Groundwater parameters
In Rameau, groundwater reservoirs with an exponential emptying law computes baseflow \(q_b\) (mm) to the river and eventually drainage \(q_d\) (mm) to the underlying groundwater reservoir from the infiltration \(q_s\) (mm) coming from the transfer reservoir
Groundwater reservoirs can be chained together to form a Nash cascade. In practice, most configurations use either a single groundwater reservoir or two groundwater reservoirs, with the second reservoir simulating deeper aquifers with slower flows.
The groundwater level \(H\) (m) is computed from the groundwater reservoir water level \(H_g\) (mm). In case of several groundwater reservoirs, the one that wille be used to compute \(H\) needs to be specified in the parameters.
Two categories subdivide groundwater parameters: groundwater reservoir parameters related to the physical processes and general parameters related to groundwater level computation and pumping.
Groundwater general parameters
Base level
The groundwater base level \(H_b\) (m) is the groundwater level that would be reached after an infinite time in the absence of any recharge. This parameter can be estimated either by regression or using a bound-constrained iterative method. See Watershed optimisation parameters for more details.
Should be optimised if parameters estimation rely on observed groundwater levels.
[watershed.1]
groundwater.base_level = { value = 0.0, opti = true }
Storage coefficient
Storage coefficient of the aquifer \(S\) (%). Default value is 10%.
[watershed.1]
groundwater.storage.coefficient = { value = 10.0, lower = 0.10000, upper = 90.00000, opti = true, sameas = 0 }
Note
In most cases, \(S\) is not precisely known, and will have to be calculated by the model. It will be interesting to compare his value with the one for an unconfined aquifer or an effective porosity value, to see if the order of magnitude is roughly the same. However, if the observation point is close to a river (or lake), which imposes little variation in level, \(S\) will be considerably higher than the unconfined aquifer’s actual storage coefficient. Care must also be taken to ensure that \(S\) is not extremely low, to artificially compensate for the fact that the model has evacuated most of the flow as surface runoff.
Observed groundwater reservoir
Groundwater reservoir number corresponding to the observed groundwater level time series. Default value is 1 (first groundwater reservoir corresponding to an unconfined aquifer).
[watershed.1]
groundwater.observed_reservoir = 1
Direct reservoir pumping
If true, groundwater pumping \(Q_p\) provided in the model inputs in \(\mathrm{m^3.s^{-1}}\)
are directly converted in mm and withdrawn from the groundwater
reservoir corresponding to the observed_reservoir index value. The
conversion from \(\mathrm{m^3.s^{-1}}\) to mm is done using the watershed drainage area as
follows:
with \(A\) (km²) the watershed area and \(\Delta t\) (s) the time step duration.
Default value is False. This option should be used only in specific cases, e.g. for accounting for all the groundwater pumping over the simulated watershed (if knwon), or for karstic spring.
[watershed.1]
groundwater.direct_reservoir_pumping = false
Groundwater reservoir parameters
Baseflow halflife time
The baseflow halflife time \(t_{1/2}^b\) (months) is the time after which, in the absence of recharge, the flow rate towards the river is halved. A value of zero means no baseflow will be produced by the reservoir.
Should be optimised. Default value is 2 months.
[watershed.1]
groundwater.1.halflife_baseflow = { value = 2.0, lower = 0.00100, upper = 15.00000, opti = true, sameas = 0 }
Note
Common values depend on the dynamics that the groundwater reservoir is supposed to reproduce. For unsaturated water table (i.e. first groundwater reservoir) :
2 months for river flow calculations
3 to 8 months for sources or large-scale unsaturated groundwater level evolutions
If present, for the second groundwater reservoir, common values are:
3.5 mois for river flow calculations
4 à 8 mois for sources or large-scale unsaturated groundwater level evolutions
The value for this parameter should at least be equal to the value for the parameter of the overlying groundwater reservoir.
Drainage halflife time
The drainage halflife time \(t_{1/2}^d\) (months) is the time after which, in the absence of recharge, the flow rate towards the underlying groundwater reservoir is halved. A value of zero means no drainage will be produced by the reservoir. If no underlying reservoir is defined, the flow get out of the system.
Should be optimised only with an underlying groundwater reservoir. Default value is 1 month.
[watershed.1]
groundwater.1.halflife_drainage = { value = 1.0, lower = 0.001, upper = 15.0, opti = false, sameas = 0 }
External exchanges
Factor \(\alpha_b\) (%) used to calculate groundwater exchanges through the boundaries of the hydrographic watershed, i.e. the import or export of groundwater flows. These exchanges may, for example, be a contribution from a deep aquifer. This parameter is only used to calculate river flow.
Should be optimised in a second phase. Default value is 0.0.
[watershed.1]
groundwater.1.exchanges = { value = 0.0, lower = -30.0, upper = 30.0, opti = false, sameas = 0 }
Overflow threshold
Overflow threshold \(H_o\) (mm). If \(H_g > H_o\), an overflow occurs. If equal to zero, overflow is deactivated.
Should be optimised. Default value is 0.0.
[watershed.1]
groundwater.1.overflow.threshold = { value = 0.0, lower = 0.0, upper = 10.0, opti = false, sameas = 0 }
Overflow halflife time
Overflow half-life time \(t_{1/2}^o\) (unit of time step). It controls the response time of the reservoir level decrease due to overflow. A value of zero means instantaneous overflow.
Should be estimated. Default value is 0.0.
[watershed.1]
transfer.overflow.halflife = { value = 0.0, lower = 0.001, upper = 10.0, opti = false, sameas = 0 }
Calculating baseflow and drainage
\(H_g\) varies according to a linear exponential evolution:
with \(u_b\) (\(\mathrm{mm.s^{-1}}\)) the instantaneous baseflow flowing towards the river and \(u_d\) (\(\mathrm{mm.s^{-1}}\)) the instantaneous drainage eventually flowing towards the underlying groundwater reservoir.
\(\tau_b\) (s) and \(\tau_d\) (s) are two time constants defining the exponential decay of the groundwater reservoir water level. They are related to the half-life time parameters \(t_{1/2}^b\) (month) and \(t_{1/2}^d\) (month) through the relationships:
In Rameau, a sudden inflow of flow \(q_f\) (mm) coming in the form of a Dirac feeds the groundwater reservoir at the beginning of each time step of duration \(\Delta t\). This flow is either seepage \(q_s\) from the transfer reservoir for the uppermost groundwater reservoir, or drainage \(q_d\) from the upper groundwater reservoir for the subsequent groundwater reservoirs. \(H_0\) is the value of \(H_g\) at the beginning of the time step (\(t = 0\)). Then,
Eventually, if direct_reservoir_pumping is set to true, the pumping
\(q_p\) is added to \(q_f\). If the overflow of the transfer reservoir
is set to fed the groundwater reservoir, \(q_o\) is also added to \(q_f\).
If \(H_0\) is negative due to an excess of pumping, it is set to 0 and the unmet groundwater pumping is stored as a component of the groundwater reservoir budget.
Equation (1) can be rewritten as follows:
The analytical solution of equation (2) is:
\(u_b\) becomes:
Integrating \(u_b\) between 0 and \(\Delta t\) gives \(q_b\):
with:
Similarly:
Overflow \(q_o\) (mm) may occur if \(H_o > 0\). In this case, if \(H_g(\Delta t) > H_o\), overflow occurs according to a linear exponential drainage of half-life time \(t_{1/2}^o\) (unit of time step) and \(H_g(\Delta t)\) is updated consequently:
with
If \(\alpha_b \neq 0.0\), exchanges with the outside \(q_x\) (mm) is either added or removed from baseflow:
Calculating groundwater level
Groundwater level \(H\) (m) is computed as follows:
See Regression for groundwater level for more details.
Groundwater settings for parameter estimation
See Watershed optimisation parameters for more details.
[watershed.1]
groundwater.weight = 1.00000
groundwater.obslim = [ 0.00000, 0.00000 ]
groundwater.storage.regression = true