Week 1: Understand size-spectrum modelling

Your goal in this first week of the course is to gain a thorough understanding of size spectra and their dynamics. This means that at the end of the week you will understand the parameters that shape the size spectra and how size spectra respond to changes. You will have a feel for how size-spectrum dynamics is different from usual single-species age-based dynamics.

It is worth spending an entire week on building this understanding, because it will enable you to build more reliable models in the second week and to appropriately explore the model predictions in the third week.

We will revisit many of the concepts introduced in Ken Andersen’s guest lecture that you may have seen in the Prepare section, but our approach here will be much more hands-on, with exercises dotted around the tutorials to consolidate your understanding.


The material for this week is split into 5 tutorials:

  1. Observed size spectra
    Because many of the physiological rates in fish (like growth, mortality, metabolism, reproduction) depend on the size of the individuals, a mizer model needs to keep track of the size distributions of the populations, the so-called size spectra. To get a feel for size spectra, in this first tutorial you will take observational data and make plots of size spectra. There is confusion in the size spectrum literature because there are different ways to represent the size spectra and this tutorial will introduce these, so that you can cut through the confusion.

  2. Single-species spectra
    At the community level, size spectra tend to look like power laws. But the size spectrum of each individual species making up the community will look different. In this tutorial we will investigate how the shape of the single species spectrum is determined by an interplay of growth and mortality.

  3. Predation, growth and mortality
    A particular strength of a mizer model is that growth curves and mortality rates are not fixed externally but are emergent and dependent on the availability of prey and the presence of predators. In this tutorial we explore how predation is modelled in mizer and how it effects growth and mortality.

  4. Species interactions
    In a mizer model all the species in the community interact with each other through size-based predation. So any changes in one species’ size spectrum affects the size spectra of the other species, which in turn affects that first species. In this tutorial we start investigating some of the effects this has.

  5. Dynamics of spectra
    In previous tutorials we have concentrated on the steady state of the mizer model, where for each size class and each species, the rate at which individuals grow into the size class balances the rate at which individuals grow out of the size class or die, thus keeping the size spectrum constant. In this tutorial we explore the dynamic that takes place when this balance is changed.


Each tutorial comes with exercises and a worksheet in which to complete the exercises. These worksheets are contained in a dedicated repository on GitHub to which you will push your work to get feedback. This will work the same way as we discussed in the tutorial Use Git and GitHub. If you did not yet get a chance to work through that tutorial, please do so now before continuing with this week’s tutorials.

To get your worksheet repository for this week, follow this link:


Once you have cloned your worksheet repository to your computer, open the file “worksheet1-observed-size-spectra.Rmd” by clicking on it in the “Files” tab of RStudio. It will open in the Editor tab and you can start working through it. It contains essentially the same material as the first tutorial on this website. The difference is that on this website the code has already been run for you and the output of the code is already displayed whereas in the tutorial you run the code yourself. That allows you to get a more intimate understanding of what is going on by experimenting with making changes to the code or adding extra code of your own. You will need to do that for example in order to complete the tutorial exercises.

Do save the worksheet frequently and commit all those experiments of yours to your repository. You never know whether you may not want to revisit some of them later.

If you feel that you do not have the time to engage with the worksheets and the exercises and only want to read through the tutorials on this website then that is fine too. You are entirely free to choose the level of engagement to fit your needs. Similarly, even if you do not have the time to absorb everything in tutorials and have only read the “Summary and recap” that you find at the end of each tutorial, you are still welcome at any of the daily meetings. Furthermore you should feel free drop in and out of the meetings at any time, as you schedule allows. It may well be that the conversations with other participants at the meetings turn out to be more valuable to you then the tutorials or the worksheets.