<?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: ccc-gistemp release 0.3.0</title>
	<atom:link href="http://clearclimatecode.org/ccc-gistemp-release-0-3-0/feed/" rel="self" type="application/rss+xml" />
	<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/</link>
	<description></description>
	<lastBuildDate>Sun, 11 Dec 2011 14:35:43 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Carrick</title>
		<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/comment-page-1/#comment-289</link>
		<dc:creator>Carrick</dc:creator>
		<pubDate>Tue, 23 Feb 2010 18:46:51 +0000</pubDate>
		<guid isPermaLink="false">http://clearclimatecode.org/?p=152#comment-289</guid>
		<description>Thanks for the comments Nick.  I certainly hope you weren&#039;t taking anything I was saying as negative or critical, and certainly am looking forward to the release of 0.4.0.</description>
		<content:encoded><![CDATA[<p>Thanks for the comments Nick.  I certainly hope you weren&#8217;t taking anything I was saying as negative or critical, and certainly am looking forward to the release of 0.4.0.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick.Barnes</title>
		<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/comment-page-1/#comment-288</link>
		<dc:creator>Nick.Barnes</dc:creator>
		<pubDate>Tue, 23 Feb 2010 09:43:30 +0000</pubDate>
		<guid isPermaLink="false">http://clearclimatecode.org/?p=152#comment-288</guid>
		<description>@Carrick: I recommend you browse our &lt;a href=&quot;http://code.google.com/p/ccc-gistemp/source/browse/&quot; rel=&quot;nofollow&quot;&gt;current sources&lt;/a&gt;, or download them.  Or you might like to wait for release 0.4.0, which will be along in a few days.  Then you can see the extent to which we use OO, and other kinds of encapsulation.  Of course it&#039;s a work in progress, gradually moving from Fortran, via Fortran-in-Python, to a simpler, clearer, and more versatile code base. 

Certainly no global data.  As for arrays, in any application like this they will always be there under the skin.</description>
		<content:encoded><![CDATA[<p>@Carrick: I recommend you browse our <a href="http://code.google.com/p/ccc-gistemp/source/browse/" rel="nofollow">current sources</a>, or download them.  Or you might like to wait for release 0.4.0, which will be along in a few days.  Then you can see the extent to which we use OO, and other kinds of encapsulation.  Of course it&#8217;s a work in progress, gradually moving from Fortran, via Fortran-in-Python, to a simpler, clearer, and more versatile code base. </p>
<p>Certainly no global data.  As for arrays, in any application like this they will always be there under the skin.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carrick</title>
		<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/comment-page-1/#comment-286</link>
		<dc:creator>Carrick</dc:creator>
		<pubDate>Mon, 22 Feb 2010 22:14:41 +0000</pubDate>
		<guid isPermaLink="false">http://clearclimatecode.org/?p=152#comment-286</guid>
		<description>Nick, when I brought up OO, I was thinking more along the lines of data encapsulation than formal OO methods or development patterns.  You could get the same result by thinking structures + functions divided into semantic categories.

As to it being &quot;obscure&quot;...I&#039;ve actually found it easier for people to use the OO approach over a procedural one that utilizes arrays and global data.  . 

I&#039;ve found this useful even when delivering software to other people for their use in particular types of data analysis.   The particular application I am thinking of involved using classes in the MATLAB language, which as you know has very crude support for the OO paradigm.

In this particular case, it has been successfully reused by other people who had no previous experience in OO code, but who were very rapidly able to incorporate my software package into their existing software framework.  

[Once you give them examples of how to create objects and manipulate them, it&#039;s not that different conceptually from creating arrays, loading them with data, then supplying them to a function... it&#039;s just a lot easier and a lot more bullet proof.]</description>
		<content:encoded><![CDATA[<p>Nick, when I brought up OO, I was thinking more along the lines of data encapsulation than formal OO methods or development patterns.  You could get the same result by thinking structures + functions divided into semantic categories.</p>
<p>As to it being &#8220;obscure&#8221;&#8230;I&#8217;ve actually found it easier for people to use the OO approach over a procedural one that utilizes arrays and global data.  . </p>
<p>I&#8217;ve found this useful even when delivering software to other people for their use in particular types of data analysis.   The particular application I am thinking of involved using classes in the MATLAB language, which as you know has very crude support for the OO paradigm.</p>
<p>In this particular case, it has been successfully reused by other people who had no previous experience in OO code, but who were very rapidly able to incorporate my software package into their existing software framework.  </p>
<p>[Once you give them examples of how to create objects and manipulate them, it's not that different conceptually from creating arrays, loading them with data, then supplying them to a function... it's just a lot easier and a lot more bullet proof.]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick.Barnes</title>
		<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/comment-page-1/#comment-284</link>
		<dc:creator>Nick.Barnes</dc:creator>
		<pubDate>Sun, 21 Feb 2010 10:48:52 +0000</pubDate>
		<guid isPermaLink="false">http://clearclimatecode.org/?p=152#comment-284</guid>
		<description>@Carrick:  Thanks for that link to Trees for the Forest.  It&#039;s very interesting stuff, especially the experiments with different gridding algorithms.

Regarding &quot;a truly object-oriented version of the code&quot;: I don&#039;t think that&#039;s the best direction for ccc-gistemp.  OO is a powerful style, but it can also be very obscure for newcomers.  If we go down that road then before we know it we will have factory classes, I/O monads, and so forth, which would add hundreds or thousands of lines of code which would be impenetrable to any non-programmers.  It also wouldn&#039;t make switching modules of code any easier.  Python has first-class functions and modules, which give just as much flexibility for a much lower cost in clarity.  We do use objects in a few places.

In terms of the simplest experiments, this month I am changing the code to lift all the numerical parameters out to &lt;a href=&quot;http://code.google.com/p/ccc-gistemp/source/browse/trunk/code/parameters.py?r=307&quot; rel=&quot;nofollow&quot;&gt;parameters/py&lt;/a&gt;.</description>
		<content:encoded><![CDATA[<p>@Carrick:  Thanks for that link to Trees for the Forest.  It&#8217;s very interesting stuff, especially the experiments with different gridding algorithms.</p>
<p>Regarding &#8220;a truly object-oriented version of the code&#8221;: I don&#8217;t think that&#8217;s the best direction for ccc-gistemp.  OO is a powerful style, but it can also be very obscure for newcomers.  If we go down that road then before we know it we will have factory classes, I/O monads, and so forth, which would add hundreds or thousands of lines of code which would be impenetrable to any non-programmers.  It also wouldn&#8217;t make switching modules of code any easier.  Python has first-class functions and modules, which give just as much flexibility for a much lower cost in clarity.  We do use objects in a few places.</p>
<p>In terms of the simplest experiments, this month I am changing the code to lift all the numerical parameters out to <a href="http://code.google.com/p/ccc-gistemp/source/browse/trunk/code/parameters.py?r=307" rel="nofollow">parameters/py</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carrick</title>
		<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/comment-page-1/#comment-283</link>
		<dc:creator>Carrick</dc:creator>
		<pubDate>Sun, 21 Feb 2010 08:48:16 +0000</pubDate>
		<guid isPermaLink="false">http://clearclimatecode.org/?p=152#comment-283</guid>
		<description>Nick, if you haven&#039;t seen it, you may want to take a look at what Chad has been doing over at &lt;a href=&quot;http://treesfortheforest.wordpress.com/&quot; rel=&quot;nofollow&quot;&gt;Trees for the Forest&lt;/a&gt;. This is exactly the sort of testing I have been thinking about in terms of algorithm validation.

What would be ideal would be to migrate to a truly objected-oriented version of the code, in which different homogenization codes could be written and &quot;dropped&quot; in as different subclasses as class functions.. 

And of course the ability to &quot;drop in&quot; Monte Carlo tests in place of real data.  I don&#039;t know if you guys have thought of that, but a means for doing that would be really slick.

[I imagine starting with the homogenized code, feeding this back in to an earlier stage of the analysis, but with Monte Carlo errors introduced, and using that to study the efficacy of the various corrections that have been applied.]</description>
		<content:encoded><![CDATA[<p>Nick, if you haven&#8217;t seen it, you may want to take a look at what Chad has been doing over at <a href="http://treesfortheforest.wordpress.com/" rel="nofollow">Trees for the Forest</a>. This is exactly the sort of testing I have been thinking about in terms of algorithm validation.</p>
<p>What would be ideal would be to migrate to a truly objected-oriented version of the code, in which different homogenization codes could be written and &#8220;dropped&#8221; in as different subclasses as class functions.. </p>
<p>And of course the ability to &#8220;drop in&#8221; Monte Carlo tests in place of real data.  I don&#8217;t know if you guys have thought of that, but a means for doing that would be really slick.</p>
<p>[I imagine starting with the homogenized code, feeding this back in to an earlier stage of the analysis, but with Monte Carlo errors introduced, and using that to study the efficacy of the various corrections that have been applied.]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick.Barnes</title>
		<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/comment-page-1/#comment-185</link>
		<dc:creator>Nick.Barnes</dc:creator>
		<pubDate>Tue, 02 Feb 2010 11:36:54 +0000</pubDate>
		<guid isPermaLink="false">http://clearclimatecode.org/?p=152#comment-185</guid>
		<description>@Zeke:   We are very happy for ccc-gistemp to be used in discussions about GISTEMP.  This was exactly its purpose.  We hope that, as CCC increases knowledge and understanding of the GISTEMP algorithm, so future criticisms of that algorithm will identify any actual weaknesses - which can then be fixed.</description>
		<content:encoded><![CDATA[<p>@Zeke:   We are very happy for ccc-gistemp to be used in discussions about GISTEMP.  This was exactly its purpose.  We hope that, as CCC increases knowledge and understanding of the GISTEMP algorithm, so future criticisms of that algorithm will identify any actual weaknesses &#8211; which can then be fixed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Zeke Hausfather</title>
		<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/comment-page-1/#comment-182</link>
		<dc:creator>Zeke Hausfather</dc:creator>
		<pubDate>Mon, 01 Feb 2010 23:22:02 +0000</pubDate>
		<guid isPermaLink="false">http://clearclimatecode.org/?p=152#comment-182</guid>
		<description>One nice result of CCC is making it trivial to dispel some of the more spurious accusations about GISTemp. WUWT today is case-in-point: http://wattsupwiththat.com/2010/02/01/chiefio-asks-why-does-giss-make-us-see-red/</description>
		<content:encoded><![CDATA[<p>One nice result of CCC is making it trivial to dispel some of the more spurious accusations about GISTemp. WUWT today is case-in-point: <a href="http://wattsupwiththat.com/2010/02/01/chiefio-asks-why-does-giss-make-us-see-red/" rel="nofollow">http://wattsupwiththat.com/2010/02/01/chiefio-asks-why-does-giss-make-us-see-red/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nick.Barnes</title>
		<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/comment-page-1/#comment-180</link>
		<dc:creator>Nick.Barnes</dc:creator>
		<pubDate>Mon, 01 Feb 2010 18:14:01 +0000</pubDate>
		<guid isPermaLink="false">http://clearclimatecode.org/?p=152#comment-180</guid>
		<description>@Carrick:

Firstly, I am glad you were able to easily use our code.  I hope you will find it fairly easy to understand as well, and to develop the details of any experimental changes you want to try.

Your suggestions are exactly the sort of thing we are considering for future work.  The next version (0.4.x) will have a common data set structure: i.e. the data objects output by (for instance) the &quot;STEP1&quot; station-combination step will have exactly the same form as the data objects output by (for instance) the &quot;STEP2&quot; peri-urban adjustment step (at present step1.py and step2.py follow the Fortran in producing, respectively, a plain-text Ts.txt file and a Fortran binary Ts.GHCN.CL.PA file).  All the I/O is going to come out of the core code and move into the tool/ directory.  Paul Ollis is working on that right now.  Once that is done, it will be trivial for third parties to, for instance, switch steps on or off, or to modify the code for a step, or even to reorder steps.

After that version, or possible the one after, all the core algorithms will be a set of parameterized iterator functions - filters - each of which takes a data set and returns a modified data set.  These functions won&#039;t exactly correspond to the Fortran STEPs: for instance the part of STEP0 which combined USHCN data with GHCN data would be one such function; STEP1 currently has a total of 5 functions.  STEP2 has one - the peri-urban adjustment - but preparative to that is the calculation of annual anomaly series, from which it is separable.  And so on.  My hope is to clearly expose the parameters to each of these functions (e.g. the peri-urban radius) and also to make each of these functions switchable (so, for instance, one could choose to omit the peri-urban adjustment entirely, or the St-Helena-adjustment part of STEP1).  This will make the sort of experiment you describe a simple matter of changing a line in a configuration file and re-running the code.</description>
		<content:encoded><![CDATA[<p>@Carrick:</p>
<p>Firstly, I am glad you were able to easily use our code.  I hope you will find it fairly easy to understand as well, and to develop the details of any experimental changes you want to try.</p>
<p>Your suggestions are exactly the sort of thing we are considering for future work.  The next version (0.4.x) will have a common data set structure: i.e. the data objects output by (for instance) the &#8220;STEP1&#8243; station-combination step will have exactly the same form as the data objects output by (for instance) the &#8220;STEP2&#8243; peri-urban adjustment step (at present step1.py and step2.py follow the Fortran in producing, respectively, a plain-text Ts.txt file and a Fortran binary Ts.GHCN.CL.PA file).  All the I/O is going to come out of the core code and move into the tool/ directory.  Paul Ollis is working on that right now.  Once that is done, it will be trivial for third parties to, for instance, switch steps on or off, or to modify the code for a step, or even to reorder steps.</p>
<p>After that version, or possible the one after, all the core algorithms will be a set of parameterized iterator functions &#8211; filters &#8211; each of which takes a data set and returns a modified data set.  These functions won&#8217;t exactly correspond to the Fortran STEPs: for instance the part of STEP0 which combined USHCN data with GHCN data would be one such function; STEP1 currently has a total of 5 functions.  STEP2 has one &#8211; the peri-urban adjustment &#8211; but preparative to that is the calculation of annual anomaly series, from which it is separable.  And so on.  My hope is to clearly expose the parameters to each of these functions (e.g. the peri-urban radius) and also to make each of these functions switchable (so, for instance, one could choose to omit the peri-urban adjustment entirely, or the St-Helena-adjustment part of STEP1).  This will make the sort of experiment you describe a simple matter of changing a line in a configuration file and re-running the code.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carrick</title>
		<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/comment-page-1/#comment-179</link>
		<dc:creator>Carrick</dc:creator>
		<pubDate>Mon, 01 Feb 2010 16:59:14 +0000</pubDate>
		<guid isPermaLink="false">http://clearclimatecode.org/?p=152#comment-179</guid>
		<description>Thanks for your efforts.  I was able to download and run, with a complete build in less than 30 minutes. 

Have you guys thought about how to go about making it smooth to turn on or off different parts of the package externally?

In particular (at the moment), I&#039;m interested in comparing the output with and without the UHI correction.  I imagine I&#039;ll be able to do this with a few minutes of work, but it would be pretty awesome if there were a way to specify the output file (have the default be same as now), but to be able to change things like whether homogenization and UHI get performed, as well as be able to change the grid spacing and radius in step 3 and so forth.

The main point of these is to look at magnitude of the effect of the various manipulations.  Knowing how important they are tells you something about where to spend your QC effort first.  I imagine for example homogenization is a big effect, UHI not so much.  Anyway, in my experience, this sort of manipulation of the algorithm has always been an important part of the software validation itself.

I could go in and add flags to the code to turn these on and off, change values and so forth, but that seems a bit like duplicate effort.   I will probably do so anyway, but I&#039;d love to see the evolution of this code include automating tweaks like this.

Thanks again for your effort.

Carrifck</description>
		<content:encoded><![CDATA[<p>Thanks for your efforts.  I was able to download and run, with a complete build in less than 30 minutes. </p>
<p>Have you guys thought about how to go about making it smooth to turn on or off different parts of the package externally?</p>
<p>In particular (at the moment), I&#8217;m interested in comparing the output with and without the UHI correction.  I imagine I&#8217;ll be able to do this with a few minutes of work, but it would be pretty awesome if there were a way to specify the output file (have the default be same as now), but to be able to change things like whether homogenization and UHI get performed, as well as be able to change the grid spacing and radius in step 3 and so forth.</p>
<p>The main point of these is to look at magnitude of the effect of the various manipulations.  Knowing how important they are tells you something about where to spend your QC effort first.  I imagine for example homogenization is a big effect, UHI not so much.  Anyway, in my experience, this sort of manipulation of the algorithm has always been an important part of the software validation itself.</p>
<p>I could go in and add flags to the code to turn these on and off, change values and so forth, but that seems a bit like duplicate effort.   I will probably do so anyway, but I&#8217;d love to see the evolution of this code include automating tweaks like this.</p>
<p>Thanks again for your effort.</p>
<p>Carrifck</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Open Knowledge Foundation Blog &#187; Blog Archive &#187; Clear Climate Code, and Data</title>
		<link>http://clearclimatecode.org/ccc-gistemp-release-0-3-0/comment-page-1/#comment-169</link>
		<dc:creator>Open Knowledge Foundation Blog &#187; Blog Archive &#187; Clear Climate Code, and Data</dc:creator>
		<pubDate>Thu, 28 Jan 2010 17:32:13 +0000</pubDate>
		<guid isPermaLink="false">http://clearclimatecode.org/?p=152#comment-169</guid>
		<description>[...] but does the same thing. We have taken great steps forward towards this goal: We have recently released a version which is all in Python and which reproduces GISS&#8217;s results exactly. We think much of this code is already a great deal clearer than the starting material, but we [...]</description>
		<content:encoded><![CDATA[<p>[...] but does the same thing. We have taken great steps forward towards this goal: We have recently released a version which is all in Python and which reproduces GISS&#8217;s results exactly. We think much of this code is already a great deal clearer than the starting material, but we [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

