Skip to content

Instantly share code, notes, and snippets.

@kenwebb
Created March 21, 2012 12:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kenwebb/2146607 to your computer and use it in GitHub Desktop.
Save kenwebb/2146607 to your computer and use it in GitHub Desktop.
Not Just for the Birds: Human-Made Noise Has Ripple Effects On Plants, Too
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/wb/ (C) Ken Webb Wed Mar 21 2012 13:56:06 GMT-0400 (EDT)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: Not Just for the Birds: Human-Made Noise Has Ripple Effects On Plants, Too
Description: "birds and other animals change their behavior in response to humanmade noise ... Because many animals also pollinate plants or eat or disperse their seeds, human noise can have ripple effects on plants too"
Url: http://www.sciencedaily.com/releases/2012/03/120320195747.htm
InternalName:
YoutubeId:
Keywords:
My Notes
--------
ScienceDaily reports on a study::
Francis, C., N. Kleist, et al. Noise pollution alters ecological services: enhanced pollination and disrupted seed dispersal. Proceedings of the Royal Society B, 2012
"the researchers counted the number of piñon pine seedlings and found that they were four times as abundant in quiet sites compared with noisy ones"
]]></Notes>
<script implName="lang:python:inline:"><![CDATA[
#print "height = 12.34 m"
]]></script>
<script implName="lang:javascript:inline:"><![CDATA[
//print("height = 56.78 meters\n");
]]></script>
<_-.XholonClass>
<!-- domain objects -->
<PhysicalSystem/>
<Site>
<NoisySite/>
<QuietSite/>
</Site>
<Animal>
<Bird/>
<Mouse/>
</Animal>
<Plant>
<Tree/>
<Seedling/>
</Plant>
<NoiseSource>
<!-- noise sources that run 24/7 -->
<Traffic/>
<Machinery/>
</NoiseSource>
<!-- quantities -->
<Height superClass="Length"/>
</_-.XholonClass>
<xholonClassDetails>
<Bird>
<port name="seedlings" connector="#xpointer(../Seedling)"/>
</Bird>
<Mouse>
<port name="seedlings" connector="#xpointer(../Seedling)"/>
</Mouse>
</xholonClassDetails>
<PhysicalSystem>
<QuietSite>
<Bird roleName="western scrub jay"/> <!-- prefer quiet sites -->
<Tree roleName="piñon pine"/>
<Seedling roleName="piñon pine seedling">0</Seedling>
</QuietSite>
<NoisySite>
<Machinery roleName="natural gas well compressor"/>
<Mouse roleName="mouse"/> <!-- prefer noisy sites -->
<Tree roleName="piñon pine"/>
<Seedling roleName="piñon pine seedling">0</Seedling>
</NoisySite>
</PhysicalSystem>
<Blockbehavior implName="lang:python:inline:"><![CDATA[
# This works if pasted in as a last child of Block.
#height.incVal(0.02)
#print("Python wants something to do. Height:" + str(height))
]]></Blockbehavior>
<Blockbehavior implName="lang:javascript:inline:"><![CDATA[
// This works if pasted in as a last child of Block.
//height.incVal(0.02);
//print("JavaScript wants something to do. Height:" + height + "\n");
]]></Blockbehavior>
<Birdbehavior implName="lang:webEditionjs:inline:"><![CDATA[
this.bindPorts(this.parent());
this.seedlings.incVal(4);
var svg = $($('div#mySVGDiv > object')[0].contentDocument.getElementsByTagNameNS(svgns, 'svg')[0]);
var textSVG = svg.children().eq(1).children().children('text');
textSVG.text(this.seedlings.attr('val'));
]]></Birdbehavior>
<Mousebehavior implName="lang:webEditionjs:inline:"><![CDATA[
this.bindPorts(this.parent());
this.seedlings.incVal(1);
var svg = $($('div#mySVGDiv > object')[0].contentDocument.getElementsByTagNameNS(svgns, 'svg')[0]);
var textSVG = svg.children().eq(2).children().children('text');
textSVG.text(this.seedlings.attr('val'));
]]></Mousebehavior>
<Blockbehavior implName="lang:bsh:inline:"><![CDATA[
// This works if pasted in as a last child of Block.
//height.incVal(0.02);
//System.out.print("Java/Beanshell wants something to do. Height:" + height + "\n");
]]></Blockbehavior>
<Blockbehavior implName="lang:jruby:inline:"><![CDATA[
#require 'java'
# This works if pasted in as a last child of Block.
#$height.incVal(0.02)
#puts "Ruby wants something to do. Height: #{$height}"
]]></Blockbehavior>
<Blockbehavior implName="lang:groovy:inline:"><![CDATA[
// This works if pasted in as a last child of Block.
//height.incVal(0.02);
//System.out.print("Groovy wants something to do. Height:" + height + "\n");
]]></Blockbehavior>
<SvgClient><Attribute_String roleName="svgUri"><![CDATA[data:image/svg+xml,
<svg width="110" height="50" xmlns="http://www.w3.org/2000/svg">
<g>
<title>Quiet Site</title>
<rect id="PhysicalSystem/QuietSite" fill="#E8B48E" height="50" width="50"/>
<g>
<title>Seedlings</title>
<circle id="PhysicalSystem/QuietSite/Seedling" fill="#98FB98" cx="25" cy="25" r="20"/>
<text x="20" y="30">0</text>
</g>
</g>
<g>
<title>Noisy Site</title>
<rect id="PhysicalSystem/NoisySite" fill="#E8B48E" x="60" height="50" width="50"/>
<g>
<title>Seedlings</title>
<circle id="PhysicalSystem/QuietSite/Seedling" fill="#98FB98" cx="85" cy="25" r="20"/>
<text x="80" y="30">0</text>
</g>
</g>
</svg>
]]></Attribute_String><Attribute_String roleName="setup">${MODELNAME_DEFAULT},${SVGURI_DEFAULT}</Attribute_String></SvgClient>
</XholonWorkbook>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment