Windpower¶
Wind power system with one or more wind turbines
-
PySAM.Windpower.
default
(config) → Windpower¶ Load defaults for the configuration
config
. Available configurations are:- “WindPowerAllEquityPartnershipFlip”
- “WindPowerCommercial”
- “WindPowerLCOECalculator”
- “WindPowerLeveragedPartnershipFlip”
- “WindPowerMerchantPlant”
- “WindPowerNone”
- “WindPowerResidential”
- “WindPowerSaleLeaseback”
- “WindPowerSingleOwner”
Note
Some inputs do not have default values and may be assigned a value from the variable’s Required attribute. See variable attribute descriptions below.
-
PySAM.Windpower.
from_existing
(data, optional config) → Windpower¶ Share data with an existing PySAM class. If
optional config
is a valid configuration name, load the module’s defaults for that configuration.
-
PySAM.Windpower.
new
() → Windpower¶
-
PySAM.Windpower.
wrap
(ssc_data_t) → Windpower¶ Load data from a PySSC object.
Warning
Do not call PySSC.data_free on the ssc_data_t provided to
wrap()
Windpower is a wrapper for the SSC compute module cmod_windpower.cpp
Interdependent Variables¶
The variables listed below are interdependent with other variables. If you change the value of one of these variables, you may need to change values of other variables. The SAM user interface manages these interdependent variables, but in PySAM, it is up to you change the value of all interdependent variables so they are consistent. See Interdependent Variables for examples and details.
- system_capacity
- wake_int_loss
- wind_farm_wake_model
- wind_farm_xCoordinates
- wind_farm_yCoordinates
- wind_resource_model_choice
- wind_turbine_hub_ht
- wind_turbine_max_cp
- wind_turbine_powercurve_powerout
- wind_turbine_powercurve_windspeeds
- wind_turbine_rotor_diameter
Functions¶
-
class
PySAM.Windpower.
Windpower
¶ This class contains all the variable information for running a simulation. Variables are grouped together in the subclasses as properties. If property assignments are the wrong type, an error is thrown.
-
assign
(dict) → None¶ Assign attributes from nested dictionary, except for Outputs
nested_dict = { 'Resource': { var: val, ...}, ...}
-
execute
(int verbosity) → None¶ Execute simulation with verbosity level 0 (default) or 1
-
export
() → dict¶ Export attributes into nested dictionary
-
replace
(dict) → None¶ Replace attributes from nested dictionary, except for Outputs. Unassigns all values in each Group then assigns from the input dict.
nested_dict = { 'Resource': { var: val, ...}, ...}
-
unassign
(name) → None¶ Unassign a value in any of the variable groups.
-
value
(name, optional value) → Union[None, float, dict, sequence, str]¶ Get or set by name a value in any of the variable groups.
-
Resource Group¶
-
class
PySAM.Windpower.Windpower.
Resource
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
Resource_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.Resource_vals = { var: val, ...}
-
weibull_k_factor
¶ Weibull K factor for wind resource
Required: Required if wind_resource_model_choice=1
Type: float
-
weibull_reference_height
¶ Reference height for Weibull wind speed [m]
Constraints: MIN=0
Required: False. Automatically set to 50 if not assigned explicitly or loaded from defaults.
Type: float
-
weibull_wind_speed
¶ Average wind speed for Weibull model
Constraints: MIN=0
Required: Required if wind_resource_model_choice=1
Type: float
-
wind_resource_data
¶ Wind resouce data in memory
Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.
Type: dict
-
wind_resource_distribution
¶ Wind Speed x Dir Distribution as 2-D PDF [m/s,deg]
Required: Required if wind_resource_model_choice=2
Type: sequence[sequence]
-
wind_resource_filename
¶ Local wind data file path
Constraints: LOCAL_FILE
Required: False for configuration with default inputs. May be required if a variable dependent on its value changes. Example: For the Detailed PV - Single Owner configuration, only Subarray 1 is enabled in the configuration defaults, so Subarray 2 inputs would not be required; if Subarray 2 is enabled, then Subarray 2 inputs is required.
Type: str
-
wind_resource_model_choice
¶ Hourly, Weibull or Distribution model [0/1/2]
Constraints: INTEGER
Required: True
The value of the following variables depends on
wind_resource_model_choice
:- wind_turbine_powercurve_powerout
- wind_turbine_powercurve_windspeeds
Type: float
-
Turbine Group¶
-
class
PySAM.Windpower.Windpower.
Turbine
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
Turbine_vals = { var: val, ...}
-
calculate_powercurve
()¶ Calculates the power produced by a wind turbine at windspeeds incremented by 0.25 m/snnInput: var_table with key-value pairsn ‘turbine_size’: double [kW]n ‘rotor_diameter’: int [m]n ‘elevation’: double [m], required if using Weibull resource model, otherwise 0n ‘max_cp’: double max Cp [-],n ‘max_tip_speed’: double [m/s]n ‘max_tip_sp_ratio’: double max tip speed ratio [-]n ‘cut_in’: double cut in speed [m/s]n ‘cut_out’: double cut out speed [m/s]n ‘drive_train’: int 0: 3 Stage Planetary, 1: Single Stage - Low Speed Generator, 2: Multi-Generator, 3: Direct DrivennOutput: key-value pairs added to var_tablen ‘wind_turbine_powercurve_windspeeds’: array [m/s]n ‘wind_turbine_powercurve_powerout’: array [m/s]n ‘rated_wind_speed’: double [m/s[n ‘hub_efficiency’: array [m/s]
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.Turbine_vals = { var: val, ...}
-
wind_resource_shear
¶ Shear exponent
Constraints: MIN=0
Required: True
Type: float
-
wind_turbine_hub_ht
¶ Hub height [m]
Constraints: POSITIVE
Required: True
The value of the following variables depends on
wind_turbine_hub_ht
:- wind_turbine_powercurve_powerout
- wind_turbine_powercurve_windspeeds
Type: float
-
wind_turbine_max_cp
¶ Max Coefficient of Power
Constraints: MIN=0
Required: Required if wind_resource_model_choice=1
The value of the following variables depends on
wind_turbine_max_cp
:- wind_turbine_powercurve_powerout
- wind_turbine_powercurve_windspeeds
Type: float
-
wind_turbine_powercurve_powerout
¶ Power curve turbine output array [kW]
INOUT: This variable is both an input and an output to the compute module.
Constraints: LENGTH_EQUAL=wind_turbine_powercurve_windspeeds
Required: True
The value of
wind_turbine_powercurve_powerout
depends on the following variables:- wind_resource_model_choice
- wind_turbine_hub_ht
- wind_turbine_max_cp
Type: sequence
-
wind_turbine_powercurve_windspeeds
¶ Power curve wind speed array [m/s]
INOUT: This variable is both an input and an output to the compute module.
Required: True
The value of
wind_turbine_powercurve_windspeeds
depends on the following variables:- wind_resource_model_choice
- wind_turbine_hub_ht
- wind_turbine_max_cp
Type: sequence
-
wind_turbine_rotor_diameter
¶ Rotor diameter [m]
Constraints: POSITIVE
Required: True
The value of the following variables depends on
wind_turbine_rotor_diameter
:- system_capacity
- wind_farm_xCoordinates
- wind_farm_yCoordinates
Type: float
-
Farm Group¶
-
class
PySAM.Windpower.Windpower.
Farm
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
Farm_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.Farm_vals = { var: val, ...}
-
max_turbine_override
¶ Override the max number of turbines for wake modeling [numTurbines]
Info: set new max num turbines
Type: float
-
system_capacity
¶ Nameplate capacity [kW]
Constraints: MIN=0
Required: True
The value of
system_capacity
depends on the following variables:- wind_turbine_rotor_diameter
Type: float
-
wind_farm_wake_model
¶ Wake Model [Simple, Park, EV, Constant] [0/1/2/3]
Constraints: INTEGER
Required: True
The value of the following variables depends on
wind_farm_wake_model
:- wake_int_loss
Type: float
-
wind_farm_xCoordinates
¶ Turbine X coordinates [m]
Required: True
The value of
wind_farm_xCoordinates
depends on the following variables:- wind_turbine_rotor_diameter
Type: sequence
-
wind_farm_yCoordinates
¶ Turbine Y coordinates [m]
Constraints: LENGTH_EQUAL=wind_farm_xCoordinates
Required: True
The value of
wind_farm_yCoordinates
depends on the following variables:- wind_turbine_rotor_diameter
Type: sequence
-
wind_resource_turbulence_coeff
¶ Turbulence coefficient [%]
Constraints: MIN=0
Required: True
Type: float
-
Losses Group¶
-
class
PySAM.Windpower.Windpower.
Losses
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
Losses_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.Losses_vals = { var: val, ...}
-
avail_bop_loss
¶ Balance-of-plant availability loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
avail_grid_loss
¶ Grid availability loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
avail_turb_loss
¶ Turbine availabaility loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
elec_eff_loss
¶ Electrical efficiency loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
elec_parasitic_loss
¶ Electrical parasitic consumption loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
en_icing_cutoff
¶ Enable Icing Cutoff [0/1]
Constraints: INTEGER
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
en_low_temp_cutoff
¶ Enable Low Temperature Cutoff [0/1]
Constraints: INTEGER
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
env_degrad_loss
¶ Environmental Degradation loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
env_env_loss
¶ Environmental External Conditions loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
env_exposure_loss
¶ Environmental Exposure loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
env_icing_loss
¶ Environmental Icing loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
icing_cutoff_rh
¶ Icing Cutoff Relative Humidity [%]
Info: ‘rh’ required in wind_resource_data
Constraints: MIN=0
Required: Required if en_icing_cutoff=1
Type: float
-
icing_cutoff_temp
¶ Icing Cutoff Temperature [C]
Required: Required if en_icing_cutoff=1
Type: float
-
low_temp_cutoff
¶ Low Temperature Cutoff [C]
Required: Required if en_low_temp_cutoff=1
Type: float
-
ops_env_loss
¶ Environmental/Permit Curtailment loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
ops_grid_loss
¶ Grid curtailment loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
ops_load_loss
¶ Load curtailment loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
ops_strategies_loss
¶ Operational strategies loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
turb_generic_loss
¶ Turbine Generic Powercurve loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
turb_hysteresis_loss
¶ Turbine High Wind Hysteresis loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
turb_perf_loss
¶ Turbine Sub-optimal performance loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
turb_specific_loss
¶ Turbine Site-specific Powercurve loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
wake_ext_loss
¶ External Wake loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
wake_future_loss
¶ Future Wake loss [%]
Constraints: MIN=0,MAX=100
Required: False. Automatically set to 0 if not assigned explicitly or loaded from defaults.
Type: float
-
wake_int_loss
¶ Constant Wake Model, internal wake loss [%]
Constraints: MIN=0,MAX=100
Required: Required if wind_farm_wake_model=3
The value of
wake_int_loss
depends on the following variables:- wind_farm_wake_model
Type: float
-
AdjustmentFactors Group¶
-
class
PySAM.Windpower.Windpower.
AdjustmentFactors
¶ -
assign
() → None¶ Assign attributes from dictionary
-
export
() → Dict¶ Export attributes into dictionary
-
constant
¶ float
Type: type
-
dc_constant
¶ DC Constant loss adjustment [%]
-
dc_hourly
¶ DC Hourly Adjustment Factors [%]
-
dc_periods
¶ DC Period-based Adjustment Factors [%]
-
hourly
¶ AC Hourly Adjustment Factors [%]
-
periods
¶ AC Period-based Adjustment Factors [%]
-
sf_constant
¶ DC Constant loss adjustment [%]
-
sf_hourly
¶ DC Hourly Adjustment Factors [%]
-
sf_periods
¶ DC Period-based Adjustment Factors [%]
-
Uncertainty Group¶
-
class
PySAM.Windpower.Windpower.
Uncertainty
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
Uncertainty_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.Uncertainty_vals = { var: val, ...}
-
total_uncert
¶ Total uncertainty in energy production as percent of annual energy [%]
Constraints: MIN=0,MAX=100
Type: float
-
Outputs Group¶
-
class
PySAM.Windpower.Windpower.
Outputs
¶ -
assign
(dict) → None¶ Assign attributes from dictionary, overwriting but not removing values.
Outputs_vals = { var: val, ...}
-
export
() → dict¶ Export attributes into dictionary.
-
replace
(dict) → None¶ Replace attributes from dictionary, unassigning values not present in input
dict
.Outputs_vals = { var: val, ...}
-
annual_energy
¶ Annual Energy [kWh]
Type: float
-
annual_energy_distribution_time
¶ Annual energy production as function of time [kW]
Type: sequence[sequence]
-
annual_energy_p75
¶ Annual energy with 75% probability of exceedance [kWh]
Type: float
-
annual_energy_p90
¶ Annual energy with 90% probability of exceedance [kWh]
Type: float
-
annual_energy_p95
¶ Annual energy with 95% probability of exceedance [kWh]
Type: float
-
annual_gross_energy
¶ Annual Gross Energy [kWh]
Type: float
-
avail_losses
¶ Availability losses [%]
Type: float
-
capacity_factor
¶ Capacity factor [%]
Type: float
-
cutoff_losses
¶ Low temp and Icing Cutoff losses [%]
Type: float
-
elec_losses
¶ Electrical losses [%]
Type: float
-
elev
¶ Site elevation [m]
Type: float
-
env_losses
¶ Environmental losses [%]
Type: float
-
gen
¶ System power generated [kW]
Type: sequence
-
kwh_per_kw
¶ First year kWh/kW [kWh/kW]
Type: float
-
lat
¶ Latitude [degrees]
Type: float
-
lon
¶ Longitude [degrees]
Type: float
-
monthly_energy
¶ Monthly Energy Gross [kWh]
Type: sequence
-
ops_losses
¶ Operational losses [%]
Type: float
-
pressure
¶ Pressure [atm]
Type: sequence
-
temp
¶ Air temperature [‘C]
Type: sequence
-
turb_losses
¶ Turbine losses [%]
Type: float
-
turbine_output_by_windspeed_bin
¶ Turbine output by wind speed bin [kW]
Type: sequence
-
wake_losses
¶ Wake losses [%]
Type: float
-
wind_direction
¶ Wind direction [degrees]
Type: sequence
-
wind_speed
¶ Wind speed [m/s]
Type: sequence
-
wind_speed_average
¶ Average Wind speed [m/s]
Type: float
-
year
¶ Year
Type: float
-