MNiMORPH / GRLP

Long-profile evolution of gravel-bed rivers

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.