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.
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.
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.
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.
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.
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.
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.
Work on diurnal and seasonal biases proceeds from #30.
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]
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.
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 |
John Morgan |
| 4 |
Neil Howes |
| 5 |
dashpool |
| 6 |
dashpool |




| 8 |
francis |





| 9 |
Alex |
| 10 |
dashpool |



| 12 |
Francis |
| |

| 13 |
francis |

| |
| 15 |
dashpool |
| 16 |
francis |
| 17 |
francis |
| 18 |
francis |
| 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 |
| 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 |
| 19 |
dashpool |
| 20 |
francis |
| 22 |
dashpool |
| 23 |
francis |
| 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 |
| 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 |
| 24 |
dashpool |
| 25 |
francis |
| 27 |
dashpool |
| 28 |
Francis |
| 29 |
francis |
| 30 |
francis |

| 31 |
dashpool |
| 32 |
francis |
| 33 |
francis |




| 34 |
francis |

| 35 |
francis |


| 36 |
dashpool |
| 37 |
francis |
| 38 |
francis |
| 39 |
dashpool |
| 40 |
Ben McMillan |
fc - November 2010
Post Comment: