-
Notifications
You must be signed in to change notification settings - Fork 63
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clean up code for Formulation in advance of Coastal introduction #815
Clean up code for Formulation in advance of Coastal introduction #815
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dont see any major issues. I am curious on some of the instances of removing virtual from functions that are now implemented but those are not an actual problem. I do think fully implementing get_value would make sense here.
I think this is mostly in shape to clear the path for Coastal needs. I'm still uncertain about |
…ormulation_Manager entities
…chment_Formulation
…to Catchment_Formulation
…ration parameter vectors
…lation::get_response
…et_var_value_as_double
The baked-in assumption that the requested variable was the sole element of its array was troublesome. In PR review, Donald suggested it was time to get rid of it.
dd6f033
to
d5318a5
Compare
I want to slot in new code for Coastal total water level (TWL) functionality as cleanly as possible with the existing code base. In particular, it seems like
CoastalFormulation
should be a natural analog to the existingCatchmentFormulation
. A lot of stuff there in the baseFormulation
interface right now is specific to the existing lumped catchment models, or is just defunct. I try to clean out what's gotten in my way so far, to make the subsequent additions easier.Additions
None
Removals
Formulation::get_var_value_as_double
, which was papering over an assumption of single element arrays that we agreed should be made more explicitChanges
Formulation
base class to theCatchmentFormulation
intermediate classBmi_{C,Cpp,Fortran,Py}_Formulation
up to their common baseBmi_Module_Formulation
classstatic
members, to avoid duplicate allocation per instance.Testing
Checklist