eGon2035

Central module containing code dealing with gas neighbours for eGon2035

The data used to model the gas sector in the neighbouring countries for the eGon2035 scenario are mainly from:

  • TYNDP 2020, scenario ‘Distributed Energy’ for (conventional and bio) generation capacities, loads, crossbordering pipelines,

  • the IGGIELGN SciGRID_gas dataset for CH4 stores, LNG capacities.

For more information on these data, refer to the TYNDP 2020 documentation and SciGRID_gas IGGIELGN documentation.

calc_capacities()[source]

Calculates gas production capacities of neighbouring countries

For each neigbouring country, this function calculates the gas generation capacity in 2035 using the function calc_capacity_per_year() for 2030 and 2040 and interpolates the results. These capacities include LNG import, as well as conventional and biogas production. Two conventional gas generators are added for Norway and Russia interpolating the supply potential (min) values from the TYNPD 2020 for 2030 and 2040.

Returns:

grouped_capacities (pandas.DataFrame) – Gas production capacities per foreign node

calc_capacity_per_year(df, lng, year)[source]

Calculates gas production capacities for a specified year

For a specified year and for the foreign country nodes this function calculates the gas production capacities, considering the gas (conventional and bio) production capacities from TYNDP data and the LNG import capacities from Scigrid gas data.

The columns of the returned dataframe are the following:
  • Value_bio_year: biogas production capacity (in GWh/d)

  • Value_conv_year: conventional gas production capacity including LNG imports (in GWh/d)

  • CH4_year: total gas production capacity (in GWh/d). This value is calculated using the peak production value from the TYNDP.

  • e_nom_max_year: total gas production capacity representative for the whole year (in GWh/d). This value is calculated using the average production value from the TYNDP and will then be used to limit the energy that can be generated in one year.

  • share_LNG_year: share of LGN import capacity in the total gas production capacity

  • share_conv_pipe_year: share of conventional gas extraction capacity in the total gas production capacity

  • share_bio_year: share of biogas production capacity in the total gas production capacity

Parameters:
  • df (pandas.DataFrame) – Gas (conventional and bio) production capacities from TYNDP (in GWh/d)

  • lng (pandas.Series) – LNG terminal capacities per foreign country node (in GWh/d)

  • year (int) – Year to calculate gas production capacities for

Returns:

df_year (pandas.DataFrame) – Gas production capacities (in GWh/d) per foreign country node

calc_ch4_storage_capacities()[source]

Calculates gas storage capacities of neighbouring countries for eGon2035

This function reads from the SciGRID_gas dataset the existing CH4 cavern stores, adjusts and returns them. Caverns reference: SciGRID_gas dataset (datasets/gas_data/data/IGGIELGN_Storages.csv downloaded in download_SciGRID_gas_data). For more information on these data refer, to the SciGRID_gas IGGIELGN documentation.

Returns:

  • ch4_storage_capacities (pandas.DataFrame)

  • Methane gas storage capacities per country in MWh

calc_global_ch4_demand(Norway_global_demand_1y)[source]

Calculates global CH4 demands abroad for eGon2035 scenario

The data comes from TYNDP 2020 according to NEP 2021 from the scenario ‘Distributed Energy’; linear interpolates between 2030 and 2040.

Returns:

pandas.DataFrame – Global (yearly) CH4 final demand per foreign node

calc_global_power_to_h2_demand()[source]

Calculate H2 demand abroad for eGon2035 scenario

Calculates global power demand abroad linked to H2 production. The data comes from TYNDP 2020 according to NEP 2021 from the scenario ‘Distributed Energy’; linear interpolate between 2030 and 2040.

Returns:

global_power_to_h2_demand (pandas.DataFrame) – Global hourly power-to-h2 demand per foreign node

calculate_ch4_grid_capacities()[source]

Calculates CH4 grid capacities for foreign countries based on TYNDP-data

For the crossbordering gas pipeline with Germany, each global capacity (neighbouring country specific) is uniformly distributed between all the links connecting Germany to this specific neighbouring country.

Returns:

Neighbouring_pipe_capacities_list (pandas.DataFrame) – Table containing the CH4 grid capacity for each foreign country

calculate_ocgt_capacities()[source]

Calculate gas turbine capacities abroad for eGon2035

Calculate gas turbine capacities abroad for eGon2035 based on TYNDP 2020, scenario “Distributed Energy”, interpolated between 2030 and 2040.

Returns:

df_ocgt (pandas.DataFrame) – Gas turbine capacities per foreign node

get_foreign_gas_bus_id(carrier='CH4')[source]

Calculate the etrago bus id based on the geometry

Map node_ids from TYNDP and etragos bus_id

Parameters:

carrier (str) – Name of the carrier

Returns:

pandas.Series – List of mapped node_ids from TYNDP and etragos bus_id

grid()[source]

Insert CH4 grid capacities for crossbordering pipelines in eGon2035

This function inserts CH4 grid capacities into the database for crossbordering pipelines in the scenario eGon2035 by executing the following steps:

Returns:

None

import_ch4_demandTS()[source]

Calculate global CH4 demand in Norway and CH4 demand profiles abroad

Import from the PyPSA-eur-sec run the time series of residential rural heat per neighbor country. This time series is used to calculate:

  • the global (yearly) heat demand of Norway (that will be supplied by CH4)

  • the normalized CH4 hourly resolved demand profile

Returns:

  • Norway_global_demand (Float) – Yearly heat demand of Norway in MWh

  • neighbor_loads_t (pandas.DataFrame) – Normalized CH4 hourly resolved demand profiles per neighbor country

insert_ch4_demand(global_demand, normalized_ch4_demandTS)[source]

Insert CH4 demands abroad into the database for eGon2035

Parameters:
  • global_demand (pandas.DataFrame) – Global CH4 demand per foreign node in 1 year

  • gas_demandTS (pandas.DataFrame) – Normalized time series of the demand per foreign country

Returns:

None

insert_generators(gen)[source]

Insert gas generators for foreign countries into the database. The marginal cost of the methane is calculated as the sum of the imported LNG cost, the conventional natural gas cost and the biomethane cost, weighted by their share in the total import/ production capacity. LNG gas is considered to be 30% more expensive than the natural gas transported by pipelines (source: iwd, 2022).

Parameters:

gen (pandas.DataFrame) – Gas production capacities per foreign node and energy carrier

Returns:

None

insert_ocgt_abroad()[source]

Insert gas turbine capacities abroad for eGon2035 in the database

Parameters:

df_ocgt (pandas.DataFrame) – Gas turbine capacities per foreign node

Returns:

None

insert_power_to_h2_demand(global_power_to_h2_demand)[source]

Insert H2 demands into the database for eGon2035

These loads are considered as constant and are attributed to AC buses.

Parameters:

global_power_to_h2_demand (pandas.DataFrame) – Global hourly power-to-h2 demand per foreign node

Returns:

None

insert_storage(ch4_storage_capacities)[source]

Inserts CH4 stores for foreign countries into the database

This function inserts the CH4 stores for foreign countries with the following steps:

  • Receive as argument the CH4 store capacities per foreign node

  • Clean the database

  • Add missing columns (scn_name, carrier and store_id)

  • Insert the table into the database

Parameters:

ch4_storage_capacities (pandas.DataFrame) – Methane gas storage capacities per country in MWh

Returns:

None

read_LNG_capacities()[source]

Read LNG import capacities from SciGRID_gas data

Returns:

IGGIELGN_LNGs (pandas.Series) – LNG terminal capacities per foreign country node (in GWh/d)

tyndp_gas_demand()[source]

Insert gas demands abroad for eGon2035

Insert CH4 and H2 demands abroad for the scenario eGon2035 by executing the following steps:

Returns:

None

tyndp_gas_generation()[source]

Insert data from TYNDP 2020 according to NEP 2021 Scenario ‘Distributed Energy’; linear interpolate between 2030 and 2040

Returns:

None