pompBuilder
is a tool for producing compiled pomp
objects.
It was an early attempt to facilitate the use of compiled codes but has been replaced by the more flexible use of Csnippet
s in the regular pomp
constructor function.
It is not being actively maintained and is no longer exported: users are encouraged to migrate to using Csnippet
s.pompBuilder(data, times, t0, name, statenames, paramnames,
tcovar, covar,
rmeasure, dmeasure, step.fn, step.fn.delta.t,
skeleton, skeleton.type = c("map","vectorfield"),
skelmap.delta.t = 1,
fromEstimationScale, toEstimationScale,
rprior, dprior, globals, ..., save = FALSE)
pomp
for more information.
data
must be a data-frame.covar
is a data-frame containing covariates (variables in columns, timepoints in rows);
tcovar
is the name of the column containing time.step.fn
is a C code that implements an Euler step function.
The Euler time-step is step.fn.delta.t
, which should be a positive number.skeleton
is a C code that implements the deterministic skeleton.
As in pomp
, skeleton.type
indicates whether the skeleton is a map (discrete-time) or vectorfield (continuous-time)toEstimationScale
maps parameters from the model scale to the estimation scale.
fromEstimationScale
maps them from the estimation scale to the model scale;pomp
pomp
object.
A side-effect is the writing and compilation of a C code into a dynamics shared object. Parallel computing caution:
note that, since a side-effect of running pompBuilder
is the writing and compilation of a file, caution must be used when running parallel computations.
Simultaneous execution of pompBuilder
on nodes sharing a common disk will cause all nodes to attempt to write the same file at the same time;
the results will be undefined.
If multiple nodes are to work on the same pomp
object built by pompBuilder
, first run pompBuilder
once (with save = TRUE
) to write the C file and compile it into a dynamic shared object file.
The pomp
object returned by pompBuilder
can then be shared with all worker nodes.
pompBuilder
with save=TRUE
assumes that files can be written to the current working directory and that dynamic shared objects can be compiled and linked, i.e., that R CMD SHLIB
will work.
This will not typically be the case in out-of-the-box Windows installations.pomp
, Csnippet