class foxes.models.turbine_types.PCtFile(foxes.core.TurbineType)[source]

Calculate power and ct by interpolating from power-ct-curve data file (or pandas DataFrame).

Attributes

source: str or pandas.DataFrame

The file path, static name, or data

col_ws: str

The wind speed column

col_P: str

The power column

col_ct: str

The ct column

rho: float

The air densitiy for which the data is valid or None for no correction

WSCT: str

The wind speed variable for ct lookup

WSP: str

The wind speed variable for power lookup

rpars: dict, optional

Parameters for pandas file reading

Public members

PCtFile(data_source, col_ws='ws', col_P='P', col_ct='ct', ...)[source]

Constructor.

__repr__()[source]

Return repr(self).

output_farm_vars(algo)[source]

The variables which are being modified by the model.

load_data(algo, verbosity=0)[source]

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

modify_cutin(modify_ct, modify_P, steps=20, iterations=100, ...)[source]

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

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

” The main model calculation.

finalize(algo, verbosity=0)[source]

Finalizes the model.

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

Run-time turbine type factory.

ensure_variables(algo, mdata, fdata)[source]

Add variables to fdata, initialized with NaN

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.

property initialized

Initialization flag.

sub_models()[source]

List of all sub-models

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

Initializes the model.

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

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

data_to_store(name, algo, data)[source]

Adds data from mdata to the local store, intended for iterative runs.

from_data_or_store(name, algo, data, ret_dims=False, safe=False)[source]

Get data from mdata or local store