class foxes.models.farm_controllers.OpFlagController(foxes.core.FarmController)[source]

A basic controller with a flag for turbine operation at each state.

Parameters

non_op_values: dict

The non-operational values for variables, keys: variable str, values: float

var2ncvar: dict

The mapping of variable names to NetCDF variable names, only needed if data_source is a path to a NetCDF file

Public members

OpFlagController(data_source, non_op_values=None, var2ncvar={}, ...)[source]

Constructor.

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.

calculate(algo, mdata, fdata, pre_rotor, downwind_index=None)[source]

The main model calculation.

sub_models()[source]

List of all sub-models

set_pars(model_name, init_pars, calc_pars, final_pars)[source]

Set parameters for a turbine model

needs_rews2()[source]

Returns flag for requiring REWS2 variable

needs_rews3()[source]

Returns flag for requiring REWS3 variable

find_turbine_types(algo)[source]

Collects the turbine types.

collect_models(algo)[source]

Analyze and gather turbine models, based on the turbines of the wind farm.

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

Initializes the model.

finalize(algo, verbosity=0)[source]

Finalizes the model.

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

Run-time farm controller factory.

output_coords()[source]

Gets the coordinates of all output arrays

ensure_output_vars(algo, fdata)[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.

__repr__()[source]

Return repr(self).

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.

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

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

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