foxes.core.DataCalcModel.run_calculation(algo, *data, out_vars, loop_dims, out_core_vars, initial_results=None, sel=None, isel=None, **calc_pars)[source]

Starts the model calculation in parallel, via xarray’s apply_ufunc.

Typically this function is called by algorithms.

Parameters

algo: foxes.core.Algorithm

The calculation algorithm

data: tuple of xarray.Dataset

The input data

out_vars: list of str

The calculation output variables

loop_dims: array_like of str

List of the loop dimensions during xarray’s apply_ufunc calculations

out_core_vars: list of str

The core dimensions of the output data, use FC.VARS for variables dimension (required)

initial_results: xarray.Dataset, optional

Initial results

sel: dict, optional

Selection of loop_dim variable subset values

isel: dict, optional

Selection of loop_dim variable subset index values

calc_pars: dict, optional

Additional arguments for the calculate function

Returns

results: xarray.Dataset

The calculation results