move emissions contrib back to enums?

Description

(The issue is about the keys that denote the emittants (like CO2, NO2, NOx). These used to be enums (and everything that was not in the enum was ignored); this was changed some time ago to an approach that took all the emittants from the hbefa files and just passed them through.)

I am wondering if it is a totally stupid idea to go back to enums?

I can see the advantage of "just passing through what is in the input file". Yet, as we note, this causes problems downstream, as

  1. one needs to downstream write code that hedges against spelling variants (e.g. "CO2(total)" vs "CO2_TOTAL"), and

  2. we note that not everything can actually be processed in downstream code (e.g. https://github.com/matsim-org/matsim-code-examples/issues/186).

Also, I don't think that we have this anywhere else in MATSim: We have free-from activity types and modes, but they are registered in the config file first.

Having free form keys to me also feels like a python way of coding, not Java.

Sometimes, a nice idea does not fly. Is it maybe time to admit that this idea did not fly, and go back?

Environment

None

Assignee

Benjamin

Reporter

Kai Nagel

Labels

None

Components

Priority

Major
Configure