Implementation of the Soil Moisture Accounting module of the framework for hydrological modelling FUSE. This loss module is derived from the Fortran version of FUSE by Martyn Clark (2011).

fusesma.sim(DATA, mid, deltim, rferr_add = 0, rferr_mlt = 1, frchzne,
  fracten, maxwatr_1, percfrac, fprimqb, qbrate_2a, qbrate_2b, qb_prms,
  maxwatr_2, baserte, rtfrac1, percrte, percexp, sacpmlt, sacpexp, iflwrte,
  axv_bexp, sareamax, loglamb, tishape, qb_powr, fracstate0 = 0.25,
  absError = 10^(-4), relError = 10^(-4), StatesFluxes = FALSE)

Arguments

DATA
This is a data.frame containing the observed time series (zoo objects). It is structured into three columns containing: precipitation (P), potential evapo-transpiration (E) and streamflow discharge (Q).
mid
This is the model identification number (see first column of modlist). This is a numeric value in the range [1, 1248].
deltim
This is the input time step (numeric value). By default deltim = 1 for daily steps. Other options: 1/24 (hourly time step), 1/(24*4) (15 min time step).
rferr_add
Additive rainfall error, default is 0 (mm day-1).
rferr_mlt
Multiplicative rainfall error, default is 1 (-).
frchzne
Fraction of tension storage in recharge zone (-).
fracten
Fraction total storage as tension storage (-).
maxwatr_1
Maximum total storage in upper soil layer (mm).
percfrac
Fraction of percolation to tension storage in the lower layer (-).
fprimqb
Fraction of storage in the first baseflow reservoir (-).
qbrate_2a
Baseflow depletion rate in the first reservoir (day-1).
qbrate_2b
Baseflow depletion rate in the second reservoir (day-1).
qb_prms
Baseflow depletion rate (day-1).
maxwatr_2
Maximum total storage in lower soil layer (mm).
baserte
Baseflow rate (mm day-1).
rtfrac1
Fraction of roots in the upper layer (-).
percrte
Percolation rate (mm day-1).
percexp
Percolation exponent (-).
sacpmlt
Sacramento model percolation multiplier for dry soil layer (-).
sacpexp
Sacramento model percolation exponent for dry soil layer (-).
iflwrte
Interflow rate (mm day-1).
axv_bexp
ARNO/VIC 'b' exponent (-).
sareamax
Maximum saturated area (-).
loglamb
Mean value of the log-transformed topographic index (m).
tishape
Shape parameter for the topo index gamma distribution (-).
qb_powr
Baseflow exponent (-).
fracstate0
Initial saturation of water storages, default is 0.25.
absError
Absolute solver error, default is 10^(-4).
relError
Relative solver error, default is 10^(-4).
StatesFluxes
By default StatesFluxes = FALSE which means the function only output is the instantaneous runoff. If StatesFluxes=TRUE, the output also contains the list of fluxes and state variables.

Value

The function returns an array of simulated "instantaneous" discharges. If necessary, fuserouting.sim can be run to obtain routed discharges using a two parameter Gamma distribution.

Details

fusesma.sim() is a function to generate an ensemble of SOIL MOISTURE ACCOUNTING models. It is compatible with the HYDROMAD framework (see hydromad package: http://hydromad.catchment.org/). fusesma.sim() can simulate several model structures. The default list is modlist contained in the data folder of this package. The parameter set varies depending on the selected model structure. Ranges of parameter values are in fusesma.ranges. For more information on suggested parameter ranges see Clark et al. 2011. Also see GenerateFUSEParameters. Flow can then be routed using the function fuserouting.sim (which is based on the Gamma function) or any other routing function.

References

Clark M. P., SlaterA. G., Rupp D. E., Woods R. A., Vrugt J. A., Gupta H. V., Wagener T. and Hay L. E. (2008), Framework for Understanding Structural Errors (FUSE): A modular framework to diagnose differences between hydrological models, Water Resour. Res. 44 p. 91-94. Clark M. P., McMillan H. K., Collins D. B. G., Kavetski D. and Woods R. A. (2011), Hydrological field data from a modeller's perspective: Part 2: process-based evaluation of model hypotheses. Hydrological Processes, 25: 523-543. doi: 10.1002/hyp.7902

Examples

## Not run: ------------------------------------ # data(fuse_hydrological_timeseries) # set.seed(123) # parameters <- generateParameters(1) # U <- fusesma.sim(fuse_hydrological_timeseries, # 60, 1, parameters$rferr_add, parameters$rferr_mlt, # parameters$frchzne, parameters$fracten, # parameters$maxwatr_1, parameters$percfrac, # parameters$fprimqb, parameters$qbrate_2a, # parameters$qbrate_2b, parameters$qb_prms, # parameters$maxwatr_2, parameters$baserte, # parameters$rtfrac1, parameters$percrte, parameters$percexp, # parameters$sacpmlt, parameters$sacpexp, parameters$iflwrte, # parameters$axv_bexp, parameters$sareamax, # parameters$loglamb, parameters$tishape, parameters$qb_powr) ## ---------------------------------------------