Clean up class vs. passed variables: `update_z_ext_external_upstream`: Update `S0` or `Q_s_0`?
awickert opened this issue · comments
The structure within the Network
-module function, update_z_ext_external_upstream(self, S0=None, Q_s_0=None)
, is implemented with the variables in question being passed externally as well as from the class variables. If Q_s_0
be set, then S0
will be, and this can also lead to some unintended behavior that I've lightly patched over.
The redundancy between S0
and Q_s_0
leads this code to be unclear about which should be updated to provide a change in the upstream boundary condition on a river.
This function should be updated to manage both class vs. passed variables and to make clear which variable (S0
or Q_s_0
) has primacy in defining the upstream boundary: which defines the other (or is defined by the other) in which situation? This might require some reworking of the use of class variables (maybe these passively remain internal) and passed variables (from an external driver), but this is just a first idea.