model_class.py
This example shows defining a custom model class by subclassing.
import numpy as np
from modelrunner import ModelBase
class MyModel(ModelBase):
parameters_default = {"a": 1, "b": 2}
def __call__(self):
self.storage.write_array("arr", np.arange(4))
self.storage.write_attrs("arr", {"key": "value"}) # write extra information
return self.parameters["a"] * self.parameters["b"]
# create an instance of the model
model = MyModel({"a": 3}, output="test.yaml")
# run the instance
print(model())