floris.parallel_floris_model#

Classes

ParallelFlorisModel(fmodel, max_workers, ...)

class floris.parallel_floris_model.ParallelFlorisModel(fmodel, max_workers, n_wind_condition_splits, interface='multiprocessing', use_mpi4py=None, propagate_flowfield_from_workers=False, print_timings=False)[source]#
copy()[source]#
set(wind_speeds=None, wind_directions=None, wind_shear=None, wind_veer=None, reference_wind_height=None, turbulence_intensities=None, air_density=None, layout=None, layout_x=None, layout_y=None, turbine_type=None, solver_settings=None)[source]#

Pass to the FlorisModel set function. To allow users to directly replace a FlorisModel object with this UncertainFlorisModel object, this function is required.

run()[source]#
get_turbine_powers(yaw_angles=None)[source]#
get_farm_power(yaw_angles=None, turbine_weights=None)[source]#
get_farm_AEP(freq, cut_in_wind_speed=None, cut_out_wind_speed=None, yaw_angles=None, turbine_weights=None, no_wake=False)[source]#

Estimate annual energy production (AEP) for distributions of wind speed, wind direction, frequency of occurrence, and yaw offset.

Return type:

float

Args:
freq (NDArrayFloat): NumPy array with shape (n_wind_directions,

n_wind_speeds) with the frequencies of each wind direction and wind speed combination. These frequencies should typically sum up to 1.0 and are used to weigh the wind farm power for every condition in calculating the wind farm's AEP.

cut_in_wind_speed (float, optional): No longer supported. cut_out_wind_speed (float, optional): No longer supported. yaw_angles (NDArrayFloat | list[float] | None, optional):

The relative turbine yaw angles in degrees. If None is specified, will assume that the turbine yaw angles are all zero degrees for all conditions. Defaults to None.

turbine_weights (NDArrayFloat | list[float] | None, optional):

weighing terms that allow the user to emphasize power at particular turbines and/or completely ignore the power from other turbines. This is useful when, for example, you are modeling multiple wind farms in a single floris object. If you only want to calculate the power production for one of those farms and include the wake effects of the neighboring farms, you can set the turbine_weights for the neighboring farms' turbines to 0.0. The array of turbine powers from floris is multiplied with this array in the calculation of the objective function. If None, this is an array with all values 1.0 and with shape equal to (n_wind_directions, n_wind_speeds, n_turbines). Defaults to None.

no_wake: (bool, optional): When True updates the turbine

quantities without calculating the wake or adding the wake to the flow field. This can be useful when quantifying the loss in AEP due to wakes. Defaults to False.

Returns:
float:

The Annual Energy Production (AEP) for the wind farm in watt-hours.

optimize_yaw_angles(minimum_yaw_angle=-25.0, maximum_yaw_angle=25.0, yaw_angles_baseline=None, x0=None, Ny_passes=[5, 4], turbine_weights=None, exclude_downstream_turbines=True, verify_convergence=False, print_worker_progress=False)[source]#
property layout_x#
property layout_y#
property wind_speeds#
property wind_directions#
property turbulence_intensities#
property n_findex#
property n_turbines#