pc {bReeze}R Documentation

Import power curve from file


Imports a power curve from a WAsP 'wgt' file or a WindPower program 'pow' file.


pc(pc, ...)

## Default S3 method:
pc(pc, rho=1.225, rated.p, desc, ...)
## S3 method for class 'read'
pc(pc, ...)
## S3 method for class 'pc'
plot(x, cp=TRUE, ct=TRUE, ...)



list or data.frame of power curve variables – v (wind speed in m/s), p (corresponding power output in kW), cp (power coefficient, optional), ct (thrust coefficient, optional), all as numeric vectors of same length. Or the name of, or the path to a 'wgt' or 'pow' file containing power curve data.


Air density as numeric value. Default is 1.225 kg/m3 according to the International Standard Atmosphere (ISA) at sea level and 15 degrees Celsius.


Rated power of wind turbine in kW as numeric value. If not given, the rated power is set to the maximum value of p.


Plain text information about the wind turbine as string (optional).


Power curve object created by pc.


If TRUE (the default), the power coefficient (cp) is added to the plot (if available).


If TRUE (the default), the thrust coefficient (ct) is added to the plot (if available).


Arguments to be passed to methods. For optional graphical parameters see below.


Power curve

A power curve characterizes the power production of a wind turbine and gives the amount of generated electrical power output as a function of wind speed. The theoretical power curve of a turbine is defined as:

P ~ v^3 for v<v_rated
P = P_rated for v>v_rated

Hence the generated power is proportional to the wind speed cubed, for wind speeds lower than rated wind speed. For higher wind speeds the generated power is equal to the rated power of the turbine.

Conventionally a power curve consists of pairs of wind speed and power in 0.5 or 1 m/s wind speed bins, starting at 0 m/s or the cut-in wind speed of the turbine and ending with the cut-out wind speed, e.g. at about 25 m/s.


The power coefficient cp is defined as:

cp = Pt/P

where Pt is the ratio of the electrical power extracted by the wind turbine and P is the energy available in the wind stream. According to Betz's law, the theoretically achievable power coefficient is approximately 0.59. However, no wind turbine will obtain this value, due to inefficiencies and various losses of the machine.

The thrust coefficient is a turbine specific characteristic and used for the modelling of wake effects. Therefore it is an important parameter for wind farm configuration.

bReeze provides several power curves of common manufacturers, that can be read from the package directory. See examples for usage.

Available 'wtg' files

Nordex_N80_2.5MW Nordex_N90_2.5MW_HS Nordex_N90_2.5MW_LS
Nordex_N100_2.5MW PowerWind_56_900kW PowerWind_90_2.5MW
Vestas_V52_850kW Vestas_V60_850kW Vestas_V80_2.0MW_os
Vestas_V80_2.0MW Vestas_V82_1650kW Vestas_V90_1.8MW
Vestas_V90_2.0MW Vestas_V90_3.0MW Vestas_V100_1.8MW_50Hz
Vestas_V100_1.8MW_60Hz Vestas_V112_3.0MW

Available 'pow' files

Bonus_82.4m_2.3MW Bonus_MKIV_600kW Clipper_LibertyC89_2.5MW
Clipper_LibertyC93_2.5MW Clipper_LibertyC96_2.5MW Clipper_LibertyC100_2.5MW
Enercon_E33_330kW Enercon_E40_500kW Enercon_E44_900kW
Enercon_E48_800kW Enercon_E53_800kW Enercon_E66_1870kW
Enercon_E66_2000kW Enercon_E70_2.3MW Enercon_E82_2.0MW
Enercon_E82_2.3MW Enercon_E82_3.0MW Enercon_E101_3.0MW
Enercon_E126_7.5MW EWT_DW52_500kW EWT_DW54_500kW
EWT_DW90_2MW EWT_DW96_2MW Gamesa_G52_850kW
Gamesa_G58_850kW Gamesa_G80_2.0MW Gamesa_G83_2.0MW
Gamesa_G87_2.0MW Gamesa_G90_2.0MW GE_1.5sl_1.5MW
GE_1.5sle_1.5MW GE_1.5xle_1.5MW GE_1.6MW
GE_2.5xl_2.5MW GE_3.6sl_3.6MW Leitwind_LTW70_1.7MW
Leitwind_LTW70_2.0MW Leitwind_LTW77_1.5MW Leitwind_LTW80_1.5MW
Leitwind_LTW80_1.8MW Leitwind_LTW101_3.0MW Nordex_N60_1.3MW
Nordex_N70_1.5MW Nordex_N90_2.5MW Nordex_N100_2.5MW
Nordex_S70_1.5MW Nordex_S77_1.5MW Nordic_1000_1.0MW
PowerWind_56_500kW Repower_5M_5.0MW Repower_MM82_2.0MW
Repower_MM92_2.0MW Siemens_SWT-2.3MW-93m Siemens_SWT-2.3MW-101m
Siemens_SWT-3.6MW-107m Siemens_SWT-3.6MW-120m Suzlon_S64_1.25MW
Suzlon_S64_950kW Suzlon_S66_1.25MW Suzlon_S88_2.1MW
VensysEnergy_77_1.5MW Vensys_82_1.5MW Vensys_100_2.5MW
Vensys_109_2.5MW Vensys_112_2.5MW Vestas_V27_225kW
Vestas_V39_500kW Vestas_V52_850kW Vestas_V80_2.0MW_os
Vestas_V80_2.0MW Vestas_V82_1.65MW Vestas_V90_2.0MW
Vestas_V90_3.0MW Vestas_V112_3MW Vestas_V164_7.0MW_os


Returns a data frame binding the given data

Optional graphical parameters

The following graphical parameters can optionally be added to customize the plot:


All power curves are provided without any warranty of accuracy and timeliness. Reliable data can only be received from the respective manufacturer directly.


Christian Graul


Wind turbine generator files (*.wtg) are available from the WAsP website:


Power curve files (*.pow) are available from the WindPower Program website:



Betz, A. (1966) Introduction to the Theory of Flow Machines. Oxford: Pergamon Press

Burton, T., Sharpe, D., Jenkins, N., Bossanyi, E. (2001) Wind Energy Handbook. New York: Wiley

International Electrotechnical Commission (2005) IEC 61400-12 Wind Turbines – Part 12-1: Power Performance Measurements of Electricity Producing Wind Turbines. IEC Standard

Milan, P., W├Ąchter, M., Barth, S., Peinke, J. (2010) Power Curves for Wind Turbines. In: Wei Tong (Ed.), Wind Power Generation and Wind Turbine Design, Chapter 18, p. 595–612, Southampton: WIT Press

Ragheb, M., Ragheb, A.M. (2011) Wind Turbines Theory – The Betz Equation and Optimal Rotor Tip Speed Ratio. In: Rupp Carriveau (Ed.), Fundamental and Advanced Topics in Wind Power, Chapter 2, p. 19–38, InTech


## Not run: 
## create power curve
# minimal theoretic power curve
pc.1 <- pc(list(1:25, c(0, 0, seq(0,1000,length.out=8), rep(1000,15))))
# detailed power curve
v <- seq(3, 25, 0.5)
p <- c(5, 15.5, 32, 52, 71, 98, 136, 182, 230, 285, 345, 419, 497, 594, 
  687, 760, 815, 860, 886, rep(900, 26))	
cp <- c(0.263, NA, 0.352, NA, 0.423, NA, 0.453, NA, 0.470, NA, 0.478, 
  NA, 0.480, NA, 0.483, NA, 0.470, NA, 0.429, NA, 0.381, NA, 0.329, 
  NA, 0.281, NA, 0.236, NA, 0.199, NA, 0.168, NA, 0.142, NA, 0.122, 
  NA, 0.105, NA, 0.092, NA, 0.080, NA, 0.071, NA, 0.063)
ct <- c(0.653, NA, 0.698, NA, 0.705, NA, 0.713, NA, 0.720, NA, 0.723, NA, 
  0.724, NA, 0.727, NA, 0.730, NA, 0.732, NA, 0.385, NA, 0.301, NA, 0.242, 
  NA, 0.199, NA, 0.168, NA, 0.146, NA, 0.128, NA, 0.115, NA, 0.103, NA, 
  0.094, NA, 0.086, NA, 0.079, NA, 0.073)	

# variables as list
pc.2 <- pc(list(v=v, p=p, cp=cp, ct=ct), 
  rho=1.195, rated.p=900, desc="PowerWind 56")

# variables as data frame
pc.3 <- pc(data.frame(v=v, p=p, cp=cp, ct=ct), 
  rho=1.195, rated.p=900, desc="PowerWind 56")

## import power curve
## note: XML package required for WAsP .wtg files
vestas.v90 <- pc("Vestas_V90_2.0MW.wtg")  # bReeze wtg file
repower.mm92 <- pc("Repower_MM92_2.0MW.pow")  # bReeze pow file
#my.pc <- pc("~/Projects/bReeze/Sandbox/myPC.wtg")  # user file

## plot power curve
plot(pc.2)  # default
plot(pc.2, cp=FALSE, ct=FALSE)  # drop coefficients

# customize plot
plot(pc.2, bty="u", bty.leg="o", cex.axis=0.8, cex.lab=0.9, 
  cex.leg=0.7, col=c("red", gray(0.4), gray(0.4)), col.axis=gray(0.2), 
  col.box=gray(0.5), col.lab=gray(0.2), col.leg=gray(0.2), 
  col.ticks=gray(0.5), las=2, leg.text=c("electric Power", 
  "power coefficient", "thrust coefficient"), lty=2:4, lwd=c(2,1,1), 
  mar=c(3.5,3.5,0.5,3.5), mgp=c(1.8,0.6,0), pos.leg="top", 
  xlab="velocity [m/s]", ylab=c("electric power", "coefficients"), 
  ylim=c(0,1100), x.intersp=1, y.intersp=1)

## End(Not run)

[Package bReeze version 0.4-3 Index]