Default simulation setup
Opened this issue · 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.
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.