Exposure time-series are generally represented by a data.frame
containing two
columns. The first column for time, the second representing the
exposure level. The ordering of columns is mandatory. The column names
are non-relevant but sensible names may help documenting the
scenario and its data. The data.frame
's rows must be ordered chronologically.
A time-series can consist of only a single row; in this case it will represent constant
exposure.
For convenience, a time-series with zero exposure can be set using
set_noexposure()
.
Computational efficiency
Handling time-series is a costly task for the ODE solver due to consistency
checks and interpolation between time steps. How the solver interpolates
the time-series can be controlled by optional arguments to functions
such as simulate()
and effect()
. Please refer to simulate()
for a brief
overview and deSolve::forcings for a detailed description.
Exposure time-series should be kept as short as possible and as complex as
needed for optimal computational efficiency.
Output times
By default, the exposure time-series' time points will also be used as output
times of the scenario. Any output times previously set by set_times()
will
be lost. If this behavior is undesired, set the function argument
reset_times=FALSE
.
Multiple exposure series and scenarios
The functions supports modifying multiple scenarios at once: by
calling it with lists of scenario and ExposureSeries
objects. The cartesian product of all scenarios and exposure series will
be returned, iff the parameter expand = TRUE
is set.
As an example for the expand mode, two scenarios A
and B
and one
exposure series g
will result in two scenarios Ag
and Bg
, both
using exposure series g
. Two scenarios A
and B
as well as two
exposure seres g
and h
will result in four scenarios Ag
,Ah
,Bg
,
and Bh
.