<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Biospherica &#187; Climate</title>
	<atom:link href="http://joewheatley.net/category/climate/feed/" rel="self" type="application/rss+xml" />
	<link>http://joewheatley.net</link>
	<description>Earth Vegetation</description>
	<lastBuildDate>Wed, 25 Apr 2012 12:58:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Soil moisture trends in Asia</title>
		<link>http://joewheatley.net/is-china-drying-out/</link>
		<comments>http://joewheatley.net/is-china-drying-out/#comments</comments>
		<pubDate>Wed, 04 Apr 2012 17:01:04 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Agriculture]]></category>
		<category><![CDATA[Climate]]></category>
		<category><![CDATA[China]]></category>
		<category><![CDATA[soil moisture]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=3426</guid>
		<description><![CDATA[Soil moisture has a direct influence on vegetation health. Plants suffer moisture stress when soil moisture falls below normal levels. In the extreme case (wilting point), they lose the ability to extract water from the soil. An earlier post (mapping-climate-change) looked at trends in surface temperature and precipitation over the past 30 years using data from a [...]]]></description>
			<content:encoded><![CDATA[<p><em>Soil moisture</em> has a direct influence on vegetation health. Plants suffer moisture stress when soil moisture falls below normal levels. In the extreme case (<em>wilting point</em>), they lose the ability to extract water from the soil. An earlier post (<a href="http://joewheatley.net/mapping-climate-change/">mapping-climate-change</a>) looked at trends in surface temperature and precipitation over the past 30 years using data from a global circulation model (CFSv2 reanalysis). Soil moisture  is also available from these models.</p>
<p>&nbsp;</p>
<p><a href="http://joewheatley.net/wp-content/uploads/2012/04/chinaDry1.png"><img class="aligncenter size-full wp-image-3471" title="chinaDry" src="http://joewheatley.net/wp-content/uploads/2012/04/chinaDry1.png" alt="" width="480" height="480" /></a></p>
<p>The map shows 2-metre soil moisture trends in Asia during March-April-May for the period 1982-present. Some areas show strong drying e.g. Mongolia, Caspian Sea ~ -10 g m<sup> -2 </sup>y <sup>-1</sup>. The desert provinces of western China appear to be getting wetter, while most of the fertile eastern provinces are getting drier.</p>
<h3>Is China drying out?</h3>
<p>To see what is happening in China more clearly, soil moisture trends can be summarised in terms of an average for each province (which can be displayed using Google Chart Tools thanks to the <em>googleVis</em> package in <em>R</em>). Mouse-over to see the wetting or drying trend (in g m<sup> -2 </sup>y <sup>-1</sup>) for each province.</p>
<p style="text-align: center;"><!-- GeoMap generated in R 2.14.1 by googleVis 0.2.13 package -->
<!-- Wed Apr  4 15:46:34 2012 -->


<!-- jsHeader -->
<script type="text/javascript" src="http://www.google.com/jsapi">
</script>
<script type="text/javascript">
 
// jsData 
function gvisDataGeoMapID9884a34952f ()
{
  var data = new google.visualization.DataTable();
  var datajson =
[
 [
 "CN-34",
       -0.8,
"Anhui" 
],
[
 "CN-11",
       -1.3,
"Beijing" 
],
[
 "CN-50",
       -0.5,
"Chongqing" 
],
[
 "CN-35",
       -1.6,
"Fujian" 
],
[
 "CN-62",
        0.7,
"Gansu" 
],
[
 "CN-44",
         -2,
"Guangdong" 
],
[
 "CN-45",
         -2,
"Guangxi" 
],
[
 "CN-52",
       -1.1,
"Guizhou" 
],
[
 "CN-46",
         -1,
"Hainan" 
],
[
 "CN-13",
       -0.9,
"Hebei" 
],
[
 "CN-23",
       -3.7,
"Heilongjiang" 
],
[
 "CN-41",
       -1.1,
"Henan" 
],
[
 "CN-42",
       -0.9,
"Hubei" 
],
[
 "CN-43",
       -0.8,
"Hunan" 
],
[
 "CN-32",
         -1,
"Jiangsu" 
],
[
 "CN-36",
       -1.2,
"Jiangxi" 
],
[
 "CN-22",
       -1.5,
"Jilin" 
],
[
 "CN-21",
       -0.7,
"Liaoning" 
],
[
 "CN-15",
       -1.3,
"Nei Mongol" 
],
[
 "CN-64",
        1.1,
"Ningxia Hui" 
],
[
 "CN-63",
        2.4,
"Qinghai" 
],
[
 "CN-61",
       -0.9,
"Shaanxi" 
],
[
 "CN-37",
          1,
"Shandong" 
],
[
 "CN-31",
       -2.2,
"Shanghai" 
],
[
 "CN-14",
       -1.2,
"Shanxi" 
],
[
 "CN-51",
       -0.1,
"Sichuan" 
],
[
 "CN-12",
       -0.5,
"Tianjin" 
],
[
 "CN-65",
        1.1,
"Xinjiang Uygur" 
],
[
 "CN-54",
        0.3,
"Xizang" 
],
[
 "CN-53",
       -0.6,
"Yunnan" 
],
[
 "CN-33",
       -1.6,
"Zhejiang" 
] 
];
data.addColumn('string','stateCode');
data.addColumn('number','trend');
data.addColumn('string','stateName');
data.addRows(datajson);
return(data);
}
 
// jsDrawChart
function drawChartGeoMapID9884a34952f() {
  var data = gvisDataGeoMapID9884a34952f();
  var options = {};
options["dataMode"] = "regions";
options["width"] =    600;
options["height"] =    347;
options["region"] = "CN";
options["backgroundColor"] = "lightblue";
options["resolution"] = "provinces";
options["colors"] = [0xD6604D,0xF4A582,0xF7F7F7, 0x67A9CF];

     var chart = new google.visualization.GeoMap(
       document.getElementById('GeoMapID9884a34952f')
     );
     chart.draw(data,options);
    

}
  
 
// jsDisplayChart 
function displayChartGeoMapID9884a34952f()
{
  google.load("visualization", "1", { packages:["geomap"] }); 
  google.setOnLoadCallback(drawChartGeoMapID9884a34952f);
}
 
// jsChart 
displayChartGeoMapID9884a34952f()
 
<!-- jsFooter -->  
//-->
</script>
 
<!-- divChart -->
<div align="center"> 
<div id="GeoMapID9884a34952f"
  style="width: 600px; height: 347px;">
</div>
</div></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The chart below shows the annual data along with the linear regression lines. Changes in soil moisture levels over the past 30 years are comparable to or exceed the annual variability in several cases.</p>
<p>&nbsp;</p>
<p style="text-align: center;"><a href="http://joewheatley.net/wp-content/uploads/2012/04/soilMoistureTable.png"><img class="aligncenter size-full wp-image-3498" title="soilMoistureTable" src="http://joewheatley.net/wp-content/uploads/2012/04/soilMoistureTable.png" alt="" width="640" height="640" /></a></p>
<p>data: <a href="http://nomads.ncdc.noaa.gov/data.php#cfsr">http://nomads.ncdc.noaa.gov/data.php#cfsr</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/is-china-drying-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapping climate change</title>
		<link>http://joewheatley.net/mapping-climate-change/</link>
		<comments>http://joewheatley.net/mapping-climate-change/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 15:28:16 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Agriculture]]></category>
		<category><![CDATA[Climate]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=2860</guid>
		<description><![CDATA[The impact of climatic change on global agriculture is an area of concern for food security, policy, investment etc. While agricultural productivity continues to increase, climatic change introduces an unwelcome element of uncertainty and risk. David Lobell (Stanford University) and co-workers have related changes in crop yields to observed climatic shifts over the past thirty years. [...]]]></description>
			<content:encoded><![CDATA[<p>The impact of climatic change on global agriculture is an area of concern for food security, policy, investment etc. While agricultural productivity continues to increase, climatic change introduces an unwelcome element of uncertainty and risk.</p>
<p>David Lobell (Stanford University) and co-workers have related <strong><a href="http://www.economist.com/node/18648350" target="_blank">changes in crop yields</a></strong> to observed climatic shifts over the past thirty years. They found that long-term <em>temperature</em> changes are having a greater impact on yields in major agricultural areas than shifts in rainfall patterns. A grain trader might find this fact surprising. There is a well-known rule of thumb that crops benefit from plenty of  rain during the vegetative (growth) stages and drier conditions during  the fruiting/harvest stages. Low yields or poor quality occur if these conditions  are not met. Therefore yield variability is often associated  with rainfall variability. The finding by Lobell and co-workers is an example of how short-term variability can mask a longer-term underlying trend.</p>
<p>Nowadays climatic forecasts are made using state-of-the-art physics based models such as CFSv2. Where there is sufficient historical data, these models can also be used to recreate the state of the atmosphere in the past. The maps below show the trends in 2m temperature over land during 1982-2010. Trends were extracted from<strong> <a href="http://cfs.ncep.noaa.gov/" target="_blank">CFSv2 Reanalysis</a></strong> data using <em>R</em>&#8216;s <em>raster</em> package and plotted using <em>ggplot2</em> (&#8220;trends&#8221; means linear regression coefficients although there is markedly non-linearity in many places.)</p>
<p><a href="http://joewheatley.net/wp-content/uploads/2012/01/temperature-trend-land-1982-2010.png"><img class="aligncenter size-full wp-image-3362" title="temperature-trend-land-1982-2010" src="http://joewheatley.net/wp-content/uploads/2012/01/temperature-trend-land-1982-2010.png" alt="" width="788" height="789" /></a></p>
<p>The upper map is for December-January-February (DJF) and the lower for June-July-August (JJA). Globally, DJF warmed by ~0.36<sup>o</sup>C/decade over land while JJA warmed somewhat less ~0.28<sup>o</sup>C/decade. Winter in North America and Scandinavia warmed by several degrees during the period 1982-2010, whereas summer warming was much weaker. There are even some places where winter and summer trends are reversed. The US breadbasket states show little warming (even some cooling) during the summer  growing season, but this is far from the case in Central Europe or Russia.</p>
<p>Corresponding maps for rainfall look quite different:</p>
<p><a href="http://joewheatley.net/wp-content/uploads/2012/01/precipitation-trend-land-1982-2010.png"><img class="aligncenter size-full wp-image-3331" title="precipitation-trend-land-1982-2010" src="http://joewheatley.net/wp-content/uploads/2012/01/precipitation-trend-land-1982-2010.png" alt="" width="788" height="789" /></a></p>
<p>&nbsp;</p>
<p>While regional trends can be large ~ ±50mm/decade, there was no significant net wetting or drying trend over land.</p>
<p>The spatial and temporal structure of climatic shifts during 1982-2010 is much more complex than headline global warming numbers suggest. For agriculture, the details matter a great deal.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/mapping-climate-change/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cold Winter Sun?</title>
		<link>http://joewheatley.net/cold-winter-sun/</link>
		<comments>http://joewheatley.net/cold-winter-sun/#comments</comments>
		<pubDate>Tue, 08 Nov 2011 20:06:17 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Climate]]></category>
		<category><![CDATA[Arctic Oscillation]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=3084</guid>
		<description><![CDATA[Recent winters brought extreme cold to North West Europe and parts of the US. It is not likely that consecutive severe winters occurred purely by chance. If not, then what was the cause? And will it happen again this year? Blocking and the Arctic Oscillation Extreme conditions can occur when the normal variable circulation of the [...]]]></description>
			<content:encoded><![CDATA[<p>Recent winters brought extreme cold to North West Europe and parts of the US. It is not likely that consecutive severe winters occurred purely by chance. If not, then what was the cause? And will it happen again this year?</p>
<h2><strong><span style="color: #000000;">Blocking and the Arctic Oscillation</span></strong></h2>
<p>Extreme conditions can occur when the normal variable circulation of the atmosphere gets stuck into a stationary &#8220;blocking&#8221; pattern. A block can extend over 1000km&#8217;s and persist for days or weeks. In 2010, the  block which brought a heat wave to Russia also caused floods in Pakistan.</p>
<p>Blocking anti-cyclones bring severe winter cold to NW Europe. Mild moist air is kept away and replaced by cold dry air. Under clear skies and with long winter nights, the land surface radiates away more heat than it receives. Lower and lower temperatures are reached and relief only comes when the blocking pattern breaks down.</p>
<p>The formation of Northern hemisphere winter blocks is associated with the negative phase of the <em><span style="text-decoration: underline;"><a href="http://nsidc.org/arcticmet/patterns/arctic_oscillation.html" target="_blank">Arctic Oscillation</a> </span>(AO). </em>The AO index describes the strength of a ring or vortex of air which circulates around the pole, shown in (a) below. The origin of this westerly wind or &#8220;jet&#8221; is the North-South temperature gradient and the rotation of the earth (coriolis force). In winter, when the temperature gradient is large and the AO is positive, the jet helps <strong>confine</strong> very cold Arctic night air to polar latitudes.</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;"><img class="aligncenter" src="http://upload.wikimedia.org/wikipedia/commons/8/85/N_Jetstream_Rossby_Waves_N.gif" alt="" width="729" height="177" /></p>
<p>&nbsp;</p>
<p>A negative AO index means that the polar vortex is weaker than normal. In this case, the situation shown in (c) is likely to occur. The difference between high and low AO is analogous to an ice-skater who is very stable when spinning fast, but more likely to wobble and fall over when spinning slowly. The earth-scale meanderings of the jet stream are called <em>Rossby waves</em>. Larger amplitude meanderings such as (c) favour the formation of atmospheric blocks, which is why severe winter weather is associated with negative AO.</p>
<p>&nbsp;</p>
<p><object id="svg" class="aligncenter" width="800" height="400" data="/wp-content/uploads/2011/11/AO.svg" type="image/svg+xml" align="middle"></object></p>
<p>The above chart  of<a href="http://jisao.washington.edu/ao/" target="_blank"> daily AO index</a> since 1950 shows the recent period of negative index. The chart also shows that Arctic Oscillation is highly variable and irregular. Most of this derives from internal variability of the earth&#8217;s climate system. However researchers have known for some time that there is a connection  between solar activity and AO e.g. the Little Ice Age (or Maunder Minimum ~1645-1715) was a period low solar activity and severe winters in NW Europe and the US. This has been a puzzle, because the brightness of the sun is nearly constant (variation ~ 0.1%).</p>
<h2><span style="font-size: 20px; font-weight: bold; color: #000000;">Arctic Oscillation and Solar UV</span></h2>
<p>&nbsp;</p>
<p><img class="aligncenter" src="http://www.metoffice.gov.uk/media/image/l/0/UV_cold_winter_diagram_600x386.jpg" alt="" width="599" height="386" /></p>
<p>&nbsp;</p>
<p>Although only a small part of the sun&#8217;s output is in the ultra-violet (UV), variations in this part of the solar spectrum are now known to be fairly large (~8%).The above figure (from the <a href="http://www.metoffice.gov.uk/research/news/solar-variability" target="_blank">UK Met Office</a>) describes research linking the strength of the polar vortex to solar UV variability.<sup>[1]</sup> The proposed mechanism works as follows. Solar UV heats the stratosphere at ~ 25km where most of it is absorbed by ozone. Heating is greatest over the tropics where sunlight is most intense. Lower UV radiation means less heating, which means a lower North-South temperature gradient, which means weaker thermal winds in the stratosphere. If this effect is transmitted down to low levels (troposphere), it might weaken the entire polar vortex and push AO negative.</p>
<p>While this is an area of active research, it is probably a good idea to keep an eye on solar UV. Here is a plot of the total UV radation in the range 115-310nm using satellite data from <a href="http://lasp.colorado.edu/sorce/instruments/instr_overview.htm" target="_blank">SORCE</a>. (This <a href="http://joewheatley.net/wp-content/uploads/2011/11/solarUV.txt" target="_blank">R script</a> will download the latest data from SORCE and reproduce the plot.)</p>
<p><a href="http://joewheatley.net/wp-content/uploads/2011/11/solarUV.png"><img class="aligncenter size-full wp-image-3234" src="http://joewheatley.net/wp-content/uploads/2011/11/solarUV.png" alt="" width="600" height="400" /></a></p>
<p>While <em>total</em> solar radiation has picked up this year, UV radiation is still weak. If the new research is right, the odds are shifted in favour of another severe winter.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>[1] Solar forcing of winter climate variability in the Northern Hemisphere,  S. Ineson, A.Scaife, J. Knight, J. Manners, N. Dunstone, L. Gray, J. Haigh Nature Geoscience 4, 753–757 (2011)</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/cold-winter-sun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Heat Wave</title>
		<link>http://joewheatley.net/heat-wave/</link>
		<comments>http://joewheatley.net/heat-wave/#comments</comments>
		<pubDate>Fri, 29 Jul 2011 11:21:14 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Climate]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=2822</guid>
		<description><![CDATA[The graphic shows the temperature anomaly in the US for the month of July (actually July 1 &#8211; 27). Parts of Kansas/Oklahoma experienced temperatures a full 4°C higher than normal over the month, while there was a cool anomaly in the Pacific Northwest. &#160; &#160; &#160; The map uses an equal area projection (Albers) with horizontal [...]]]></description>
			<content:encoded><![CDATA[<p>The graphic shows the temperature anomaly in the US for the month of July (actually July 1 &#8211; 27). Parts of Kansas/Oklahoma experienced temperatures a full 4°C higher than normal over the month, while there was a cool anomaly in the Pacific Northwest.</p>
<p>&nbsp;</p>
<p><a href="http://joewheatley.net/wp-content/uploads/2011/07/USA.Jul_.tmp2m.map_.png"><img class="aligncenter size-full wp-image-2829" title="USA.Jul.tmp2m.map" src="http://joewheatley.net/wp-content/uploads/2011/07/USA.Jul_.tmp2m.map_.png" alt="" width="800" height="600" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The map uses an equal area projection (Albers) with horizontal and vertical scales in meters.</p>
<p>R aficionados will recognize use of the <em>ggplot2</em> R package. We are experimenting with <em>ggplot2</em> for weather map-making at <em>Biospherica™ .</em></p>
<p>&nbsp;</p>
<p>Data from <a href="http://cfs.ncep.noaa.gov/cfsv2.info/" target="_blank">CFSv2 Analysis</a>.<em><br />
</em></p>
<p><a href="http://had.co.nz/ggplot2/book/" target="_blank"><em>ggplot2 : Elegant Graphics for Data Analysis</em>, Hadley Wickham</a></p>
<h3><span style="color: #008000;">Code</span></h3>
<p>Daily 2m temperature maps are available from operational CFSv2 <a href="http://nomads.ncep.noaa.gov/pub/data/nccf/com/cfs/prod/monthly/cdas.201107/time/" target="_blank">here</a> (tmp2m.l.gdas.201107.grib2). These correspond to initial conditions used by the CFSv2. To find a mean temperature for July, an average was taken over  4xdaily 6h forecast records from this grib2 file. There are probably many good ways to do this.  One way is to first interpolate from gaussian to latlon grid, then use the <em>wgrib2 -netcdf</em> to produce files which can be read directly by R&#8217;s <em>raster</em> package. To get a temperature <em>anomaly</em> the monthly 2m temperature climatology needs to be subtracted. This is available <a href="http://cfs.ncep.noaa.gov/pub/raid0/cfsv2/climo_cfsr_month/flxf06/" target="_blank">here</a> (flxf06.cfsr.fclm.m07.1982.2010.grb2).</p>
<p>The temperature anomaly raster map can be projected from <em>latlon</em> to another PROJ4 map projection using <em>raster::projectRaster</em>. The resulting July global temperature anomaly raster object is called <em>tmp2m.ra</em>s. USA country maps (level 0 &amp; 1) are from <a href="http://www.gadm.org/" target="_blank">gadm</a>. These are reprojected and called <em>USA.poly</em> &amp; <em>USA.poly1</em>. Finally, with<em> tmp2m.ras</em>, <em>USA.poly</em> and <em>USA.poly1</em> objects in R memory,  <em>ggplot2</em> was used to produce the map as follows:</p>
<p>&nbsp;</p>
<p><code>library(raster)<br />
library(RColorBrewer)<br />
library(ggplot2)<br />
#crop tmp2m.ras<br />
x.min &lt;- bbox(USA.poly)[1,1]<br />
x.max &lt;- bbox(USA.poly)[1,2]<br />
y.min &lt;- bbox(USA.poly)[2,1]<br />
y.max &lt;- bbox(USA.poly)[2,2]<br />
tmp2m.ras &lt;- crop(tmp2m.ras, extent(x.min,x.max,y.min,y.max))<br />
#mask tmp2m.grd using country outline<br />
USA.ras &lt;- rasterize(USA.poly, tmp2m.grd)<br />
tmp2m.ras &lt;- mask(tmp2m.ras,USA.ras)<br />
#convert data to dataframe for ggplot<br />
tmp2m.ps &lt;- rasterToPoints(tmp2m.ras)<br />
df &lt;- data.frame(tmp2m.ps)<br />
colnames(df) &lt;- c("easting","northing","tmp2m")<br />
USA.poly &lt;- fortify(USA.poly,region="ISO")<br />
USA.poly1 &lt;- fortify(USA.poly1,region="ID_1")<br />
#now the pretty stuff<br />
g &lt;- ggplot(df,aes(x=easting,y=northing)) +  scale_x_continuous(limits=c(x.min,x.max)) + scale_y_continuous(limits=c(y.min,y.max))<br />
g &lt;- g+geom_tile(aes(fill=tmp2m),alpha=0.6)+scale_fill_gradientn(name=expression(paste(degree,"C",sep="")),colours=rev(brewer.pal(9,"RdYlBu")))<br />
g &lt;- g+coord_equal()<br />
g &lt;- g+stat_contour(aes(z=tmp2m,colour=..level..),size=0.5, bins=4)+scale_colour_gradient(name=expression(paste(degree,"C",sep="")))<br />
#country outline<br />
g &lt;- g + geom_path(data=US.poly, aes(x=long,y=lat,group=group), colour="grey40", alpha=1.0,size=0.5)<br />
#state outline<br />
g &lt;- g + geom_path(data=USA.poly1, aes(x=long,y=lat,group=group), colour="grey80", alpha=1.0,size=0.3)<br />
g &lt;- g + opts(title = "USA Temperature July 2011")<br />
print(g)</code></p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/heat-wave/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Large scale weather correlations using R&#8217;s raster package</title>
		<link>http://joewheatley.net/weather-correlations-using-rs-raster-package/</link>
		<comments>http://joewheatley.net/weather-correlations-using-rs-raster-package/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 17:42:04 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Climate]]></category>
		<category><![CDATA[Wind Energy]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=2684</guid>
		<description><![CDATA[The previous post on this blog used historical wind speed data from ECMWF reanalysis. Reanalysis products are observation-based snapshots of past states of the atmosphere. They provide a physically consistent picture of the past using current models and the historical data. For example, suppose you want to know the relation between spatially averaged Irish and [...]]]></description>
			<content:encoded><![CDATA[<p>The previous post on this blog used historical wind speed data from ECMWF reanalysis. Reanalysis products are observation-based snapshots of past states of the atmosphere. They provide a physically consistent picture of the past using current models and the historical data.</p>
<p>For example, suppose you want to know the relation between spatially averaged Irish and Scottish wind speeds. The result from ECMWF reanalysis is shown below. Clearly Scottish and Irish wind speeds are correlated. This might have implications for trading of wind power generation between the UK and Ireland, for example.</p>
<p style="text-align: center;"><a href="http://joewheatley.net/wp-content/uploads/2011/03/scotlandWind.png"><img class="aligncenter size-full wp-image-2692" title="scotlandWind" src="http://joewheatley.net/wp-content/uploads/2011/03/scotlandWind.png" alt="" width="640" height="480" /></a></p>
<p>This type of analysis is easy to do in <em>R</em> using Robert Hijman&#8217;s superb <em><a href="http://cran.r-project.org/web/packages/raster/index.html" target="_blank">raster</a> </em>package. The first step is to download horizontal(U) and vertical(V) wind speed data from <a href="This has possible implications for trading of http://data-portal.ecmwf.int/data/d/interim_daily/">ECMWF Data Server for ERA-interim.</a> To decode this file, the wgrib utility or similar must be installed on your system. The following code creates a raster &#8221;stack&#8221; object consisting of 1342 U-component wind speed raster maps for NW Europe:  <code><br />
library(raster)<br />
region &lt;- extent(-40,40,0,80) #subset selection -40W 40E 0N 80N<br />
Ucomp.stk &lt;- stack()<br />
for (i in seq(1,2*1342,by=2) ){<br />
system(paste("wgrib ERAdailyWind.grb -d ", i, " -text -o temp.txt",sep=""))<br />
temp &lt;- scan("temp.txt",skip=1)<br />
temp &lt;- t(matrix(temp,240,121))<br />
temp.ras &lt;- rotate(raster(temp,xmn=0,xmx=360,ymn=-90,ymx=90))<br />
temp.ras &lt;- crop(temp.ras,region)<br />
Ucomp.stk &lt;- addLayer(Ucomp.stk,temp.ras)<br />
}<br />
....<br />
wind.stk &lt;- calc(calc(Ucomp.stk,function(x) x*x)+calc(Vcomp.stk,function(x) x*x),sqrt)</code></p>
<p>The last line calculates absolute wind speeds from Ucomp.stk and Vcomp.stk. rotate() optionally shifts to Greenwich centred maps. The code for Vcomp.stk is the same as Ucomp.stk and omitted.</p>
<p>A rasterized map of Scotland can be created from a level 1 <a href="http://www.gadm.org/" target="_blank">GADM</a> SpatialPolygons object as follows:<code><br />
UK &lt;- getData("GADM",country="GBR",level=1)<br />
scotland &lt;- SpatialPolygons(UK@polygons[3])<br />
scotland.ras &lt;- rasterize(scotland, wind.stk,getCover=T)<br />
scotland.ras &lt;- scotland.ras/cellStats(scotland.ras, sum)</code><br />
The option <em>getCover=T</em> in <em>rasterize()</em> means that any reanalysis cells which partially overlap Scotland are included with appropriate weight. The average wind speeds for Scotland are then:<br />
<code><br />
scottish.wind.stk &lt;- scotland.ras * wind.stk<br />
scottish.speeds &lt;- cellStats(scottish.wind.stk, sum)<br />
</code></p>
<p>Irish average wind speeds are found in the same way.</p>
<p>Finally the high density scatterplot shown above was produced using the <em>hexbin</em> package:</p>
<p><code><br />
library(hexbin)<br />
wind.bin &lt;-  hexbin(irish.speeds,scottish.speeds)<br />
count.cols &lt;- colorRampPalette(c("azure2","yellow","orange","red"),space="Lab")<br />
plot(bin, colramp=function(n) count.cols(n), main="12hr Wind Speeds 2009-2010",xlab="Ireland m/s",ylab="Scotland m/s",legend=0)<br />
</code></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/weather-correlations-using-rs-raster-package/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Extreme conditions in Russian croplands</title>
		<link>http://joewheatley.net/russian-grain/</link>
		<comments>http://joewheatley.net/russian-grain/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 13:30:04 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Agriculture]]></category>
		<category><![CDATA[Climate]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=2344</guid>
		<description><![CDATA[Heatwave and drought have caused severe damage to Russia&#8217;s grain crop. Yields are expected to fall by up to 40%[1]. Russia announced a ban on wheat exports from August 15, causing a sharp rise in global grain prices. How severe are conditions in 2010 compared to previous Russian droughts and heat waves? &#160; &#160; &#160; &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Heatwave and drought have caused severe damage to Russia&#8217;s grain crop. Yields are expected to fall by up to 40%<sup>[1]</sup>. Russia announced a ban on wheat exports from August 15, causing a sharp rise in global grain prices.</p>
<p>How severe are conditions in 2010 compared to previous Russian droughts and heat waves?</p>
<p><a href="http://joewheatley.net/wp-content/uploads/2010/08/Russia.png"><img class="aligncenter size-full wp-image-2376" title="Russia" src="http://joewheatley.net/wp-content/uploads/2010/08/Russia.png" alt="Russia" width="664" height="663" /></a></p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p>The plot<sup>[2]</sup> shows monthly growing season precipitation versus temperature anomalies for wheat croplands 1948-2010. A positive index value indicates high cropland precipitation or temperature. June and July this year are clear outliers.</p>
<p>Gridded 200km climate data (<a href="http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.html" target="_blank">NCEP Reanalysis</a>) were re-projected<sup>[1]</sup> to an equal area projection and standardized<sup>[4]</sup>. Then a weighted average over the harvested area for the year 2000 (data from <a href="http://www.geog.mcgill.ca/~nramankutty/Datasets/Datasets.html" target="_blank">C. Monfreda et al</a>) was carried out.</p>
<p>__________________________________________________</p>
<p>[1] USDA World Agriculture Report, August 2010 <a href="http://www.fas.usda.gov/psdonline/circulars/production.pdf" target="_blank">http://www.fas.usda.gov/psdonline/circulars/production.pdf</a></p>
<p>[2] made using <em>smoothScatter()</em> <a href="http://cran.r-project.org/" target="_blank"> base R graphics</a>.</p>
<p>[3] raster map calculations using <a href="http://cran.r-project.org/web/packages/raster/index.html" target="_blank">raster</a> package by Robert J. Hijmans &amp; Jacob van Etten.</p>
<p>[4] Monthly <a href="http://www.drought.unl.edu/whatis/indices.htm#spi" target="_blank">standardized precipitation</a> and standardized temperature indices.</p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/russian-grain/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Large-scale vegetation-rainfall correlations in Africa</title>
		<link>http://joewheatley.net/response-of-african-vegetation-to-drought/</link>
		<comments>http://joewheatley.net/response-of-african-vegetation-to-drought/#comments</comments>
		<pubDate>Wed, 12 May 2010 16:35:59 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Climate]]></category>
		<category><![CDATA[ecosystem model]]></category>
		<category><![CDATA[Africa]]></category>
		<category><![CDATA[Drought]]></category>
		<category><![CDATA[NDVI]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=2012</guid>
		<description><![CDATA[Weather and climatic variability affect vegetation on continental scales. Intuitively, healthy vegetation is greener. A quantitative index of &#8220;greenness&#8221; called Normalised Difference Vegetation Index (NDVI) was developed by NASA.  The index takes values between 0 and 1. NDVI is related to the fraction of photosynthetically active radiation absorbed by the vegetation canopy. It is a [...]]]></description>
			<content:encoded><![CDATA[<p>Weather and climatic variability affect vegetation on continental scales. Intuitively, healthy vegetation is greener. A quantitative index of &#8220;greenness&#8221; called <em>Normalised Difference Vegetation Index</em> (<strong><a href="http://www.nasa.gov/topics/earth/features/obscure_data.html">NDVI</a></strong>) was developed by NASA.  The index takes values between 0 and 1. NDVI is related to the fraction of photosynthetically active radiation absorbed by the vegetation canopy. It is a powerful tool in vegetation monitoring.</p>
<p>Quantifying the relationship between weather and vegetation on a regional scale is a statistical problem which requires long time-series of NDVI. <strong><a href="http://glcf.umd.edu/data/gimms/" target="_blank">GIMMS</a></strong> is a  25 year (1981-2006) NDVI dataset based on inputs from a sequence of NOAA weather satellites carrying <strong><a href="http://noaasis.noaa.gov/NOAASIS/ml/avhrr.html">AVHRR</a></strong> radiometers. The GIMMS team removed satellite drift, calibration  effects <em>etc.</em>[1] Of course NDVI has a complex spatial variation which is related to variations in  vegetation cover type, not to weather variations. To isolate the impact of weather variations, it makes sense to &#8220;standardize&#8221; NDVI. <em>Vegetation Condition Index</em> (VCI) is:</p>
<p style="text-align: center;"><img src='http://s.wordpress.com/latex.php?latex=VCI%3D%5Cfrac%7BNDVI%20%5C%3B%20%5C%3A-%5C%3B%20%5C%3ANDVI_%7Bmin%7D%7D%7BNDVI_%7Bmax%7D-NDVI_%7Bmin%7D%7D&#038;bg=ffffff&#038;fg=000000&#038;s=0' alt='VCI=\frac{NDVI \; \:-\; \:NDVI_{min}}{NDVI_{max}-NDVI_{min}}' title='VCI=\frac{NDVI \; \:-\; \:NDVI_{min}}{NDVI_{max}-NDVI_{min}}' class='latex' /></p>
<p>For example, NDVI<sub>min</sub> might refer to the minimum local May NDVI value observed during 1981-2006. A tropical rainforest and a semi-arid region have very different NDVI, but both may have VCI close to  1 during a favourable period.</p>
<p>The maps below show the correlation between VCI and 3-month <a href="http://joewheatley.net/visualizing-drought/" target="_blank">Standardized Precipitation Index</a> (SPI3) computed for Africa by calendar month. GIMMS 8km NDVI was upscaled to 200km to match the scale of gridded monthly climate datasets for precipitation (<a href="http://lwf.ncdc.noaa.gov/oa/wmo/wdcamet-ncdc.html">GPCP</a>).[2] The red areas correspond to areas of high correlation between VCI and SPI3. Vegetation in these areas responsive to rainfall variations on a 3-month timescale. A striking feature  is the line high correlation in the Sahel   region. Vegetation in the Sahel is highly sensitive to drought. Southern Africa is also highly rainfall sensitive during Dec-May. It is impressive that the combination of datasets of very different origins (GPCP and GIMMS) produces spatially and temporally consistent information.</p>
<h2 style="text-align: center;">Sensitivity of Vegetation to Precipitation 1981-2006</h2>
<p><a href="http://joewheatley.net/wp-content/uploads/2010/05/AF_VCI_SPI3Hyrbid_correl1.png"><img class="aligncenter size-large wp-image-2230" title="AF_VCI_SPI3Hyrbid_correl" src="http://joewheatley.net/wp-content/uploads/2010/05/AF_VCI_SPI3Hyrbid_correl1-1024x754.png" alt="AF_VCI_SPI3Hyrbid_correl" width="1024" height="754" /></a></p>
<h3>R code snippets</h3>
<p>Most of the effort is in pre-processing the climate and NDVI data so that they share the same projection, grid, time coordinate etc. GDAL and the interp() function from the akima package were used for this purpose. Eventually we end up with SPI3 and VCI data represented by N × T matrices where N = Nx ×Ny is the dimension of the spatial maps and T is the number of observations. From there,  SPI3 and VCI maps were organized by calendar month,</p>
<p><code>vci.m   &lt;- lapply(seq(1:12),function(m) vci[,seq(from=m, to=T, by=12)])<br />
spi3.m &lt;- lapply(seq(1:12), function(m) spi3[,seq(from=m, to=T, by=12)])</code></p>
<p>Correlation maps between VCI and SPI3  for each calendar month are obtained from,</p>
<p><code>corr.maps &lt;- lapply(seq(1:12),function(m) sapply(seq(1:N), function(i) cor( vci.m[[m]][i,],spi3.m[[m]][i,]) ))</code></p>
<p>Finally the above map table was produced using spplot() from the sp package with overlays from the maps package.</p>
<p style="text-align: left;">
<p style="text-align: left;">
<p style="text-align: left;">[1] <span style="color: #888888;"> Tucker, C.J., J.E. Pinzon, and M.E. Brown (2004),  Global Inventory Modeling and Mapping Studies, NA94apr15b.n11-VIg, 2.0,  Global  Land Cover Facility, University of Maryland, College Park, Maryland,  04/15/1994.</span></p>
<p style="text-align: left;">[2]<span style="color: #888888;"> SG: Adler, R.F., G.J. Huffman, A. Chang, R.  Ferraro, P. Xie,     J. Janowiak, B. Rudolf, U. Schneider, S. Curtis, D. Bolvin, A.  Gruber, J. Susskind, P.     Arkin, 2003: The Version 2 Global Precipitation Climatology Project  (GPCP) Monthly     Precipitation Analysis (1979-Present). J. Hydrometeor., 4,1147-1167. </span></p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/response-of-african-vegetation-to-drought/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Visualizing Drought</title>
		<link>http://joewheatley.net/visualizing-drought/</link>
		<comments>http://joewheatley.net/visualizing-drought/#comments</comments>
		<pubDate>Sat, 06 Mar 2010 15:24:43 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Climate]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[time-series]]></category>
		<category><![CDATA[water stress]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=1877</guid>
		<description><![CDATA[The impacts of drought depend on time-scale. On short time-scales, drought means dry soil. On long time-scales, it means dry rivers and empty reservoirs. A region may simultaneously experience dry conditions on one time-scale and wet conditions on another e.g. wet soil but low streamflow or visa versa. Standardized Precipitation Index (SPI) is a widely [...]]]></description>
			<content:encoded><![CDATA[<p>The impacts of drought depend on time-scale. On short time-scales, drought means dry soil. On long time-scales, it means dry rivers and empty reservoirs. A region may simultaneously experience dry conditions on one time-scale and wet conditions on another e.g. wet soil but low streamflow or visa versa.</p>
<p><strong><a href="http://iridl.ldeo.columbia.edu/maproom/.Global/.Precipitation/SPI.html" target="_blank">Standardized Precipitation Index</a></strong> (SPI) is a widely used measure of drought which can be defined for any time-scale of interest. For any location, SPI is normally distributed with zero mean and unit standard deviation. Index values &gt; 2 indicate exceptionally wet conditions for that location, values &lt; -2 indicate exceptionally dry conditions for that location, etc. Historical precipitation is the only input needed to compute SPI.</p>
<p>Australia experienced drought between 2002 and 2007. The image below shows SPI computed for a location in the drought-prone Murray-Darling basin of New South Wales. The time-series run from Jan 1948 to Jan 2010 and the index was calculated for time-scales from 1 to 12 months. Precipitation data is from <strong><a href="http://www.esrl.noaa.gov/psd/data/gridded/data.ncep.reanalysis.derived.surfaceflux.html" target="_blank">NCEP Reanalysis</a></strong> [1] in a 1.875° × 1.875° grid cell centred at 30°S 145°E.</p>
<p style="text-align: center;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: center;"><a href="http://joewheatley.net/wp-content/uploads/2010/03/SPI.png"><img class="aligncenter size-large wp-image-1888" title="SPI" src="http://joewheatley.net/wp-content/uploads/2010/03/SPI-1024x320.png" alt="SPI" width="1024" height="320" /></a></p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">The drought of 2002 to 2007 shows up very clearly. It was preceeded by a wet period between 2005 and 2001. While 2009 showed an episode of severe drought at short time-scales, SPI at was normal/wet at longer time-scales during 2009. Agricultural yields recovered.</p>
<h2 style="text-align: left;">Calculating SPI-<em>M</em></h2>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<p>Empirical rainfall probability distributions are far from normal (gaussian) and often approximate a shifted gamma distribution. The empirical cumulative probability distributions are used to transform the rainfall time-series into time-series of percentile probabilities. A normally distributed precipitation index is found by pretending that these percentile probabilities derive from a standard cumulative normal distribution and inverting to find the index values.</p>
<p>This is simple in <em>R</em>. If the vector <em>data </em>contains rainfall infall data, then:</p>
<p><code>fit.cdf &lt;- ecdf(data)<br />
cdfs &lt;- sapply(data,fit.cdf)<br />
SPI &lt;- qnorm(cdfs)<br />
</code></p>
<p>Tha rainfall data are M-month moving averages (current and previous months). A separate index is calculated for each calendar month to remove seasonality. The R code used to compute SPI values (based in NCEP Reanalysis or other data sets such as <strong><a href="http://www.gewex.org/gpcp.html" target="_blank">GCPC</a></strong>) is <a href="http://joewheatley.net/wp-content/uploads/2010/03/SPI.txt" target="_blank"><strong>here</strong></a>.</p>
<p>[1] The NCEP/NCAR 40-year reanalysis project, Bull. Amer. Meteor. Soc., 77,  437-470, 1996</p>
<p><strong>Noted Added 11 October 2011:</strong> I have uploaded a slightly improved SPI R script<strong><a href="http://joewheatley.net/wp-content/uploads/2011/10/spi_functions.txt"> here</a></strong>. The function <em>getPrecOnTimescale(precipitation,k)</em> takes a vector of monthly precipitation values and returns a k-month average (i.e current month and prior k-1 months). <em>getSPIfromPrec(precip.k)</em> takes k-month precipitation values and returns the corresponding vector of SPI values.</p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/visualizing-drought/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ensemble Prediction</title>
		<link>http://joewheatley.net/ensemble-prediction/</link>
		<comments>http://joewheatley.net/ensemble-prediction/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 16:33:23 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Climate]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[weather forecast]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=1770</guid>
		<description><![CDATA[Weather is unpredictable. Small differences in initial conditions can develop into big differences in the pattern of circulation, in the timing and location of cyclones, rainfall etc. This is true no matter how good the initial observing system is. The approach taken by organisations such as ECMWF or NCEP is to re-run numerical forecast models [...]]]></description>
			<content:encoded><![CDATA[<p>Weather is unpredictable. Small differences in initial conditions can develop into big differences in the pattern of circulation, in the timing and location of cyclones, rainfall etc. This is true no matter how good the initial observing system is.</p>
<p>The approach taken by organisations such as ECMWF or NCEP is to re-run numerical forecast models with a range of carefully chosen initial conditions. The collection of runs is called the <em>ensemble</em>. Ensemble prediction systems (EPS) give <em>probabilistic forecasts</em> for variables such as rainfall, temperature etc. Current operational EPS have 20 (GFS)  or 51 (ECMWF) ensemble members from which the probability distributions are derived. ECMWF give an overview of their system<strong> <a href="http://www.ecmwf.int/about/information_leaflets/EPS.pdf" target="_blank">here</a></strong>. The probability distributions capture part of the intrinsic uncertainty in weather or climate.</p>
<p>The graph below shows histograms of 20 ensemble member temperatures near some major cities. The data were extracted from NCEP <strong><a href="http://www.nco.ncep.noaa.gov/pmb/products/gens/" target="_blank">GENS</a> </strong>16-day 2m temperature forecast produced at 00UTC 2 Feb 2010 (i.e GFS forecasts for 18 Feb).</p>
<p style="text-align: center;"><a href="http://joewheatley.net/wp-content/uploads/2010/02/ensembleHistograms2.png"><img class="size-large wp-image-1799 aligncenter" title="ensembleHistograms2" src="http://joewheatley.net/wp-content/uploads/2010/02/ensembleHistograms2-1024x985.png" alt="ensembleHistograms2" width="528" height="508" /></a></p>
<p>The maps below show some corresponding ensemble statistics for the entire globe (1° resolution, equal area cylindrical projection).</p>
<p style="text-align: center;"><a href="http://joewheatley.net/wp-content/uploads/2010/02/ensembleStats.png"><img class="size-large wp-image-1793 aligncenter" title="ensembleStats" src="http://joewheatley.net/wp-content/uploads/2010/02/ensembleStats-1024x619.png" alt="ensembleStats" width="1024" height="619" /></a></p>
<p style="text-align: left;">The upper map indicates that forecast uncertainty (standard error) is high between 40° and 60° in both hemispheres (related to the chaotic behaviour of  jet streams.) Currently, 16 day temperatures north of Lake Baikal in Siberia are very uncertain, for example. The contours indicate ensemble median temperatures.</p>
<p style="text-align: left;">Skewness in ensemble temperatures is shown in the lower map. For example, large negative skewness is found in north central US, eastern mediterranean, and Paraguay/Mato Grosso. This suggests tail risk of low temperatures relative to ensemble mean in these areas.</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: left;">&nbsp;</p>
<p style="text-align: center;">&nbsp;</p>
<p>EPS is the future of weather and climate forecasting. These systems produce huge amounts of data. Building useful applications of EPS is both a challenge and an opportunity.</p>
<p>For anyone interested, the <em><strong>R</strong></em> code used to produce these graphs is given <strong><a href="http://joewheatley.net/wp-content/uploads/2011/11/ensemble.txt" target="_blank">here</a></strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/ensemble-prediction/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Visualizing the jet stream</title>
		<link>http://joewheatley.net/visualizing-the-jet-stream/</link>
		<comments>http://joewheatley.net/visualizing-the-jet-stream/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 21:11:41 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Climate]]></category>
		<category><![CDATA[weather forecast]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=1704</guid>
		<description><![CDATA[Jet streams are narrow tubes of strong westerly winds which circle the earth at ≈ 10km elevation. These strong winds separate regions of cold and warm air. Surface weather at mid-latitudes is affected by the chaotic meanderings of jet streams. The above wind speed maps are based on NCEP GFS analysis at 300mb pressure level (equivalent [...]]]></description>
			<content:encoded><![CDATA[<p>Jet streams are narrow tubes of strong westerly winds which circle the earth at ≈ 10km elevation. These strong winds separate regions of cold and warm air. Surface weather at mid-latitudes is affected by the chaotic meanderings of jet streams.</p>
<p><a href="http://joewheatley.net/wp-content/uploads/2010/01/jetstream.png"><img class="aligncenter size-large wp-image-1706" title="jetstream" src="http://joewheatley.net/wp-content/uploads/2010/01/jetstream-1023x566.png" alt="jetstream" width="1023" height="566" /></a></p>
<p>The above wind speed maps are based on NCEP GFS analysis at 300mb pressure level (equivalent to ≈ 10km). The speed scale is in m/s.</p>
<p>There are many interesting things to notice about these maps. Firstly, there are several (5 or 6) planetary scale meanders of the jet stream. The meanders are called <em>planetary</em> or <em>Rossby</em> waves. Secondly, the enclosed area is larger and wind speeds higher in the northern hemisphere. This situation is reversed during the southern winter. Notice the closed loop of clockwise circulating air close to New Zealand. In this case a jet stream meander has grown large, become unstable and broken off. The loop encloses a pocket of cold air. Such detached loops can persist and remain in the same location for days.</p>
<p>The graphic below shows the GFS 300mb analysis wind speeds for ooUTC 19 Jan 2010 and the forecast wind speeds for 00UTC 20 &amp; 21 January.  Rossby wave propogation can be seen clearly (the ridges and troughs advance anticlockwise in the Northern hemisphere, clockwise in the Southern Hemisphere)</p>
<p><a href="http://joewheatley.net/wp-content/uploads/2010/01/jetstream.forecast.png"><img class="aligncenter size-full wp-image-1753" title="jetstream.forecast" src="http://joewheatley.net/wp-content/uploads/2010/01/jetstream.forecast.png" alt="jetstream.forecast" width="834" height="795" /></a></p>
<h3>code</h3>
<p>300mb wind velocities (zonal wind component <em>Uvel</em> and meridonal wind component <em>Vvel</em>) at 300mb were extracted from 0.5° GFS grib files. In an <strong><a href="../ncep-global-forecast-system/" target="_blank">earlier post</a></strong> complete GFS forecasts in grib2 format were downloaded and relevant fields extracted using the wgrib2 utility. In fact, it is possible to download only the required fields. This much faster partial-http option uses <strong><a href="http://curl.haxx.se/" target="_blank">cURL</a></strong> and an easy to use <strong><a href="http://www.perl.org/" target="_self">Perl</a> </strong>script called <strong><a href="http://www.cpc.noaa.gov/products/wesley/get_gfs.html" target="_self">get_gfs.pl</a></strong> from NCEP.</p>
<p><strong><a href="http://joewheatley.net/wp-content/uploads/2010/01/jet.R" target="_blank">jet.R</a></strong> is the script which produced the above graphics. Here Roger Bivand&#8217;s <em>sp</em> and <em>rgdal</em> packages are used to transform the latitude-longitude GFS projection to  a polar projection. For example, wind speeds in the northern hemisphere are contained in the <em>SpatialGridDataFrame</em> object <em>sg_north.</em> It is transformed into <em>Universal Polar Stereographic</em> (<em>ups </em>in the Proj.4 library) using<br />
<code>sg_north &lt;- spTransform(sg, CRS("+proj=ups +north"))<br />
sg_north@bbox &lt;- polar_north@bbox</code><br />
Unfortunately<em> spTransform()</em> produces a <em>SpatialPoints</em> object, because the grid is non-uniform after transformation. To recover a <em>SpatialGrid</em> object, the <em>interp()</em> function from package <em>akima</em> was used to resample back onto a regular grid. This is the slowest part of <em>jet.R.<br />
</em></p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/visualizing-the-jet-stream/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.560 seconds -->

