DEBtool exercise

by Bas Kooijman, 1 Nov 2009

Introduction

Open the DEBtool manual index.html in the subdirectory manual of DEBtool with some browser (e.g. Explorer, Netscape, Mozilla). If you can read this page you probably already opened it with such a browser; open the manual in a new window to see the exercise and the manual simultaneously. Read the sections on Use & recommendations and Nomenclature of the first page of the DEBtool manual. Click on Contents to see the various toolboxes (subdirectories) of DEBtool. Visit the Octave intro pages briefly, to know that they offer you a fast introduction to the computer language Octave (or Matlab). It will not be necessary to know anything about Octave in this exercise, but you should be able to change files with an editor that is able to read and write plain ascii files (e.g. Notepath or Word under Windows, or Emacs; it is essential that the editor does not insert hidden non-ascii characters, which e.g. Word easily does without notice; Windows can suppress extensions of file names; Octave can only handle file names with extension .m). In the case that you plan to use Emacs as a text editor (and run Octave under Emacs) a brief visit to Emacs intro might be useful. Links to the manuals of Octave, Gnuplot and Emacs are included in the DEBtool package (these manuals are big).

Start Octave now. A window should open. Test the correct response by Octave by typing 1 + 2 (followed by the enter key, as allways after a command); Octave should respond with an answer. Try the arrow-keys to regenerate your earlier command, change it and repeat your command.

Check with pwd that Octave has been started in the directory DEBtool. Octave replies with showing the path. If Octave is in a different directory, go to the DEBtool directory using cd pathname, where pathname stands for the path to DEBtool. The command ls lists the files and subdirectories of DEBtool; you should recognize the names that are listed in the contents.

Animal

Click on Contents in the DEBtool manual, and go to animal. Now go to the animal subdirectory in the Octave window with cd animal. Now open the file pars_animal.m of the subdirectory animal with some text editor.

The parameter file pars_animal.m of animal show a large number of parameters with a short description of each. Any particular function that uses a small number of parameters only. DEBtool allows you to specify parameter values at a certain temperature, and evaluate properties of energetics at another temperature. The first set of parameters are used to do this translation; as long as the value to T equals that of T1, the other temperature parameters are not relevant. The second set of parameters are on the chemical composition of the main variables, which are necessary e.g. for specifying mineral fluxes. The next set of parameters link volumes, weights and energies to each other. Notice that structure's molar density [MV] = dV/ wV, while structure's density dV is a parameter (weight per volume), and structure's molecular weight wV is given by the elemental composition. The last two sets of parameters have no influence on what the organism is doing, but do affect the behaviour of measurements. The last set of 14 parameters directly affect the metabolic behaviour of the organism.

The chosen parametrization for animal's metabolic behaviour avoids to deal with surface areas directly, while food uptake is coupled to the surface area. The reason is to make the parameters for isomorphs better comparable with those for V1-morphs. The following relationships might clarify the links between parameters:

From these parameters, the following compound parameters are obtained in the routine parscomp, which is called from pars_animal. The maintenance rate coefficient kM = jEM/ yEV equals the specific maintenance costs jEM relative to the growth costs yEV; dim(kE) = time-1.

Read what the function animal should be doing in the manual and type animal; given some patience, you will see a window that is opened automatically by Gnuplot, that show you the various aspects of animal energetics. By typing some character, for instance a space, you go from one set of graphs in the gnuplot window to the next set. So you can take your time looking at the various graphs. Select the "full screen" option to maximize the size of the windows; some graphs will still be small.

Effect of heating

On growth of length

Search for shtime2length in the DEBtool manual and read the description. Type pars_animal; shtime2length, and you will see one of the graphs you already saw after typing animal in the introductory paragraph of this excersize. Search for parameter L_T in the file pars_animal.m and change the value 0 by 0.1. Think about what effect this should have on the growth of body length. Save the file; if saving gives problems, change the properties of the file, it is possibly stored as "read only" (under Windows: click on the file with the right-hand button of the mouse, and go to properties). Now type pars_animal; shtime2length to see the effects of an increase in the heating costs.

On growth flux

Search for shflux in the DEBtool manual and read the description. Type pars_animal; shflux, and you will see one of the windows you already saw after typing animal in the introductory paragraph of this exercise. Type pars_animal; shflux(2) to see the growth flux as a function of the scaled length, and on full screen. Search for parameter L_T in the file pars_animal.m and change the value 0 by 0.1. Think about what effect this should have on the growth flux. Save the file. Now type pars_animal; shflux(2) to see the effects of an increase in the heating costs. Change the value of L_T back to zero.

On scaling of respiration with body weight

Search for shscale in the DEBtool manual and read the description. Type pars_animal; shscale, and you will see one of the windows you already saw after typing animal in the introductory paragraph of this excersize. Type pars_animal; shscale(3) to see the scaling of dioxygen consumption with body weight only, and on full screen. Search for parameter L_T in the file pars_animal.m and change the value 0 by 0.1. Think about what effect this should have on the scaling of dioxygen consumption with body weight. Save the file. Now type pars_animal; shscale(3) to see the effects of an increase in the heating costs.

You can change other parameters as well, of course. Do not forget to run pars_animal after changing a parameter value. It is easy to use parameter values that have no physiological meaning, and DEBtool does not check the values. If you want to memorise the old values, duplicate the line you want to change first and change the value in the second line. Delete double lines when done. Consider the use of clear regularly to make sure that values of variables are used that escape your notice.

Maintenance rate coefficient from growth curves

Suppose that for three constant food densities, we found for the body length of an isomorph as function of time the following data
time in weeks 0 1 2 3 4
first series in cm 1 2 2.5 2.8 2.9
second series in cm 1 2.3 3 3.5 3.7
third series in cm 1 2.5 3.5 4.1 4.4
We failed to measure the food densities and the types of food differed in the three cases. Find an estimate for the maintenance rate coefficient, and its standard deviation on the assumption that the scatter is normally distributed with a constant variance. Compare the result using the assumption that the variance of the scatter is proportional to the squared mean. Check your results graphically. Is the type of food relevant for the problem? Hints: If these hints are not sufficient, look at file lib/regr/mydata_regr_2.m to see the answer.

This example illustrates that DEB theory allows us to extract information from a combination of data sets, which is not contained in any data set separately. The von Bertalanffy has three parameters. If the data sets have no relationships with each other, we would need 9 parameters; if all initial lengths are equal, we would have 7 parameters. DEB theory implies a link between the data sets, which reduces the number of parameters to 6, with a special meaning. Notice that lack of knowledge on the feeding levels makes that we are dealing here with a collection of length-time curves rather than a surface. If the scaled functional response f has been measured, and DEB theory tells us that Li = f Lm, we would have length as a functon of time and scaled functional response with 4 parameters: Lb, Lm, kM, v/dM.

Alga

Go to the alga subdirectory with cd ../alga and open the file alga/pars_alga.m with some text editor.

The parameter file pars_alga.m gives a short description of each parameter for a 2 reserve 1 structure alga that lives of ammonia and phosphate in a generalized chemostat. The first set of parameters are used to do temperature translations, like in animal; as long as the value to T equals that of T_1, the other temperature parameters are not relevant. The second set of parameters are on the chemical composition of the main variables, which are necessary e.g. for specifying mineral fluxes. The third set of parameters directly affect the metabolic behaviour of the organism, while the last set specifies the local environment of the chemostat. If all specific draining rates are set equal to the specific supply rate, the generalized chemostat is a standard one.

Read what the function alga should be doing in the manual and type alga. Let us focus on the steady states of a chemostat, where excreted reserves can be re-used. Read the manual on shchem1 and run shchem1.

Change now, in the file pars_alga.m, the fractions kap_EN and kap_EP of not-used reserves that are returned to the reserves and set them to zero. Think about what effect this would have on the reserve densities. Check your ideas against the actual effects by running pars_alga; shchem1(5). Now change the concentrations of ammonia X_Nr and phospate X_Pr in the supply to the chemostat, and try to predict the effect before you re-run pars_alga; shchem1.


Go to the DEB information page or the DEB laboratory