Skip to content

Instantly share code, notes, and snippets.

@kenwebb
Created March 10, 2012 14:52
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/2011651 to your computer and use it in GitHub Desktop.
Save kenwebb/2011651 to your computer and use it in GitHub Desktop.
Changing the Chemistry of Earth's Oceans
<?xml version="1.0" encoding="UTF-8"?>
<!--Xholon Workbook http://www.primordion.com/Xholon/wb/ (C) Ken Webb Sun Mar 11 2012 19:59:12 GMT-0400 (EDT)-->
<XholonWorkbook>
<Notes><![CDATA[
Xholon
------
Title: Changing the Chemistry of Earth's Oceans
Description: The burning of fossil fuels has given the oceans more than they can safely absorb.
Url: http://www.nytimes.com/2012/03/10/opinion/changing-the-chemistry-of-earths-oceans.html?ref=opinion
InternalName:
YoutubeId:
Keywords:
My Notes
--------
Xholon, Xholon webEdition, and Xholon Workbooks are intended to make it pretty straight forward to explore and model just about anything. I'm especially interested in science and the environment. The New York Times has just published an editorial that briefly summarizes recent research on ocean acidification. It makes for an excellent test of the Xholon concept because it is so brief. For the purposes of this test, I'm including the entire text.
"The oceans have always served as a sink for carbon dioxide, but the burning of fossil fuels since the beginning of the industrial revolution, especially over the last 40 years, has given them more than they can safely absorb. The result is acidification — a change in the chemical balance that threatens the oceans’ web of life.
In earth’s history, there have been many episodes of acidification, mainly from prolonged volcanic eruptions. According to a new research review by paleoceanographers at Columbia University, published in Science, the oceans may be turning acid far faster than at any time in the past 300 million years.
Changing something as fundamental as the pH of seawater — a measurement of how acid or alkaline it is — has profound effects. Increased acidity attacks the shells of shellfish and the skeletal foundation of corals, dissolving the calcium carbonate they’re made of. Coral reefs are among the most diverse ecosystems on the planet. Ocean acidification threatens the corals and every other species that makes its living on the reefs.
The authors tried to determine which past acidification events offer the best comparison to what is happening now. The closest analogies are catastrophic events, often associated with intense volcanic activity resulting in major extinctions. The difference is that those events covered thousands of years. We have acidified the oceans in a matter of decades, with no signs that we have the political will to slow, much less halt, the process."
According to the wikipedia article on pH::
"the units of pH are log(L/mol)" liters per mole
According to the wikipedia article on Ocean acidification::
"Between 1751 and 1994 surface ocean pH is estimated to have decreased from approximately 8.25 to 8.14"
see also::
http://green.blogs.nytimes.com/2012/03/02/pace-of-ocean-acidification-has-no-parallel-in-300-million-years-paper-finds/
http://www.sciencemag.org/content/335/6072/1058.abstract
]]></Notes>
<script implName="lang:python:inline:"><![CDATA[
print "acidification"
]]></script>
<script implName="lang:javascript:inline:"><![CDATA[
print("a change in the chemical balance that threatens the oceans’ web of life\n");
]]></script>
<_-.XholonClass>
<!-- domain objects -->
<PhysicalSystem/>
<Earth/>
<Atmosphere/> <!-- implied in the NYT editorial -->
<Ocean/> <!-- sea water -->
<CarbonDioxide/>
<FossilFuels/>
<Acidification/>
<WebOfLife/>
<Year/>
<!-- quantities -->
<pH superClass="Dimensionless"/> <!-- assume pH is just a dimensionless/unitless number -->
</_-.XholonClass>
<xholonClassDetails>
<Acidification>
<port name="pH" connector="#xpointer(pH)"/>
<port name="year" connector="#xpointer(ancestor::PhysicalSystem/Year)"/>
</Acidification>
</xholonClassDetails>
<PhysicalSystem>
<Earth>
<Atmosphere>
<CarbonDioxide/>
</Atmosphere>
<FossilFuels/>
<Ocean>
<CarbonDioxide/>
<Acidification>
<pH>8.25</pH>
</Acidification>
<WebOfLife/>
</Ocean>
</Earth>
<Year>1751</Year>
</PhysicalSystem>
<Acidificationbehavior implName="lang:python:inline:"><![CDATA[
pH.decVal(0.000423)
print("pH:" + str(pH))
]]></Acidificationbehavior>
<Acidificationbehavior implName="lang:javascript:inline:"><![CDATA[
pH.decVal(0.000423);
print("pH:" + pH + "\n");
]]></Acidificationbehavior>
<Acidificationbehavior implName="lang:webEditionjs:inline:"><![CDATA[
this.bindPorts(this.parent());
print("\nyear:" + this.year.attr('val') + " pH:" + this.pH.attr('val'));
this.year.incVal(1);
this.pH.decVal(0.000423);
]]></Acidificationbehavior>
<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="100" height="90" xmlns="http://www.w3.org/2000/svg">
<g>
<title>Earth</title>
<!--<rect id="PhysicalSystem/Earth/Ocean" fill="#98FB98" height="50" width="50" x="25" y="0"/>-->
<circle id="PhysicalSystem/Earth" fill="#98FB98" r="40" cx="40" cy="40"/>
<g>
<title>Ocean</title>
<circle id="PhysicalSystem/Earth/Ocean" fill="#4169E1" r="25" cx="50" cy="30"/>
</g>
<g>
<title>pH</title>
<rect id="PhysicalSystem/Earth/Ocean/Acidification/pH" fill="#6AB06A" height="82.5" width="10" x="80" y="0"/>
</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