1. Riccardo Rigon
Hymod
as an example of a rainfall-runoff model
R. Rigon, G. Formetta, M. Bancheri, W.Abera
S.Bertoni,2006?
2. 2
What Hymod does
The basin is assumed to be composed by a group of storages which follow a
distribution F(C) where C is the value of the storage which can vary from 0 to
Cmax.
If Cmax is exceeded, that water in excedance goes directly into runoff.
If we call precipitation P, this is:
RH = P + C(t) Cmax if P + C(t) > Cmax
Generically, it is:
RH = max(0, P(t) + C(t) Cmax)
Which is true even if P(t)+C(t) < Cmax
Introduction
Riccardo Rigon
3. 3
There is a residual runoff RS produced by using the curve, which is valid even if
C(t)+P(t) < Cmax:
F(C) = 1
✓
1
C
Cmax
◆b
The volume below the curve goes into this residual runoff
Storage (probability) function
Riccardo Rigon
4. 4
Van Delft et al. 2009 figure said it properly for runoff
Generating runoff
What Hymod does
Riccardo Rigon
5. 5
TC Petri net representation of Hymod
Petri net description
Riccardo Rigon
6. 6
In figure C(t)=2 P=2 Cmax =10.
Therefore for a correct interpretation of the figure in previous slides, the
area below a curve is the runoff produced.
A correct interpretation of the plot says that all the precipitation below
the curve is produced as R, the rest remaining stored at time t+1 . Let’s
represent the curves in the right direction
Storage (probability) function
Riccardo Rigon
7. 7
The area below each one of the curve is
The integral result can be written as:
Z C(t)+P (t)
C(t)
F(C)dC =
Z C(t)+P (t)
C(t)
1
✓
1
C
Cmax
◆b
dC
F(P(t), C(t), Cmax, b) = P(t)
1
Cb
max(b + 1)
h
(Cmax C(t)))
b+1
(Cmax C(t) P(t)))
b+1
i
Storage (probability) function
So:
Riccardo Rigon
9. 9
Introducing AET
S(t) continuously increases unless ET acts. In this case there is a fourth step:
Where the left arrow means assignment, and AET is the actual ET
AET(t) =
S(t)
Smax
ET (t)
The algorithm of separation
Riccardo Rigon
10. 10
Say
↵ is coefficient to be calibrated
R = Rsub + Rsup
Runoff volumes
is then split into surface runoff and subsurface storm runoff
Riccardo Rigon
11. 11
Therefore, we have three LINEAR systems of
reservoirs. The quick system
SQ(t) = S1(t) + S2(t) + S3(t)
Runoff volumes
Riccardo Rigon
13. 13
It seems a quite complicate system, but every hydrologist knows it can be
“exactly” solved. For the quick system
Three little reservoirs
Riccardo Rigon
15. 15
has the structure
for some function f and input I, and, therefore, the storage part injected
at time is:
These formulas and their companions for Qi(t) and AET(t) can be used to
estimate the various residence times.
Riccardo Rigon
Separating water of different ages
16. 16
Find this presentation at
http://abouthydrology.blogspot.com
Ulrici,2000?
Other material at
Questions ?
R.F.B.A
17. 17
Simple R script to estimate the Hymod functions
Annex
F <- function(C,Cmax,b){1-(1-C/Cmax)^b}
Intf <-function(P,C,Cmax,b){P+1/((Cmax^b)*(b+1))*((Cmax-C-P)^(b+1)-(Cmax-C)^(b+1))}
If(10,0,10,0.5)
Intf(10,0,10,1.5)
Intf(10,0,10,5)
Intf(10,0,10,1000)
Intf(2,2,10,0.5)
Intf(2,2,10,1.5)
x <-seq(from=0,to=10,by=0.1)
plot(x,F(x,10,0.5),type="l",col="blue",ylab="F(C)",xlab="C")
text(6,0.25,"b=0.5", col ="blue",cex=.8)
lines(x,F(x,10,1.5),type="l",col="red",ylab="F(C)",xlab="C")
text(4.5,0.42,"b=1.5", col ="red",cex=.8)
lines(x,F(x,10,5),type="l",col="darkblue",ylab="F(C)",xlab="C")
text(2.5,0.65,"b=5", col ="darkblue",cex=.8)
lines(x,F(x,10,1000),type="l",col="darkblue",ylab="F(C)",xlab="C")
text(1,0.9,"b=1000", col ="darkblue",cex=.8)
abline(v=2,color="grey")
abline(v=4,color="grey")
y <-seq(from=0,to=100,by=1)
plot(y,Intf(10,0,10,y),type="l",col="darkblue",ylab="Runoff Production",xlab="b")
y <-seq(from=0,to=20,by=0.2)
plot(y,Intf(10,0,10,y),type="l",col="darkblue",ylab="Runoff Production",xlab="b")
R.F.B.A