Calculate Levelized Cost of Electricity (LCOE)#

This examples show how to calculate the LCOE in a simplified and explicit version.

Workflow:

  1. Load required packages

  2. Simple LCOE calculation

  3. Explicit LCOE calculation

import reskit as rk

Simple levelized cost of electricity (LCOE) calculation#

Follows: \(\mathrm{LCOE} = C * \frac{ (r/(1-(1+r)^{-N})) + O_c }{P_{mean}}\)

Where:

  • \(C\) is the capital expenditure [€]

  • \(O_c\) is the fixed operating costs (given as a factor of the capex)

  • \(P_{mean}\) is the average production in each year [kWh]

  • \(r\) is the discount rate

  • \(N\) is the economic lifetime [years]

# Compute LCOE

wind_turbine_capacity = 2700  # Assume a 2.7 MW turbine
wind_turbine_capex = wind_turbine_capacity * 1000  # assume 1000 €/kW
wind_turbine_full_load_hours = 2300  # assume 2300 hours

wind_turbine_generation = wind_turbine_capacity * wind_turbine_full_load_hours

lcoe = rk.util.levelized_cost_of_electricity_simplified(
    capex=wind_turbine_capex,
    mean_production=wind_turbine_generation,
    lifetime=20,  # Assume 20 years,
    discount_rate=0.08,  # Assume 8% interest
    opex_per_capex=0.02,  # Assume opex is 2% of capex
)

print(" LCOE is {:.5f} €/kWh".format(lcoe))
 LCOE is 0.05298 €/kWh

Explicit levelized cost of electricity (LCOE) calculation#

Follows: \(\mathrm{LCOE} = \sum{\frac{exp_y}{(1+r)^y}} / \sum{\frac{prod_y}{(1+r)^y}}\)

Where:

  • \(exp_y\) is the expenditures in year \(y\) [€]

  • \(prod_y\) is the production in year \(y\) [kWh]

  • \(r\) is the discount rate

# Compute LCOE

annual_expenditures = [
    2700000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
    54000,
]
annual_generations = [
    6385324,
    5644533,
    5565218,
    5664097,
    5993882,
    5599432,
    6500692,
    5643933,
    6950887,
    6233453,
    6684309,
    6241383,
    6865367,
    6919187,
    6276209,
    5547549,
    5715262,
    6606469,
    5828275,
    5847079,
]

lcoe = rk.util.levelized_cost_of_electricity(
    expenditures=annual_expenditures,
    productions=annual_generations,
    discount_rate=0.08,  # Assume 8% interest
)

print(" LCOE is {:.5f} €/kWh".format(lcoe))
 LCOE is 0.04986 €/kWh