xarray-simlab icon indicating copy to clipboard operation
xarray-simlab copied to clipboard

Default simulation setup

Open benbovy opened this issue 5 years ago • 1 comments

Related to #21

This would be useful to create full, self-contained simulation setups that don't require any user input, e.g., using the %create_setup magic command or later when a command-line interface is available.

benbovy avatar Nov 19 '20 16:11 benbovy

xsimlab.Model could provide a default_setup argument that accepts a dictionary with the exact same structure than the xsimlab.create_setup arguments (i.e., clocks, input_vars, output_vars).

If default_setup is provided, then xsimlab.create_setup is called at model creation and the resulting dataset is attached to the new Model object. This dataset could be accessible, e.g., with the Model.default_setup property.

Pros:

This would allow something like:

with model:
    out_ds = (
        model.default_setup
        .xsimlab.update_vars(input_vars={...})
        .xsimlab.run()
    )

Cons:

Default setup would likely break when creating new models with update_processes or drop_processes. It would be tricky to propagate the default setup.

benbovy avatar Nov 23 '20 08:11 benbovy