Power.ftt_p_costc module#

ftt_p_costc.py#

Power cost-supply curves module.

Cost-supply curves give the cost of a resource as a function of its quantity, and hence provide the marginal cost of each resource. For example, if a fossil fuel resource is running out, the fuel cost increases. For e.g. hydropower, if there are less accessible places to build, then the investment cost goes up. For variable renewables, the load factor (the number of hours it delivers to the grid, divide by the number of hours in a year).

Functions included:
  • marginal_costs_nonrenewables

    Calculates marginal cost of production of non renewable resources

  • cost_curves

    Calculates cost-supply curves for the power sector

Power.ftt_p_costc.cost_curves(BCET, BCSC, MEWD, MEWG, MEWL, MEPD, MERC, MRCL, RERY, MPTR, MRED, MRES, num_regions, num_techs, num_resources, year, dt)#

FTT: Power cost-supply curves routine. This calculates the cost of resources given the available supply.

Power.ftt_p_costc.marginal_costs_nonrenewables(MEPD, RERY, MPTR, BCSC, HistC, MRCL, MERC, dt, num_regions, num_resources)#

Marginal cost of production of non-renewable resources.

Parameters:
  • MPTR (NumPy array) – Values of nu by region (Production to reserve ratio) See paper Mercure & Salas arXiv:1209.0708 for data

  • HistC (NumPy array) – Cost axis C

  • MRCL (NumPy array) – Previous marginal cost value

  • MEPD (NumPy array) – Total resource demand

  • MERC (NumPy array) – Current (new) marginal cost value

  • MRED (NumPy array) – Resources left

  • MRES (NumPy array) – reserves

  • RERY (NumPy array) – supply in GJ of fossil fuel resource (only I = 2 to 4 used)

  • BCSC (NumPy array) – Dataset for natural resources

  • num_regions (int) – Number of regions and resources

  • num_resources (int) – Number of regions and resources

Returns:

  • RERY

  • BCSC

  • MERC

  • MRED

  • MRES

Notes

Takes about 16s to compile, so probably not worth it unless running a lot of scenarios.

Scipy.fsolve might be a better strategy for speed ups..

Power.ftt_p_costc.update_capacity_factors(BCET, BCSC, MEWL, MERC, MEPD, tech_to_resource, loadfactor_type_mask)#

New capacity factor method. Much less strict that the previous version based on work by Rishi Sahastrabuddhe.

Power.ftt_p_costc.update_capacity_factors_original(BCET, MEWG, MEWL, BCSC, CSC_Q, MEPD, MERC, tech_to_resource, num_regions, num_techs)#
Power.ftt_p_costc.update_fuel_costs(BCET, MERC, MRCL, tech_to_resource, fuel_type_mask)#

For nuclear, oil, coal and gas, update fuel costs based on changes to MERC compared to the previous time step

Power.ftt_p_costc.update_investment_cost(BCET, BCSC, CSC_Q, MEPD, MERC, tech_to_resource, investment_type_mask)#

Increasing investment term type of limit, for technologies such as hydropower and geothermal. Unrealistically strict, so turned off