Power.ftt_p_main module

Power.ftt_p_main module#

ftt_p_main.py#

Power generation FTT module, main file.

The power module models technological replacement of electricity generation technologies due to simulated investor decision making. Investors compare the levelised cost of electricity, which leads to changes in the market shares of different technologies.

After market shares are determined, the rldc function is called, which calculates residual load duration curves. This function estimates how much power needs to be supplied by flexible or baseload technologies to meet electricity demand at all times. This function also returns load band heights, curtailment, and storage information, including storage costs and marginal costs for wind and solar.

FTT: Power also includes dispatchers decisions; dispatchers decide when different technologies supply the power grid. Investor decisions and dispatcher decisions are matched up, which is an example of a stable marraige problem.

Costs in the model change due to endogenous learning curves, costs for electricity storage, as well as increasing marginal costs of resources calculated using cost-supply curves. Cost-supply curves are recalculated at the end of the routine.

Local library imports:

FTT: Core functions: - get_sales

Generic investment function (new plus end-of-life replacement)

  • shares

    Market shares simulation (core of the model)

FTT: Power functions:

  • rldc

    Residual load duration curves

  • dspch

    Dispatch of capacity

  • get_lcoe

    Levelised cost calculation

  • survival_function

    Calculate of scrappage, sales, tracking of age, and average efficiency.

  • cost_curves

    Calculates increasing marginal costs of resources

Support functions:

  • divide

    Element-wise divide which replaces divide-by-zeros with zeros

Functions included:
  • solve

    Main solution function for the module

Power.ftt_p_main.solve(data, time_lag, titles, histend, year, domain)#

Main solution function for the module.

Add an extended description in the future.

Parameters:
  • data (dictionary of NumPy arrays) – Model variables for the current year

  • time_lag (type) – Model variables in previous year

  • titles (dictionary of lists) – Dictionary containing all title classification

  • histend (dict of integers) – Final year of historical data by variable

  • year (int) – Current year

  • domain (dictionary of lists) – Pairs variables to domains

Returns:

data – Model variables for the given year of solution

Return type:

dictionary of NumPy arrays

Notes

survival_function is currently unused.