ard.farm_aero.templates#

Functions

create_windresource_from_windIO(windIOdict)

takes a windIO plant specification and creates an appropriate wind resource

Classes

BatchFarmPowerTemplate(**kwargs)

Template component for computing power using a farm aerodynamics model.

FarmAEPTemplate(**kwargs)

A template component for computing power using a farm aerodynamics model.

FarmAeroTemplate(**kwargs)

Template component for using a farm aerodynamics model.

ard.farm_aero.templates.create_windresource_from_windIO(windIOdict, resource_type=None)[source]#

takes a windIO plant specification and creates an appropriate wind resource

Parameters:
  • windIOdict (dict) -- a full, presumed validated, windIO plant specification file

  • resource_type (str, optional) -- one of "probability", "timeseries", "weibull_sector" indicating, either a "probability"-based representation by a FLORIS WindRose object, a "timeseries" representation using a FLORIS TimeSeries object, or a "weibull_sector" representation which has not yet been implemented

Returns:

a FLORIS wind resource object that encodes the windIO wind resource

Return type:

floris.WindDataBase

Raises:
  • KeyError -- if the input file is not read correctly

  • ValueError -- if values found in the input file have an issue

  • NotImplementedError -- if an unimplemented case is found

class ard.farm_aero.templates.FarmAeroTemplate(**kwargs)[source]#

Template component for using a farm aerodynamics model.

A farm aerodynamics component, based on this template, will compute the aerodynamics for a farm with some layout and yaw configuration.

Options#

modeling_optionsdict

a modeling options dictionary

Inputs#

x_turbinesnp.ndarray

a 1D numpy array indicating the x-dimension locations of the turbines, with length N_turbines

y_turbinesnp.ndarray

a 1D numpy array indicating the y-dimension locations of the turbines, with length N_turbines

yaw_turbinesnp.ndarray

a numpy array indicating the yaw angle to drive each turbine to with respect to the ambient wind direction, with length N_turbines

Outputs#

None

initialize()[source]#

Initialization of OM component.

setup()[source]#

Setup of OM component.

compute(inputs, outputs)[source]#

Computation for the OM component.

For a template class this is not implemented and raises an error!

class ard.farm_aero.templates.BatchFarmPowerTemplate(**kwargs)[source]#

Template component for computing power using a farm aerodynamics model.

A farm power component, based on this template, will compute the power and thrust for a farm composed of a given rotor type.

Options#

modeling_optionsdict

a modeling options dictionary (inherited from FarmAeroTemplate)

Inputs#

x_turbinesnp.ndarray

a 1D numpy array indicating the x-dimension locations of the turbines, with length N_turbines (inherited from FarmAeroTemplate)

y_turbinesnp.ndarray

a 1D numpy array indicating the y-dimension locations of the turbines, with length N_turbines (inherited from FarmAeroTemplate)

yaw_turbinesnp.ndarray

a numpy array indicating the yaw angle to drive each turbine to with respect to the ambient wind direction, with length N_turbines (inherited from FarmAeroTemplate)

Outputs#

power_farmnp.ndarray

an array of the farm power for each of the wind conditions that have been queried

power_turbinesnp.ndarray

an array of the farm power for each of the turbines in the farm across all of the conditions that have been queried on the wind rose (N_turbines, N_wind_conditions)

thrust_turbinesnp.ndarray

an array of the wind turbine thrust for each of the turbines in the farm across all of the conditions that have been queried on the wind rose (N_turbines, N_wind_conditions)

initialize()[source]#

Initialization of OM component.

setup()[source]#

Setup of OM component.

setup_partials()[source]#

Derivative setup for OM component.

compute(inputs, outputs)[source]#

Computation for the OM component.

For a template class this is not implemented and raises an error!

class ard.farm_aero.templates.FarmAEPTemplate(**kwargs)[source]#

A template component for computing power using a farm aerodynamics model.

A farm power component, based on this template, will compute the power and thrust for a farm composed of a given rotor type.

Options#

modeling_optionsdict

a modeling options dictionary (inherited from FarmAeroTemplate)

data_path: str

absolute path to data directory

Inputs#

x_turbinesnp.ndarray

a 1D numpy array indicating the x-dimension locations of the turbines, with length N_turbines (inherited from FarmAeroTemplate)

y_turbinesnp.ndarray

a 1D numpy array indicating the y-dimension locations of the turbines, with length N_turbines (inherited from FarmAeroTemplate)

yaw_turbinesnp.ndarray

a numpy array indicating the yaw angle to drive each turbine to with respect to the ambient wind direction, with length N_turbines (inherited from FarmAeroTemplate)

Outputs#

AEP_farmfloat

the AEP of the farm given by the analysis

power_farmnp.ndarray

an array of the farm power for each of the wind conditions that have been queried

power_turbinesnp.ndarray

an array of the farm power for each of the turbines in the farm across all of the conditions that have been queried on the wind rose (N_turbines, N_wind_conditions)

thrust_turbinesnp.ndarray

an array of the wind turbine thrust for each of the turbines in the farm across all of the conditions that have been queried on the wind rose (N_turbines, N_wind_conditions)

initialize()[source]#

Initialization of OM component.

setup()[source]#

Setup of OM component.

setup_partials()[source]#

Derivative setup for OM component.

compute(inputs, outputs)[source]#

Computation for the OM component.

For a template class this is not implemented and raises an error!