DEBtool is a software package written in Matlab (version DEBtool_M) and Octave (version DEBtool_O, which is no longer maintained) and that can be used to illustrate some implications of the Dynamic Energy Budget theory and to apply this theory in the analysis of eco-physiological data. The manual and the code follow the DEB notation. It has script-files for almost all figures of the DEB book, with many references to the formulae in the book, and explaining remarks. AmPtool, as used to support the Add-my-Pet (AmP) collection is an example of application of DEBtool. DEBtool has a function AmPeps to produce Matlab source files for AmP entries, and a library of routines for the (point and interval) estimation of parameter values of 10 related DEB model from entry source files.
Although DEBtool continues to expand, many implications of DEB theory will remain beyond the capacities of this package.

DEBtool and AmPtool are freely available via GitHub, see the DEB laboratory.

This release focuses on

  • relationships between variables, as modified by parameter values
  • extracting parameter values from data and testing model predictions

Maintenance & updates

New versions of any function are only indicated by the creation date and/or modification dates in the file headers. The changes are visible in GitHub.

Local manual

The manual for DEBtool is included in the package in subdirectory DEBtool_M/docs and is written in HTML. To read it, run a browser on file index.html.

Use and recommendations

Basic-level use

Octave and Matlab have a very similar syntax, but small differences do exist. The first steps in Octave are explained in separate notes . A useful short introduction to Matlab is: Knight, A. 2000 Basics of Matlab and Beyond, Chapman & Hall/CRC, 202 pp. A full manual of Octave is: Eaton, J. W., Batemen, D. and Hauberg, S. 2008 GNU Octave Manual, Version 3, Network Theory Limited, 555 pp. An electronic manual is on the web.

Don't work in DEBtool, but set a path to it

It is best to work in the subdirectory that has your own data and routines, and make a path to DEBtool. If you have this just besides DEBtool you set the path to DEBtool and all its subdirectories by addpath(genpath('../DEBtool_O/')) in Octave or in the menu-bar in Matlab. Use pwd under Octave or Matlab for getting the current prosition in to directory-tree, and ls for the list of files in the current directory. Use cd for changing directories, where .. means the parent-directory. Example if you are in a sister-directory of DEBtool_M: cd ../DEBtool_M/animal/ will bring you to toolbox animal.

The routines in each subdirectory can call other routines from that subdirectory, or from the library DEBtool/lib, which has three subdirectories.

Erase variables

Do not forget to type clear all after switching toolboxes. No error messages are given if you do it otherwise, but the effect is not what you want it to be. So if you are in alga and type cd ../plant, continue with clear all; plant, for instance.

The plot ranges of DEBtools' plotting routines are set without notice, when you use the routines for the first time. Clear them by either use clear, or the 'default' option in the *_option routines. See under the manual under library.

Recalculate optimisation results from different start values

Always remember that optimization results contain local extremes at best, and that a local extreme might differ from the global extreme. Try different starting values, and check the results by making plots. See instructions under DEBtool/lib/nrregr.


  • mydata_*.m The practical application of many DEBtool functions is illustrated with mydata-files, i.e. script files with the name mydata_filename.m. This information is supplementary to that in this manual. You can change these files according to your own needs.
  • sh*.m Routines that produce and show plots are called shfilename.m files.
  • d*.m Routines that specify differential equations are called d*.m; they are frequently subroutines of *.
  • pars_*.m Parameter values that are use in de demo's are specified in pars.m files; the notation follows the DEB-book, and explanations are given in the file. A demo is a script-file with a name equal to its toolbox (i.e. directory).


The logo, designed by Hugo van den Berg, represents a three-dimensional object, such that the projections in three directions give the symbols A, M and G. These symbols stand for the three basic energy fluxes Assimilation, Maintenance and Growth, which together organize all mass fluxes. Later in the development of the DEB theory, maintenance was replaced by dissipation to include development and other dissipating fluxes.