tsf
Reparameterize certain compnents in a tessif energy system after its creation |
tsf is a tessif module aggregating
mod:tessif energy system specific <tessif.model.energy_system> hooks to
change tessif energy systems after their creation.
Usually used for auto comparing a singular tessif energy system on contradicting model assumptions. Like for example in Hamburg Energy System Example (Brief).
- tessif.frused.hooks.tsf.reparameterize_components(es, components={})[source]
Reparameterize certain compnents in a tessif energy system after its creation
- Parameters:
es¶ (
tessif.model.energy_system.AbstractEnergySystem) – The tessif energy system that is to be reparameterized.components¶ (dict) – Dictionairy of dictionairies keyeing parameter and value combination by
component uidstring representation.
Examples
Use tessifs example hub to create a minimum working example:
>>> import tessif.examples.data.tsf.py_hard as hardcoded_tessif_examples >>> mwe = hardcoded_tessif_examples.create_mwe()
Check the components that are to be reparamterized:
>>> for transformer in mwe.transformers: ... print(transformer.uid) ... print(transformer.flow_costs) ... print(transformer.conversions) Generator {'electricity': 2, 'fuel': 0} {('fuel', 'electricity'): 0.42}
>>> for sink in mwe.sinks: ... print(sink.uid) ... print(sink.flow_rates) Demand {'electricity': MinMax(min=10, max=10)}
Reparameterize the mwe:
>>> reparameterized_mwe = reparameterize_components( ... es=mwe, ... components={ ... 'Generator': { ... 'flow_costs': {'electricity': 3, 'fuel': 0}, ... 'conversions': {('fuel', 'electricity'): 0.43}, ... }, ... 'Demand': { ... 'flow_rates': {'electricity': (11, 11)}, ... } ... }, ... )
Check the reparemterized components:
>>> for transformer in reparameterized_mwe.transformers: ... print(transformer.uid) ... print(transformer.flow_costs) ... print(transformer.conversions) Generator {'electricity': 3, 'fuel': 0} {('fuel', 'electricity'): 0.43}
>>> for sink in reparameterized_mwe.sinks: ... print(sink.uid) ... print(sink.flow_rates) Demand {'electricity': MinMax(min=11, max=11)}