Thomas Petzoldt  Homepage

Tutorials, Tools, Downloads
Most downloads and examples below use the R software and you
may ask why. R is known as a system for statistical data
analysis and graphics, but R is more. It is an efficient
matrixbased programming language that can be used as a general
tool for data analysis, simulation and visualization.
Several years we were working with different systems and
languages like Fortran, Basic, Pascal, Delphi, JAVA, C/C++,
Spreadsheets, Simulation Dynamics tools and even other matrix
oriented environments. Now we do most (but not all) things in R
and some time critical parts in C or Fortran. This has nothing
to do with any kind of "fundamentalism", it naturally developed
because of R's efficiency: it is fast enough, has packages for
"almost everything", can read and write data bases, produces
good graphics, has documentation facilities (esp. Sweave), and it has a community that agreed to
use publications for getting scientific credit. We use, of
course, other software tools too, but only with R we reached
a level where we felt that it was worth to make our tools
publicly available.
Differential Equation Solvers
 Package deSolve (Soetaert, Petzoldt,
Setzer) is the main workhorse for solving initial value
problems of differential equations.
 It contains:

 state of the art solvers for ODE, DAE, DDE and
PDEModels from ODEPACK (lsoda, lsode, daspk, vode, ...);
explicit RungeKutta solvers (euler, rk4, ode23, ode45,
rk78f, ...) and implicit RungeKutta (RADAU II A).
 Functions ode.1D, ode.2D and ode.3D for solving
1, 2 and 3 dimensional problems.
 Most solvers support events and/or delays.
 The model equations can be written in pure R or in
compiled languages (C, Fortran) to circumvent speed
limitations of R.
 If a model can be written in matrix notation, R is
usually fast enough.
 deSolve website: http://desolve.rforge.rproject.org
(with a overview on related documents, publications and
conference slides)
 Main publication: http://www.jstatsoft.org/v33/i09 (Soetaert,
Petzoldt, Setzer)
Packages for Analysis of the Model Output and Confronting
Models with Data
 R package qualV (Jachner, Boogaart,
Petzoldt contains model validation criteria, especially for
models with time delay)

 R package FME (Soetaert, Petzoldt) implements tools
for model fitting and analysis of model results, e.g.
sensitivity indicators and Markov chain Monte Carlo
(MCMC)

Packages for Object Oriented Implementation of Dynamic
Models
Package simecol implements an "object model of models".
Here the main parts of a model are the equations, parameters,
time steps and a solver function. This structure is rather
close to a mathematical notation, so it is easy to
reimplement existing models from the literature or to share
own models with colleagues. This approach is quite general and
can be used for differential equations, for individualbased,
and other approaches, not only in ecology but also for social
sciences, economy or engineering. A simulation object
encapsulates everything needed, so that models with different
data or equations can be handled within the same session.
 R package proto (Grothendieck and
Petzoldt)
Package "proto" implements lightweight
prototypebased (i.e. classless) object orientation. It
shows that R is also suitable as playground for exploring
(and using) different object paradigms.
Specific packages for Aquatic Sciences
 Package marelac (Soetaert, Petzoldt, Meysman)
contains: (1) chemical and physical constants and datasets,
e.g. atomic weights, gas constants, the earths bathymetry;
(2) conversion factors (e.g. gram to mol to liter,
barometric units, temperature, salinity); (3) physical
functions, e.g. to estimate concentrations of conservative
substances, gas transfer and diffusion coefficients, the
Coriolis force and gravity; and (4) thermophysical
properties of the seawater.

 R package cardidates (Rolinski, Sachse,
Petzoldt) can be used for peakfitting and determination of
"cardinal dates" in environmental time series

 Publication (of the methods): Rolinski, S., Horn, H.,
Petzoldt, T., & Paul, L. (2007): Identification of
cardinal dates in phytoplankton time series to enable the
analysis of longterm trends. Oecologia
153, 997  1008.
 Project website: http://cardidates.rforge.rproject.org/
 More information: cardidates tutorial
Other Tutorials and Examples about Modeling and Statistics
with R

