NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


NetLogo User Community Models

(back to the NetLogo User Community Models)


by Tony Lawson (Submitted: 03/26/2012)

[screen shot]

Download SpeciesWorld
If clicking does not initiate a download, try right clicking or control clicking and choosing "Save" or "Download".

(You can also run this model in your browser, but we don't recommend it; details here.)


A representation of an environment that can evolve feedback loops to maintain conditions to be suitable for life.

SpeciesWorld is a development from the Daisyworld idea of Watson and Lovelock (1983).

In Daisyworld, the white daisies thrive in warm conditions. They reflect heat which has the effect of cooling the environment. In cold conditions, there are more of the black daisies which absorb heat and warm the environment. The result is a robust feedback mechanism which, within limits, keeps global temperature within a range that is conducive for life.

The question is: how did this come about. If the black daisies did better in warm conditions and the white ones preferred the cold, there would be feedback that would result in either runaway warming or coolong.

SpeciesWorld depicts a situation where speicies that alter their environment in a way that promotes life have a higher chance of survival. Those that worsen their environment die out more quickly. In this way, the ecosystem evolves species which work together to counteract external environmental change.


The model is based on three axioms.

1 When a species first appears, it is well adapted to its environment and can only survive or adapt to an environment within a finite range of its initial state.

2 The environment changes over time.

3 Each species has an effect on the environment which may be in the same direction as the prevailing change or may be opposite to it.

A simulation begins with an initial population of species represented by turtles.
Each new species has an optimum_temperature which is the temperature of the patch it originates on. Species have a parameter called 'Resilience' which is the difference in temperature, above or below its optimum, that the species can tolerate before it dies. There is also an 'Influence' parameter which indicates how much warming or coolong effect the species has on its patch during each time step. Influence is also diffused around the adjacent patches.

Patches have an initial temperature which is drawn from a normal distribution. At each time step, the temperature of every patch is changed by the amount shown on the Temperature_Change slider. Also at each time step, each species alters the temperature of its patch by the amount of its Influence parameter. After these two temperature changes, there is a test to determine whether the temperature of the patch is still within the species survivable temperature. Those that survive continue into the next cycle. If the temperature of the patch is too hot or too cold for the species to survive, it is removed from the simulation.

Next, the current temperature of each patch is diffused into adjoining patches. Then, by a fixed probability which can be set in the program code, a new species is created in some of the empty patches. Its optimum_temperature is set to the current temperature of its patch.

The model is abstract in that it is not based on any physical laws. The temperature parameter can be thought of conventionally as heat stress but is also meant to represent any environmental stress. The units of temperature are not related to any real temperature scale. The world grid can be thought of as representing physical space but also represents species space where the x y coordinates of the grid represent any number of dimensions that describe the properties of a species.


Press 'setup' to create the initial population. Set the 'Initial_Resilience', 'Initial_Influence' and 'diffusion_rate' parameters as required.

Press 'go' to start a simulation.

While the simulation is running, vary the 'Temperature_Change' parameter to see what effect it has on the population and global temperature.


See if the world grid settles down into a pattern.


Vary the parameters to find out the conditions needed for a stable world to evolve.
What levels of resilience, influence and diffusion are needed for stability?
How high a rate of temperature change can the system tolerate?
Does this vary with the other parameters.


Try different sized worlds.
What happens if different parts of the world change temperature in different ways?


Model developed by Tony Lawson

The Daisyworld model was first proposed and implemented by Lovelock and Andrew Watson. The original Gaia hypothesis is due to Lovelock.

Watson, A.J., and J.E. Lovelock, 1983, "Biological homeostasis of the global environment: the parable of Daisyworld", Tellus 35B, 286-289. (The original paper by Watson and Lovelock introducing the Daisyworld model.)

(back to the NetLogo User Community Models)