class foxes.core.DataCalcModel(foxes.core.Model)[source]

Abstract base class for models that run calculation on xarray Dataset data.

The calculations are run via xarray’s apply_ufunc function, i.e., they run in parallel depending on the dask settings.

For each individual data chunk the calculate function is called.

Public members

abstract output_coords()[source]

Gets the coordinates of all output arrays

abstract calculate(algo, *data, **parameters)[source]

The main model calculation.

DataCalcModel()[source]

Constructor.

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

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