Description Usage Arguments Details Value Examples
TUWmodel_dual is a lumped conceptual rainfall-runoff model with dual representation of soil layer developed at the TUW,
following the structure of the HBV model. The dual soil layer consists of a skin soil layer which represents the layer observed
by satellite soil moisture sensors and a root zone soil storage which is identical with the original TUWmodel concept.
The model runs on a daily or shorter timestep and has similar structure as the original TUWmodel function.
More information about the dual layer concept and its implementation can be found in Parajka, J., V. Naeimi, G. Bloeschl
and J. Komma (2009) Matching ERS scatterometer based soil moisture patterns with simulations of a conceptual dual layer
hydrologic model over Austria, Hydrol. Earth Syst. Sci., 13, 259-271.
1 2 3 |
prec |
vector/matrix of precipitation input [mm/timestep] ( |
airt |
vector/matrix of air temperatures [degC] |
ep |
vector/matrix of potential evapotranspiration [mm/timestep] |
area |
if more zones, vector of the percentage of area for each zone (or proportional to it, i.e., if the sum is different from 1, it will be rescaled to be 1) |
param |
vector/matrix of parameters (
|
incon |
vector/matrix of initial conditions for the model ( |
itsteps |
length of the output (if NULL all the time series are used) |
More details about the model structure are given in
Parajka, J., V. Naeimi, G. Bloeschl and J. Komma (2009) Matching ERS scatterometer based soil moisture patterns with simulations of a conceptual dual layer hydrologic model over Austria, Hydrol. Earth Syst. Sci., 13, 259-271.
TUWmodel_dual gives a vector of simulated runoff as q [mm/timestep], and the following vector/matrices:
qzones simulated runoff for each zone [mm/timestep];
q0 surface runoff [mm/timestep];
q1 subsurface runoff [mm/timestep];
q2 baseflow [mm/timestep];
rain liquid precipitation [mm/timestep];
snow solid precipitation [mm/timestep];
melt snowmelt [mm/timestep];
moist soil moisture [mm];
swe snow water equivalent [mm];
eta actual evapo-transpiration [mm/timestep];
suz upper storage zone [mm];
slz lower storage zone [mm];
ssl top soil skin layer storage [mm];
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | ## Load the data
data(example_TUWmodel)
## Simulate runoff and plot observed vs simulated series
## Lumped case (weighted means of the inputs)
simLump <- TUWmodel_dual(prec=apply(P_Vils, 1, weighted.mean, w=areas_Vils),
airt=apply(T_Vils, 1, weighted.mean, w=areas_Vils),
ep=apply(PET_Vils, 1, weighted.mean, w=areas_Vils),
area=sum(areas_Vils),
param=c(1.02,1.70,2,0,-0.336,
0.934,121,2.52,
0.473,9.06,142,
50.1,2.38,10,25,1,0.8,10))
plot(as.Date(names(Q_Vils)), Q_Vils, type="l", xlab="", ylab="Discharges [mm/day]")
lines(as.Date(rownames(T_Vils)), simLump$q, col=2)
legend("topleft", legend=c("Observations","Simulations"), col=c(1,2), lty=1, bty="n")
plot(as.Date(rownames(SWE_Vils)), apply(SWE_Vils, 1, weighted.mean, w=areas_Vils),
type="l", xlab="", ylab="Snow Water Equivalent [mm]")
lines(as.Date(rownames(T_Vils)), simLump$swe, col=2)
## Distribute input case (6 zones)
simDist <- TUWmodel_dual(prec=P_Vils, airt=T_Vils, ep=PET_Vils, area=areas_Vils/sum(areas_Vils),
param=c(1.02,1.70,2,0,-0.336,
0.934,121,2.52,
0.473,9.06,142,
50.1,2.38,10,25,1,0.8,10))
plot(as.Date(names(Q_Vils)), Q_Vils, type="l", xlab="", ylab="Discharges [mm/day]")
lines(as.Date(rownames(T_Vils)), simDist$q, col=2)
legend("topleft", legend=c("Observations","Simulations"), col=c(1,2), lty=1, bty="n")
plot(as.Date(rownames(SWE_Vils)), apply(SWE_Vils, 1, weighted.mean, w=areas_Vils),
type="l", xlab="", ylab="Snow Water Equivalent [mm]")
lines(as.Date(rownames(T_Vils)), apply(simDist$swe, 1, weighted.mean, w=areas_Vils), col=2)
## Distributed input and parameters case
parametri <- matrix(rep(c(1.02,1.70,2,0,-0.336,
0.934,121,2.52,
0.473,9.06,142,
50.1,2.38,10,25,1,0.8,10), 6), ncol=6)
parametri[2,] <- c(1.4, 1.7, 1.9, 2.2, 2.4, 3.0)
simDist2 <- TUWmodel_dual(prec=P_Vils,
airt=T_Vils,
ep=PET_Vils,
area=areas_Vils/sum(areas_Vils),
param=parametri)
plot(as.Date(names(Q_Vils)), Q_Vils, type="l", xlab="", ylab="Discharges [mm/day]")
lines(as.Date(rownames(T_Vils)), simDist2$q, col=2)
legend("topleft", legend=c("Observations","Simulations"), col=c(1,2), lty=1, bty="n")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.