Homepage of Technische Universität Dresden

Personal tools
Home » Members » thomas.petzoldt's Home » Tutorials, Tools, Downloads

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 matrix-based 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 PDE-Models from ODEPACK (lsoda, lsode, daspk, vode, ...); explicit Runge-Kutta solvers (euler, rk4, ode23, ode45, rk78f, ...) and implicit Runge-Kutta (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.r-forge.r-project.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

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 re-implement 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 individual-based, 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 prototype-based (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) thermo-physical properties of the seawater.
  • R package cardidates (Rolinski, Sachse, Petzoldt) can be used for peak-fitting 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 long-term trends. Oecologia 153, 997 - 1008.
    • Project website: http://cardidates.r-forge.r-project.org/ 
    • More information: cardidates tutorial

Other Tutorials and Examples about Modeling and Statistics with R

Last modified: 08.10.2013 18:59
Author: Thomas Petzoldt


Thomas Petzoldt
Tel.: +49 351 463-34954
Fax: +49 351 463-37108
email iconthomas.petzoldt@

Visiting address:
TU Dresden
Drudebau room 72a
Zellescher Weg 40
01217 Dresden

Mail address:
TU Dresden
01062 Dresden

TU Dresden
Helmholtzstra├če 10
01069 Dresden