class foxes.core.TurbineType(foxes.core.TurbineModel)[source]

Abstract base class for turbine type models.

Rotor diameter and hub height can be overwritten by individual settings in the Turbine object.

Attributes

name: str

The model name

D: float

The rotor diameter

H: float

The hub height

P_nominal: float

The nominal power in kW

P_unit: str

The unit of power

rho_corr_P: str

The type of air density correction for the power curve, choices: “rho”: apply the air density ratio (rho / rho_ref) as a factor to the power curve “rews”: correct the rotor equivalent wind speed by the air density ratio (rho / rho_ref)^3 None: no air density correction applied to the power curve

rho_corr_ct: str

The type of air density correction for the ct curve, choices: “rho”: apply the air density ratio (rho / rho_ref) as a factor to the ct curve “rews”: correct the rotor equivalent wind speed by the air density ratio (rho / rho_ref)^2 None: no air density correction applied to the ct curve

yawm_corr_P: str, optional

The type of yaw misalignment correction for the power curve, choices: “factor”: apply a correction factor to the power curve “wind_speed”: correct the rotor equivalent wind speed by a yaw misalignment factor None: no yaw misalignment correction applied to the power curve

yawm_corr_ct: str, optional

The type of yaw misalignment correction for the ct curve, choices: “factor”: apply a correction factor to the ct curve “wind_speed”: correct the rotor equivalent wind speed by a yaw misalignment factor None: no yaw misalignment correction applied to the ct curve

yawm_corr_p_P: float, optional

The exponent for yaw dependency of P

yawm_corr_p_ct: float, optional

The exponent for yaw dependency of ct

Public members

TurbineType(name=None, D=None, H=None, P_nominal=None, ...)[source]

Constructor.

__repr__()[source]

Return repr(self).

abstract needs_rews2()[source]

Returns flag for requiring REWS2 variable

abstract needs_rews3()[source]

Returns flag for requiring REWS3 variable

modify_cutin(modify_ct, modify_P)[source]

Modify the data such that a discontinuity at cutin wind speed is avoided

get_rho_yawm_corrections(rews_P, rews_ct, rho=None, ...)[source]

Compute air density and yaw corrections.

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

Run-time turbine type factory.

abstract calculate(algo, mdata, fdata, st_sel)[source]

The main model calculation.

abstract output_farm_vars(algo)[source]

The variables which are being modified by the model.

output_coords()[source]

Gets the coordinates of all output arrays

ensure_output_vars(algo, fdata, defaults=None)[source]

Ensures that the output variables are present in the farm data.

run_calculation(algo, *data, out_vars, **calc_pars)[source]

Starts the model calculation in parallel, via xarray’s apply_ufunc.

property model_id

Unique id based on the model type.

var(v)[source]

Creates a model specific variable name.

unvar(vnm)[source]

Translates model specific variable name to origninal 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