calliope-project / calliope

A multi-scale energy systems modelling framework

Home Page:https://www.callio.pe

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Change the name of 'tech_groups' to 'tech_class'

tud-mchen6 opened this issue · comments

What can be improved?

tech_groups, as well as node_groups, can be confusing names. According to the documentation, they are actually 'parent' techs or nodes that can be inherited by other techs rather than a group of different techs or nodes.
We do not specifically propose for the name tech_class, but something similar and more explanatory to what it actually is.

Version

v0.7

I agree on this, particularly when combined with #604.
tech_class makes sense to me, but maybe there is a better name...

We want to try and avoid overlapping with Python terminology as much as possible, hence why class isn't ideal (and why we have base_tech and not tech_class in the main tech config). group is also a relatively close synonym of class so if one causes confusion then so might the other. We likely need is something more closely aligned to parent, but I don't have a good idea on what that could be.

I actually like class because it makes sense in terms of inheritance / behavior...
group is problematic because it can be confused with subsets of a dimension.

parent is fine too (mostly because "parent class" is a common term in SW). If we want to avoid class I think it is good too!

I agree that the current terminology is confusing and that group is not the right term here.

Right now you define properties in tech_groups, and you use inherit to apply them to a specific tech. Changing tech_groups to parent_techs or tech_parents would already make this clearer, but wouldn't it make more sense then for inherit to also change to parent?

Or what about tech_templates? I think that has a clear meaning. Again, you might want to then change inherit to template.

I vote for templates!