DaisyBall simulator screenshot
Run DaisyWorld / DaisyBall.

DaisyWorld, the Math

This file covers:
  1. The simulator steps (the algorithm).
  2. The formulas for the calculation.
  3. The formulas re-stated in English.

You don't need to understand these formulas in depth. Just try to get a feel for their circularity.

The Algorithm

  1. Repeat for each luminosity (min to max by step):
    1. If any daisy population < 1% area, reset to 1% (0.01).
    2. Repeat until daisy areas converge or for maximum convergence steps:
      1. Find planetary albedo.
      2. Find planetary temperature.
      3. Find temperature for each color patch (daisy/barren).
      4. Find birthrate for each color daisy.
      5. Reset daisy population areas.
    3. Paint daisies.
    4. Add a point to each plot trace.

Luminosity is run from 0.65 to 1.65, stepping by 0.01, with a maximum of 1000 convergence steps per luminosity step.

Daisy albedos are set to 0.5 barren (50%), 0.25 black, 0.75 white, with all other colors evenly distributed between the black/white extremes. Mousing over the data traces on the top Area plot gives the albedo for each color.

Since each step is dependent on the result (population levels) of the preceding step, there is no definitive result at each luminosity step. The result depends on how you got there. In particular, running luminosity backwards (decreasing) can crash the entire planetary population. And using a different luminosity step size or number of convergence steps, may generate different results.

Planetary Albedo
Planetary Temperature
Local Temperature
Area Change

0 perfect light absorber
1 perfect light reflector
A Area, percent of planet surface
population measure for daisies
subscript p Planetary
subscript color, barren For daisy/barren color
T Temperature, Kelvin
L Luminosity multiplier
here, 0.65 1.65 (dimensionless)
DaisyWorld solar input at L = 1.0
Watts per square meter planet surface
energy flux density
Earth solar input at L = 1.0
Stefan-Boltzmann constant
fundamental constant of physics
R Temperature insulation, local to planet
0 perfect conduction
1 perfect insulation
here R = 0.12
here base deathrate = 0.3

In English....

  1. The planetary albedo is how shiny the planet is, how much incoming light it reflects back out into space. Planetary albedo is the weighted average of the albedos of each color making up the surface area. Multiplying each albedo with its percent surface area, and summing the result, is the weighted average.
  2. The planetary temperature is calculated using the Stefan-Boltzmann Law. Basically, the formula says that the temperature depends on the energy input multiplied by the percent that is not being reflected back out into space.
  3. The local temperature is calculated similarly to the planetary temperature. It varies from the planetary temperature by an amount set by the local albedo's difference from the planetary albedo, and the insulation factor. (Note: Watson & Lovelock use a linear approximation for this, then an insulation value of 0.2. Wong seems to use this formula, then an insulation value of 0.12.)
  4. Each species of daisy's birthrate falls off by the local temperature's deviation from the daisy's ideal temperature, squared. That's a downward facing parabola with a maximum birthrate of 1.0 at ideal temperature, falling off to 0 at min and max temperature. The birthrate is 0 below minimum and 0 above maximum temperature.
  5. From Wong.

  6. At each step, the area of each color daisy may grow or shrink. The current area times the deathrate gives the death of daisies, or loss of area. The current area, times the birthrate, times the barren area available for colonization, gives the birth of daisies, or increase in area.

Further Information

Other help files: