<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Climate Science and Software Quality</title>
	<atom:link href="http://www.easterbrook.ca/steve/?feed=rss2&#038;p=1388" rel="self" type="application/rss+xml" />
	<link>http://www.easterbrook.ca/steve/?p=1388</link>
	<description>Or, What has Software Engineering got to do with Climate Change?</description>
	<lastBuildDate>Wed, 08 Sep 2010 13:42:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: jstults</title>
		<link>http://www.easterbrook.ca/steve/?p=1388&#038;cpage=1#comment-2033</link>
		<dc:creator>jstults</dc:creator>
		<pubDate>Tue, 23 Mar 2010 19:44:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.easterbrook.ca/steve/?p=1388#comment-2033</guid>
		<description>Up the thread a ways I said:
&lt;blockquote&gt;The specification can be any governing equation set and set of sub-grid scale parameterizations, no need to require DNS (esp. since climate models fall well short of that sort of resolution and they make analytical simplifications to the conservation laws as well, so they aren’t even solving the Navier Stokes equations).&lt;/blockquote&gt;
&lt;a href=&quot;http://j-stults.blogspot.com/2010/02/predictions-and-entropy-in-ensembles.html?showComment=1269373201365#c6852232809182452051&quot; rel=&quot;nofollow&quot;&gt;This comment on another thread&lt;/a&gt; talks a bit to the &#039;grid convergence&#039; idea specifically for the governing equation set used commonly in GCMs.</description>
		<content:encoded><![CDATA[<p>Up the thread a ways I said:</p>
<blockquote><p>The specification can be any governing equation set and set of sub-grid scale parameterizations, no need to require DNS (esp. since climate models fall well short of that sort of resolution and they make analytical simplifications to the conservation laws as well, so they aren’t even solving the Navier Stokes equations).</p></blockquote>
<p><a href="http://j-stults.blogspot.com/2010/02/predictions-and-entropy-in-ensembles.html?showComment=1269373201365#c6852232809182452051" rel="nofollow">This comment on another thread</a> talks a bit to the &#8216;grid convergence&#8217; idea specifically for the governing equation set used commonly in GCMs.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave C</title>
		<link>http://www.easterbrook.ca/steve/?p=1388&#038;cpage=1#comment-1979</link>
		<dc:creator>Dave C</dc:creator>
		<pubDate>Thu, 18 Mar 2010 11:44:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.easterbrook.ca/steve/?p=1388#comment-1979</guid>
		<description>Thanks for the mention! I confess that I haven&#039;t been keeping up with developments (or lack thereof) related to Darrel&#039;s article in the Guardian.

However, it is refreshing to stumble across an actual reasoned discussion of an aspect - any aspect - of climate science (by yourself, Darrel and others). I think I&#039;ve lost too many brain cells recently courtesy of the Australian media&#039;s often-horrendous treatment of the subject. (You may be familiar with Tim Lambert&#039;s running series on &lt;a href=&quot;http://scienceblogs.com/deltoid/the_war_on_science/&quot; rel=&quot;nofollow&quot;&gt;the Australian&#039;s War on Science&lt;/a&gt;.)

I&#039;m merely a layperson regarding climate change itself, but Darrel&#039;s article did at least provoke some contemplation of the connection between climate change and software engineering.</description>
		<content:encoded><![CDATA[<p>Thanks for the mention! I confess that I haven&#8217;t been keeping up with developments (or lack thereof) related to Darrel&#8217;s article in the Guardian.</p>
<p>However, it is refreshing to stumble across an actual reasoned discussion of an aspect &#8211; any aspect &#8211; of climate science (by yourself, Darrel and others). I think I&#8217;ve lost too many brain cells recently courtesy of the Australian media&#8217;s often-horrendous treatment of the subject. (You may be familiar with Tim Lambert&#8217;s running series on <a href="http://scienceblogs.com/deltoid/the_war_on_science/" rel="nofollow">the Australian&#8217;s War on Science</a>.)</p>
<p>I&#8217;m merely a layperson regarding climate change itself, but Darrel&#8217;s article did at least provoke some contemplation of the connection between climate change and software engineering.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: steve</title>
		<link>http://www.easterbrook.ca/steve/?p=1388&#038;cpage=1#comment-1897</link>
		<dc:creator>steve</dc:creator>
		<pubDate>Thu, 11 Mar 2010 15:21:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.easterbrook.ca/steve/?p=1388#comment-1897</guid>
		<description>Just so I can keep track, there&#039;s &lt;a href=&quot;http://j-stults.blogspot.com/2010/03/parameterization-calibration-and.html&quot; rel=&quot;nofollow&quot;&gt;more on Josh&#039;s blog&lt;/a&gt; relevant to this discussion. Testing of parameterizations came up a lot in my discussions at NCAR last week; I plan to make it a central question if I manage to get back there for a longer visit in the fall.</description>
		<content:encoded><![CDATA[<p>Just so I can keep track, there&#8217;s <a href="http://j-stults.blogspot.com/2010/03/parameterization-calibration-and.html" rel="nofollow">more on Josh&#8217;s blog</a> relevant to this discussion. Testing of parameterizations came up a lot in my discussions at NCAR last week; I plan to make it a central question if I manage to get back there for a longer visit in the fall.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dan Hughes</title>
		<link>http://www.easterbrook.ca/steve/?p=1388&#038;cpage=1#comment-1896</link>
		<dc:creator>Dan Hughes</dc:creator>
		<pubDate>Thu, 11 Mar 2010 14:00:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.easterbrook.ca/steve/?p=1388#comment-1896</guid>
		<description>Josh,

This example allows for discussion of a couple of nitty-gritty points about tuning parameters.  Let me assume that when you say viscosity you mean the actual viscosity of the fluid; a property of the fluid.  Almost none of the parameterizations used in any codes refer to properties of the material.  Instead they refer to states of the material that are attained under various conditions.  More specifically, they very frequently are used to replace gradients of driving potentials for mass, momentum, and energy exchanges both internal to a material and at the interface between different materials.


As you mentioned in another comment, the original turbulence modeling approaches based on adding descriptive equations to the continuous system were initially claimed to need only parameters that were somewhat universal in nature.  Those kinds of statements were soon displaced by more realistic assessments after it was realized that in fact the parameters reflected states of the material, not the material.  I recall that among the first of these models, testing showed that it was basically limited to parallel shear flows in which no recirculation was present; basically flows described by parabolic equations.


In the case of this viscosity example, and in my opinion for all parameterizations, the parameters must be tuned strictly by looking at responses directly related to the phenomena the parameter has been designed to represent.  In the case of viscosity, and let&#039;s assume this is not some kind of turbulent viscosity, the calculations must reflect a situation for which this parameter is the sole controlling parameter.  That is, in this case, the calculation must represent the kinds of experiments that are used to determine the physical property of the fluid.  Equally important, the experiments must be strictly designed to reflect this requirement.  For the case of fluid viscosity, these experimental devices can be found in the literature and that is the flow that must be calculated by the code.


If this guideline is not followed, the classic right-answer-for-the-wrong-reason will obtain.  Worse, the numerical value for the parameter will eventually be found to not reflect reality.  A feature of the state of the material will be used to determine what should be a property of the fluid.


This problem is extremely compounded in the case of models and codes that describe a multitude of inherently complex multi-scale physical phenomena and processes.  Looking at global solution functionals in attempts to tune parameters under such conditions can frequently result in getting the right answer for the wrong reason and introduction compensating errors into the modeling.  The GCMs are a good example, I think.  There are few meta-global solution functionals that are as detail-annihilating than some kind of average temperature of some parts of the systems over the entire solution domain and for an entire year.</description>
		<content:encoded><![CDATA[<p>Josh,</p>
<p>This example allows for discussion of a couple of nitty-gritty points about tuning parameters.  Let me assume that when you say viscosity you mean the actual viscosity of the fluid; a property of the fluid.  Almost none of the parameterizations used in any codes refer to properties of the material.  Instead they refer to states of the material that are attained under various conditions.  More specifically, they very frequently are used to replace gradients of driving potentials for mass, momentum, and energy exchanges both internal to a material and at the interface between different materials.</p>
<p>As you mentioned in another comment, the original turbulence modeling approaches based on adding descriptive equations to the continuous system were initially claimed to need only parameters that were somewhat universal in nature.  Those kinds of statements were soon displaced by more realistic assessments after it was realized that in fact the parameters reflected states of the material, not the material.  I recall that among the first of these models, testing showed that it was basically limited to parallel shear flows in which no recirculation was present; basically flows described by parabolic equations.</p>
<p>In the case of this viscosity example, and in my opinion for all parameterizations, the parameters must be tuned strictly by looking at responses directly related to the phenomena the parameter has been designed to represent.  In the case of viscosity, and let&#8217;s assume this is not some kind of turbulent viscosity, the calculations must reflect a situation for which this parameter is the sole controlling parameter.  That is, in this case, the calculation must represent the kinds of experiments that are used to determine the physical property of the fluid.  Equally important, the experiments must be strictly designed to reflect this requirement.  For the case of fluid viscosity, these experimental devices can be found in the literature and that is the flow that must be calculated by the code.</p>
<p>If this guideline is not followed, the classic right-answer-for-the-wrong-reason will obtain.  Worse, the numerical value for the parameter will eventually be found to not reflect reality.  A feature of the state of the material will be used to determine what should be a property of the fluid.</p>
<p>This problem is extremely compounded in the case of models and codes that describe a multitude of inherently complex multi-scale physical phenomena and processes.  Looking at global solution functionals in attempts to tune parameters under such conditions can frequently result in getting the right answer for the wrong reason and introduction compensating errors into the modeling.  The GCMs are a good example, I think.  There are few meta-global solution functionals that are as detail-annihilating than some kind of average temperature of some parts of the systems over the entire solution domain and for an entire year.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jstults</title>
		<link>http://www.easterbrook.ca/steve/?p=1388&#038;cpage=1#comment-1863</link>
		<dc:creator>jstults</dc:creator>
		<pubDate>Mon, 08 Mar 2010 13:09:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.easterbrook.ca/steve/?p=1388#comment-1863</guid>
		<description>Robert,
I thought of a better example.  Suppose you need to us an empirical closure for, say, the viscosity of your fluid or the equation of state.  Usually you develop this sort of thing with some physical insight based on kinetic theory and lab tests of various types to get fits over a useful range of temperatures and pressures, then you use this relation in your code (generally without modification based on the code&#039;s output).  An alternative way to approach this closure problem would be to run your code with variations in viscosity models and parameter values and pick the set that gave you outputs that were in good agreement with high-entropy functionals (like an average solution state, there&#039;s &lt;i&gt;many&lt;/i&gt; ways to get the same answer, and nothing to choose between them) for a particular set of flows, this would be a sort of &lt;i&gt;inverse modeling&lt;/i&gt; approach.  Either way gives you an answer that can demonstrate consistency with your data, but there&#039;s probably a big difference in the predictive capability between the models so developed.</description>
		<content:encoded><![CDATA[<p>Robert,<br />
I thought of a better example.  Suppose you need to us an empirical closure for, say, the viscosity of your fluid or the equation of state.  Usually you develop this sort of thing with some physical insight based on kinetic theory and lab tests of various types to get fits over a useful range of temperatures and pressures, then you use this relation in your code (generally without modification based on the code&#8217;s output).  An alternative way to approach this closure problem would be to run your code with variations in viscosity models and parameter values and pick the set that gave you outputs that were in good agreement with high-entropy functionals (like an average solution state, there&#8217;s <i>many</i> ways to get the same answer, and nothing to choose between them) for a particular set of flows, this would be a sort of <i>inverse modeling</i> approach.  Either way gives you an answer that can demonstrate consistency with your data, but there&#8217;s probably a big difference in the predictive capability between the models so developed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jstults</title>
		<link>http://www.easterbrook.ca/steve/?p=1388&#038;cpage=1#comment-1862</link>
		<dc:creator>jstults</dc:creator>
		<pubDate>Mon, 08 Mar 2010 03:43:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.easterbrook.ca/steve/?p=1388#comment-1862</guid>
		<description>Robert,
&lt;blockquote&gt;what I saw as your requirement that climate models be written to specification. The a priori specification that can be made is the Navier-Stokes equations, and direct numerical solution thereof.&lt;/blockquote&gt;
You are misunderstanding me.  The specification can be any governing equation set and set of sub-grid scale parameterizations, no need to require DNS (esp. since climate models fall well short of that sort of resolution and they make analytical simplifications to the conservation laws as well, so they aren&#039;t even solving the Navier Stokes equations).
&lt;blockquote&gt;But all such efforts run afoul of your complaint against modelers going back and forth between parameterizations and results, and retuning parameterizations after seeing the results.&lt;/blockquote&gt;
That&#039;s not true; the parameterizations should be based on sound physical reasoning rather than post-hoc tuning (see &lt;a href=&quot;http://j-stults.blogspot.com/2010/02/validation-and-credibility.html&quot; rel=&quot;nofollow&quot;&gt;this post&lt;/a&gt; for an example of what I mean).  There&#039;s nothing wrong with sub-grid scale models or empirical closures, but the predictive capability you can expect depends strongly on how they were developed and calibrated.  This is not a new or controversial idea; there&#039;s tons of stuff in the computational physics literature about this (the folks out at Sandia have a lot of their stuff easily available on the net).  The early work in turbulence modeling in the fluid dynamics community is an instructive case study as well (model parameters that were originally thought to be universally valid turned out to depend on the type of flow, but experimental results were limited early on).  

It would be nice if I could see some grid-independent climate model results.  I&#039;m &lt;i&gt;not&lt;/i&gt; asking for DNS, just grid-convergence of the functionals we care about with the chosen governing equation set and parameterizations.  Right now the accepted state of the practice in climate modeling &lt;a href=&quot;http://www.ccsm.ucar.edu/models/ccsm3.0/ccsm3.0_faq.html#grids1&quot; rel=&quot;nofollow&quot;&gt;seems to be &#039;validation&#039; of a choice of parameters on a specific grid resolution&lt;/a&gt;, that process does not engender hope of significant predictive capability.</description>
		<content:encoded><![CDATA[<p>Robert,</p>
<blockquote><p>what I saw as your requirement that climate models be written to specification. The a priori specification that can be made is the Navier-Stokes equations, and direct numerical solution thereof.</p></blockquote>
<p>You are misunderstanding me.  The specification can be any governing equation set and set of sub-grid scale parameterizations, no need to require DNS (esp. since climate models fall well short of that sort of resolution and they make analytical simplifications to the conservation laws as well, so they aren&#8217;t even solving the Navier Stokes equations).</p>
<blockquote><p>But all such efforts run afoul of your complaint against modelers going back and forth between parameterizations and results, and retuning parameterizations after seeing the results.</p></blockquote>
<p>That&#8217;s not true; the parameterizations should be based on sound physical reasoning rather than post-hoc tuning (see <a href="http://j-stults.blogspot.com/2010/02/validation-and-credibility.html" rel="nofollow">this post</a> for an example of what I mean).  There&#8217;s nothing wrong with sub-grid scale models or empirical closures, but the predictive capability you can expect depends strongly on how they were developed and calibrated.  This is not a new or controversial idea; there&#8217;s tons of stuff in the computational physics literature about this (the folks out at Sandia have a lot of their stuff easily available on the net).  The early work in turbulence modeling in the fluid dynamics community is an instructive case study as well (model parameters that were originally thought to be universally valid turned out to depend on the type of flow, but experimental results were limited early on).  </p>
<p>It would be nice if I could see some grid-independent climate model results.  I&#8217;m <i>not</i> asking for DNS, just grid-convergence of the functionals we care about with the chosen governing equation set and parameterizations.  Right now the accepted state of the practice in climate modeling <a href="http://www.ccsm.ucar.edu/models/ccsm3.0/ccsm3.0_faq.html#grids1" rel="nofollow">seems to be &#8216;validation&#8217; of a choice of parameters on a specific grid resolution</a>, that process does not engender hope of significant predictive capability.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Grumbine</title>
		<link>http://www.easterbrook.ca/steve/?p=1388&#038;cpage=1#comment-1780</link>
		<dc:creator>Robert Grumbine</dc:creator>
		<pubDate>Mon, 22 Feb 2010 14:43:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.easterbrook.ca/steve/?p=1388#comment-1780</guid>
		<description>jstults:
The direct simulation was, and is, an issue with respect to what I saw as your requirement that climate models be written to specification.  The &lt;i&gt;a priori&lt;/i&gt; specification that can be made is the Navier-Stokes equations, and direct numerical solution thereof.  I&#039;m perfectly aware of the LES and other means of working out sub-grid parameterizations.  But all such efforts run afoul of your complaint against modelers going back and forth between parameterizations and results, and retuning parameterizations after seeing the results.</description>
		<content:encoded><![CDATA[<p>jstults:<br />
The direct simulation was, and is, an issue with respect to what I saw as your requirement that climate models be written to specification.  The <i>a priori</i> specification that can be made is the Navier-Stokes equations, and direct numerical solution thereof.  I&#8217;m perfectly aware of the LES and other means of working out sub-grid parameterizations.  But all such efforts run afoul of your complaint against modelers going back and forth between parameterizations and results, and retuning parameterizations after seeing the results.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jstults</title>
		<link>http://www.easterbrook.ca/steve/?p=1388&#038;cpage=1#comment-1777</link>
		<dc:creator>jstults</dc:creator>
		<pubDate>Mon, 22 Feb 2010 03:06:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.easterbrook.ca/steve/?p=1388#comment-1777</guid>
		<description>Hi Robert,
Things aren&#039;t quite as bad as that, &lt;a href=&quot;http://ams.allenpress.com/perlserv/?request=get-document&amp;doi=10.1175%2F1520-0469%281999%29056%3C0891%3ASSFADN%3E2.0.CO%3B2&quot; rel=&quot;nofollow&quot;&gt;here&#039;s a paper&lt;/a&gt; that discusses the relevant scaling for an atmospheric boundary layer.  The direct numerical simulation is still at much lower Reynolds number than a real atmosphere (simulation Re on the order of 10^3, observed Re on the order of 10^8), but eventually you can establish what the right statistics look like for your sub-grid parameterizations in the limit of infinite Reynolds number, so you can then use them for large eddy simulations (LES) with realistic Reynolds numbers.</description>
		<content:encoded><![CDATA[<p>Hi Robert,<br />
Things aren&#8217;t quite as bad as that, <a href="http://ams.allenpress.com/perlserv/?request=get-document&amp;doi=10.1175%2F1520-0469%281999%29056%3C0891%3ASSFADN%3E2.0.CO%3B2" rel="nofollow">here&#8217;s a paper</a> that discusses the relevant scaling for an atmospheric boundary layer.  The direct numerical simulation is still at much lower Reynolds number than a real atmosphere (simulation Re on the order of 10^3, observed Re on the order of 10^8), but eventually you can establish what the right statistics look like for your sub-grid parameterizations in the limit of infinite Reynolds number, so you can then use them for large eddy simulations (LES) with realistic Reynolds numbers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert Grumbine</title>
		<link>http://www.easterbrook.ca/steve/?p=1388&#038;cpage=1#comment-1758</link>
		<dc:creator>Robert Grumbine</dc:creator>
		<pubDate>Thu, 18 Feb 2010 01:31:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.easterbrook.ca/steve/?p=1388#comment-1758</guid>
		<description>Jstults:
Definitely in line with my thinking.  There&#039;s a disconcerting aspect, not really mentioned in that note.  The direct numerical simulation (DNS -- I first thought domain name service, which was confusing) had 210 million grid points.  Now multiply that by the 1 mm grid spacing I mentioned.  It means the volume that could be directly simulated is on the order of 0.2 m^3 -- 200 kg of water, 0.2 kg of air.  You&#039;re looking at a moderately large fish tank (50 gallons).</description>
		<content:encoded><![CDATA[<p>Jstults:<br />
Definitely in line with my thinking.  There&#8217;s a disconcerting aspect, not really mentioned in that note.  The direct numerical simulation (DNS &#8212; I first thought domain name service, which was confusing) had 210 million grid points.  Now multiply that by the 1 mm grid spacing I mentioned.  It means the volume that could be directly simulated is on the order of 0.2 m^3 &#8212; 200 kg of water, 0.2 kg of air.  You&#8217;re looking at a moderately large fish tank (50 gallons).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bryan</title>
		<link>http://www.easterbrook.ca/steve/?p=1388&#038;cpage=1#comment-1739</link>
		<dc:creator>Bryan</dc:creator>
		<pubDate>Mon, 15 Feb 2010 12:59:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.easterbrook.ca/steve/?p=1388#comment-1739</guid>
		<description>It&#039;s not as simple as one might think to share code. 

I once had a student, who spent four years building a new physics parameterisation for a model. Four years. Lots of validation work, lots of fun. One thesis, but no papers ... (at that particular time). Was asked by a number of folk who wanted to try and use it. We said fine, but he needed to be a co-author on any initial papers using the code. They said no thanks. It&#039;s not an uncommon story.

Serious analysis code (as opposed to trivial algorithm reconstruction) takes serious time. Folks need academic credit for that time. Giving my code to Joe Average when I&#039;m Sarah Special doesn&#039;t make sense unless either a) they have to cite my code, or b) I&#039;m a coauthor, or c) I&#039;ve gotten a better algorithm up my sleeve.

I think two years is long enough to think I&#039;ve gotten onto something better. However, less than two years is a bit marginal ... especially for a doctoral student who might (unlike my example above) get a paper out at the end of their first year ...

... and I&#039;d love to come to the same workshop!</description>
		<content:encoded><![CDATA[<p>It&#8217;s not as simple as one might think to share code. </p>
<p>I once had a student, who spent four years building a new physics parameterisation for a model. Four years. Lots of validation work, lots of fun. One thesis, but no papers &#8230; (at that particular time). Was asked by a number of folk who wanted to try and use it. We said fine, but he needed to be a co-author on any initial papers using the code. They said no thanks. It&#8217;s not an uncommon story.</p>
<p>Serious analysis code (as opposed to trivial algorithm reconstruction) takes serious time. Folks need academic credit for that time. Giving my code to Joe Average when I&#8217;m Sarah Special doesn&#8217;t make sense unless either a) they have to cite my code, or b) I&#8217;m a coauthor, or c) I&#8217;ve gotten a better algorithm up my sleeve.</p>
<p>I think two years is long enough to think I&#8217;ve gotten onto something better. However, less than two years is a bit marginal &#8230; especially for a doctoral student who might (unlike my example above) get a paper out at the end of their first year &#8230;</p>
<p>&#8230; and I&#8217;d love to come to the same workshop!</p>
]]></content:encoded>
	</item>
</channel>
</rss>
