Closed WardLT closed 3 months ago
I am jotting down comments here as I read through the code, so maybe by the time I reach the end, some of them will have been resolved and I may forget to iterate back.
make_all_updatable
method, the current definition of HealthVariable
does not allow for fields to just be lists (or iterables) of floats, for instance; everything inside it must be another HealthVariable
it looks like base.py
, the answer is positively "yes!": when assembling the necessary matrices for updating transient states, we need to know the values of parameters even if they are "immutable"
Implements a hierarchical model for the parameters of different storage system models.
Fixes #10 by providing a simpler implementation of the features there (similar to Option 1 of the proposed) and #6 by creating a class which is only for model parameters.
We seem to be drifting towards an solution to #7 where the updatable parameters are kept alongside the model parameters, which I'm OK with thus far. That may change once we introduce some kind of container for "Joint State" which combines the always-updatable model state with sometimes-updatable
To do list:
Add TODOs in the codebase indicating where to add a "batch dimension" for when a single HealthVariable instance describes a several parameterizations of the same physical system. Create an Issue describing what behavior we wantWe'll deal with this laterAdd a new data model for system state and outputsPunting for now, use the GeneralContainer from @victorventuri 's refactor