openENTRANCE/openentrance

Proposed restructuring of file structure

danielhuppmann opened this issue · 5 comments

The list of variables is already becoming quite long, causing a risk of confusion or duplication going forward. One option is to separate the definitions into two parts at least for those variables.

Using the following example Capacity|Electricity|Coal|w/ CCS

  • the "variable" of interest: Capacity|Electricity
  • the types of power plants: Coal|w/ CCS

This could then be defined in two separate files and linked by defining the variable as:
Capacity|Electricity|<Power Plants>
and a list of power plants types.

The advantage is that it would result in shorter files. The disadvantage is that it makes reading the yaml files more complicated (because a user would have to switch back and forth), and it would require a more sophisticated programmatic implementation (e.g., a Python package) to use the definitions in automated workflows.

This does make sense from our model's point of view, and we do not see a problem in handling the extra yaml files.

As capacities of <Power Plants> are only part of the electricity sector for many long-term energy system models, other placeholder types could be something along the lines of <(Electricity) Storage>, <Heat Cooling Applications>, and <Transport Applications>.

Possible variable combination could then be:

  • Linking Capacity|Electricity|<Electricity Storage> with e.g. Battery|Lithium-Ion
  • Linking Capacity|Electricity|<Heat Cooling Applications> with e.g. Heat Pump|Air-Source
  • Linking Capacity|Electricity|<Transport Applications> with e.g. Electric Vehicle|BEV (although electric vehicle units might need a storage capacity rather than a charging capacity value)

I agree because internally I made a similar process to convert data format.

I only have a doubt related to the validation process.
Is it could be computationally expensive, no?
I imagine that for each variable will have a loop in order to link the variable with all possible options in <Power Plants> and index/match it with their similar in the CSV file.

I also agree with your proposal @danielhuppmann
Moreover, the list of plant types should not be closed and it will be much easier to add a new type of plant with such a strucutre

But I am not completely sure that all kinds of power plant would have the same 'strucure' of 'characteristics'; eg hydro plants are very different.... We usually have 4 different kinds: 1/ thermal plants (including coal, gas, nuclear, biomasse ...) 2/ hydro reservoir plants 3/ other renewable plants with variable capacity (including PV, wind, runofriver) - Those different kinds of plants share some characteristics (like Maximum Active power....) but some characteristics are only for some of the plants (like volumes...)