class foxes.core.SingleTurbineWakeModel(foxes.core.WakeModel)[source]

Abstract base class for wake models that represent a single turbine wake

Single turbine wake models depend on superposition models.

Attributes

wind_superposition: str

The wind superposition model name (vector or compenent model), will be looked up in model book

other_superpositions: dict

The superpositions for other than (ws, wd) variables. Key: variable name str, value: The wake superposition model name, will be looked up in model book

vec_superp: foxes.core.WindVectorWakeSuperposition or None

The wind vector wake superposition model

superp: dict

The superposition dict, key: variable name str, value: foxes.core.WakeSuperposition

Public members

SingleTurbineWakeModel(wind_superposition=None, ...)[source]

Constructor.

property has_vector_wind_superp

This model uses a wind vector superposition

sub_models()[source]

List of all sub-models

initialize(algo, verbosity=0, force=False)[source]

Initializes the model.

finalize_wake_deltas(algo, mdata, fdata, tdata, wake_deltas)[source]

Finalize the wake calculation.

property affects_ws

Flag for wind speed wake models

property affects_downwind

Flag for downwind or upwind effects on other turbines

property has_uv

This model uses wind vector data

abstractmethod new_wake_deltas(algo, mdata, fdata, tdata)[source]

Creates new empty wake delta arrays.

abstractmethod contribute(algo, mdata, fdata, tdata, ...)[source]

Modifies wake deltas at target points by contributions from the specified wake source turbines.

classmethod new(wmodel_type, *args, **kwargs)[source]

Run-time wake model factory.

__repr__()[source]

Return repr(self).

property model_id

Unique id based on the model type.

var(v)[source]

Creates a model specific variable name.

property initialized

Initialization flag.

load_data(algo, verbosity=0)[source]

Load and/or create all model data that is subject to chunking.

property running

Flag for currently running models

set_running(algo, data_stash, sel=None, isel=None, verbosity=0)[source]

Sets this model status to running, and moves all large data to stash.

unset_running(algo, data_stash, sel=None, isel=None, verbosity=0)[source]

Sets this model status to not running, recovering large data from stash

finalize(algo, verbosity=0)[source]

Finalizes the model.

get_data(variable, target, lookup='smfp', mdata=None, ...)[source]

Getter for a data entry in the model object or provided data sources