Replies: 6 comments 4 replies
-
Beta Was this translation helpful? Give feedback.
-
|
Good points on workflow and config. I can imagine that this can be confusing. I am in favor of referring to the "hydromt config" as workflow. |
Beta Was this translation helpful? Give feedback.
-
|
@hboisgon @DirkEilander what do you think? |
Beta Was this translation helpful? Give feedback.
-
|
Good discussion @savente93
|
Beta Was this translation helpful? Give feedback.
-
|
Good points indeed. I agree with @DirkEilander. A few suggestions:
|
Beta Was this translation helpful? Give feedback.
-
|
Going through the code for the |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
There are a few names and conventions that have been part of hydromt for a while, and which it would be good to agree on whether we want to keep them, and if not, what they should be. Below I will detail the ones that I am aware of, but please add other topics if you think they are relevant here.
Small disclaimer: with this I don't mean to imply that the current names are mistakes, should not have been made, or were not thought out well. I think these were useful at the times they emerged, but as hydromt keeps growing I think it is a good opportunity to reevaluate. I am not dead set on the names, this is just a suggestion but as an initial proposal.
Terminology
Use of the term "Workflow"
Currently we have a submodule called
workflows. However, in common parlance a workflow would be closer to what we now call the "The yaml file" containing hydromt steps, which is actually rather vague.Use of the term "config"
As far as I can tell there are two types of configuration that hydromt has to deal with: the config in the "workflow file" as proposed in the previous item and the configuration that hydromt has to produce for the kernel that is going to consume the model we are building (e.g. SFINCS or Wflow), both of which are refereed to as "configs", which I personally find rather confusing (please correct me if I am mistaken here). The workflow terminology above should already help, but to make it also very clear that we are producing configs that we do not have to consume, I would suggest that we also adopt the following terminology:
Naming conventions
While there is also a separate issue to harmonise conventions w.r.t. things like units and hydrological concepts, I also think there are two things that could be improved in hydromt.
Use of the abbreviation
fnto mean "filename"a)
fnis a very common abbreviation for "function" not "filename" in almost all programming contexts, making this confusing to developers coming from other places.b) very often a parameter called
fn(or has that as an affix) is not actually a filename. Usually it is a path relative to the model root, which is close enough, but it can also be an absolute path, a data source name that the data should be read from, an actual data object itself or a dictionary containing some collection of the aforementioned.I appreciate that it is something cultural but I still find it difficult at times. I would like to use something that doesn't have another commonly understood meaning and is a bit more suggestive of all the things it could me like
data_likeordata_specifier. Honestly what the actual name becomes is less important to me than us agreeing on something more descriptive.Use of the name
time_tupleThis is not a big one, but in a lot of places a time range is refereed to as a
time_tuplewhich is not bad, but refers more to an implementation detail than is necessary in my opinion. I'd suggest renaming this totime_rangeHonourable mentions
There are also a few name conventions that we've already started using which I thought it was good to still document and agree on for clarities sake:
i,totalorpathBeta Was this translation helpful? Give feedback.
All reactions