-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Factor out the runoff concentration process into new submodels #130
Comments
HydPy-H
application models would require factoring out the runoff concentration process (triangular uni hydrograph or linear storage cascade) into new submodels. The implementation effort should be manageable compared to other submodularisation efforts, but we should anticipate at least two days of work (primarily for documentation updates).
For the submodel, the following designations have been preliminarily chosen:
Feel free to suggest any improvements! |
@parvumflumen is currently working on this in #133 |
Thanks for the suggestions. Here are my thoughts on the model names. I like the general name Compared to the other user-relevant models' names, I am unsure how widely known the term "convolution" is. The apparent alternative is We should also clarify if the discussed submodel is only supposed to handle HBV96-like unit hydrographs or those of different shapes. In the first case, we should probably add "hbv96" to the name, like in |
My additional thoughts: Regarding the interface methods: From the perspective of From the perspective of Regarding the other names: When not borrowing names of other models, we usually tend to use longer, more descriptive names. Could you make some suggestions that follow this spirit? But maybe we should wait with these details until the other decisions have been made. (For example, a parameter named |
We had an offline discussion about the base model name We decided on the suffixes uh(maxbaz=2.0) Or we could define a new parameter like concentrationtime(hbv96=2.0) The second approach looks a little more understandable to me, but the first one offers the chance to define all ordinates freely by passing their values in a vector. Also, we considered using less model-specific and more geometric keywords like "isosceles_triangle" but were unsure if short geometric terms could describe the GR4J-like unit hydrographs. |
As a side-topic in a thorough discussion on finishing the GR implementation, we decided on the following. From the perspective of a "pure" GR model, one should be able to add both unit hydrographs individually like this: with model.add_rconcmodel1_v1("rconc_uh"):
uh("gr_uh1", x4=2.0)
with model.add_rconcmodel2_v1("rconc_uh"):
uh(option="gr_uh2", x4=2.0) Then, We decided on with model.add_rconcmodel_v1("rconc_uh"):
uh("triangle", tp=1.0, tb=2.0)
We also discussed whether expecting the user to select two unit hydrograph submodels is too much. Still, we found no convincing alternative that would not lead to less flexibility or more complexity. We strive to allow specifying the ordinates directly: with model.add_rconcmodel_v1("rconc_uh"):
uh([0.3, 0.5, 0.2]) |
When separating the different ways to calculate the UH ordinates, it could make sense to make new subclasses of IUH. If we follow this strategy, we could eventually also support rconc-based unit hydrographs following the shapes of TranslationDiffusionEquation and LinearStorageCascade with very little effort: with model.add_rconcmodel1_v1("rconc_uh"):
uh("tde", u=5.0, d=15.0, x=50.0)
with model.add_rconcmodel2_v1("rconc_uh"):
uh("lsc", n=2.5, k=2.0) |
#133 has landed |
The proposed naming of the HydPy-H application models would require factoring out the runoff concentration process (triangular uni hydrograph or linear storage cascade) into new submodels. The implementation effort should be manageable compared to other submodularisation efforts, but we should anticipate at least two days of work (primarily for documentation updates). factor out the runoff concentration process into new submodels
The text was updated successfully, but these errors were encountered: