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
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.
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
- relationships between variables, as modified by parameter values
- extracting parameter values from data and testing model predictions
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.
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.
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.
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
See under the manual under
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
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.
- 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).
Go to the DEB information page or the DEB laboratory