Lab DaisyWorld:
Implementation
This file covers:
 The simulator steps (the algorithm).
 The formulas for the calculation.
 The formulas restated 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
 Repeat for each luminosity (min to max by step):
 If any daisy population < 1% area, reset to 1% (0.01).
 Repeat until daisy areas converge or for maximum convergence steps:
 Find planetary albedo.
 Find planetary temperature.
 Find temperature for each color patch (daisy/barren).
 Find birthrate for each color daisy.
 Reset daisy population areas.
 Paint daisies.
 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

 StefanBoltzmann constant
fundamental constant of physics

R
 Temperature insulation, local to planet
0 perfect conduction
1 perfect insulation

 Birthrate

 Deathrate

In English....
 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.
 The planetary temperature is calculated using the StefanBoltzmann
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.
 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.)
 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.
From Wong.
 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