class foxes.models.wake_superpositions.WSProduct(foxes.core.WakeSuperposition)[source]

Product superposition of wind deficit results

This is based on the idea that the dimensionless wind deficit should be rescaled with the wake corrected wind field, rather than the rotor equivalent wind speed.

Source: https://arxiv.org/pdf/2010.03873.pdf

Equation (8)

Attributes

lim_low: float

Lower limit of the final waked wind speed

lim_high: float

Upper limit of the final waked wind speed

Public members

WSProduct(lim_low=None, lim_high=None)[source]

Constructor.

__repr__()[source]

Return repr(self).

input_farm_vars(algo)[source]

The variables which are needed for running the model.

add_wake(algo, mdata, fdata, tdata, downwind_index, st_sel, ...)[source]

Add a wake delta to previous wake deltas, at rotor points.

calc_final_wake_delta(algo, mdata, fdata, variable, ...)[source]

Calculate the final wake delta after adding all contributions.

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

Run-time wake superposition model factory.

property model_id

Unique id based on the model type.

var(v)[source]

Creates a model specific variable name.

property initialized

Initialization flag.

sub_models()[source]

List of all sub-models

load_data(algo, verbosity=0)[source]

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

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

Initializes the model.

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