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