class foxes.core.RotorModel(foxes.core.FarmDataModel)[source]

Abstract base class of rotor models.

Rotor models calculate ambient farm data from states, and provide rotor points and weights for the calculation of rotor effective quantities.

Attributes

calc_vars: list of str

The variables that are calculated by the model (Their ambients are added automatically)

Public members

RotorModel(calc_vars)[source]

Constructor.

output_farm_vars(algo)[source]

The variables which are being modified by the model.

abstract n_rotor_points()[source]

The number of rotor points

abstract rotor_point_weights()[source]

The weights of the rotor points

abstract design_points()[source]

The rotor model design points.

get_rotor_points(algo, mdata, fdata)[source]

Calculates rotor points from design points.

eval_rpoint_results(algo, mdata, fdata, tdata, weights, ...)[source]

Evaluate rotor point results.

calculate(algo, mdata, fdata, rpoints=None, weights=None, ...)[source]

Calculate ambient rotor effective results.

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

Run-time rotor model 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.

__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.

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.

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

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