<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Self-Taught Climate Science</title>
	<atom:link href="http://climatesight.org/2011/03/04/self-taught-climate-science/feed/" rel="self" type="application/rss+xml" />
	<link>http://climatesight.org/2011/03/04/self-taught-climate-science/</link>
	<description>Climate science and the public</description>
	<lastBuildDate>Wed, 08 May 2013 22:35:18 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Ed Davies</title>
		<link>http://climatesight.org/2011/03/04/self-taught-climate-science/#comment-6307</link>
		<dc:creator><![CDATA[Ed Davies]]></dc:creator>
		<pubDate>Sat, 28 May 2011 21:08:23 +0000</pubDate>
		<guid isPermaLink="false">http://climatesight.org/?p=1273#comment-6307</guid>
		<description><![CDATA[Article written for astronomers but actually applicable to most scientists, I would think.

http://bellm.org/blog/2011/05/27/why-astronomers-should-program-in-python/]]></description>
		<content:encoded><![CDATA[<p>Article written for astronomers but actually applicable to most scientists, I would think.</p>
<p><a href="http://bellm.org/blog/2011/05/27/why-astronomers-should-program-in-python/" rel="nofollow">http://bellm.org/blog/2011/05/27/why-astronomers-should-program-in-python/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: diessoli</title>
		<link>http://climatesight.org/2011/03/04/self-taught-climate-science/#comment-5920</link>
		<dc:creator><![CDATA[diessoli]]></dc:creator>
		<pubDate>Fri, 18 Mar 2011 09:23:58 +0000</pubDate>
		<guid isPermaLink="false">http://climatesight.org/?p=1273#comment-5920</guid>
		<description><![CDATA[Hi Kate,

If you want to have a go at a relatively simple climate model, you can try the Portable University Model of the Atmosphere (PUMA) http://www.mi.uni-hamburg.de/Downloads-an.245.0.html?&amp;L=3

It&#039;s targeted at students and (for your standard research software package) relatively easy to get up and running.
All written in Fortran90 with an emphasis on being easy to understand and modify.

To throw some more software into the mix: if you start to use Python, matplotlib/scipy/numpy is getting much traction in the scientific community.

Once you start running models you will have to deal with how to access their output data, sometimes in different formats. CDAT (the Climate Data Analysis Tools) might come in handy, at the very least check out their CDMS subsystem which gives you a unified interface to different file formats.

D.]]></description>
		<content:encoded><![CDATA[<p>Hi Kate,</p>
<p>If you want to have a go at a relatively simple climate model, you can try the Portable University Model of the Atmosphere (PUMA) <a href="http://www.mi.uni-hamburg.de/Downloads-an.245.0.html?&#038;L=3" rel="nofollow">http://www.mi.uni-hamburg.de/Downloads-an.245.0.html?&#038;L=3</a></p>
<p>It&#8217;s targeted at students and (for your standard research software package) relatively easy to get up and running.<br />
All written in Fortran90 with an emphasis on being easy to understand and modify.</p>
<p>To throw some more software into the mix: if you start to use Python, matplotlib/scipy/numpy is getting much traction in the scientific community.</p>
<p>Once you start running models you will have to deal with how to access their output data, sometimes in different formats. CDAT (the Climate Data Analysis Tools) might come in handy, at the very least check out their CDMS subsystem which gives you a unified interface to different file formats.</p>
<p>D.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kooiti Masuda</title>
		<link>http://climatesight.org/2011/03/04/self-taught-climate-science/#comment-5839</link>
		<dc:creator><![CDATA[Kooiti Masuda]]></dc:creator>
		<pubDate>Thu, 10 Mar 2011 16:08:28 +0000</pubDate>
		<guid isPermaLink="false">http://climatesight.org/?p=1273#comment-5839</guid>
		<description><![CDATA[As for graphical output, I used to be a user of NCAR Graphics (the ancestor of NCL, just a collection of Fortran subroutines then), but now I mainly use GMT (mentioned by Martin Vermeer above), which was developed by solid-earth geophysicists. Its original website is http://gmt.soest.hawaii.edu .

To utilize GMT we need some programming of Unix (or GNU) shell scripts, which, in my experience, requires considerable trial and error rather than systematic computer science practice.

GMT is good for 2-dimensional geographical data. NCL seems to be better in handling 3- and 4- dimensional atmospheric data, and R seems to be better (more systematic) for non-geographic data, though I am entrenched in GMT in all cases myself.

The shell scripts to use GMT sometimes call the programming language Awk, which has evolved together with the Unix operating system. Mastering Awk is a helpful thing, not only with GMT but also in various needs of converting available data to match requirements of available software. (If you master Python or Ruby, you may think replacing Awk with either of them, though.)]]></description>
		<content:encoded><![CDATA[<p>As for graphical output, I used to be a user of NCAR Graphics (the ancestor of NCL, just a collection of Fortran subroutines then), but now I mainly use GMT (mentioned by Martin Vermeer above), which was developed by solid-earth geophysicists. Its original website is <a href="http://gmt.soest.hawaii.edu" rel="nofollow">http://gmt.soest.hawaii.edu</a> .</p>
<p>To utilize GMT we need some programming of Unix (or GNU) shell scripts, which, in my experience, requires considerable trial and error rather than systematic computer science practice.</p>
<p>GMT is good for 2-dimensional geographical data. NCL seems to be better in handling 3- and 4- dimensional atmospheric data, and R seems to be better (more systematic) for non-geographic data, though I am entrenched in GMT in all cases myself.</p>
<p>The shell scripts to use GMT sometimes call the programming language Awk, which has evolved together with the Unix operating system. Mastering Awk is a helpful thing, not only with GMT but also in various needs of converting available data to match requirements of available software. (If you master Python or Ruby, you may think replacing Awk with either of them, though.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jim Bouldin</title>
		<link>http://climatesight.org/2011/03/04/self-taught-climate-science/#comment-5813</link>
		<dc:creator><![CDATA[Jim Bouldin]]></dc:creator>
		<pubDate>Tue, 08 Mar 2011 08:01:34 +0000</pubDate>
		<guid isPermaLink="false">http://climatesight.org/?p=1273#comment-5813</guid>
		<description><![CDATA[ArcGIS and/or ERDAS IMAGINE in conjunction with R...don&#039;t neglect spatial analysis!]]></description>
		<content:encoded><![CDATA[<p>ArcGIS and/or ERDAS IMAGINE in conjunction with R&#8230;don&#8217;t neglect spatial analysis!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martin Vermeer</title>
		<link>http://climatesight.org/2011/03/04/self-taught-climate-science/#comment-5812</link>
		<dc:creator><![CDATA[Martin Vermeer]]></dc:creator>
		<pubDate>Tue, 08 Mar 2011 07:21:25 +0000</pubDate>
		<guid isPermaLink="false">http://climatesight.org/?p=1273#comment-5812</guid>
		<description><![CDATA[...and get familiar with GMT (Generic Mapping Tools) for geographical plotting, which is pretty much a programming language of its own. Comes standard with Ubuntu (and running it on anything &lt;em&gt;but&lt;/em&gt; Unix is a pain, as it&#039;s built on shell scripts all the way).]]></description>
		<content:encoded><![CDATA[<p>&#8230;and get familiar with GMT (Generic Mapping Tools) for geographical plotting, which is pretty much a programming language of its own. Comes standard with Ubuntu (and running it on anything <em>but</em> Unix is a pain, as it&#8217;s built on shell scripts all the way).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nathan Urban</title>
		<link>http://climatesight.org/2011/03/04/self-taught-climate-science/#comment-5810</link>
		<dc:creator><![CDATA[Nathan Urban]]></dc:creator>
		<pubDate>Tue, 08 Mar 2011 03:00:44 +0000</pubDate>
		<guid isPermaLink="false">http://climatesight.org/?p=1273#comment-5810</guid>
		<description><![CDATA[I&#039;m a fan of learning physics through computation, so I second others&#039; advice to get into programming early.  It&#039;s good to be a polyglot.  Learn Fortran 90 for hardcore numerics, Matlab for rapid prototyping of numerical code, Python for general purpose scripting, NCL or Ferret for climate data extraction and processing, and R for statistics.  Fortunately all are free, except Matlab (but Octave can get you somewhat far, and you can alternatively try the NumPy system for Python).  Many of these mathematical languages are wrapped together in the Sage mathematical programming system.  You may eventually pick up some C++ as well ...

The best way to learn languages is to set yourself little projects that are suited to each language.  In Fortran, Matlab, or NumPy write a 0D energy balance model, a 1D diffusive ocean model, or a 1D radiative-convective model.  (Or write the same model in several languages, for comparison.)  Use NCL to download some climate model output and process it (compute zonal averages, plot meridional sections, etc.)  Use R to compute trends or estimate model parameters.  And so on.]]></description>
		<content:encoded><![CDATA[<p>I&#8217;m a fan of learning physics through computation, so I second others&#8217; advice to get into programming early.  It&#8217;s good to be a polyglot.  Learn Fortran 90 for hardcore numerics, Matlab for rapid prototyping of numerical code, Python for general purpose scripting, NCL or Ferret for climate data extraction and processing, and R for statistics.  Fortunately all are free, except Matlab (but Octave can get you somewhat far, and you can alternatively try the NumPy system for Python).  Many of these mathematical languages are wrapped together in the Sage mathematical programming system.  You may eventually pick up some C++ as well &#8230;</p>
<p>The best way to learn languages is to set yourself little projects that are suited to each language.  In Fortran, Matlab, or NumPy write a 0D energy balance model, a 1D diffusive ocean model, or a 1D radiative-convective model.  (Or write the same model in several languages, for comparison.)  Use NCL to download some climate model output and process it (compute zonal averages, plot meridional sections, etc.)  Use R to compute trends or estimate model parameters.  And so on.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ligne</title>
		<link>http://climatesight.org/2011/03/04/self-taught-climate-science/#comment-5805</link>
		<dc:creator><![CDATA[ligne]]></dc:creator>
		<pubDate>Mon, 07 Mar 2011 20:31:06 +0000</pubDate>
		<guid isPermaLink="false">http://climatesight.org/?p=1273#comment-5805</guid>
		<description><![CDATA[+1 for vim.  the learning curve can be a bit painful, but the speed boost you&#039;ll get once you&#039;ve got even half proficient is more than worth it.

vimtutor is your friend:  http://vim.wikia.com/wiki/Tutorial#Vim_tutor]]></description>
		<content:encoded><![CDATA[<p>+1 for vim.  the learning curve can be a bit painful, but the speed boost you&#8217;ll get once you&#8217;ve got even half proficient is more than worth it.</p>
<p>vimtutor is your friend:  <a href="http://vim.wikia.com/wiki/Tutorial#Vim_tutor" rel="nofollow">http://vim.wikia.com/wiki/Tutorial#Vim_tutor</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Jones</title>
		<link>http://climatesight.org/2011/03/04/self-taught-climate-science/#comment-5789</link>
		<dc:creator><![CDATA[David Jones]]></dc:creator>
		<pubDate>Mon, 07 Mar 2011 13:42:49 +0000</pubDate>
		<guid isPermaLink="false">http://climatesight.org/?p=1273#comment-5789</guid>
		<description><![CDATA[As you know if you hang about on our blogs too much, we hold that if you&#039;re going to be a scientist, you&#039;re going to be a programmer.  So learn to be a good programmer.

I recommend &quot;The Practice of Programming&quot; by Kernighan and Pike.  Simplicity, Clarity, Generality.

And of course, yay Python!]]></description>
		<content:encoded><![CDATA[<p>As you know if you hang about on our blogs too much, we hold that if you&#8217;re going to be a scientist, you&#8217;re going to be a programmer.  So learn to be a good programmer.</p>
<p>I recommend &#8220;The Practice of Programming&#8221; by Kernighan and Pike.  Simplicity, Clarity, Generality.</p>
<p>And of course, yay Python!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Jones</title>
		<link>http://climatesight.org/2011/03/04/self-taught-climate-science/#comment-5788</link>
		<dc:creator><![CDATA[David Jones]]></dc:creator>
		<pubDate>Mon, 07 Mar 2011 13:34:03 +0000</pubDate>
		<guid isPermaLink="false">http://climatesight.org/?p=1273#comment-5788</guid>
		<description><![CDATA[Roger: back in the day, I found the Apple documentation really useful: &lt;a href=&quot;http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/ObjectiveC/Introduction/introObjectiveC.html#//apple_ref/doc/uid/TP30001163&quot; rel=&quot;nofollow&quot;&gt;Objective C Introduction&lt;/a&gt;, and &lt;a href=&quot;http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/ObjCTutorial/01Introduction/01Introduction.html&quot; rel=&quot;nofollow&quot;&gt;the Cocoa Tutorial&lt;/a&gt;.

Admittedly, I already knew C inside and out (and about 10 other languages too!).]]></description>
		<content:encoded><![CDATA[<p>Roger: back in the day, I found the Apple documentation really useful: <a href="http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/ObjectiveC/Introduction/introObjectiveC.html#//apple_ref/doc/uid/TP30001163" rel="nofollow">Objective C Introduction</a>, and <a href="http://developer.apple.com/library/mac/#documentation/cocoa/conceptual/ObjCTutorial/01Introduction/01Introduction.html" rel="nofollow">the Cocoa Tutorial</a>.</p>
<p>Admittedly, I already knew C inside and out (and about 10 other languages too!).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kooiti Masuda</title>
		<link>http://climatesight.org/2011/03/04/self-taught-climate-science/#comment-5779</link>
		<dc:creator><![CDATA[Kooiti Masuda]]></dc:creator>
		<pubDate>Mon, 07 Mar 2011 11:09:10 +0000</pubDate>
		<guid isPermaLink="false">http://climatesight.org/?p=1273#comment-5779</guid>
		<description><![CDATA[I am a veteran Fortran programmer, but so far I fail to master Fortran 90 or newer standards. I refrain from commenting on them.

Our climate model is written in Fortran 90, but most of its codes are still written with the syntax of Fortran 77. Only such parts that support parallel processing use newer features. This is just an example and I am not sure about the situation of other models.

But anyway, there are many textbooks of Fortran 77 (most of which are likely to out of print but perhaps still available in university libraries) but much fewer ones for the newer standards.


&lt;em&gt;Thanks, Kooti. I will take a look at both versions. -Kate&lt;/em&gt;



If you want to learn Fortran, I recommend you to follow the 77 standard. But I think it is better to include one feature of the 90 standard.

That is the &quot;DO ... END DO&quot; structure for making loops. This structure is supported by GNU&#039;s g77 compiler. GNU now develops gfortran instead of g77, but it seems upward compatible. I have been using gfortran as if it is g77 without a trouble so far.

&quot;DO ... END DO&quot; structure with the loop count specified:

      DO k = 1, 10
        ...
      END DO

Within the 77 standard, we had to write like this:

      DO 100 k = 1, 10
        ...
  100 CONTINUE

&quot;DO ... END DO&quot; structure with the condition to loop specified (where &quot;condition&quot; is a logical formula, which may be a variable declared as LOGICAL):

      DO WHILE( condition )
        ...
      END DO

Within the 77 standard, we had to write like this:

  900 IF(.NOT. (condition)) GO TO 990   
        ...
      GO TO 900
  990 CONTINUE]]></description>
		<content:encoded><![CDATA[<p>I am a veteran Fortran programmer, but so far I fail to master Fortran 90 or newer standards. I refrain from commenting on them.</p>
<p>Our climate model is written in Fortran 90, but most of its codes are still written with the syntax of Fortran 77. Only such parts that support parallel processing use newer features. This is just an example and I am not sure about the situation of other models.</p>
<p>But anyway, there are many textbooks of Fortran 77 (most of which are likely to out of print but perhaps still available in university libraries) but much fewer ones for the newer standards.</p>
<p><em>Thanks, Kooti. I will take a look at both versions. -Kate</em></p>
<p>If you want to learn Fortran, I recommend you to follow the 77 standard. But I think it is better to include one feature of the 90 standard.</p>
<p>That is the &#8220;DO &#8230; END DO&#8221; structure for making loops. This structure is supported by GNU&#8217;s g77 compiler. GNU now develops gfortran instead of g77, but it seems upward compatible. I have been using gfortran as if it is g77 without a trouble so far.</p>
<p>&#8220;DO &#8230; END DO&#8221; structure with the loop count specified:</p>
<p>      DO k = 1, 10<br />
        &#8230;<br />
      END DO</p>
<p>Within the 77 standard, we had to write like this:</p>
<p>      DO 100 k = 1, 10<br />
        &#8230;<br />
  100 CONTINUE</p>
<p>&#8220;DO &#8230; END DO&#8221; structure with the condition to loop specified (where &#8220;condition&#8221; is a logical formula, which may be a variable declared as LOGICAL):</p>
<p>      DO WHILE( condition )<br />
        &#8230;<br />
      END DO</p>
<p>Within the 77 standard, we had to write like this:</p>
<p>  900 IF(.NOT. (condition)) GO TO 990<br />
        &#8230;<br />
      GO TO 900<br />
  990 CONTINUE</p>
]]></content:encoded>
	</item>
</channel>
</rss>
