-
Notifications
You must be signed in to change notification settings - Fork 0
TwinP2G documentation
TwinP2G supports csv files for uploading data such as renewable energy output timeseries and network loads timeseries. The format of uploaded timeseries files is shown at the corresponding step of the TwinP2G network customization wizard, prompting and guiding the user accordingly.
The supported format usually comes in the form of at least two columns, one with the name 'Datetime'
, and the other with a name such as 'GR_wind_onshore_generation_actual'
, or 'GR_solar_generation'
for renewable generation timeseries, or 'GR_load'
for loads timeseries.
The time input format of the 'Datetime'
column must be in the form of YYYY-MM-DD hh:mm:ss+00:00
(e.g. 2018-01-01 09:00:00+00:00). The other column of the values of the timeseries (energy production timeseries or energy load timeseries) must be in the form of float numbers, and in MWh
. For example:
Datetime | GR_solar_generation |
---|---|
2018-04-09 05:00:00 | 0 |
2018-04-09 06:00:00 | 1.175 |
2018-04-09 07:00:00 | 2.55 |
... | ... |
for renewable generation input, and:
Datetime | GR_load |
---|---|
2018-04-09 05:00:00 | 2.566 |
2018-04-09 06:00:00 | 3.8 |
2018-04-09 07:00:00 | 6.842 |
... | ... |
for load inputs. The wizard then checks if at least two columns of the csv file uploaded have the names specified above, and if not, it raises a warning, prompting to upload a file with correct column names.
The following energy network components are supported. For more in-depth information, components and their features can be found in PyPSA library documentation https://pypsa.readthedocs.io/en/latest/components.html.
An energy carrier is where energy is stored in nature. The currently supported energy carriers are AC, DC, hydrogen, and natural gas
. Energy can be transformed at buses with the help of links from one carrier to the other, e.g. from electricity to green hydrogen, via an electrolysis component.
Buses are the fundamental nodes to which the other network components are connected and determine the power balance. They can be electric (AC, DC), hydrogen, heating, or gas. Minimum number of buses must be 1. An energy carrier must be specified for each bus.
Generators produce energy. They must be assigned to one of the network's buses and be of one of the supported generator types: Diesel, Coal, Natural Gas, Hydro, Solar, or Wind
. They must be assigned a nominal power in MW, the maximum power they can reach at a single time snapshot. They must also be assigned a capital cost and a marginal production cost, in €/MW and €/MWh respectively.
A Line is a component that transfers energy from one geographic location to another. It resembles ordinary electricity power lines. The start and end buses of a line as well as the series reactance
A load represents an energy demand timeseries, for example, the electricity demand timeseries of a village, or its natural gas demand, or its hydrogen demand timeseries. Therefore, loads must be assigned to a single network bus. Then the wizard prompts the user to upload the load's energy timeseries file.
Links are mathematical instruments resembling devices that transform energy from one carrier to another. Supported links are Electrolysis, Fuel Cell, and Methanation
. For example, a fuel cell can convert hydrogen into electricity. Therefore links, just like lines, must be assigned to the starting and ending buses of the network. However, energy can only flow from the starting to the ending bus.
Energy storage, or simply store, is where energy can be stored for future usage. Currently, only hydrogen
storage is supported. Stores must be assigned to a single bus. They must also be provided with a nominal energy capacity (MWh)
a capital cost (€/MW)
and a marginal cost (€/MWh)
.
After the network has been configured, the optimal power flow is found for the given timeslots, via the Linopy in-built method of PyPSA library. The optimal power flow is the one that minimizes the total monetary costs of power generation while respecting that the network specifications, such as energy demand satisfaction in each timeslot of the simulation must be met. The monetary costs of the simulation, are defined as the sum of capital and operational costs of all network components, for every timeslot.
TwinP2G can provide a PV system simulation tool using PVLib, a Python library for simulating the solar energy of photovoltaic systems. It provides tools for modeling solar radiation, the performance of photovoltaic components, and solar tracking systems and it is based on information from the Photovoltaic Geographical Information System (PVGIS).
For the simulation snapshots, the optimal timeseries for generation, transmission, and energy storage are obtained.
PyPSA allows for interactive network plotting for lines, links, and buses using plotly https://plotly.com/, an open-source, interactive, browser-based graphics library for Python.
Additionally, the statistics
component is created, providing information about the solved network through metrics such as:
- Capital expenditure: The capital cost for each network component in €.
- Operational expenditure: The operating cost for each network component in €.
- Installed capacities: The installed capacity for each network component in MW.
- Optimal capacities: The optimal capacity for each network component in MW.
- Supply: The power/energy supply for each network component in MWh.
- Withdrawal: The power/energy withdrawal for each network component in MWh.
- Curtailment: The energy curtailment for each network component in MWh.
- Capacity Factor: The capacity factor for each network component.
- Revenue: The revenue for each network component in €.
- Market value: The market value of the network component in €/MWh.
- Energy balance: The energy balance of the components of the network in MWh. Positive values represent supply, and negative values represent withdrawal.
- Dispatch: The energy distribution for each network component in MWh.
TwinP2G offers identity and access management via Keycloak