software package DEBtool

by Bas Kooijman, 28 June 2010



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. Add_my_pet (AmP) is an example of application of DEBtool.
Although DEBtool continues to expand, many implications of DEB theory will remain beyond the capacities of this package.

DEBtool is freely available via GitHub, see DEB laboratory (Octave and Matlab versions).

This release focuses on

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/manual 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: cd ../DEBtool/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.

Rename functions if you modify them

Since DEBtool is updated every now and then, existing routines can be changed. If you modified a function, and want to install a new version of DEBtool, it can save a lot of work if your modified functions have other names and have been stored outside DEBtool.

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.



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.

Go to the DEB information page or the DEB laboratory