Documentation

See the full documentation here.

Main file from which the model is run – main.py

“scen” defines the scenario name

Set of Boolean indicators for different policy options. Set True or False value to activate or deactivate certain set of equations.

Section under “policy constraints” contains the constraints on the renewable portfolio standard, CO2 emissions and maximum share of Critical excess of electricity generation. These constraints are enforced through positive (True) values of boolean constraints rps_inv, CarbonLimit and Ceep_limit.

In this section and the following ones, the carbon prices, electricity import price, Net present values, technology changes throughout time as well as electric vehicle parameters are defined.

At the end of this script, the locations, names and relative paths to the input files are defined.

In the file “Build_model.py”, you can modify the number of hours you want the model to run as well as the years which will be run. The limitation is that for the hours (periods) you can only change the second number which relates to the last hour for which the model is run.

For the years, you have to type in the years that exist in the input files for which the data is defined. In basic version of the model these are 2020, 2025, 2030, 2035, 2040, 2045 an 2050.

H2RES data files and tables

When you open the “data” folder, this is the list of the files you will find. These are the files being linked to in the previous figure.

Scaled inflows

This file presents the hourly distributions related to the inflows to the reservoirs of the dammed hydro power plants. The values are presented as a ratio of the inflow to the installed generation capacity of the power plant. Distributions are on hourly level and each plant has its own distribution of inflows for predetermined hour and year. You can get the inflow distribution directly from Dispa-SET website http://www.dispaset.eu/en/latest/releases.html or from RenewablesNinja https://www.renewables.ninja/.

Availability factors

This file contains the hourly distributions for the availability factors of non dispatchable power plants such as run of the river hydro power plants, wind power or solar power plants. The first column is designated with “year” and together with column “period” enables for definition of different availability factor in each hour of each year. The values are between 0 and 1. You can get the distributions for desired location from RenewablesNinja https://www.renewables.ninja/, or you can use the metered data from Transparency Platform https://transparency.entsoe.eu/.

Import/export

In this file you can define the available net transfer capacities in both directions as well as an exogenous requirement for imports or exports into or from the system. The exogenous export requirement can be either turned on or off via the boolean parameter “exports_dat“.

Heat demand

The file heat_demand presents the hourly distributions for the heating demand. Columns C, D and E correspond with the demands in different district heating grids supplied by the cogeneration plants. The individual heating demand is presented through “general_demand” column and the industry demand is presented through “Industry_HT” column.

Generators data

The data on generating units is presented throught “genco_dat” file.

NameDescriptionUnit
unit_nameEach generator is assigned a name by which the model identifies it. Each name must be unique.
cap_mwThis variable defines the nominal capacity of the generator in year zero.MW
fuel_typeThe type of fuel the generator uses is defined by this variable. You need to select a variable from the list: Hydro, Biomass, Gas, Oil, Nuclear, Coal, Wind, Solar.
decom_start_existing_capThe number of years after the initial simulation year when the decommissioning of existing capacity begins. Decommissioning follows a logarithmic curve of gradual decommissioning.year
life_timeEquipment’s lifetime.year
decom_start_newThe number of years after the instalation of the new capacity when the decommissioning of new capacity begins.year
final_life_capThe share of installed capacity that remains in operation after the end of the lifetime. Some equipment is assumed to continue operating with increased maintenance to extend its lifetime.share
max_inv_periodThe maximum investment constraint in equipment in a given year. The system can install a maximum of this equipment capacity in each year. This limits rapid investment in equipment over a short period.MW
max_cap_genThe maximum total equipment capacity.MW
cap_factorThe maximum availability of equipment. Currently, this unit is not used as the load factors of variable renewable sources are defined through resource availability curves.share
efficiencyEfficiency of the plant. Used for thermal power plants to calculate fuel consumption and emissions.share
cap_inv_costInvestment cost in capacity expansion.€/MW
RampingCostThe cost of changing the output power of a thermal power plant.€/MW
CO2IntensitySpecific CO2 emissions of each plant.tCO2/MWh
technologyPlant type. Besides fuel, additional definition is needed for the model to know which equations can be applied. For example, all hydroelectric plants use the same fuel category “hydro,” but they differ in types. They are divided into storage, reversible, and run-of-the-river.
RampUpRateLimitation on the rate of increase in output power. This size restricts the application of production capacities to balance variability in renewable energy production.share of capacity per hour
RampDownRateLimitation on the rate of power reduction.share of capacity per hour
PrimaryReserveA variable that indicates whether the plant participates in primary regulation. Include the label “Y” for a positive response and “N” for a negative response.
SecondaryReserveA variable that indicates whether the plant participates in secondary regulation. Include the label “Y” for a positive response and “N” for a negative response.
CHPTypeA variable that indicates whether the plant participates in district heating. Include the label “Y” for a positive response and “N” for a negative response.
STOCapacityThis variable defines the storage sizes in MWh. The same size applies to the storage capacity in hydroelectric plants and the thermal storage capacity in CHP plants connected to the district heating system.MWh
STOSelfDischargeEnergy loss from the storage system.share
STOMaxChargingPowerThis variable defines the maximum power in “MW” with which the storage system can be charged. In other words, this is the maximum operating power of a reversible hydroelectric plant in pumping mode or the maximum power with which the thermal storage system in CHP can be charged. This size should not be confused with the maximum thermal power that a thermal power plant can deliver.MW
STOChargingEfficiencyEfficiency of the storage charging process.share
CHPPowerToHeatThe ratio of thermal to electric power in a cogeneration plant. This variable defines the maximum thermal power of the cogeneration plant, which is always connected to the electric power.MWh/MWh
CHPPowerLossFactor
CHPMaxHeatThe maximum power that the thermal storage system can deliver. This size must always be at least equal to the peak load of the district heating system.MW
Table column descriptions

Fuel cost

The model requires the costs of the fuel for calculation. Similarly to other inputs, these prices are inserted as an hourly distributions for the planning horizon with each column corresponding to one type of fuel.

Flex tech

The majority of data required for modeling the system of heat production, heat pumps, transportation, and industry is defined through the file flex_tech_dat. The file contains multiple sheets dedicated to individual parts of the input data for the model.

Flex tech – Flex tech

The sheet ‘flex_tech’ provides a description of the technologies used for heat pumps, electric heaters, hydrogen production and storage, battery storage systems, and power-to-fuel production and storage. It is also necessary to define the names of the technologies, capacities, maximum capacities, efficiencies, data on the lifetime and decommissioning, as well as their participation in the primary and secondary regulation markets. An example of input data is shown in the figure above.

Flex tech – Thermal_tech

The figure above shows the data for boilers in individual households. The model uses four types of fuel-based boilers, namely gas boilers, biomass boilers, liquid fuel boilers, and coal boilers.

Flex tech – DistrictHeating

In order to initialize the model correctly, the starting capacities for the boilers and heat pumps in district heating networks have to be defined.

Flex tech – Tech_cost

The model also requires the investment costs for the heating systems and flexibility options. They are defined in the sheet tech_cost for each unit type and the year as shown on the figure above. The values are in €/MW of installed capacity. The exception are storage technologies with €/MWh.

Find data in the “Technology data” website https://ens.dk/en/our-services/projections-and-models/technology-data.

Flex tech – Industry

This sheet allows the demand in industry sector to be divided into different fuels by their shares and relate emission factors. In this version of the mode, the electricity or hydrogen demand in industry are defined separately and this section should only consider shares in the remainder of the demand.

Find data on the Eurostat energy balances.

Flex tech – COP_HP

The model uses heat pumps as well. Their operation greatly depends on the weather conditions and is reflected in achieved COP factors. This sheet enables the definition of hourly values for COP factors for heat pumps.

EV load

The table EV_load features two distributions. In order to model electric vehicles, we need to know the time of the demand and the availability for charging. Transport load values are the share of total transport load in the year.

H2 demand

Similarly as in electricity demand, hydrogen demand can be presented by the sector it corresponds to. The values are inserted in MWh units.

Demand

Basic electricity demands are defined through this file. A sample of the entered data in this file is shown in figure. It is necessary to define several columns that determine the time, year, day, hour, and location of specific energy demands. Therefore, the columns ‘year’ represent the year, and “period” represent the hour within the year. The next columns, “Industry”, “Buildings”, “Transport” and “power” relates to the demand in a specific hour of the year. It is not necessary to enter the data in each column. Overall data can be entered in the column “Power”.

You can get data on electricity demands for European countries from Transparency Platform https://transparency.entsoe.eu/.

Cooling demand

Cooling demand is modeled and therefore the input data is presented in the similar way as for heating. Heat pumps can provide cooling.