Power.ftt_p_fuel_price module#

ftt_p_mewp.py#

Marginal electricity pricing module for FTT:Power.

Computes marginal fuel prices (MEWP) with VRE integration costs. Based on: https://www.sciencedirect.com/science/article/pii/S0360544213009390

Functions included:
  • get_gen_share: Compute solar and wind generation shares

  • add_balancing_costs: Add VRE balancing costs (2-4 EUR/MWh)

  • add_grid_integration_costs: Add grid integration costs (up to 7.5 EUR/MWh)

  • get_marginal_fuel_prices_mewp: Main function to compute MEWP

@author: Femke Nijsse Created: Mon Nov 6 2023

Power.ftt_p_fuel_price.add_balancing_costs(solar_share, wind_share, r)#

Add balancing costs for VRE integration.

Balancing costs range from 2 to 4 EUR/MWh (2013 values). After 30% of generation, costs are at maximum.

Reference: https://www.sciencedirect.com/science/article/pii/S0360544213009390

Parameters:
  • solar_share (float) – Solar generation as fraction of total

  • wind_share (float) – Wind generation as fraction of total

  • r (int) – Region index (unused, kept for consistency)

Returns:

Balancing costs in $/MWh

Return type:

float

Power.ftt_p_fuel_price.add_grid_integration_costs(solar_share, wind_share, r)#

Add grid integration costs for VRE.

Grid integration costs increase linearly to 7.5 EUR/MWh (2013 values). After 40% of generation, costs are at maximum.

Reference: https://www.sciencedirect.com/science/article/pii/S0360544213009390

Parameters:
  • solar_share (float) – Solar generation as fraction of total

  • wind_share (float) – Wind generation as fraction of total

  • r (int) – Region index (unused, kept for consistency)

Returns:

Grid integration costs in $/MWh

Return type:

float

Power.ftt_p_fuel_price.get_gen_share(data, r)#

Compute share of solar PV and share of onshore + offshore wind.

Parameters:
  • data (dict) – Model variables dictionary

  • r (int) – Region index

Returns:

(solar_share, wind_share) as fractions of total generation

Return type:

tuple

Power.ftt_p_fuel_price.get_marginal_fuel_prices_mewp(data, titles, Svar)#

Compute marginal fuel prices MEWP based on development within FTT:Power.

This function calculates electricity prices (MEWP index 7) using either: - MPRI == 1: Weighted average LCOE approach (default) - MPRI == 2: Merit order approach

For MPRI == 1: - New capacity uses LCOE including all policies (MECC incl CO2) - Old capacity uses LCOE with CO2 costs only (MECC only CO2) - Adds balancing and grid integration costs based on VRE share

Parameters:
  • data (dict) – Model variables dictionary containing: - MEWP: Output - marginal fuel prices - MPRI: Pricing mode switch (1 or 2) - MEWK: Installed capacity - MEWI: New investment - MEWL: Load factors - MEWG: Generation - MECC incl CO2: LCOE with all policies - MECC only CO2: LCOE with CO2 only - MERC: Fuel prices - MWG1-6: Generation by load band - MWMC: Marginal costs - MLBP: Load band prices (output for MPRI==2)

  • titles (dict) – Dimension titles, requires ‘RTI’ for regions

  • Svar (ndarray) – Variable technology indicator (1 for VRE, 0 for dispatchable)

Returns:

data – Updated with MEWP values

Return type:

dict