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
space:
periodic: true

# grid settings
cell_manager:
grid:
structure: square
resolution: 20

neighborhood:
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.