Lab DaisyWorld:
Implementation

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

Please note that you are not responsible for knowing or understanding 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.

Please note that since each step is dependent on the result (population levels) of the preceding step, there is no unique 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. (Try DaisyWorld in 3 species, running luminosity backwards from 2.0 to 0.6, step by -0.01, and compare to the forward result.)

Formulas
Planetary Albedo
Planetary Temperature
Local Temperature
Birthrate
Area Change


Symbols
Albedo
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.6 2.0 (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
Birthrate
Deathrate

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. The physics is lucidly explained online in Wong, Appendix A. 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.

Ginger Booth, Oct. 27, 1997


ginger@gingerbooth.com