- 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=
None
)[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.
-
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.
- output_coords()[source]
Gets the coordinates of all output arrays
- 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.
- property initialized
Initialization flag.
- sub_models()[source]
List of all sub-models
-
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
-
get_data(variable, target, lookup=
'smfp'
, mdata=None
, ...)[source] Getter for a data entry in the model object or provided data sources