<?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; weather forecast</title>
	<atom:link href="http://joewheatley.net/tag/weather-forecast/feed/" rel="self" type="application/rss+xml" />
	<link>http://joewheatley.net</link>
	<description>Earth Vegetation</description>
	<lastBuildDate>Tue, 17 Aug 2010 14:01:24 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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[Uncategorized]]></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 with [...]]]></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;">
<p style="text-align: left;">
<p style="text-align: center;">
<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/2010/02/ensemble.R" target="_blank">here</a></strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/ensemble-prediction/feed/</wfw:commentRss>
		<slash:comments>0</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 to [...]]]></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>
		<item>
		<title>NCEP Global Forecast System</title>
		<link>http://joewheatley.net/ncep-global-forecast-system/</link>
		<comments>http://joewheatley.net/ncep-global-forecast-system/#comments</comments>
		<pubDate>Wed, 16 Dec 2009 11:14:32 +0000</pubDate>
		<dc:creator>joe</dc:creator>
				<category><![CDATA[Climate]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[GFS]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[weather forecast]]></category>

		<guid isPermaLink="false">http://joewheatley.net/?p=1192</guid>
		<description><![CDATA[Just about everyone is familiar with weather maps. There are many situations where it is useful to combine the underlying numerical weather data with other types of information. Accessing  the weather data is a necessary first step.
The output from the U.S. National Centers for Environmental Prediction (NCEP) Global  Forecast System (GFS) is freely available. The [...]]]></description>
			<content:encoded><![CDATA[<p>Just about everyone is familiar with weather maps. There are many situations where it is useful to combine the underlying numerical weather data with other types of information. Accessing  the weather data is a necessary first step.</p>
<p>The output from the U.S. National Centers for Environmental Prediction (<strong><a href="http://www.nco.ncep.noaa.gov/" target="_blank">NCEP</a></strong>) Global  Forecast System (GFS) is freely available. The surface resolution of the model is ≈ 0.3º× 0.3°. The model runs every 6 hours, producing forecasts at 3-hourly intervals extending out to 16 days. As an example of output from GFS, the map (below) shows the predicted average  temperature at 2 metres over the entire globe for the next 24 hr (date of this post). The map shows predicted cold conditions in Europe, and the continuing heatwave in Australia.</p>
<p><a href="http://joewheatley.net/wp-content/uploads/2009/12/t2m.jpeg"><img class="aligncenter size-large wp-image-1685" title="t2m" src="http://joewheatley.net/wp-content/uploads/2009/12/t2m-1024x572.jpg" alt="t2m" width="1024" height="572" /></a></p>
<h3>How the map was made</h3>
<p><strong><a href="http://www.nco.ncep.noaa.gov/pmb/products/gfs/" target="_blank">GFS forecasts</a></strong> are in a format called GRIB2. According to Wikipedia, <em><strong>&#8220;</strong>GRIB (GRIdded Binary) is a mathematically concise data format commonly used in meteorology to store historical and forecast weather data.&#8221; </em>GRIB files contain physical fields such as temperature, humidity etc defined on a spatial grid, as well as boundary conditions such as vegetation type and elevation. The data might be assimilated from observations, or output from a forecast model.</p>
<p>The first step is to translate the GRIB into a raster format such as <strong><a href="http://www.unidata.ucar.edu/software/netcdf/" target="_blank">netcdf</a></strong> which can be read in <em>R</em><strong><em>. </em></strong>For example, the GRIB2 file <em>gfs.2009121700/gfs.t00z.sfluxgrbf03.grib2</em> contains the 3-hr forecast surface data on 17 Dec 2009  produced at 00 UTC (midnight universal time). An inventory of the data contained in this file can be seen <strong><a href="http://www.nco.ncep.noaa.gov/pmb/products/gfs/gfs.t00z.sfluxgrbf00.grib2.shtml" target="_blank">here</a></strong>. Download this forecast as <em>temp.grb</em></p>
<p><code>loc=file.path("ftp://ftp.ncep.noaa.gov/pub/data/nccf/com/gfs/prod/gfs.2009121700/gfs.t00z.sfluxgrbf03.grib2")<br />
download.file(loc,"temp.grb",mode="wb")</code></p>
<p>To read <em>temp.grb</em> a utility called <strong><a href="http://www.cpc.noaa.gov/products/wesley/wgrib2/" target="_blank">wgrib2</a></strong> needs to be installed on your system. Then data such as land fraction can extracted into a netcdf file <em>LAND.nc</em> using the <em>R</em> shell command</p>
<p><code>shell("wgrib2 -s temp03.grb | grep :LAND: | wgrib2 -i temp00.grb -netcdf LAND.nc",intern=T)</code></p>
<p>The ncdf package can now be used to read the contents of <em>LAND.nc</em>.</p>
<p><code>library(ncdf)<br />
landFrac &lt;-open.ncdf("LAND.nc")<br />
land &lt;- get.var.ncdf(landFrac,"LAND_surface")<br />
x &lt;- get.var.ncdf(landFrac,"longitude")<br />
y &lt;- get.var.ncdf(landFrac,"latitude")</code></p>
<p>The 1152×576 matrix <em>land</em> takes values 1 for land and 0 for water (sea-ice is 1). x and y are the longitude and latitude of the non-uniform GFS grid.</p>
<p>2m temperature data can be read in the same way. The average of the first 8  forecasts was called <em>t2m.mean</em> and plotted using <em>image.plot()</em> from the fields package:</p>
<p><code>library(fields)<br />
rgb.palette &lt;- colorRampPalette(c("snow1","snow2","snow3","seagreen","orange","firebrick"), space = "rgb")#colors<br />
image.plot(x,y,t2m.mean,col=rgb.palette(200),axes=F,main=as.expression(paste("GFS 24hr Average 2M Temperature",day,"00 UTC",sep="")),axes=F,legend.lab="o C")<br />
contour(x,y,land,add=TRUE,lwd=1,levels=0.99,drawlabels=FALSE,col="grey30") #add land outline </code></p>
]]></content:encoded>
			<wfw:commentRss>http://joewheatley.net/ncep-global-forecast-system/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

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