hdf5
HDF5 files can be parsed using the h5py package.
Basic Energy System
Note
Original hdf5 data can be found in:
tessif/examples/data/tsf/hdf5/
Reading The Data
Setting spellings.get_from's logging
level to debug for decluttering doctest output:
>>> from tessif.frused import configurations
>>> configurations.spellings_logging_level = 'debug'
Reading in the data:
>>> from tessif import parse
>>> from tessif.frused.paths import example_dir
>>> import os
>>> path = os.path.join(example_dir, 'data', 'tsf', 'hdf5', 'fpwe.hdf5')
>>> energy_system_mapping = parse.hdf5(path)
>>> for key in energy_system_mapping.keys():
... print(key)
busses
global_constraints
sinks
sources
storages
timeframe
transformers
Transforming the Read-In Data
>>> from tessif.transform.mapping2es.tsf import transform
>>> es = transform(energy_system_mapping)
>>> for node in es.nodes:
... print(node.uid.name)
Pipeline
Powerline
Gas Station
Solar Panel
Demand
Generator
Battery
Using the from_external Wrapper
>>> from tessif.model.energy_system import AbstractEnergySystem as AES
>>> es = AES.from_external(
... path = path,
... parser = parse.hdf5)
from_external parsed energy systems get an automated id:
>>> print(es.uid)
es_from_external_source
Show the parsed node names:
>>> for node in es.nodes:
... print(node.uid.name)
Pipeline
Powerline
Gas Station
Solar Panel
Demand
Generator
Battery
>>> for transformer in es.transformers:
... print(transformer.flow_rates)
{'electricity': MinMax(min=0, max=15), 'fuel': MinMax(min=0, max=50)}