Biospherica http://joewheatley.net Earth Vegetation Tue, 03 Jan 2012 10:44:03 +0000 en hourly 1 http://wordpress.org/?v=3.1 Mapping climate change http://joewheatley.net/mapping-climate-change/ http://joewheatley.net/mapping-climate-change/#comments Mon, 02 Jan 2012 15:28:16 +0000 joe http://joewheatley.net/?p=2860 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. They found that long-term temperature 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.

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 CFSv2 Reanalysis data using R‘s raster package and plotted using ggplot2 (“trends” means linear regression coefficients although there is markedly non-linearity in many places.)

The upper map is for December-January-February (DJF) and the lower for June-July-August (JJA). Globally, DJF warmed by ~0.36oC/decade over land while JJA warmed somewhat less ~0.28oC/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.

Corresponding maps for rainfall look quite different:

 

While regional trends can be large ~ ±50mm/decade, there was no significant net wetting or drying trend over land.

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.

 

]]>
http://joewheatley.net/mapping-climate-change/feed/ 0
Cold Winter Sun? http://joewheatley.net/cold-winter-sun/ http://joewheatley.net/cold-winter-sun/#comments Tue, 08 Nov 2011 20:06:17 +0000 joe http://joewheatley.net/?p=3084 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 atmosphere gets stuck into a stationary “blocking” pattern. A block can extend over 1000km’s and persist for days or weeks. In 2010, the  block which brought a heat wave to Russia also caused floods in Pakistan.

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.

The formation of Northern hemisphere winter blocks is associated with the negative phase of the Arctic Oscillation (AO). 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 “jet” 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 confine very cold Arctic night air to polar latitudes.

 

 

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 Rossby waves. Larger amplitude meanderings such as (c) favour the formation of atmospheric blocks, which is why severe winter weather is associated with negative AO.

 

The above chart  of daily AO index 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’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%).

Arctic Oscillation and Solar UV

 

 

Although only a small part of the sun’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 UK Met Office) describes research linking the strength of the polar vortex to solar UV variability.[1] 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.

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 SORCE. (This R script will download the latest data from SORCE and reproduce the plot.)

While total 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.

 

 

[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)

 

]]>
http://joewheatley.net/cold-winter-sun/feed/ 0
Emissions savings from wind power http://joewheatley.net/emissions-savings-from-wind-power/ http://joewheatley.net/emissions-savings-from-wind-power/#comments Wed, 31 Aug 2011 11:57:29 +0000 joe http://joewheatley.net/?p=2784 Recently, economist Colm McCarthy noted that:

Wind generators can be relied on to produce power only about one hour in three over a year, and those productive hours are unpredictable. So conventional capacity has to be kept in reserve for the periods when the wind does not blow. These stations will be utilised less than optimally and this is a hidden cost of wind generation.

In addition to inefficient use of capital, critics have argued that wind generation has a potential cost in terms of CO2 emissions. When the wind is blowing, priority is given to wind generation over conventional capacity. However an idling thermal plant is like a car crawling along in traffic – not doing very much but still burning fuel. This may cause thermal plant to burn more fuel per unit energy generated than would otherwise be the case.

Is there any direct evidence of reduced CO2 savings when wind generation is high? Surprisingly, the answer to this question is yes.

 


The scatterplot shows the relationship between total instantaneous CO2 emissions and instantaneous wind generation using data from the Irish grid operator Eirgrid. The data cover the period from 1-Nov-2010 to 30-Aug-2011 at 15 minute intervals (~ 29,000 data points). The blue line is a local regression (loess) fit*.

As expected, wind generation does reduce CO2 emissions. A linear regression fit suggests an emissions saving ~ -0.38tCO2/MWh.  However, the real world relationship between wind generation and emissions is clearly non-linear. At wind generation ~600MW, fuel savings begin to slow. Above ~800MW, they cease altogether. Above 1000MW, emissions increase again.

Heat rate curve

Carbon intensity is CO2 emitted per unit energy generated. To see why emissions savings decrease as wind generation increases, we need to look at the carbon intensity of thermal generation. Thermal generation is extracted from the Eirgrid data as the difference between demand(MW) and wind generation(MW) (assumes no power is dumped). The graph shows the carbon intensity of thermal generation (tCO2/MWh) versus thermal generation (MW) for the period Nov 2010 – Aug 2011.

There is an optimum point on the curve around 3000MW. 3000MW is close to the average electricity demand. In the absence of wind generation, thermal generation fluctuates in line with demand around the the optimum point, a design feature which ensures maximum efficiency . Unfortunately, high wind generation forces thermal plant to operate far to the left of the optimal point on the “heat rate curve”.

*The loess fit has span parameter 1.0. A non-parametric regression curve is shown in grey.

Another plot …

Wind penetration is defined as instantaneous wind generation as a % of instantaneous demand.

This graph of thermal carbon intensity(tCO2/MWh) vs wind penetration(%) tells the same story.

]]>
http://joewheatley.net/emissions-savings-from-wind-power/feed/ 27
Heat Wave http://joewheatley.net/heat-wave/ http://joewheatley.net/heat-wave/#comments Fri, 29 Jul 2011 11:21:14 +0000 joe http://joewheatley.net/?p=2822 The graphic shows the temperature anomaly in the US for the month of July (actually July 1 – 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.

 

 

 

The map uses an equal area projection (Albers) with horizontal and vertical scales in meters.

R aficionados will recognize use of the ggplot2 R package. We are experimenting with ggplot2 for weather map-making at Biospherica™ .

 

Data from CFSv2 Analysis.

ggplot2 : Elegant Graphics for Data Analysis, Hadley Wickham

Code

Daily 2m temperature maps are available from operational CFSv2 here (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 wgrib2 -netcdf to produce files which can be read directly by R’s raster package. To get a temperature anomaly the monthly 2m temperature climatology needs to be subtracted. This is available here (flxf06.cfsr.fclm.m07.1982.2010.grb2).

The temperature anomaly raster map can be projected from latlon to another PROJ4 map projection using raster::projectRaster. The resulting July global temperature anomaly raster object is called tmp2m.ras. USA country maps (level 0 & 1) are from gadm. These are reprojected and called USA.poly & USA.poly1. Finally, with tmp2m.ras, USA.poly and USA.poly1 objects in R memory,  ggplot2 was used to produce the map as follows:

 

library(raster)
library(RColorBrewer)
library(ggplot2)
#crop tmp2m.ras
x.min <- bbox(USA.poly)[1,1]
x.max <- bbox(USA.poly)[1,2]
y.min <- bbox(USA.poly)[2,1]
y.max <- bbox(USA.poly)[2,2]
tmp2m.ras <- crop(tmp2m.ras, extent(x.min,x.max,y.min,y.max))
#mask tmp2m.grd using country outline
USA.ras <- rasterize(USA.poly, tmp2m.grd)
tmp2m.ras <- mask(tmp2m.ras,USA.ras)
#convert data to dataframe for ggplot
tmp2m.ps <- rasterToPoints(tmp2m.ras)
df <- data.frame(tmp2m.ps)
colnames(df) <- c("easting","northing","tmp2m")
USA.poly <- fortify(USA.poly,region="ISO")
USA.poly1 <- fortify(USA.poly1,region="ID_1")
#now the pretty stuff
g <- 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))
g <- g+geom_tile(aes(fill=tmp2m),alpha=0.6)+scale_fill_gradientn(name=expression(paste(degree,"C",sep="")),colours=rev(brewer.pal(9,"RdYlBu")))
g <- g+coord_equal()
g <- g+stat_contour(aes(z=tmp2m,colour=..level..),size=0.5, bins=4)+scale_colour_gradient(name=expression(paste(degree,"C",sep="")))
#country outline
g <- g + geom_path(data=US.poly, aes(x=long,y=lat,group=group), colour="grey40", alpha=1.0,size=0.5)
#state outline
g <- g + geom_path(data=USA.poly1, aes(x=long,y=lat,group=group), colour="grey80", alpha=1.0,size=0.3)
g <- g + opts(title = "USA Temperature July 2011")
print(g)

]]>
http://joewheatley.net/heat-wave/feed/ 2
Large scale weather correlations using R’s raster package http://joewheatley.net/weather-correlations-using-rs-raster-package/ http://joewheatley.net/weather-correlations-using-rs-raster-package/#comments Mon, 21 Mar 2011 17:42:04 +0000 joe http://joewheatley.net/?p=2684 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 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.

This type of analysis is easy to do in R using Robert Hijman’s superb raster package. The first step is to download horizontal(U) and vertical(V) wind speed data from ECMWF Data Server for ERA-interim. To decode this file, the wgrib utility or similar must be installed on your system. The following code creates a raster ”stack” object consisting of 1342 U-component wind speed raster maps for NW Europe: 
library(raster)
region <- extent(-40,40,0,80) #subset selection -40W 40E 0N 80N
Ucomp.stk <- stack()
for (i in seq(1,2*1342,by=2) ){
system(paste("wgrib ERAdailyWind.grb -d ", i, " -text -o temp.txt",sep=""))
temp <- scan("temp.txt",skip=1)
temp <- t(matrix(temp,240,121))
temp.ras <- rotate(raster(temp,xmn=0,xmx=360,ymn=-90,ymx=90))
temp.ras <- crop(temp.ras,region)
Ucomp.stk <- addLayer(Ucomp.stk,temp.ras)
}
....
wind.stk <- calc(calc(Ucomp.stk,function(x) x*x)+calc(Vcomp.stk,function(x) x*x),sqrt)

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.

A rasterized map of Scotland can be created from a level 1 GADM SpatialPolygons object as follows:
UK <- getData("GADM",country="GBR",level=1)
scotland <- SpatialPolygons(UK@polygons[3])
scotland.ras <- rasterize(scotland, wind.stk,getCover=T)
scotland.ras <- scotland.ras/cellStats(scotland.ras, sum)

The option getCover=T in rasterize() means that any reanalysis cells which partially overlap Scotland are included with appropriate weight. The average wind speeds for Scotland are then:

scottish.wind.stk <- scotland.ras * wind.stk
scottish.speeds <- cellStats(scottish.wind.stk, sum)

Irish average wind speeds are found in the same way.

Finally the high density scatterplot shown above was produced using the hexbin package:


library(hexbin)
wind.bin <- hexbin(irish.speeds,scottish.speeds)
count.cols <- colorRampPalette(c("azure2","yellow","orange","red"),space="Lab")
plot(bin, colramp=function(n) count.cols(n), main="12hr Wind Speeds 2009-2010",xlab="Ireland m/s",ylab="Scotland m/s",legend=0)

 

]]>
http://joewheatley.net/weather-correlations-using-rs-raster-package/feed/ 2
Bad Power http://joewheatley.net/bad-power/ http://joewheatley.net/bad-power/#comments Thu, 17 Mar 2011 21:34:13 +0000 joe http://joewheatley.net/?p=2603

 

The map shows mean 10m wind speeds at 1.5o resolution during the period 2009-2010. Ireland is ideally located for wind power, at the end of North Atlantic storm tracks. For many wind advocates, discussion begins and ends with maps like this one. Some advocates even argue that wind power is a reliable source of electric power and the solution to global warming, peak oil, sustainability etc. Critics say that wind power is too intermittent to be a substitute for thermal power sources. Intermittency imposes wasteful duplication and costs. Critics question to what extent it is a resource worth exploiting. Wind advocates are winning the argument; Ireland increased installed wind generation capacity from 1100MW to 1465MW (34%) in the last two years.

Opinions need to be checked against good data. Fortunately, the Irish grid operator Eirgrid provides very high quality data – total wind power generation every 15 mins.

The chart shows power generation as a % of installed wind power capacity or instantaneous “capacity factor”. Generation is certainly intermittent, with frequent jumps between periods of high ~ 80% and low ~ 5% power. The mean power is 25%. The distribution of power generation values in the above chart are shown below:

This distribution looks nothing like a bell-curve about the mean value. The most probable instantaneous power output is only 5% of installed capacity (~ 70MW currently). There is a long tail extending up to ~80%. Ireland has a favourable Atlantic location, but wind generation is intermittent and unreliable like everywhere else.

One gigantic wind turbine

Some wind power enthusiasts claim that installing more capacity and extending the grid to more locations can “fix” the intermittency problem. Another version of this idea is “the wind is always blowing somewhere”. Install enough turbines, they say, and the intermittency problem will be solved.

To test this opinion,  I used twice daily (00UTC and 12UTC) 1.5o x 1.5o global wind speed maps from ECMWF ERA for the period March 2009 to December 2010 (1342 maps). A time-series of averaged 10m wind speed over ireland was computed using a rasterized map of Ireland at the same resolution. Wind speed data can be compared to the Eirgrid wind generation data. The result is a binned scatterplot of instantaneous averaged wind speeds versus instantaneous power generation:

Clearly wind generation follows the averaged wind speed quite closely. In fact this Ireland-scale power curve is very similar to the power curve of an individual wind turbine. e.g.

 

 

In other words the entire portfolio of >50 Irish wind farms effectively behaves as a single gigantic 1,465MW wind turbine driven by the average wind speed over the island. The reason is that Ireland is small ~350km compared to the scale of synoptic weather systems >1,000km. It is either a windy day in Ireland or it is not.

Conclusion

No matter how much additional wind capacity is added to the system, the power curve will still look the same as the one derived from the Eirgrid-ERA data above. No amount of costly additional grid infrastructure to new locations can change that. Building more wind farms does not diversify the power supply or fix the intermittency problem. It effectively just increases the size of a gigantic 1,465MW wind turbine.

Installed wind capacity is supposed to increase to 5-6GW by 2020 under ambitious renewables targets. Policy and reality are about to collide.

 

]]>
http://joewheatley.net/bad-power/feed/ 6
Four Year Plan http://joewheatley.net/four-year-plan/ http://joewheatley.net/four-year-plan/#comments Mon, 21 Feb 2011 11:03:18 +0000 joe http://joewheatley.net/?p=2500 Recently, I have been doing some business planning as part of Limerick’s LEAP programme. One of the things they teach you is the importance of realistic financial planning. Realistic means that the numbers reflect known facts and uncertainties. Projections on a timeframe of 3 or 4 years often turn out wrong, but an unrealistic plan is worse than useless.

With the arrival of the IMF in late 2010, the then Irish government published a Four Year Plan for National Economic Recovery. A key assumption is Nominal GDP growth rates for the years 2011-2014. (“Nominal” means not adjusted for inflation.) The plan contains pessimistic and optimistic growth scenarios. Are these numbers realistic?

The history of Irish 4-year Nominal GDP  growth is shown below (uncompounded  e.g. the rate for 1961 is the sum of  rates for 1961,1962,1963 & 1964). The two scenarios from the Four Year Plan are grafted on the end.

GDPHistoryHow likely is it that the outcome will lie within the expected forecast range? One way to answer this question is to treat historical growth rates as random numbers drawn from a probability distribution. The empirical 4-year growth probability distribution (along with the goverment’s forecast range) is shown below.

GDPProbability

The shaded area gives the probability that the 2011-2014 outcome is between the governments pessimistic and optimistic projections. The probability is about 40%. A less than 50% chance that growth falls between the two limiting cases is poor. The Four Year Plan is not realistic in the sense that the range of uncertainty in the forecasts should be increased.

There is some good news here. A more realistic plan will include more optimistic growth scenarios.

]]>
http://joewheatley.net/four-year-plan/feed/ 0
Bee vs MacBook Pro http://joewheatley.net/bee-vs-macbook-pro/ http://joewheatley.net/bee-vs-macbook-pro/#comments Thu, 28 Oct 2010 16:45:16 +0000 joe http://joewheatley.net/?p=2452 bumbleBee

vs

macbook

Bees are efficient pollinators, and play a critical role in agriculture and natural ecosystems. Recently, researchers at Queen Mary College London reported experiments suggesting that bees are even more efficient than previously thought. When faced with a new arrangement of flowers, a bumblebee is able to determine the shortest path linking the flowers. In effect, tiny bee-brains solve a complex Traveling Salesman Problem (TSP) in a matter of seconds on the fly. This is surpising because TSP is a notorious “hard” problem in optimization. A TSP with N nodes means finding the shortest out of O(N!) possible paths. For 30 flowers, thats about 1032 paths, most of which are very inefficient and a waste of bee energy.

Suppose the bumblebee arrives in the North-East corner of a flower bed which consists of 300 randomly distributed pink, orange and yellow flowers.

beeGardenThe shortest tour solution on the right was obtained using the fast and exact Concorde TSP solver. This took 5 seconds on a MacBook Pro 2.4GHz Intel Core 2 Duo. The optimal tour length ≈13 which is less than 10% the length of a typical randomly chosen tour.

The processor in this MacBook Pro weighs about 20g. A bumblebee weighs about 200mg, with a brain not more than 1% of that, say 2mg. If the bumblebee is really finding the optimal tour, then gramme for gramme, the humble bumblebee brain appears to outperform the MacBook by a factor of order 20,000!

To save the MacBook’s blushes, let’s hope the bee is doing something simpler. For example, using the nearest neighbour algorithm (visit the nearest flower not already visited). In the above example, the nearest-neighbour tour length is ≈16, which gets the bee most of the way there in terms of efficiency. This algorithm, while not exact, takes only 0.02 seconds on the MacBook Pro.

By the way, Charles Darwin was aware of the surprising power of small insect brains. “It is certain that there may be extraordinary activity with an extremely small absolute mass of nervous matter.. the brain of an ant is one of the most marvellous atoms of matter in the world, perhaps more so than the brain of man.“ – Charles Darwin, Origin of Species, 1859

Here is the R code used above.

library("TSP")
concorde_path("/usr/local/bin")
Nflowers <- 300
garden <- matrix(runif(Nflowers*2),Nflowers,2)
garden[1, ]<-c(1,1)
garden.dist <- dist(garden)
garden.tsp <- TSP(garden.dist)
garden.path <- solve_TSP(garden.tsp,method = "concorde")
garden.tour <- as.vector(TOUR(garden.path))
ex=par(mfrow=c(1,3))
plot(garden,xlab="flower garden",ylab="",pch=16,col=c("orange","pink","yellow"),xaxt="n",yaxt="n",cex=1.5)
points(garden, pch=1,cex=1.5)
plot(garden,xlab="concorde",ylab="",pch=16,col=c("orange","pink","yellow"),xaxt="n",yaxt="n",cex=1.5)
lines(garden[garden.tour,],col="black",lwd=2)
points(garden, pch=1,cex=1.5)
par(ex)

A handy script to help  with the external installation of concorde TSP on the Mac is available here. The TSP package also needs to be installed.

]]> http://joewheatley.net/bee-vs-macbook-pro/feed/ 0 Extreme conditions in Russian croplands http://joewheatley.net/russian-grain/ http://joewheatley.net/russian-grain/#comments Tue, 17 Aug 2010 13:30:04 +0000 joe http://joewheatley.net/?p=2344 Heatwave and drought have caused severe damage to Russia’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?

Russia

 

 

 

 

The plot[2] 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.

Gridded 200km climate data (NCEP Reanalysis) were re-projected[1] to an equal area projection and standardized[4]. Then a weighted average over the harvested area for the year 2000 (data from C. Monfreda et al) was carried out.

__________________________________________________

[1] USDA World Agriculture Report, August 2010 http://www.fas.usda.gov/psdonline/circulars/production.pdf

[2] made using smoothScatter() base R graphics.

[3] raster map calculations using raster package by Robert J. Hijmans & Jacob van Etten.

[4] Monthly standardized precipitation and standardized temperature indices.

]]>
http://joewheatley.net/russian-grain/feed/ 2
Survey http://joewheatley.net/survey/ http://joewheatley.net/survey/#comments Tue, 20 Jul 2010 16:37:22 +0000 joe http://joewheatley.net/?p=2315 If you are a professional with interest in weather/climate impacts in agriculture Biospherica would like to hear your views.

Please click here to take the online survey.

It takes about 6 minutes. All questions are optional.

Thanks!

]]>
http://joewheatley.net/survey/feed/ 0