Simulation Info

Purpose

The simulation estimates the technical and economic performance of several Battery Energy Storage System (BESS) sizes for Venice Airport.

It models how a BESS can charge from surplus energy or from the grid, discharge to reduce grid imports, and generate value through avoided energy cost.

Method

The simulation model is implemented as a linear optimization problem.

The simulation is run independently for each BESS size. The optimization horizon is one calendar month, and each interval represents 15 minutes.

The battery state of charge is constrained between 10% and 90% of nominal capacity. Charging and discharging power is based on a 0.5C rate. Round-trip efficiency is 90%, split symmetrically between charging and discharging.

Operating Logic

The model uses ex-ante masks to decide when charging or discharging is allowed.

For each monthly window, charging is allowed in lower-cost intervals, while discharging is allowed in higher-value intervals with positive grid import. If an interval qualifies for both actions, charging has priority, preventing simultaneous charge and discharge without binary variables.

In the current configuration, surplus energy is intentionally modeled as available in every charge-allowed interval up to the BESS power limit. The goal is not to reproduce the measured surplus profile, but to let the optimizer determine how much surplus energy would be needed to make each BESS size economically convenient.

The resulting surplus charge should therefore be read as a mathematical requirement, not as a forecast of actual available surplus

The masks are mutually exclusive. If an interval qualifies for both actions, the configured priority resolves the conflict before optimization.

Contract Type

The airport currently has an electricity supply contract indexed to the F1, F2 and F3 tariff bands.

These bands cover relatively long time periods, so they flatten intra-day price differences and reduce the measurable value of energy arbitrage.

For this reason, the simulation is based on a hypothetical supply contract indexed to the hourly PUN. This structure exposes the BESS to hourly price variability and makes it possible to estimate the economic value of charging in lower-price hours and discharging in higher-price hours.

For the base electricity component, the model uses the hourly PUN plus the contractual spread. The other bill components are calculated using the same criteria applied in the current electricity bill.

The bill model used in the simulation is:

Component Formula
Base electricity price Hourly PUN + contractual spread
Avoided import cost Energy cost + network cost + dispatching cost x (1 + losses) + capacity market cost
Grid charging cost Grid charge kWh x avoided import cost
Surplus opportunity cost Surplus charge kWh x hourly export price
Monthly peak-shaving value Monthly peak reduction kWh x peak-shaving unit value

Economic Logic

The optimization objective is built as the maximization of net operating value.

For each interval, discharge is rewarded with the avoided import cost. Surplus charging is penalized with the export revenue that would be lost by storing that energy instead of selling it to the grid. Grid charging is penalized with the cost of buying that energy from the grid. All charged and discharged energy is also penalized with the degradation cost.

In simplified form:

Net value = avoided import value - lost export value - grid charging cost - degradation cost

Monthly peak shaving is calculated after the optimization. It is added to the economic result but is not part of the linear optimization objective.

Investment metrics are calculated from annual savings, capex, project life, discount rate and annual battery degradation. The outputs include NPV, IRR and simple payback.

Source Data

The simulation uses three input files from the project root.

File Granularity Main role Rows used
ENERGY_INPUT.csv 15 minutes Site load, gas plant generation, grid import/export and PV energy 35,039 valid timestamps
HOURLY_PUN_ENERGY_IMPORTED.csv 15 minutes Import PUN index and energy cost applied to each interval 35,039 valid timestamps
HOURLY_PUN_ENERGY_EXPORTED.csv Hourly Export price used as the opportunity cost of surplus charging 8,760 rows

The energy and import-price data cover the period from 2025-01-01 00:15:00 to 2025-12-31 23:45:00.

Energy Data Summary

Values in this table are based on ENERGY_INPUT.csv. Energy columns are expressed in kWh per 15-minute interval.

Column Annual total (kWh) Average per interval (kWh) Max interval (kWh)
Exported to grid 253,351.146 7.230 253.146
Energy from gas plant 33,732,857.000 962.723 1,273.000
Site load 40,083,078.010 1,143.956 2,277.109
PV energy total 1,312,264.000 37.452 206.000
Imported from grid 5,286,646.000 150.879 1,414.000

Price Data Summary

Import prices are read from HOURLY_PUN_ENERGY_IMPORTED.csv. Export prices are read from HOURLY_PUN_ENERGY_EXPORTED.csv.

Source Field Average (€/kWh) Min (€/kWh) Max (€/kWh)
Import price file PUN index hourly 0.115941 0.000 0.289
Import price file Energy cost 0.131218 0.015 0.304
Export price file Export price 0.115938 0.000 0.289

Simulation Parameters

Parameter Value
Optimization horizon Monthly
Interval length 0.25 h
Round-trip efficiency 90%
Minimum SOC 10%
Maximum SOC 90%
Power C-rate 0.5C
Grid charging Enabled
Actual surplus column Disabled
Charge low-cost quantile 0.60
Discharge high-value quantile 0.40
Conflict priority Charge
Degradation cost 10 €/MWh throughput
Monthly peak-shaving value 0.4 €/kWh

BESS Sizes

Nominal size (MWh) Usable capacity (MWh) Power (MW) Capex (€)
0.2 0.16 0.10 40,000
0.4 0.32 0.20 80,000
0.6 0.48 0.30 120,000
0.8 0.64 0.40 160,000
1.0 0.80 0.50 200,000
1.5 1.20 0.75 300,000
2.0 1.60 1.00 400,000
3.0 2.40 1.50 600,000