WEM | Water Engineering

Applied Ecohydrology

Sidebar

hydro:nash

The Nash cascade is a sequence of $N$ linear stores in series, each having a residence time of $K$ time units. The resulting mathematical form of the Nash-cascade is:

$$h(t) = (t/K)^{N-1}*exp\left(\frac{-t/K}{K*\Gamma(N)}\right)$$

where $h(t)$ is the unit hydrograph in terms of a unit discharge and $\Gamma$ is the gamma function $\gamma(N)=(N-1)!$ for integer values $N$. $N$ can also have rational values.

|Nash.R
n <- 3
k <- 0.2
ks <- 0.1
kl <- 0.3
x <- seq(0.1,3,by=0.05)
y <- 1/(k*gamma(n))*(x/k)^(n-1)*exp(-x/k)
plot(x,y,col=2, xlab= " ", ylab="Q", xlim=range(0:3), ylim=range(0:3))
abline( h = seq( 5, 25, 5 ),lty = 2,col = colors()[440])
abline( v = seq( 1, 4, 1 ),lty = 2,col = colors()[440])
curve(1/(k *gamma(n))*(x/k )^(n-1)*exp(-x/k ), add = TRUE, col="red")
curve(1/(kl*gamma(n))*(x/kl)^(n-1)*exp(-x/kl), add = TRUE, col="green")
|Nash.py
from pylab import *
from scipy import *
from math import *
from numpy import *

N = 5
k = 0.5
t = arange(0.0, 100, 1)

def Nash(t,N,k):
h = (t/k)**(N-1)*exp((-t/k)/(k*gamma(N)))
return h

plot(t, Nash(t,N,k))
xtext = xlabel('time')
ytext = ylabel('response')
setp(xtext, size='medium', name='courier', weight='bold', color='g')
setp(ytext, size='medium', name='helvetica', weight='light', color='b')
show()