foxes.engines.NumpyEngine.run_calculation(algo, model, model_data, farm_data=None, point_data=None, out_vars=[], chunk_store={}, sel=None, isel=None, iterative=False, write_nc=None, write_chunk_ani=None, **calc_pars)[source]

Runs the model calculation

Parameters

algo: foxes.core.Algorithm

The algorithm object

model: foxes.core.DataCalcModel

The model that whose calculate function should be run

model_data: xarray.Dataset

The initial model data

farm_data: xarray.Dataset, optional

The initial farm data

point_data: xarray.Dataset, optional

The initial point data

out_vars: list of str, optional

Names of the output variables

chunk_store: foxes.utils.Dict

The chunk store

sel: dict, optional

Selection of coordinate subsets

isel: dict, optional

Selection of coordinate subsets index values

iterative: bool

Flag for use within the iterative algorithm

write_nc: dict, optional

Parameters for writing results to netCDF files, e.g. {‘out_dir’: ‘results’, ‘base_name’: ‘calc_results’, ‘ret_data’: False, ‘split’: 1000}.

The split parameter controls how the output is split: - ‘chunks’: one file per chunk (fastest method), - ‘input’: split according to sizes of multiple states input files, - int: split with this many states per file, - None: create a single output file.

Use ret_data = False together with non-single file writing to avoid constructing the full Dataset in memory.

write_chunk_ani: dict, optional

Parameters for writing chunk animations, e.g. {‘fpath_base’: ‘results/chunk_animation’, ‘vars’: [‘WS’], ‘resolution’: 100, ‘chunk’: 5}.’} The chunk is either an integer that refers to a states chunk, or a tuple (states_chunk_index, points_chunk_index), or a list of such entries.

calc_pars: dict, optional

Additional parameters for the model.calculate()

Returns

results: xarray.Dataset

The model results