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:
Calculating the crossbordering CH4 pipeline capacities with the function
calculate_ch4_grid_capacities(),Inserting them into the database by executing the function
insert_gas_grid_capacities.
- 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:
- CH4
Calculation of the global CH4 demand in Norway and the CH4 demand profile by executing the function
import_ch4_demandTS()Calculation of the global CH4 demands by executing the function
calc_global_ch4_demand()Insertion of the CH4 loads and their associated time series in the database by executing the function
insert_ch4_demand()
- H2
Calculation of the global power demand abroad linked to H2 production by executing the function
calc_global_power_to_h2_demand()Insertion of these loads in the database by executing the function
insert_power_to_h2_demand()
- Returns:
None