Vegetation — Simple Vegetation Model#

This is a very simple implementation of a vegetation model. It is implemented as a stochastic cellular automaton on a grid, where the state of each cell is a double scalar representing the plant bio-mass on that cell. The only driver for a change in the plant bio-mass is rainfall, implemented as a Gauss-distributed random number drawn for each cell.

Model parameters#

  • rain_mean: mean rainfall \(\langle r \rangle\)

  • rain_std: rainfall standard deviation \(\sigma_r\)

  • growth_rate: growth rate \(g\)

  • seeding_rate: seeding rate \(s\)

Growth process#

In each time step, the plant bio-mass on a cell is increased according to a logistic growth model. Let \(m_{t,i}\) be the plant bio-mass on cell \(i\) at time \(t\) and \(r_{t,i}\) the rainfall at time \(t\) onto cell \(i\). The plant bio-mass at time \(t+1\) is then determined as

\(m_{t+1,i} = m_{t,i} + m_{t,i} \cdot g \cdot (1 - m_{t,i}/r_{t,i})\).

It is possible that the result yields a negative value. In this case, the population density is silenty set to zero, \(m_{t+1,i} = 0\).

Seeding process#

Since logistic growth will never start if the initial plant bio-mass is zero, a seeding process is included into the model. If \(m_{t,i} = 0\), the plant bio-mass at time \(t+1\) is then determined as

\(m_{t+1,i} = s \cdot r_{t,i}\).

Default configuration parameters#

Below are the default configuration parameters of the model:

# Space parameters
  periodic: true

# grid settings
    structure: square
    resolution: 20

    mode: empty # model does not use neighborhood

# Rain parameters
# The actual rain value is drawn from the following normal distribution
rain_mean: 10
rain_std: 2

# Growth rate (used in logistic growth)
growth_rate: 0.1

# Seeding rate (used when plant mass is zero)
seeding_rate: 0.2

For these parameters and a grid size of 20 x 20, the system takes roughly 50 time steps to reach a dynamic equilibrium, in which the plant bio-mass on all cells fluctuates around 9.5.