TODO
----
- maybe bug: see why emissions for ACS for the example in the manual change
  depending on whether nearby factors are used or not.

- cte:
    - do not store in wfactors wmeta, values for CTE_COGEN, CTE_RED1 or CTE_RED2,
      which are only reserved to cmeta in components.
      Now they are saved in metadata in set_mode_and_default_wfactors to be used later in
      fix_wfactors.
      Ideally, we would send user_wfactors to fix_wfactors and no metadata would be written
      Only components would have this metadata to be able to generate, along with location,
      all wfactors when they are not defined.

- epbd:
    - allow using load matching factor values (or functions) that are not 1 (formula 32, B.32)
      Have a look to the proposed value from the TR.
    - allow to assign produced energy to services (instead of generic imputation).
      This has an effect on the computation of the share of produced energy, which should proceed
      after discounting the produced energy to specific services.

- tests:
    - cte: check non matching computation modes in component metadata and weighting factors metadata
    - cte: check results by use items
    - cte: check results using emission factors

Wishlist
--------

- use templates for output (plain, detailed, ...) depending on cli parameter

- Create Trait CteFactorsExt with methods from wfactors.rs
    - new_from_str(&str) -> Factors
    - new_from_loc(&loc) -> Factors
    - set_mode_and_default_wfactors(&mut self, &default_wf) -> Self
    - set_user_wfactors(&mut self, &user_wf) -> Self
    - fix(&mut self)
    - strip_nepb(&mut self)
    * It could work with the Builder pattern
      working with a CteFactorsBuilder that builds a Factors object with its build() method.
