inversion  R Documentation 
Estimate net rainfall by inverse modelling, where the model is a convolution between net rainfall and a unit hydrograph in order to simulate discharge.
inversion(Qobs, ...) ## Default S3 method: inversion(Qobs, uh, RnAp, deltat, ...) ## S3 method for class 'units' inversion( Qobs, uh, RnAp, deltat, Bd = 0.01, Dd = 1, Bp = 0.001, Tp = 20, Ad = 0.01, Ap = 0.9, warmup = 10, cooldown = 8, dosplit = TRUE, split = 30, fixedpar = TRUE, parallel = FALSE, cores = NULL, ... ) ## S3 method for class 'transfR' inversion(Qobs, verbose = TRUE, ...)
Qobs 
discharge vector or object of class 
... 
further arguments passed to or from other methods 
uh 
unit hydrograph vector 
RnAp 
net rainfall a priori. If no unit is provided, 
deltat 
time step of the time series. If no unit is provided, 
Bd 
parameter used to maintain a minimum value of standart deviation for low discharge values.
If no unit is provided, 
Dd 
decorrelation time of discharge errors. If no unit is provided, 
Bp 
parameter used to maintain a minimum value of standart deviation for low net rainfall values.
If no unit is provided, 
Tp 
decorrelation time of net rainfall errors. If no unit is provided, 
Ad 
parameter equivalent to the coefficient of variation of the discharge measurement error. If
no unit is provided, 
Ap 
parameter equivalent to the coefficient of variation of the net rainfall error. If no unit
is provided, 
warmup 
length of the warmup period. If no unit is provided, 
cooldown 
length of the period removed at the end of the simulation. If no unit is provided,

dosplit 
boolean, if true the inversion is performed by
subperiods of length defined by 
split 
length the subperiods if dosplit is true. If no unit is provided, 
fixedpar 
boolean, if false Ap and Ad are calibrated dynamically according to the coefficient of variation of RnAp and Qobs respectively (see details) 
parallel 
boolean, if true the splitting of the inversion by subperiods is parallelised 
cores 
the number of cores to use for parallel execution if 
verbose 
boolean indicating if information messages should be written to the console 
In a convolution between the unit hydrograph (uh
) and net rainfall that is simulating
streamflow at the outltet (Qobs
), and where net rainfall is the only unknown variable, this function estimates
net rainfall by inversion \insertCiteTarantola1982,Menke1989,Boudhraa2018transfR. It requires an
a priori on this net rainfall (that could be estimated by the function rapriori), a description
of the errors on the discharge (Ad
, Bd
, Dd
) and on the net rainfall (Ap
,
Bp
, Tp
) that are assumed to be Gaussian and unbiased. Default values of these parameters
are taken from \insertCitedeLavenne2016;textualtransfR. If fixedpar
is deactivated, Ap
is estimated at 20
of variation of Qobs.
It is recommanded to use warmup
and cooldown
periods in order to reduce the problem of oscillations
created by inversion.
If object
is provided, results are stored as a new spacetime attribute in the object
called "RnAp".
An object of the same class of Qobs
. If Qobs
is a transfR object,
the same transfR object incremented by the new computed attributes.
Boudhraa2018transfR
\insertRefdeLavenne2016transfR
\insertRefMenke1989transfR
\insertRefTarantola1982transfR
rapriori
data(Oudon) icatch < 1 # Catchment index itime < 1:1000 # Using the first values for a quicker example Qobs < Oudon$obs[["Qobs"]][itime,icatch] Qspec < units::set_units(Qobs/st_area(st_geometry(Oudon$obs)[icatch]), "mm/h") deltat < units::set_units(1, "h") uc < velocity(hl = Oudon$hl[[icatch]]) uh < uh(hl = Oudon$hl[[icatch]], uc = uc, deltat = units::set_units(1,"h"))$prob RnAp < rapriori(Qobs = Qspec, lagtime = lagtime(hl = Oudon$hl[[icatch]], uc = uc), deltat = deltat) RnInv < inversion(Qobs = Qspec, RnAp = RnAp, uh = uh, deltat = deltat)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.