Default simulation setup
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.
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.