HOME

OZ-ENERGY-ANALYSIS.ORG   -   open science for the new millennium

THE STORIES   |   DATA   |   ANALYSIS   |   MODELS   |   LITERATURE   |   DISCUSSIONS

Status: round two; last active here December 2010


[fc: 30th May 2011]   A lot of time was spent here, and some of the material remains in the comments. All that matters to the casual reader is that we established reasonable methodology for simulating the variability aspect of a virtual wind farm based on actual wind speed data; the capacity factor is an imposed parameter. The more interested reader will note the issues with diurnal and seasonal biases and corrections (which can usefully be explored and refined further). This page has a sister in the Solar Power-Curves Analysis. The power curve methodology developed here is used to Simulate Wind Farms from Broome to Cooktown.



Wind Power Curve Model

(formally: Reconcile Wind Farm output with BoM wind data)

ABSTRACT

We want to simulate the power that would be generated from a wind farm placed in the vicinity of a wind speed data source, usually a Bureau of Meteorology (BoM) Station. To establish methodology for achieving this, we use real wind farm output data in conjunction with wind speed data from nearby BoM stations.

We start by developing a Wind Power Curve that reasonably estimates wind farm power output based on sampled wind speed data. We then examine in some detail how well this curve works, before introducing further adjustments to the methodology (in particular dealing with the Diurnal Bias). We finish by examining and recording how well the methodology works, as a benchmark for future development.


The Round One work from earlier in 2010 has plots showing the correspondence between five SA wind farms and nearly BoM Station wind speed data. For each pairing, there are two aspects shown: (i) plots showing the data comparison for one month at 30 min resolution, and (ii) a snap from Google Earth showing the relative locations of the wind farm and BoM Station.


INTRODUCTION

BoM weather stations are not generally positioned in the locations where wind farm builders might choose. For example, BoM wind data may be associated with a town or airstrip, which has most likely protected from the wind to some extent by the local geography. In contrast, a wind tower would most likely be located on the top of a hill, or a ridge running perpendicular to the prevailing wind. Also, BoM wind measurements are taken at 10m above ground level, whereas the wind turbine hub is usually at around 80m, and it is well understood that the wind speed increases with height.

SO, we do not try to calculate wind farm output in a direct, physical, way from the wind speed data, but rather we will look at how the two compare for a number of cases where we have wind farm generation data and a nearby (or not so nearby) BoM station. We will establish a heuristic relationship that is good enough for the purpose of building renewable scenarios with wind farms in different places.

Wind farm power output can be related to wind speed via a response curve that we call a Wind Power Curve (WPC). This is a heuristic curve, and there is an important distinction to maintain: a "power curve" as might be given by a wind turbine manufacturer describes the instantaneous power output that can be expected from that turbine when presented with a given wind speed; whereas, we are working to produce quite a different 'power curve'. Here the wind speed data is a proxy in space for what a nearby turbine might see; it is also a sample in time, a single measurement every half or one hour.

What this amounts to is a balancing act. We use the wind speed data, primarily, to describe the variability rather than the magnitude of the wind resource. That is, we will more-or-less impose a capacity factor on a modelled wind farm, and the Wind Power Curve will in effect scale the wind speeds to achieve this. Blindly applied this methodology can take any (ludicrously inappropriate) wind data and produce a respectable power output for a hypothetical wind farm. It is necessary to keep our wits about us in avoiding any and all magic puddings.


THE DATA

Has a page of its own, Pairings of Wind Speed Data with Wind Farms, from where both the wind speed and wind farm generation data can be downloaded. What follows here is just an outline.

The realities of the data provide two divisions, which together induce a split into four 'tiers' of data, as below. First, the 2009 reference period does not work for all the wind farms as for some we only have data from ~mid 2009 (and these cases use 1st Aug 2009 to 31st Jul 2010 instead); second, some of the BoM data is reliably half-hour data, and some is, or is best treated as, hourly data.

  Tier One: Half hourly BoM, 2009 reference

  case  Wind Farm     Wind-speed data
 ----------------------------------------------------
   #1.  WPWF          BoM 22046 EDITHBURGH
   #2.  STARHLWF      BoM 23875 SECOND VALLEY FOREST AWS       Tier Two: Half hourly BoM, 1 Aug 2009 to 31 July 2010 reference 
   #3.  CNUNDAWF *    BoM 26021 MT GAMBIER AIRPORT *
   #4.  LKBONNY1      BoM 26021 MT GAMBIER AIRPORT *             CAPTL_WF *     BoM 70014 CANBERRA AIRPORT
   #5.  CHALLHWF      BoM 79101 BEN NEVIS                        WAUBRAWF       BoM 89002 BALLARAT AERODROME
   #6.  YAMBUKWF      BoM 90175 PORT FAIRY AWS
   #7.  WOOLNTH1      BoM 91245 CAPE GRIM BAPS


  Tier Three: Hourly BoM, 2009 reference                       Tier Four: Hourly BoM, 1 Aug 2009 to 31 July 2010 reference 

        MTMILLAR       BoM 18116 CLEVE AERODROME                 CAPTL_WF *     BoM 69132 BRAIDWOOD RACECOURSE AWS
        CATHROCK       BoM 18217 CUMMINS AERO                    CULLRGWF       BoM 70330 GOULBURN AIRPORT AWS
        CNUNDAWF *     BoM 26091 COONAWARRA

(*) Used in more than one pairing

In what follows (i.e. in the comments for now) we are using only the Tier One data thus far.


ANALYSIS

The full development of the Wind Power Curve (WPC) model remains in the comments for now [Nov 2010]. What follows is an outline that is being incrementally developed.

Part I - The Wind Power Curve

After some consideration, and building on comment #6, we adopted the following initial form for the Wind Power Curve (see #12):

Note that mostly the wind speed sits in the left half of this power curve.

This curve has five sections, with the first and last (red) being zero up to a cut-in (starting) wind speed, Ws, and after a cut-out speed, We. The second section (green) is a rising cubic, motivated by the fact that energy density in wind goes with the cube of the wind speed. The middle section (magenta) exists above a threshold Pt, with associated 'transition' wind speed Wt, and is modelled as a quadratic forced to join the previous curve at X2 and have its maximum at X3 (corresponding to wind speed Wm). Note that without such a 'dome' curve at the top, the power estimate would spend too much time at full power. Finally, a gradual application of the cutout (cyan section) is provided via a liner drop from X4 (defined symmetrically from X3 and X2) to zero power at wind speed We.

This was the initial exploratory approach, which after some use (see #13, #18) was quickly simplified (#20, #23) in the following ways:
- set Ws to zero, leaving the cubic to impose the flat start;
- drop the linear 'cut-out' (cyan) section, allowing the quadratic to provide the drop to zero;
- force the transition from cubic to quadratic at X2 to be C1 continuous.

The end result is a WPC with a single parameter, Wt (and with Pt set at 0.4); that is, the shape of the WPC is set, and the parameter Wt acts to stretch or compress the WPC along the wind-speed axis. Note that Wt typically ends up being approximately the median wind speed; note also that, with Pt as set, the peak of the WPC, Wm, is close to twice Wt.


Part II - Applying the WPC

The Wind Power Curve (WPC) is applied to data in one of two ways. In the development work here we fit the WPC as a model, seeking parameterisation that minimises the difference between the simulated and actual wind farm output: for now we use a simple sum of squares of the individual data point differences as the Objective function for this fitting work. This is standard work, requiring an initial 'guess' at parameters, and we use the fminsearch function in Matlab to do the minimisation work.

In general use, when converting wind-speed data into simulated wind farm output, an imposed Capacity Factor (CF) is used (generally 35%) and the parameter Wt adjusted as needed to achieve this CF. See the latter part of #12 for some further detail.


Part III - systematic biases, seasonal and diurnal

Work on diurnal and seasonal biases proceeds from #30.


Part IV - Scripts and Demonstration

Here are the Matlab scripts that I use to perform the wind-speed to simulated wind-farm-output transformation. Care and understanding is needed in applying the corrections - be careful, and consider not applying if not understood. The seasonal correction simply requires having the DPpD (Data Points per day) and DYst (Day of Year start) parameters correctly set; the diurnal correction requires having the DCp (phase) parameter adjusted for local midday compared to the reference case here (at longitude 137.7 E) -- see #38. In any case, these corrections are 'first pass' and in some cases (especially for the diurnal correction) might introduce more systematic bias than they remove.

For a demonstration of application, see: Simulate Wind Farms on Eyre Peninsula from BoM wind speed data. For their main application, see: Simulated Wind Farms from Broome to Cooktown.

[note: have not provided scripting for the fitting of wind-speed data against known wind farm output; will provide this in time / as needed]


Part V - Some Sensitivity and Benchmarks

As in the Remarks below, we hold off on a full sensitivity analysis for now. However, some basic analysis of sensitivity is in order, and this also records some benchmarks for the data fitting.

When fitting the model to known wind-farm output, the Objective function is simply the sum of squares of the differences of the (normalised) simulated and observed generation values. For the current Tier One data (as above) we examine the value of the objective function: in the absence of both time-of-day (diurnal bias), and time-of-year (seasonal bias) corrections, then in terms of each correction individually (including a look at parameter sensitivity), and finally with both corrections in the form we are proceeding with.

The parameters examined below are:
Sm is the magnitude of the seasonal correction [default 0.1] (see #34)
Sp is the phase of the seasonal correction [default 30]
Dm is the magnitude of the diurnal correction [default 7] (see #33)

  Case              #1      #2     #3     #4      #5     #6     #7
 ---------------------------------------------------------------------

  No corrections:  472    1235   1013    876    1478    566     397

  Just season:     415    1139    906    795    1449    526     397
   Sm @ 0.05       431    1176    949    825    1457    536     386
   Sm @ 0.15       425    1115    878    778    1452    531     433
   Sp  +60         466    1215    990    863    1445    570     440
   Sp  -60         465    1187    949    828    1502    547     397

  Just Diurnal:    420    1244    919    809    1677    579     405
   Dm -> 3         438    1234    966    841    1566    565     399
   Dm -> 5         425    1238    939    822    1622    570     401
   Dm -> 9         421    1252    905    799    1729    591     409

  Both:            353    1141    806    723    1646    534     405

For our reference case, the final Objective value of 353 corresponds to ~1 unit per day, which for 48 time points (ignoring any missing data) is ~0.02 per data point average for the squared difference, which gives a blunt average of 14% difference between the simulation and the known wind farm output. In contrast, case #4 works through to blunt average difference of 20%.

SO, we see:
#1. All good
#2. Seasonal correction good (prefer stronger correction); diurnal correction mildly unhelpful
#3. Seasonal correction good (prefer stronger correction); diurnal correction good
#4. Seasonal correction good (prefer stronger correction); diurnal correction good
#5. Seasonal correction flat; diurnal correction bad
#6. Seasonal correction good; diurnal correction unhelpful / untuned
#7. Seasonal correction flat (prefer weaker correction); diurnal correction mildly unhelpful

For #5, the Ben Nevis BoM station ... been here before. The station is ~20km to NNW of the Challicum Hills Wind Farm, and at ~865m altitude appears to be the high point of the region (compared to ~450m for the WF). BUT, this BoM station is in the forest, and surrounded by trees to 10m.


REMARKS

We have developed here a Wind Power Curve (WPC) model that transforms BoM wind speed data into simulated wind farm output. This method does not assess how suitable the vicinity of the BoM station really is for a wind farm, but rather takes the variability information in the wind-speed data, along with an imposed capacity factor, and transforms this into a time series of simulated output in a way that is consistent with real wind farms.

The transformation process has two parts. First we apply time-of-day and time-of-year adjustments to the wind-speed data; second we apply the WPC to this adjusted wind speed data, using a single 'stretching' parameter (Wt) in order to achieve the specified capacity factor.

In establishing this procedure we examined cases where output from existing wind farms could be compared with simulated data based on nearby BoM wind speed measurements. The goodness-of-fit, measured as a sum of squares of differences, gives values that are not as low as we might like. A case in point is the reference (#1) discussed above, where the objective value of 353 breaks down to give a blunt average of 14% difference between simulated and observed wind farm output. In contrast, physical inspection of the traces shows a very reasonable correspondence.

The sum of squares of differences approach may be acting in a deficient way as these traces undergo some steep transitions, and so small 'horizontal' shifts can give large differences in the 'vertical' positioning of the simulated and observed data. A better approach may be to quantify 'difference' as the area between the two traces around each data point. There are also questions about time resolution that it would be ideal to explore: e.g. how does model performance change for hourly compared to half hourly data? And, can we usefully use three hourly data?

Now, however, we proceed first into testbed analysis on simulating Eyre Peninsula wind farms, and then onto examining spatial smoothing of wind power at a national level (The Broome to Cooktown Challenge). Developing the analysis pipeline in this way allows us to establish specifically what end point 'answers' need confidence intervals, at which point we can proceed here again with a clear direction and purpose.


Finally, it is to be noted that the work here involved substantive contributions for an anonymous commenter 'dashpool'; kudos and thanks to dashpool for engaging in the Open Science aspect - and helping provide a good example of how valuable contributions from individuals outside the core OzEA group can be in developing the work.


DISCUSSION: (on reconciliation of BoM wind data with WF output)


2

OzEA_AWBW0002

John Morgan
Subject: Plots
Date: 2010-05-21 (at 20:48:35)


Hard to tell what sort of correspondence we're really seeing in each case for the time series - what about just plotting power vs wind speed from the data set for each site?

4

OzEA_AWBW0004

Neil Howes
Subject: variability of sites
Date: 2010-06-07 (at 10:54:38)


I think we have 2 separate issues;
1) the variability between sites located close together. This minute by minute variation will be evened out with many more sites so not very important. When large high pressure systems( low wind) are over regions all sites will be very low output but variable. When high wind systems over a region most sites will be producing at >75% capacity and some may be shut down.Actual output at individual farms may not matter because load shedding may be operating keeping output to say <85% capacity.

2) the variation between distant geographic regions is much more important and the BoM data should be valuable to see how low and high wind events correlate across say from Head of Bight to Broken Hill or Coonawarra. You may be able to just compare wind data above the threashold value, or periods when wind speed would give>85% capacity.
Would it be possible to get output of some of those small turbines located at some of the remote sites(for example head of bight).?

5

OzEA_AWBW0005

dashpool
Subject: Diurnal variation, wind shear
Date: 2010-08-26 (at 06:17:01)


I tried a simple wind power curve roughly derived from matching the statistics of the Yambuck wind farm to the Portland wind data. The
idea was to get the histogram of predicted and actual output to have the same shape.

Here 'ws' is the normalised wind speed w/w0

if (ws<0.35)
p=0;
elseif(ws<1.0)
p=0.8*((ws-0.35)/0.65);
elseif(ws<2.5)
p=1-0.2*((ws-1.75)/0.75)^2;
else
p=0.0;
end

The normalisation factor w0 is fitted by choosing the capacity factor
to a specified value.

Looking at the Edithburgh wind data versus WPWF output using this power curve, the normalised correlation is very good (0.8).

However, the diurnal variation curve matches rather poorly: the model predicts much less power at night, but the actual average output is about the same at night.

Averaging across all the wind farms with this model gives power at night minimum half of the power at day maximum, very large diurnal power generation variation.

The problem seems to be that wind shear (change in wind speed with height) is very different during the day and night, so that the hub height wind speed cannot be easily predicted using the near-ground level weather station. see http://www.gl-garradhassan.com/assets/technical/Effects_of_complex_wind_regimes_on_turbine_performance_14May09_final.pdf

Anyway, getting the diurnal cycle right is definitely going to be important if you want to quantify correlation between wind farms, because all of them obviously see the same day/night cycle.

6

OzEA_AWBW0006

dashpool
Subject: figures for diurnal variation, overall 5 stations result
Date: 2010-08-29 (at 03:38:41)


The power curve I used was roughly based on typical turbine power curves, with zero power below a cut in speed, fairly rapid increase up to a plateau, and a cut out ~8 times higher that cut in at high speeds.

Because the wind varies somewhat over a half hour with gusts and so on, and the various turbines experience somewhat different winds, the actual power curve for the wind farm won't be exactly the single-turbine constant wind power curve. The 'curve' on the plateau is necessary to match the real data reasonably well, otherwise the modelled wind farm spends too much time at exactly full power compared to the real farm.

power curve

It may be more straightforward to justify just using the usual manufacturers power curve: I have tried a couple of different power curves, and the results averaged over several farms aren't too sensitive to the choice of models.

The diurnal power curves for the 5 wind farms, versus the modelled wind farms, with capacity factor of 0.3 assumed for the modelled farms:

diurnal model
diurnal actual

There is a strong tendency for the model to overestimate diurnal variation. I haven't been very successful trying to correct for this with a location independent curve. Getting the real wind shear information may be necessary.

The average power of the real and modelled wind farms has a similar distribution:
power out histogram
which is reassuring (the five farms were all normalised to 100MW to avoid the larger farms dominating the mean).

It seems like it would be useful to extend this to all the wind farms where we have nearby data (beyond SA), because this would be a strong verification that we can get reasonable statistical information about the total power of the wind farm network. Getting the distribution correct would be enough for most purposes, but it would be good to get the time variation correct to look at storage and ramping of thermal plant.

8

OzEA_AWBW0008

francis
Subject: Power Curve exploration; Edithburgh BoM station and Wattle Point Wind Farm
Date: 2010-09-09 (at 22:28:33)


Following on from dashpool above, I'm having an exploratory go at transforming the Wind Speed data from Edithburgh BoM station into Wind Farm output, using Wattle Point Wind Farm (2009) as the reference. The wind speeds distribute - as shown - in a way that I now recognise as typical for these data, with a tail up to ~15 m/s. Have 2009 data (354 days up to 20th Dec), at 30 min, for BoM wind speed and WPWF output (16992 points).

wind speed distribution

Trying to make a scatter plot of the correspondence between BoM Wind and WPWF output is hopeless - to much data and too much spread in the data. So, have binned according to wind speed, and plotted as:

power curve

Up to around 9 m/s the bins are 1000+ data points each; the next two bins are ~250 data points each, and the final 4 higher speed bins have 130 data points each. These smaller bins at the end allow a look at what happens here. The blue bars show simply calculated means with +/- std error bars. The distributions are not normal, so I've also plotted the medians (black crosses).

To get a power curve (red) I decided to follow the medians; I also decided it should top out at 1 (i.e. full power). This is an exploration -- the curve is just a curve that I reckon worth trying out.

SO, with this power curve it was straightforward to transform the wind data into simulated Wind Farm output. Plotting this and comparing to the actual WPWF gives what appears to be surprisingly good correspondence (looking in ~20 day chunks). I also converted to total daily output and again visually compared (overlaid) with the reference data -- some differences, but overall it looked good. To look more quantitatively at the differences between simulated and reference, I considered the individual differences ('residuals' if you like), and these are shown below for the 30 minute data, and also summed into 3 hr blocks and 24 hr blocks.

differences histogram

We see that some of the differences are large (up to around one half of the full capacity), and that overall the simulated data is underestimating the power output. Following dashpool's lead I looked at the differences in terms of the time of day, as follows:

differences, diurnal trend

[14 Nov 2010] As in #30 below, it turns out that above plot is in error. There is a strong diurnal bias, but what is shown here is the seasonal bias.

A clear diurnal pattern is observed. Here I was more inclined to follow the means (red curve), although this is just a curve for looking at. Note that this diurnal pattern is close to a sinusoid with a peak at 3am and maximal average underestimation of power at 3pm (AEST).

Also, I had a look at how the differences behaved in relation the BoM Wind Speed:

differences by wind speed

Again the spreads are large and the distributions far from normal. It is interesting that the medians are not so bad, but the means show a clear underestimation of power at the lower and mid-level Wind Speeds, with overestimation at the high end. It seems that in setting up the power curve it might have been better to have followed the means, and perhaps held the curve down a little at the high end.

For now I'm happy to sit and muse on this. It could be useful to develop and apply a moderately complex model, including the use of random components drawn from appropriate distributions, in order to more closely simulate the Wind Farm output. However, I'm more inclined to stick with a power curve for now. I'd like to understand the basis of the diurnal behaviour before getting too gung-ho incorporating it. I think the big question now is whether a single power curve can usefully be applied to data from disparate BoM stations.

9

OzEA_AWBW0009

Alex
Subject: BoM station selection for new wind farm data
Date: 2010-09-15 (at 12:22:47)


The new wind farms require corresponding BoM stations. All available BoM sites have been assessed, with the chosen sites showing the least inhibiting geography (as perceived in Google Earth) to measure wind flow. The following selections have been made.

NEW FOR WIND FARMS
-Canunda Wind Farm
BoM 26091 COONAWARRA
BoM 26021 MT GAMBIER AIRPORT

-Capital Wind Farm
BoM 70014 CANBERRA AIRPORT
BoM 69132 BRAIDWOOD RACECOURSE AWS

-Challicum Hills Wind Farm
BoM 79101 BEN NEVIS
BoM 89085 ARARAT PRISON (Non-AWS)

-Waubra Wind Farm
BoM 89002 BALLARAT AERODROME

-Woolnorth Wind Farm
BoM 91245 CAPE GRIM BAPS

-Cullerin Range Wind Farm
BoM 70330 GOULBURN AIRPORT AWS
BoM 70263 GOULBURN TAFE (Non-AWS)

-Portland/Yambuk Wind Farm
BoM 90175 PORT FAIRY AWS

10

OzEA_AWBW0010

dashpool
Subject: More comparisons, correlations.
Date: 2010-09-18 (at 23:42:27)


I extended the histogram analysis to the 9 wind farms where the 2009 data looks stationary (WPWF STARHLWF MTMILLAR CATHROCK LKBONNY1 WOOLNTH1 YAMBUKWF CHALLHWF CNUNDAWF), by simulating model wind farms at the 40 weather stations, and pairing the actual wind farms with the model farm with the highest correlation.

This produces some surprises: e.g., 'CAPE JAFFA' gives better correlation with LKBONNY1 than 'MOUNT GAMBIER AERO'.

It would be helpful to have 2010 data for the weather stations, and the latest AEMO data to do this for the full set of wind farms.

I am sticking with a fixed capacity factor for the modelled farms (0.3): I think trying to directly calculate it from the weather station data is problematic, given how sensitive average power at hub height is going to be to mean wind speeds.

Again, the power histograms are very similar for the modelled and actual wind farms, which is a hopeful sign. This distribution is a little tighter with these extra wind farms.

pout_hist

Another important feature of the real wind farms that we wish to reproduce is the correlation between farms as a function of distance.

correlation_vs_distance

Here we see that the modelled and actual wind farms show a similar pattern of decorrelation with increasing distance: beyond about 1000km separation the correlation is effectively zero. For this case I used all the wind farms, with the last 270 days of the AEMO data (where all the wind farm data looks OK).

All of this together suggests to me that we can get a pretty good idea of the power output distribution of the proposed set of turbines using a simple power curve analysis, and a guess at the likely capacity factors. I show the power output for equal sized wind farms at each of the weather stations:

pout 40

But some things are not so straightforward: i.e. diurnal cycle.

12

OzEA_AWBW0012

Francis
Subject: General form of the OzEA power curve
Date: 2010-11-01 (at 20:28:39)


[Will be posting here every day until our Power Curve approach is sorted out.]

Analysis will continue to focus on the Edithburgh BoM station wind data and Wattle Point Wind Farm pair (see comment #8 above); in this case the wind as seen by the BoM station is a good proxy for that seen by the wind farm. This is not the case with all of the pairings. To demonstrate, consider the pair STARHLWF (Starfish Hill Wind Farm) and the wind speed data from our associated BoM station (Second Valley Forest AWS):



[14 Nov 2010] As in #30 below, it turns out that right panel above is in error. There is a strong diurnal bias, but what is shown here is the seasonal bias.

In the left panel the red 'power curve' is simply a curve that I have constructed 'by eye' to follow the mean values (blue crosses); that the wind data is not a good proxy for the wind farm is apparent from the 'power curve' topping out at around 0.6 (should be 1.0). Note, however, that even with this crappy correspondence, and having continued the analysis as in #8 above, the diurnal bias is again clearly seen in right panel.

Before proceeding to give the general form of the power curve that we will proceed with, there is an important distinction to make clear: a "power curve" as might be given by a wind turbine manufacturer describes the instantaneous power output that can be expected from that turbine when presented with a given wind speed, whereas we are working to produce quite a different 'power curve'. In our case the wind speed data is different in two distinct ways: it is a proxy in space for what a nearby turbine might see (for starters, BoM wind speed is at 10m compared to a typical hub hight of perhaps 80m); it is also a proxy in time representing an average over half or one hour. We seek a 'power curve' that does a good job at estimating wind farm power output based on sampled wind speed data.

A Power Curve General Form
After some consideration, and building on comment #6, I am adopting the following form:



Note that mostly the wind speed sits in the left half of this power curve.

The curve has five sections, with the first and last (red) being zero up to a cut-in (starting) wind speed, W_s, and after a cut-out speed, W_e. The second section (green) is a rising cubic, motivated by the fact that energy density in wind goes with the cube of the wind speed. The middle section (magenta) exists above a threshold P_t (which is held at 0.8 of full power for now) and model as a quadratic forced to join the previous curve at X2 and have its maximum at X3 (corresponding to wind speed W_m). Note that without such a curve the power estimate would spend too much time at full power. Finally, a gradual application of the cutout (cyan section) is provided via a liner drop from X4 (defined symmetrically from X3 and X2) to zero power at wind speed W_e.

So, given the functional forms as above, the power curve is defined by the parameters Pt, Ws, Wt, Wm and We. To simplify matters we proceed by focusing on W_m alone (but will examine the others later): we set Pt = 0.8 (as noted above); we set Ws = 1/5 Wm; we set Wt = 3/4 Wm; and we set We = 8/7 x_4 = 8/7 (2Wm - Wt). It is this parameterisation that is shown in the figure above.

We set Wm, for given wind data (i.e. a given BoM station), so as to give a desired capacity factor. For now we work with Capacity Factor at 35%. Applying this to the Wattle Point Wind Farm gives:



The analysis has two solutions for a 35% capacity factor: W_m ~ 10.5 and W_m ~ 4. The latter solution is non-physical (or at least non-sensical), corresponding to a Wind Farm that gives its maximum output at low wind speeds. Similarly, it would be wrong-headed to read this analysis as suggesting that capacity factors of 0.6 are possible (other than perversely; i.e. by choking the turbine at the higher wind speeds so as to convert, for example, a 2 MW turbine with a CF of 35% into a 0.2 MW turbine with a CF of 60%).

more tomorrow...

13

OzEA_AWBW0013

francis
Subject: Power curve estimation by model fitting
Date: 2010-11-03 (at 00:57:16)


Following on from #12, the job today has been to use a modelling approach to parameterise The General Curve (all 5 parameters) by 'fitting' to data (more details below). I take the Edithburgh BoM station wind data along with the Wattle Point Wind Farm generation data, and also an initial guess at the power curve parameterisation, and use the differences between the modelled and actual wind farm output to construct an Objective Function (simply summing the squares of these difference for now). After scripting up a little Matlab machinery [available on request] to wrap around the 'fminsearch' function, the fitting converges to give:



Note that the highest value in this wind data is 17.5 m/s, and so the 'cutoff' section of the model fit is meaningless / irrelevant. The bulk of the wind data exists below 10 m/s. The values of the model fit are: Pt = 0.31, Ws = 0.003, Wt = 5.66, Wm = 14.25, We = 28.8

Some more details
The model fitting proceeds as follows:
1. Take the associated wind speed and wind farm output data; normalise the output data (in this case divide by 91 MW); set up the data as two rows in a table (16992 long in this case); remove all columns that include a missing data value.
2. Parameterise an initial guess at the power curve (shown above in figure); transform parameters into a suitable form for the model fitting, which here means taking logs to enforce the zero-lower-limit (after first enforcing that Wt > Ws (etc) by subtraction).
3. Set up the objective function: this takes the current power curve, the wind speed data, and the wind farm output data; the first of which is applied to the second in order to get the simulated estimate of output, which is then subtracted from the actual output data to get differences. The differences are squared and summed to give the value of the Objective Function.
4. With appropriate tolerances, set fminsearch running on the problem.

In this case the search converged easily, and a little experimentation with the initial guess convinced me this is the solution we want (aside from the cutoff section of the curve flapping around in a data free zone on the right).


How good is it?
As for #8 above we look at the differences and the diurnal pattern:



The differences are more centred than previously (which is not unexpected given the use of medians in the preliminary look given in #8), otherwise there is no obvious change. And for the diurnal bias, we again see the same pattern.

[14 Nov 2010] As in #30 below, it turns out that above right panel is in error. There is a strong diurnal bias, but what is shown here is the seasonal bias.

What the diurnal plot also indicates is that the +/- 1 SD for the differences span around 30% of the power output range, and across the various time points this exists from around -30% to +20%. Correcting for the diurnal pattern would go some way to pulling in the extremes, especially at the -30 end.

Concluding Remarks
We how have a rational and well defined method for estimating a power curve for cases where we have both wind farm output data and wind speed data that is a reasonable proxy for what the wind turbines see. The individual 30min timepoint estimates remain rough around the edges; the diurnal bias is the obvious starting point for obtaining improvement.

However, will sign off here for today. Tomorrow I expect to go back to data, and see about getting the BoM pairing data for all 13 of the Wind Farms neat and tidy and ready for ensemble power curve analysis.

15

OzEA_AWBW0015

dashpool
Subject: Comments on power curves
Date: 2010-11-03 (at 03:02:52)


That all looks sensible: I had missed the part about the second solution at fixed capacity factor, because I had restricted w_m to be greater than the mean wind speed.

It would be good to plot a 'manufacturers power curve' on top to demonstrate that we have a physical justification for the choice of function and that it isn't just the result of blind fitting.

I think that it would be good to show that the combined generation result (for multiple modelled wind farms) is not too sensitive to the choice of the power curve. This should help demonstrate that the assumptions we need to make are not too critical.

35% capacity factor is reasonable, but not conservative. In the final analysis, a sensitivity scan would be crucial.

In general, we expect that even relatively poor prediction of actual individual wind farm output should give reasonably good reproduction of ensemble wind farm output, as long as the statistical properties like averages, standard deviation, and farm-to-farm correlation are the same. I think the issue with diurnal variation is important, because it is systematic across wind farms and won't disappear when an ensemble of farms is considered.

If we fix a certain capacity factor, we essentially impose a particular overall variability on the time series output. I am worried that having an artificially high day-to-night variation will also lead to an artificially small variation on longer time periods.

At the moment I am using a wind shear correction factor, K(t), which varies cyclically according to the time of day, based on measured wind shear data (various papers which I will list later). At the moment my correction procedure is to scale all winds by (1 + a K(t)), with 'a' fitted to give the correct ensemble diurnal trend over the 9 wind farms I considered.

This gives a better ensemble match, but the true correction is clearly strongly dependent on location, so this is not really a case where calibration and then verification can be straightforwardly used to justify the analysis. Nevertheless, because there is a physical reason to expect a diurnal wind shear variation, given previous studies, applying this form of correction seems reasonable. The assumption is that the diurnal wind shear variation is similar in places where we don't have a wind farm to calibrate against.

16

OzEA_AWBW0016

francis
Subject: fc status
Date: 2010-11-04 (at 02:17:45)


Reporting in because I said I would, but still in the middle of the next step. Have the wind data processed for the 13 BoM stations being considered (and for which we have data) as pairs for the 13 Wind Farms for which we have output data. But, need some more thinking time to shake down intelligently onto the site. Also spent a chunk of the day on the Price Data. Goodnight. More tomorrow.

17

OzEA_AWBW0017

francis
Subject: wind data for pairings
Date: 2010-11-05 (at 00:04:33)


The wind data for pairing with all 13 of the Wind Farms under consideration is now posted here .

18

OzEA_AWBW0018

francis
Subject: Some preliminary analysis of the power curve model for seven Wind Farm / BoM Wind Speed Data pairs
Date: 2010-11-06 (at 20:14:25)


Some preliminary analysis of the power curve model for seven Wind Farm / BoM Wind Speed Data pairs.

Have fitted the Power Curve Model as in #18 to the following data:

Wind Farm BoM Station
A. WPWF BoM 22046 EDITHBURGH
B. STARHLWF BoM 23875 SECOND VALLEY FOREST AWS
C. CNUNDAWF BoM 26021 MT GAMBIER AIRPORT
D. LKBONNY1 BoM 26021 MT GAMBIER AIRPORT
E. CHALLHWF BoM 79 101 BEN NEVIS
F. YAMBUKWF BoM 90175 PORT FAIRY AWS
G. WOOLNTH1 BoM 91245 CAPE GRIM BAPS


And get the following fits:

Obj. Pt Ws Wt Wm We CF obs. CF mod.
A. 514.8976 0.3041 0.0780 5.6677 14.3156 23.7486 0.3361 0.3307
B. 1034 0.5011 0.0188 6.3864 big big 0.2959 0.2533
C. 826. 9342 0.0882 0.0000 2.4762 19.5432 54.8557 0.2949 0.2887
D. 701.5299 0.0774 0.0000 2.4967 22.3476 113.7592 0.2593 0.2541
E. 943.7424 0.2728 0.1043 3.7328 38.2592 73.1930 0.2990 0.2953
F. 462.6351 0.1050 0.0000 3.4541 23.0798 52.7411 0.2773 0.2760
G. 398.9159 0.4638 0.2975 9.9817 26.9763 55.7840 0.3988 0.4005


The following plot pairs show (left) the modelled Wind Power Curve along with the data, and (right) the Power Output distribution for the actual Wind Farm as compared with that estimated from the wind data using the modelled Wind Power Curve.

















There are lots of observations and comments that can be made here, but for now this is just a progress report. More as it happens.

Notes:
* The 2009 reference period has turned out to be problematic as some of the Wind Farm data only kicks in from July 2009. Will treat these cases separately later.
* The Capacity Factors (observed and modelled) match up surprisingly well - there is no constraint applied here.

19

OzEA_AWBW0019

dashpool
Subject: goodness of fit
Date: 2010-11-08 (at 19:12:43)


It is reassuring that the capacity factors from the fitted data reproduce those in the actual data, but I think this is just evidence that the fitting algorithm is working, rather than that you have accurately captured the variation in the power output. Even if your 'fit function' was a straight horizontal line you should get the capacity factor to agree.

Goodness of fit like chi-squared is probably a useful check.

In general, there is a certain amount of variation not captured by a fitted function. The modelled power output from these fits will therefore systematically have lower variability than the wind farm data. One manifestation of this is that the modelled wind farms tend to spend too little time near full power. It would be good to calculate the standard deviations to see how big this effect is.

Since overall variability is in fact the thing we want to calculate, it is problematic if we systematically underestimate it. My approach was to modify the shape of the power curve to give the right shape of the histogram (which also ensures that the standard deviation/skewness is the same), and capacity factor. This will have worse chi-squared correlation than a direct fit, but gets a better match to statistical properties.

Where were you thinking of going with the fitted power curves? It would be good to only use some (say half) of the data to establish a power curve, because then you can use the rest of the data to verify that the choice was reasonable.

20

OzEA_AWBW0020

francis
Subject: Re #19: goodness of fit
Date: 2010-11-08 (at 19:52:32)


I agree that the matching Capacity Factors are more about the fitting capturing average behaviour. Indeed, there are live issues here with the variability.

What matters right now is moving on with something reasonable. I've been working to simplify the parameterisation of the model (in part because I want to add extra parameters to capture diurnal bias). In brief I am (i) removing the parameter W_e (see #12 above) as there is not much data informing this, and the falling parabola can take on the job of acting as a cut-off; and (ii) seeking to enforce (C1) continuity between the cubic and the parabola at the transition point (W_t, P_t) - the idea here is to stiffen the placement of the high-power-plateau and do away with W_t as a parameter (maybe fix P_t at 1/2 or 1/3 as well). This latter task has landed me with a nasty cubic to solve, and I'm reconsidering my algebra now, looking for a mistake / easier path.

From looking at the fits (#18) it is apparent that the imperfect correspondence between the BoM wind speed and the WF output acts to squeeze out the variability, as you note. What will matter most in our analysis is the low end, and so I am focusing on this (and not worrying so much about the high end, although I think the new power curve model may well help here also).

22

OzEA_AWBW0022

dashpool
Subject: power curves
Date: 2010-11-09 (at 02:38:25)


I agree that getting something reasonable to work with is a priority. There are a pretty broad range of power curves which give reasonable distribution shapes and decent correlation with the wind farm data for the 'good' sites.

I think that losing variability is inherent to the method of directly fitting a power curve to the data, so playing around with the form of the fitting function won't fix the problem completely, although getting the peak more constrained might go in the right direction.

In my opinion the trade-off is between getting a good fit (high chi-squared) and matching the statistical properties of the power distribution. In some sense, there are variables we can't measure (e.g. wind shear and gustiness), which cause a variation in the power output; to be really systematic, we could assume power is a function of wind speed plus some random unknown variable, which may or may not be spatially correlated. Fiddling around with the power curve to match the statistics (which is the way I was working) is a sort of simplified second-best approach.

From a mathematical point of view, what we really want is to know the distribution of the power generation, Y of a set of wind farms Y_i. The mean and standard deviation of Y can be found given the means and standard deviations of Y_i, and correlations . So my idea was that if I could get the standard deviation right, and show that the drop-off in correlation with distance was good, then that is enough to get a good idea of the variation. That is why I've been focusing on the statistical properties of the distribution.

23

OzEA_AWBW0023

francis
Subject: a step forward on the Wind Power Curve model
Date: 2010-11-09 (at 03:51:37)


Following on from #18 above, here I first simplify the power curve (see #12), and then for comparision redo the data analysis and plots from #18 above.

Have set Ws to zero (now rely on the cubic to provide the initial dead response), and have set Pt at 0.4 (after some experimentation, and in order to provide the desired 'stiffness'). Also, the parameters Wt and Wm are now degenerate due to fixing the cubic and the parabola to be C1 continuous at the join point (i.e. x=Wt, y=Pt). What this all means is that the Wind Power Curve is for now defined and fitted using one parameter, Pt.

Also, the discreteness of the BoM wind speed data (mostly 0.5 increments) was making analysis difficult. Since this discreetness means that a data value of x readily translates to x +/- 0.2, I add a small random component to this wind data (0.15 * randn) before applying the power curve. Also, for further smoothing, the resultant generation values are similarly perturbed at the 1% level before plotting the power curves below. None-the-less, I remain suspicious that the kernel density filter used to make these curves, from the observed and estimated generation data, may be mucking up a little in the first part (but these curves are much easier to examine and compare than histograms).

In #18 I gave the observed and modelled Capacity Factors, and - as since discussed - these are not so meaningful in this context. However... in what follows the CFs are not given, and do not match as nicely as did above (the modelled CFs are low - this will make more sense shortly). In what follows, instead of the CFs, I give a more direct measure of the low end; given is the percentage of the time that power output is less that 5% and less than 10% of capacity, for comparison between the actual Wind Farm data, and that estimated from the wind speed using the power curve. In most cases the Wind Power Curve is over-estimating the amount of time that output is very low. Note that this will (at least somewhat) resolve when we stop fitting the wind speed against the wind farm data, and simply apply the Wind Power Curve (WPC) model to wind speed data, as at the end of #12 above (but this is two steps away from here - still to include a correction for the diurnal bias).

So, here is the re-analysis (of #18) using the current simplified WPC model:

Using the same seven pairings as in #18 above:

Wind Farm BoM Station
A. WPWF BoM 22046 EDITHBURGH
B. STARHLWF BoM 23875 SECOND VALLEY FOREST AWS
C. CNUNDAWF BoM 26021 MT GAMBIER AIRPORT
D. LKBONNY1 BoM 26021 MT GAMBIER AIRPORT
E. CHALLHWF BoM 79 101 BEN NEVIS
F. YAMBUKWF BoM 90175 PORT FAIRY AWS
G. WOOLNTH1 BoM 91245 CAPE GRIM BAPS


Get the following fits:

Obj. Wt Wm gen<5% mod<5% gen<10% mod<10%
A. 520.3 6.4 12.9 20.5 13.4 30.8 26.2
B. 1180.7 6.9 13.7 25.4 27.9 35.7 42.0
C. 980.8 6.1 12.3 26.1 29.1 36.5 44.0
D. 837.5 6.6 13.3 27.5 33.7 38.8 49.6
E. 1413.8 7.0 14.1 22.0 28.4 32.3 44.6
F. 577.6 7.2 14.4 21.4 24.5 32.9 41.2
G. 418.8 10.1 20.1 16.4 14.4 24.0 23.3


As shown in the following plot pairs: (left) the modelled Wind Power Curve along with the data, and (right) the Power Output distribution for the actual Wind Farm as compared with that estimated from the wind data using the modelled Wind Power Curve.
















Next we look at a correction for the diurnal bias - as suggested by dashpool.

24

OzEA_AWBW0024

dashpool
Subject: power curves
Date: 2010-11-09 (at 20:47:56)


OK, the curves in #23 look like more physically reasonable than in #18. The histograms are definitely much closer to the actual wind farm data too. The best matches with the histograms occur for the edithburgh data, where the scatter is smallest. I would be happy to use this curve as a basis for further analysis.

Just to be clear: Am I correct that what you are doing in #23 is to fit a power curve to the wind data with a single parameter (Wm is 2*Wt), which is a characteristic wind speed which scales the curve along the x-direction?

It makes sense that the fitted capacity factor for these curves is a bit low: for many of the cases there is substantial wind power at low speeds which cannot be matched well by the fitted curve, so the fit is mostly constrained by the moderate-to-strong wind speed data. The result is that the modelled turbine output underestimates the total power slightly, and there is too little power below 0.2 times maximum output.

Interesting that WOOLNTH1 is an outlier (Wm=10.1, c.f. 6.8 for other farms). It is an outlier in terms of diurnal variation too. Perhaps this is because of the nearby cliff over the ocean which breaks up the airflow and reduces wind shear: this means that instabilities driven by the warm ground during the day do not change the wind shear much at this location and give a diurnal signal.

Do you intend to fix a constant Wm for further analysis, or to fix the capacity factor of the modeled find farms?

How much different do things look it you turn off the bilateral filter and the random terms? I see the point of removing the unphysical quantisation, but it is a bit ad-hoc, so it would be good to show that these adjustments don't change the results too much. In the end adding up all the wind farms should smooth things out in any case.

25

OzEA_AWBW0025

francis
Subject: Re #24
Date: 2010-11-09 (at 21:40:28)


Just to be clear: Am I correct that what you are doing in #23 is to fit a power curve to the wind data with a single parameter (Wm is 2*Wt), which is a characteristic wind speed which scales the curve along the x-direction?

Yes, just fitting to the single parameter Wt in #23 above (but note that new parameters will soon be added for examination of the diurnal bias). That Wm comes out at 2*Wt is a nice coincidence, but this will change if the parameter Pt changes from the current value of 0.4

Do you intend to fix a constant Wm for further analysis, or to fix the capacity factor of the modeled find farms?

Good question. The plan is to start by selecting Wm (actually Wt) to achieve a desired capacity factor, but... I expect a hybrid approach will develop, as we deal with two realities: (i) the BoM wind speed data are very much a proxy for the variability more than a robust indicator of wind speed as seen at the turbine when positioned by a competent wind farm planner (i.e. BoM stations are often located at somewhat protected airports; Wind turbines are located on windy ridges); and (2) allowing a weak wind speed signal to transform into a virtual wind farm with a 35% capacity factor runs the risk of introducing unreal wind power estimates into the work. Certainly, on the basis of what we are seeing here, it makes sense to constrain Wm to be at least, 10 or 12 (the constraint on Wm will translate into one on Wt, but the relationship between these can change if we change Pt or reintroduce Ws).


How much different do things look it you turn off the bilateral filter and the random terms? I see the point of removing the unphysical quantisation, but it is a bit ad-hoc, so it would be good to show that these adjustments don't change the results too much. In the end adding up all the wind farms should smooth things out in any case.

These simple randomisations are minor (and not a bilateral filter), and not entirely ad-hoc. They will make no significant difference to the 'final answer', but they do make the data analysis and presentation easier to carry out. Plotting histograms and comparing portions of data below cutoffs in relation to a continuously varying parameter (for example) is nightmarish with the artificial discreteness in place. Maybe at some point it will be necessary to formalise this smoothing, which I expect would allow for heavier smoothing than currently applied, but for now I'm happy to simply proceed as is.

27

OzEA_AWBW0027

dashpool
Subject: randomisation etc.
Date: 2010-11-10 (at 01:33:25)


Just to be clear, I have no objection to adding small random noise to the signal to remove discreteness, and I think it is a very good idea for the reasons you mentioned.

If I understand correctly, the bilateral filter is only used when you are plotting time series data.

I will proceed assuming a uniform capacity factor (35%), for the moment, with the caveat that some sites might not be realistic.

28

OzEA_AWBW0028

Francis
Subject: Sanity check on time correspondence
Date: 2010-11-10 (at 03:45:53)


There are a number of details in relation to "the time", as associated with each of the Wind Speed and Wind Farm output data. While remaining confident that I have successfully transformed all data into AEST, this is none-the-less a good juncture for some sanity checks.

The wind speed data we are using here comes in 30min increments, and is taken as representing a sample at each half hour point; the Wind Farm output data from AEMO comes in 5 minute chunks, and has been down-sampled for this analysis to match the BoM data. This down-sampling simply involved taking, for example, the five minute data values from 3pm to 3:25pm and averaging them to give the down-sampled 3pm value. Clearly this was always rough, and would have been better as 2:45 to 3:10 or such. This involved some data handling semantics that I had previously avoided, but have now scripted up for all time. So, let's give the new machinery a run.

We use the Wind Power Curve (WPC) modelling apparatus, in particular the value of the Objective function, as a convenient mechanism for looking at how well different time shifts compare. Further, we elide the down-sampling and use every sixth generation value instead, to get the best match possible between the wind speed and wind farm output data. We first apply this to the WPWF vs. EDITHBURGH pair (SA), and for shifts from +6 to -6 get the following Objective Fn. values:

618.2, 598.3, 583.6, 569.8, 550.9, 524.0, 495.8, 476.0, 481.7, 502.1, 524.7, 545.9, 564.0

Almost as expected the best correspondence happens at -1 (with the interval +1 to -4 as preferred for down-sampling).

Now, for the WOOLNTH1 vs. CAPE GRIM BAPS pair (TAS), similarly get:

492.4, 484.1, 468.2, 445.6, 431.6, 416.0, 407.4, 409.4, 414.6, 421.7, 432.7, 445.0, 458.4

This time giving the interval +2 to -3 as preferred for down-sampling.

These two pairings are the best so far considered (see #23, #18), perhaps because the BoM stations and the Wind Farms are more-or-less coincident.
What happens with one of the less beautiful cases?
I did the numbers for CHALLHWF vs. BEN NEVIS (VIC), and quickly found that I needed to look at a different range of shifts (+3 to -9):

1441.1, 1440.4, 1433.6, 1432.0, 1424.7, 1422.7, 1422.0, 1419.8, 1414.0, 1411.8, 1409.3, 1413.2, 1417.8

That the minima is at -7 (~30 mins out) at first had me worried that I'd stuffed up the AEST somewhere along the line, but in fact the explanation is simple: the BEN NEVIS BoM station is a good 20km downwind of the Challicum Hills Wind Farm.

SO, overall, the sanity check is passed, and we have learnt a subtlety or two about the time correspondence. While analysis from now on will use the "2:45 to 3:10" interval, these finer details do not prevent us from moving on with the Wind Power Curve Model; what they do do is add layers to the goodness of fit analysis.

29

OzEA_AWBW0029

francis
Subject: uptime
Date: 2010-11-11 (at 03:22:28)


I am unable to upload plots to the server, thus preventing my current comment.
Have recently had someone else note problems with site availability -- any one else?

30

OzEA_AWBW0030

francis
Subject: a dog ate my homework - diurnal bias
Date: 2010-11-12 (at 02:34:50)


Started the day (the day before yesterday) thinking the Diurnal Bias would be easy to sort out.. It's taken a while to unwrap.

It appears that previous plots of diurnal bias (#8, #12, #13) are in error. Second time this year that I've mucked up when turning vectors in matrices. Let's start again, and with WPWF vs Edithburgh BoM station for 2009 as the reference. The two plots below show first the diurnal bias, and second the average bias over the course of the year.





It appears that what I presented before was a seasonal bias (2nd / right panel), which I reckon is derivative to the daily (diurnal) one. And I reckon the diurnal bias has a lot to do with sunshine - and in the future we may look at this explicitly. For now, it is the plot on the left that we focus on. The dashed magenta curve is a shifted and stretched instance of a y = exp( -t^2 ) form, which I'll return to shortly. First, I want to subtract in the wind speed dimension, as in the following 3D surface plot:



looking in from slightly to the left we see an exploded version of the first plot above. While there are some issues showing up at the high end, this is enough for me to be happy (for now) applying a simple time-of-day correction to wind speed. This is done by reducing the wind speed slightly across the bulge, and (for starters) I do this as:

w(t) = w(t).[1 - Dm exp( -((t-Dp)/Ds)2 ) ]

where w(t) is the wind speed for a time of day [0,24), and Dm, Dp and Ds do the stretching and shifting. For example, in the above (dashed magenta) case: Dm ~ 0.15, Dp ~ 13.5, and Ds ~ 4 (plus the other translation and inversion to get the alignment shown).

Using this, again for the WPWF vs Edithburgh 2009 reference case, gives a reduction in the Objective from 471 to 428, which is pleasing. The parameters for this fit come out as:

Pt = 6.13
Dm = 0.107
Dp = 14.7
Ds = 4.9

And looking again at what diurnal bias is left, gives:



It seems obvious enough (to me here and now) that the form chosen above (i.e. y = exp( t^2 ) ) is too 'peaky', and that something much the same basic shape but with a flatter profile would be better. Nothing jumps to mind, but maybe over the next couple of days someone will come up with a better idea. Could ... grind out a synthetic one, but that might muck with empirical. Let's put that game in the bag for ron.

So, we could go on and on with this diurnal (and seasonal) bias - BUT, there can be another time. Probably in January. For now need to bank the insights and get on with the BtCC. I'm backing off for a few days, and will decide later on what the appropriate sign off is here (please express a view), but will default towards simply grinding out what we have.

31

OzEA_AWBW0031

dashpool
Subject: diurnal bias
Date: 2010-11-12 (at 20:24:05)


The magnitude and structure of the diurnal correction you are using seems similar to how I was working. I assumed that the wind shear drops during the day while the sun is shining, roughly proportional to the intensity of light on a horizontal plate. The angle of the sun is just a sinusoidal function of angle, so the correction is something like

w'(t) = w(t) min{1,1 - D_m cos[2 pi (t-D_p)/24]}

At night, there is no correction, and there is a maximum drop at noon.
There are some roughly similar curves in the paper I linked earlier:
http://www.gl-garradhassan.com/assets/technical/Effects_of_complex_wind_regimes_on_turbine_performance_14May09_final.pdf

You can't really estimate D_m directly from the difference between simulated and measured wind farm power, because of the nonlinear process of putting the wind speeds through the power curve. I just hand fitted it, and got a slightly bigger correction D_m~0.15.

I hadn't looked at the seasonal trends.

The diurnal mismatch doesn't seem to make too big a difference to the distribution of total output power from a large set of wind farms, but it is big enough to make a naive analysis of energy storage implausible.

32

OzEA_AWBW0032

francis
Subject: re #31 - diurnal bias
Date: 2010-11-13 (at 13:33:46)


Thanks dashpool, I'm really appreciating your contributions and guidance here. I think a correction function of the form you suggest will be an improvement on my current one.

Don't immediately see that it is wrong to estimate D_m from the model fitting - at least within the rough-and-ready context of a least squares Objective function. And I think when I use your form of correction function the estimated D_m will come up to around 0.15. I'll also stick with a D_s type stretching parameter rather than enforcing the 12 hour rule; what we are seeing is the cumulative effect of each day overlaid, and even though an average day is 12 hr, the biases will not average out quite that way.

I think the net effect here is that we will be largely beating out the diurnal / wind shear bias as an average property, thus usefully correcting the power estimates on sunny days, at the expense of slightly underestimating the power on cloudy days. Some time (not now) it would be very interesting to source data to test this expectation.

We are very close to having a reasonable and defensible Wind Power Curve Model to proceed with - yay!

33

OzEA_AWBW0033

francis
Subject: Diurnal Bias corrected!
Date: 2010-11-16 (at 02:20:12)


The plots showing Diurnal Bias in #30 certainly demonstrate its presence; however, given that our approach to correction is through adjustments to the wind speed data, what we really need to see is what adjustments to wind speed would give the desired correction (perhaps "because of the nonlinear process of putting the wind speeds through the power curve").

That is, at each data point we have a wind speed value, w(t), which we plug through the Wind Power Curve (WPC) to translate into simulated WF output, S(t), which we compare with the observed WF output, G(t). What is needed is to ask What corrected windspeed, w'(t), would give S(t) = G(t), and then to consider the difference w'(t) - w(t) in our plots (rather than the difference S(t) - G(t) used above). In order to perform this analysis we consider only data points where 0 < w(t) < Wm, thus providing for an inverse function to the WPC (which I call the PWC).

SO, with PWC as the inverse of WPC for w < Wm; just a matter of getting all the scripting details right...and we get the desired view of the diurnal bias in terms of (average) wind speed correction (continuing with WPWF vs Edithburgh BoM station for 2009 as the reference):

diurnal bias in terms of wind speed correction

It turns out to be about the same shape as before, but we can clearly see that an -average- correction to wind speed of ~1 m/s across the diurnal bulge is needed. As before we make a 3D surface plot so that we can get past blunt averages and see if the corrections are preferentially needed at particular wind speeds:

diurnal bias surfc plot, in terms of WS correction

And indeed we see that the correction is preferentially required at the lower wind speeds. The low end of the WPC is clearly sensitive to the time of day, and a BoM wind speed of 4 m/s means something quite different at 1 in the afternoon to 1 in the morning. So, in order to apply this correction, I look at the maximum correction vs. wind speed (i.e. the underneath 'spine' of the 3D plot):

diurnal bias spine magnitude

So, rather than the magnitude of the correction scaling with the wind speed as previously, we do the exact opposite and scale as the inverse of the wind speed. I have also adopted dashpool's truncated cosine form for the time slice, thus arriving at the following form for the correction:

w'(t) = w(t) - Dm/ w(t) * [ max( 0, cos( Ds ( t - Dp ))) ]

And have a starting guess for the parameters in this form as: Dm ~ 6, Ds ~ 0.26, and Dp ~ 13. Proceeding with this as the form and starting parameters for the diurnal correction, obtain a model fit:

Pt = 6.05,
Dm = 8.073,
Dp = 13.8,
Ds = 0.289,
Obj. = 415.96

Does it work?
Using this correction and seeing what is left (as in #30) gives:

Diurnal bias corrected

Which I call a win.
Still a bit to do here with checks against other data etc, but it seems we now have all the bits for the WPC model.

34

OzEA_AWBW0034

francis
Subject: Seasonal Bias
Date: 2010-11-16 (at 22:53:44)


I've been facing down the clock trying to deal with the seasonal bias, and the clock won. Or has it...

Let's proceed first with how this started, and we'll get the minor win by the end.

I was largely on the wrong track in trying to capture the seasonal bias as a tweak to the diurnal bias correction. Didn't really work out. It's time to move on here, although this will tick along and we'll return later. Other things need a first pass - a break here, then a fresh start, will likely help in any case.

So, to recap, we can fit the Wind Power Curve model to a reference case (the Wattle Point WF vs Edithburgh BoM station for 2009), and apply the resultant Wind Power Curve (WPC) back onto the wind data; giving simulated wind farm output, which can be compared against the actual wind farm output in order to look for systematic biases and the general quality of the transformation. Two particular aspects to examine are how the fitting works on average over the course of the day (365 days to average), and then how the the fitting works over the course of the year (broken into 30 chunks of 292 hours = ~12 days each). It is these two aspects that are shown in the first two plots in #30 above: the diurnal bias is clear as a bell, while a systematic seasonal bias exists but is somewhat messy.

Correction for the diurnal bias is described in #33 above. The correction is made predominately at the lower end of the wind speeds, and involves subtracting from the BoM wind speed data during the day to give a 'corrected' value for use in other calculations. We have not thus far worked to explore the physical basis of this diurnal effect; however, some comments can be made. We know that sheer forces at the ground, and up through 'layers' of the air, reduce wind speed close to the ground compared to higher up (and we have the BoM measurements at 10m compared to wind turbine hubs at ~80m). We suppose that the daytime sunshine 'loosens' up these shear forces, probably through simple warming of the lower air 'layers' (thus making them comparatively less viscous), although more complex fluid dynamics are not doubt involved at some level.

Now, the seasonal bias...

My thinking had been that the different lengths of the days through the year, compounded with seasonal sunshine strength, made the diurnal correction so far established something of a blunt instrument. Exploring this, and having the magnitude of the diurnal correction itself vary sinusoidally over the course of the year, did produce a modest improvement in the fit, but did almost nothing to flatten out this systematic seasonal variation.

SO, we put aside the diurnal bias, and look just at the seasonal as a phenomenon in its right. My guess at the physical basis is, as above, temperature. That is, the daily-weekly-monthly average temperature over the year is taken as varying sinusoidally. Some plotting and experimenting indicates that a straight multiplicative correction to the wind speed is appropriate, at least for wind speeds up to ~Wt (~6 m/s here). Since the focus is on the low end, this will do for now. Again, a simple manual parameter examination shows that the sinusoidal correction function wants to peak at the end of January (good!), and have a magnitude of around 0.1 giving a reduction in the Objective function from 471 to 415. The minima is shallow, and any fit in this general vicinity is nearly as good (+/- 30 days on the phase, and 0.06 - 0.15 for the magnitude). Good enough for me, here and now.

Hence, the first correction we make is this adjustment to the wind speed data:

w(t) => w(t)*(1 - 0.1*cos( 2*pi/365*(t/48 - 30) ))

Where in this case t indexes the data in half hour blocks from January 1 (hence t/48). Applying this transformation, the seasonal bias reduces to:

seasonal bias after correction

Comparing this to the uncorrected version in #30, it is clear that the correction is working. What other consequences it might have remain to be established.

Finally, it will be interesting to look at this Seasonal Bias, and its correction, in terms of daily temperature data. Another job for Ron.

35

OzEA_AWBW0035

francis
Subject: Both biases corrected
Date: 2010-11-17 (at 00:27:32)


Back to Diurnal Bias after the correction for Seasonal Bias as in #34 above.

So, with the seasonal correction applied, look again at the diurnal bias (to check it has not been unduly altered), and also test what happens when diurnal correction (as in #33 above) is applied:

Diurnal bias after seasonal correction Diurnal bias left after both corrections

No complaints here.
And the Obj. has now further reduced from 415 to 353.

What I want to check next is that the power distribution (as in #23) continues to match with the generation data:

power comparision after both corrections

Here the known wind farm data has 30.7% of values at less than 10% capacity, compared with 28.4% in the simulated version. Comparison with #23 above is favourable (a minor improvement).


So, that is our basic model for converting BoM wind speed data to simulated wind farm output. Still have to go through examination of other pairings, and otherwise lay out the robustness characteristics a bit more (and do a major rewrite the head post), but I'm out of the loop for at least 24 hr now.

36

OzEA_AWBW0036

dashpool
Subject: diurnal/seasonal correction
Date: 2010-11-17 (at 20:46:15)


These corrections all seem to be working quite well for the WPWF data now.. nice work. I can imagine that you are keen to get on with the real meat of the analysis.

With respect to the diurnal correction vs wind speed, it seems like you have made a good case from the data for a diurnal correction to the wind speed which decreases quite quickly with increasing wind speed. There ought to be some cutoff as you go to zero wind speed (so wind speed is never negative).

I think overall I am happy with a diurnal correction of the form you propose, because it gives a major improvement to the fit, and this kind of diurnal variation has been widely observed.

The time shift of the diurnal variation ought to vary with longitude according to local noon.

There is a risk that the corrections will be good for these sites but not for others. I wonder if the same seasonal corrections would be justified in far north Queensland, for example.

37

OzEA_AWBW0037

francis
Subject: Re #36: diurnal/seasonal correction
Date: 2010-11-17 (at 21:31:22)


Yes, the corrections will depend on longitude, and to some extent this will be straightforward. And with the diurnal correction, I do floor it at zero.

To repeat for the benefit of recent lurkers, it was never the idea that this here will be our final take; there will be further rounds through here as we get the depth of detail right. For now we need to establish breadth. Maybe, as we proceed, others with more knowledge of these biases will check in and have comments to make. We may yet discover that temperature data from the same stations as the wind speed to be the key to more tidy correction. For now there of course remains some comparison with and between the other reference cases, but this can proceed as a side process while we prepare to apply the current methods to the BtCC data.

38

OzEA_AWBW0038

francis
Subject: phase adjustments by longitude for diurnal correction
Date: 2010-12-02 (at 14:20:33)


The diurnal correction has a phase parameter, DCp, which we have set at 13.9 hr for the Edithburgh BoM (vs WPWF) reference case. Here the longitude is 137.74 E. Applying this correction to other BoM stations involves adjusting this phase in terms of the time shift involved: with 24/360 = 0.0667 hr per degree of longitude. Further, along the same lines we could start adjusting DCs in relation to the length of the day (both by latitude and by time-of-year), however, we hold off for now on this further step.

39

OzEA_AWBW0039

dashpool
Subject: Confirmation of head post analysis.
Date: 2010-12-04 (at 01:35:53)


I obtained pairings by finding the weather stations whose
modelled wind farms had the highest correlation to each
real wind farm. The pairings are:

#1 WPWF, EDITHBURGH
#2 STARHLWF, PARAWA (SECOND VALLEY FOREST AWS)
#3 CNUNDAWF, CAPE JAFFA (THE LIMESTONE)
#4 LKBONNY1, CAPE JAFFA (THE LIMESTONE)
#5 CHALLHWF, WARRNAMBOOL AIRPORT NDB
#6 YAMBUKWF, PORTLAND (CASHMORE AIRPORT)
#7 WOOLNTH1, CAPE GRIM BAPS
#8 MTMILLAR, CLEVE AERODROME
#9 CATHROCK, CUMMINS AERO

The power curve described in the head post was used for the model farms. Seasonal corrections and diurnal corrections are applied as before: the only difference is that the diurnal correction was a simple multiplicative correction, of the form min[ 1.05,1+0.15*cos(2*pi*(hour-14)/24.0) ]. The diurnal
correction described in the head post is also tested as
'Head Post Diurnal Correction'.

Capacity factor of 0.35 assumed for each farm: this is higher than actual average capacity factor of these farms.

'Objective function'

Case #1 #2 #3 #4 #5 #6 #7 #8 #9
-------------------------------------------------------------------------------
No corr:
534 1472 886 902 1399 1195 553 1104 1917
'Multiplicative' Diurnal only:
492 1408 812 831 1283 1123 596 938 1694
'Head Post' Diurnal only:
483 1492 877 903 1358 1210 558 1030 1851
Seasonal only:
481 1370 818 860 1358 1203 556 1066 1800
Multiplicative Diurnal+Seasonal:
440 1306 752 795 1261 1136 603 911 1567

Numbers are somewhat different due partly to different pairings. There are some differences even in the uncorrected data though, perhaps due to normalisations or handling of NaNs.

Qualitatively, the multiplicative diurnal correction does better in all but two cases than the 'Head Post' diurnal correction. On average, the multiplicative correction results in a substantial improvement over no correction.

Unsuprisingly, the 'head post' diurnal correction is better for case #1, which is where it was derived.

40

OzEA_AWBW0040

Ben McMillan
Subject: retried with supplied scripts.
Date: 2010-12-13 (at 22:18:31)


I guess I will comment now in non-anonymous mode: previously commenting as dashpool.

So, following on from the previous post where I was using my own scripts and pairings (as an independent check), I tried those provided by Francis, using the data from http://www.oz-energy-analysis.org/data/BoM_wind_data_WFcomp.php .

The only tricky bit was that for the comparison, the individual measured capacity factors of the wind farms appear to have been used to derive the simulated data. I haven't applied the longitude corrections.
Multiplicative Diurnal (Dm=0.15) + seasonal:
355.83 1087.09 749.70 688.37 1527.98 505.63 425.02

Multiplicative diurnal correction is now:
w'(t) = w(t) {1 - Dm * [ max( 0, cos( Ds ( t - Dp ))) ] }
to be close in form to the head post one. I haven't tuned
Ds or Dp yet.

Case #1 #2 #3 #4 #5 #6 #7
No Correction:
472 1238 969 878 1480 568 396

Seasonal Correction only:
415 1143 865 798 1450 528 396

Head Post Diurnal + seasonal:
353 1144 771 727 1647 536 404

**Multiplicative Diurnal (Dm=0.15) + seasonal:
355 1087 749 688 1527 505 425
Multiplicative Diurnal (Dm=0.1) + seasonal:
367 1098 783 720 1497 506 407
Multiplicative Diurnal (Dm=0.25) + seasonal:
362 1081 700 643 1602 525 490

Looking at the sum of the objective value for multiplicative diurnal vs Dm:
0.1, 5382
0.15, 5339
0.2, 5406
So Dm=0.15 is about right.

The head post diurnal correction does not significantly reduce the overall Objective function. The multiplicative one does, though by ~4
percent.

[Show Full Lists]


Post Comment:

A name or alias, email and concise subject are required. Your email will not be abused.
Comments are required to be polite and on topic (commenting etiquette)

Name:*
Email:*
Website:
Subject:*
What is the longhand for 'Oz'? :*



fc - November 2010