Talk:Daisyworld

message: If rewritten today, the classic book "how to lie with statistics" might as well be called "how to lie with statistics and computer simulations."
----
"proves" -> "arguably demonstrates" since (i) a model is a demo, not a proof, and (ii) there is a minor philosophical objection that selection of components for a model is not entirely purposeless. This wording still retains the central point and value of the demonstration.
- Paul 
OK, I'll bite:
W&L proved that non-teleological systems with biologically mediated feedback loops do exist (and thoughtfully provided us with an example).  Although I'll need to ponder your point about selection of model components.  Modellers do indeed have God-like powers!
WRT to W&L being a demo not a proof,
I would say that the demo _is_ the proof (of existence).  But...what does "exist" mean?  Does Daisyworld exist?  I would be tempted to stick with Daisyworld as a perfect representation of a system which exists in the Platonic sense (OTOH, planar planets must be rare).
Still, the *mechanism* exists, without a doubt.  Does this count?
heh
Robinh 15:28, 26 Jul 2004 (UTC)
thread_title:  Discussion 

message: Here is a python version of daisyworld:
dynamo.py
import math
def print_sorted_keys(dict,width):
    keys = dict.keys()
    keys.sort()
    f = "%"+str(width)+"s"
    for key in keys[:-1]:
        print (f+",") % key,
    print f % keys[-1]
def print_sorted_values(dict,width):
    keys = dict.keys()
    keys.sort()
    f = "%"+str(width)+"s"
    for key in keys[:-1]:
        print (f+",") % dict[key],
    print f % dict[keys[-1]]
def run_times(initial_time,dt,times,initial,get_next_time_step):
    prev = initial
    width = 20
    f = "%"+str(width)+"s,"
    print f % "time",
    print_sorted_keys(initial,width)
    print f % initial_time,
    print_sorted_values(initial,width)
    
    for i in range(1,times+1):
        time = i*dt + initial_time
        next = get_next_time_step(prev,time)
        print f % time,
        print_sorted_values(next,width)
        prev = next
    print f % "time",
    print_sorted_keys(initial,width)
def step(value,time,currentTime):
    if currentTime >= time:
        return value
    else:
        return 0.0
def clip(after_cutoff,before,value,cutoff_value):
    if value < cutoff_value:
        return before
    else:
        return after_cutoff
def table_lookup(value,low,high,increment,list):
    if value <= low:
        return list[0]
    elif high <= value:
        return list[-1]
    else:
        trans = (value - low)/increment
        low_index = int(math.floor(trans))
        delta = trans - low_index
        return list[low_index]*(1.0-delta)+list[low_index+1]*delta
        
def smooth3_init(init_dictionary,name,value):
    init_dictionary[name+"_l1"] = value
    init_dictionary[name+"_l2"] = value
    init_dictionary[name+"_l3"] = value
def smooth3_next_levels(cur_dict, prev_dict, name, dt):
    cur_dict[name+"_l1"] = prev_dict[name+"_l1"]+dt*prev_dict[name+"_r1"]
    cur_dict[name+"_l2"] = prev_dict[name+"_l2"]+dt*prev_dict[name+"_r2"]
    cur_dict[name+"_l3"] = prev_dict[name+"_l3"]+dt*prev_dict[name+"_r3"]
def smooth3_next_rates(cur_dict, name, value, delay):
    cur_dict[name+"_r1"] = (value - cur_dict[name+"_l1"])/(delay/3.0)
    cur_dict[name+"_r2"] = (cur_dict[name+"_l1"] - cur_dict[name+"_l2"])/(delay/3.0)
    cur_dict[name+"_r3"] = (cur_dict[name+"_l2"] - cur_dict[name+"_l3"])/(delay/3.0)
def smooth3_cur_value(cur_dict, name):
    return cur_dict[name+"_l3"]
    
daisyworld.py
import math
from dynamo import *
#levels
uncovered_area = "uncovered_area"
white_area = "white_area"
black_area = "black_area"
#rates
white_growth = "white_growth"
black_growth = "black_growth"
uncovered_growth = "uncovered_growth"
#axillaries
avg_planet_temp = "avg_planet_temp"
black_growth_fact = "black_growth_fact"
white_growth_fact = "white_growth_fact"
planetary_albedo = "planetary_albedo"
temp_black_land = "temp_black_land"
temp_white_land = "temp_white_land"
t_dead_planet = "t_dead_planet"
solar_luminosity = "solar_luminosity"
#constants
black_albedo = 0.25
death_rate = 0.3
heat_absorp_fact = 20
sb_constant = 5.669e-8
solar_flux_constant = 917
uncovered_albedo = 0.5
white_albedo = 0.75
#parameters
dt = 1.0
initial_time = 0.0
#initial data
i = {}
#inital levels
i[uncovered_area] = 1.0
i[white_area] = 0.0
i[black_area] = 0.0
def calc_auxiliaries_and_rates(n,time):
    #first the auxiliaries
    #n[solar_luminosity] = 0.6+(time*(1.2/200))
    n[solar_luminosity] = 1.0-0.40*(math.sin(time/(math.pi*10)))
    n[planetary_albedo] = n[uncovered_area]*uncovered_albedo+n[black_area]*black_albedo+n[white_area]*white_albedo
    n[avg_planet_temp] = ((n[solar_luminosity]*solar_flux_constant*(1.0-n[planetary_albedo])/sb_constant)**0.25)-273
    n[temp_black_land] = heat_absorp_fact*(n[planetary_albedo]-black_albedo)+n[avg_planet_temp]
    n[temp_white_land] = heat_absorp_fact*(n[planetary_albedo]-white_albedo)+n[avg_planet_temp]
    n[t_dead_planet] = ((n[solar_luminosity]*solar_flux_constant*(1-uncovered_albedo)/sb_constant)**0.25)-273
    n[black_growth_fact] = max(0,1 - 0.03265*((22.5-n[temp_black_land])**2))
    n[white_growth_fact] = max(0,1 - 0.03265*((22.5-n[temp_white_land])**2))
    
    #then the rates
    #n[black_growth] = n[black_area]*(1 - n[black_area]/(n[uncovered_area]+n[black_area]))*n[black_growth_fact]-n[black_area]*death_rate+0.001
    #n[white_growth] = n[white_area]*(1 - n[white_area]/(n[uncovered_area]+n[white_area]))*n[white_growth_fact]-n[white_area]*death_rate+0.001
    n[white_growth] = n[white_area]*(n[uncovered_area]*n[white_growth_fact]-death_rate)+0.001
    n[black_growth] = n[black_area]*(n[uncovered_area]*n[black_growth_fact]-death_rate)+0.001
    n[uncovered_growth] = -(n[black_growth]+n[white_growth])
calc_auxiliaries_and_rates(i,initial_time)
def get_next_time_step(j,time):
    n = {}
    #nextize levers
    n[uncovered_area] = j[uncovered_area]+dt*j[uncovered_growth]
    n[black_area] = j[black_area]+dt*j[black_growth]
    n[white_area] = j[white_area]+dt*j[white_growth]
    calc_auxiliaries_and_rates(n,time)
    return n
run_times(initial_time,dt,400,i,get_next_time_step)
          
It is based off of the STELLA model in the Modeling Daisyworld article. Jrincayc 01:50, 10 Jun 2004 (UTC)
thread_title:  Python version of Daisyworld 

message: Back in the UK in 1982, the Sinclair ZX Spectrum home computer was packaged with a tape called "Horizons", which contained several demonstrations of the Sinclair Spectrum's ability to do maths and draw pictures etc. One of the demonstrations was called "Evolution (or Foxes and Rabbits)". There's a screenshot here. It simulated two populations - foxes and rabbits - over a period of time. You could set the relative population size and duration of the simulation, and over time the foxes would eat the rabbits, until there were very few rabbits, at which point the foxes would starve and the rabbits would multiply again. Over time, the two populations remained in a state of balance. Despite being called "Evolution", it had nothing at all to do with evolution.
I mention this mostly as trivia, as a relatively well-known pre-1983 computer implementation of the basic daisyworld concept. I'm sure the idea of a self-regulating system pared down to two components is ancient, and was probably first noticed by farmers, thousands of years ago. And of course this article is specifically about the daisyworld itself, rather than the general concept of self-regulating systems. Couldn't think where else to mention it.-Ashley Pomeroy 11:14, 16 August 2005 (UTC)
thread_title:  The dim and distant past 

message: 1) many jargon terms.  I replaced the ones with synonyms where no wiki links existed to explain.  Where wiki links did explain, reading a dozen articles to understand one is really annoying.  The terms should be explained in this article.
2) passive sentences.  If anyone took good English classes in college (as opposed to having lousy teachers as I found many have), you should know what passive sentences are, since the wiki link does not work. DyslexicEditor 14:30, 9 March 2006 (UTC)
thread_title:  needs editing 

message: This sounds really interesting, but for someone who knows little about the science behind planets (me) this article doesn't give the reader an understanding of why Daisyworld is significant. sinblox (talk) 04:23, 7 August 2006 (UTC)
thread_title:  Article Suggestion 

message: Generalising this one gets the following: Living beings are adabted to certain kind of living conditions. If they affect their own living
conditions via their environment or in a way which spreads to the environment, they have to affect the environment toward what the environmental conditions have been in the past. So it is especially in extreme living conditions like with fluctuations of
the environmental conditions. So, deducing from this, the biosphere has a tendency to regulate its living environment somewhat toward what is benefical for life. (If it would not do so but the opposite, those
living beings would die and so drop away from the evolutions'
competition.)
This seems to make Lovelock's Gaia theory scientificaslly correct -
without presupposing any "symbiosis" of species on our planet.
Htervola 10:14, 9 November 2006 (UTC)
thread_title:  A generalisation of Daisyworld 

message: Hi.  Sorry to revert a good-faith edit.  But I feel that the above text is sufficiently non-wikipedian, and confused, to merit deletion.  Try to construct a formal argument, using standard scientific wording, that expresses what you are trying to say.  Wiki text also needs to be NPOV, and in this case cite its sources.  
Best wishes, Robinh 08:16, 9 November 2006 (UTC)
thread_title: discussion of revert

message: As one used to scientifical language I would describe also the Daisyworld example differently: 
Daisyworld is an example about how life on a planet can control its climate. It is a computer simulation introduced  at 19XX by James Lovelock & Lynn Margulis. The idea in it is the following. There are dark and light plants (daisies) dominating on a (hypothetical) planet: the dark flourishing in cold because of their colour and the light ones in a hot environment. So the equator would be covered by white plants and the poles by dark ones. If the temperature of the planet changes toward higher, the light plants start to dominate and because they reflect light toward space, the temperature does not rise as high as it would have otherwise risen. Similarly the domination of dark plants in cold rises the temperature of the planet. 
I consider my own version clearer.
Htervola 12:15, 9 November 2006 (UTC)
thread_title:  About the main text 

message: I am removing the memetics category from this article since you learn no more about the article's contents from the category and v.v. Since so many things may be memes we should try to keep the category closely defined in order to remain useful. Hope you're okay with that. The link to meme would be enough I suggest. Facius 11:13, 23 July 2007 (UTC)
thread_title: Removing memetics category

message: I hope that after my edits it still matches up with the references people have provided. However, they may not be using the best references; I have a copy of Toby Tyrrells 'On Gaia' (2013, Princeton University Press) and I think he summarises the debate very well, with plenty of quotes.
I haven't read the original papers, and I'm sure Lovelock has said different things at different times, but Tyrell quotes him saying "I never intended Daisyworld to be more than a caricature, and accept that it may turn out a poor likeness when we finally understand the world". -- that's page 26 of Tyrrell, quoting page 264 of Lovelock's autobiography.
Based on the empirical evidence as he saw and interpreted it, Lovelock suggested, with varying degrees of certainty, that our world is like Daisyworld -- and that further investigation was required to find the empirical evidence which would either prove or disporove this. But providing a model of how a hypothetical Gaia operates was in no way proof that Earth operates a Gaian system. Some editors have gone too far, further than Lovelock, in interpreting what the model tells us. It was the purpose of my edits to correct this.  — Preceding unsigned comment added by 77.98.32.90 (talk) 15:37, 29 October 2014 (UTC)
thread_title:  my attempts to "tone it down" 

message: Hello fellow Wikipedians,
I have just modified  on Daisyworld. Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:
*Added archive https://web.archive.org/web/20110927030649/http://www.eeescience.utoledo.edu/Faculty/Gottgens/Conservation%20Biology/Hans%20papers%202010/Tilman%20and%20Downing%201994%20Nature.pdf to http://www.eeescience.utoledo.edu/Faculty/Gottgens/Conservation%20Biology/Hans%20papers%202010/Tilman%20and%20Downing%201994%20Nature.pdf
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at ).
Cheers.—InternetArchiveBot (Report bug) 06:51, 5 December 2016 (UTC)
thread_title:  External links modified 

message: I mean, I know the article mentions such mechanisms have been found in the real world; but has there been any attempts to test the possibility of it evolving without carefully tweaked initial conditions and rules, any experiments where evolution is simulated to see if it produces this self-balancing behavior? --TiagoTiago (talk) 21:59, 10 January 2018 (UTC)
thread_title:  Has it been tested whether this setup can evolve spontaneously? 

message: * What I think should be changed:
change to:
* Why it should be changed:
The previous navy blue picture was from the Flash version of my DaisyBall/DaisyWorld simulator. The Flash player no
longer works. I recently completed a new version of the simulator in vanilla HTML5.
The new picture matches the latest simulator. Whose entrance page (talky) is at:
https://gingerbooth.com/html5/daisy/help/index.html
Or to directly simulate daisies:
https://gingerbooth.com/html5/daisy/daisy.html
* References supporting the possible change (format using the "cite" button):
I'm not sure what to say here. My first web implementation of DaisyWorld, including my 3D DaisyBall variant, 
was a Java applet in 1997. So this teaching simulator's latest incarnation is copyright 1997-2022. No obvious citations.
Ginger Booth (talk) 16:58, 6 June 2022 (UTC)
replies: text: This edit request goes with the next one - two sections of the same page. Note this is an image replacement, thus the <blank> to <blank> change because the images appear on the right hand side. Ginger Booth (talk) 19:59, 12 June 2022 (UTC)

text: Done   ℰmi1y⧼T·C⧽ 00:29, 16 November 2022 (UTC)
thread_title:  new version Daisyworld simulator