diff --git a/src/calliope_pathways/model_configs/italy/additional_math/math_increasing_demand.yaml b/src/calliope_pathways/model_configs/italy/additional_math/math_increasing_demand.yaml index 3877a5a..f204b49 100644 --- a/src/calliope_pathways/model_configs/italy/additional_math/math_increasing_demand.yaml +++ b/src/calliope_pathways/model_configs/italy/additional_math/math_increasing_demand.yaml @@ -1,21 +1,18 @@ constraints: demand_min: + # This doesn't seem to be doing what we want it to, so I've now deactivated it. description: The electricity demand gradually increases to reach the 2050 electricity demand profile. foreach: [nodes, carriers, timesteps, investsteps] - #foreach: [nodes, techs, carriers, investsteps] - #where: sink_use_equals_2050 AND sink_use_equals AND factor_demand_2015 AND base_tech=demand - #where: base_tech=demand - where: NOT sink_use_equals AND sink_use_max AND base_tech=demand equations: - #- where: sink_use_equals AND sink_use_equals_2050 - #expression: flow_in_inc_eff >= factor_demand_2015 * sink_use_equals * $sink_scaler - (1 - factor_demand_2015) * sink_use_equals_2050 * $sink_scaler - #- expression: sum(flow_in_inc_eff * timestep_weights, over=timesteps) >= factor_demand_2015 * sum(sink_use_equals * $sink_scaler * timestep_weights, over=timesteps) - (1 - factor_demand_2015) * sum(sink_use_equals_2050 * $sink_scaler * timestep_weights, over=timesteps) - - expression: sum(flow_in_inc_eff, over=techs) == factor_demand_2015 * sink_use_max[techs=demand_electricity_2015] + (1 - factor_demand_2015) * sink_use_max[techs=demand_electricity_2050] - #sub_expressions: - # sink_scaler: - # - where: sink_unit=per_area - # expression: area_use - # - where: sink_unit=per_cap - # expression: sum(flow_cap, over=carriers) - # - where: sink_unit=absolute - # expression: '1' + - expression: sum(flow_in_inc_eff[techs=$all_demand], over=techs) == factor_demand_2015 * sink_use_max[techs=demand_electricity_2015] + (1 - factor_demand_2015) * sink_use_max[techs=demand_electricity_2050] + slices: + all_demand: + - expression: "[demand_electricity_2015, demand_electricity_2050]" + active: false + + balance_demand: + equations: + - where: sink_use_equals + expression: flow_in_inc_eff == sink_use_equals * $sink_scaler * demand_factor + - where: NOT sink_use_equals AND sink_use_max + expression: flow_in_inc_eff <= sink_use_max * $sink_scaler \ No newline at end of file diff --git a/src/calliope_pathways/model_configs/italy/scenarios.yaml b/src/calliope_pathways/model_configs/italy/scenarios.yaml index abed0bd..a1e7cd5 100644 --- a/src/calliope_pathways/model_configs/italy/scenarios.yaml +++ b/src/calliope_pathways/model_configs/italy/scenarios.yaml @@ -14,24 +14,24 @@ overrides: ## 08-Emilia Romagna - Caorso power plant #R8: # techs: - # nuclear: + # nuclear: # flow_cap_initial: 0 #kW ## 01-Piemonte - Enrico Fermi power plant #R1: # techs: - # nuclear: + # nuclear: # flow_cap_initial: 0 #kW ## 14-Campania - Garigliano power plant #R14: # techs: - # nuclear: + # nuclear: # flow_cap_initial: 0 #kW ## 12-Lazio - Latina power plant #R12: # techs: - # nuclear: + # nuclear: # flow_cap_initial: 0 #kW - + techs: nuclear: name: "Nuclear energy" @@ -43,9 +43,9 @@ overrides: flow_cap_initial: 0 # kW source_unit: per_cap flow_out_eff: 0.35 - + # The technology is not liekely to be available before 2035 - flow_cap_new_max: + flow_cap_new_max: data: [0, 0, .inf, .inf, .inf, .inf] index: [2025, 2030, 2035, 2040, 2045, 2050] dims: vintagesteps @@ -72,18 +72,18 @@ overrides: data: [1,0] index: [monetary, emissions] dims: costs - + # techs.yaml - techs: + techs: waste: cost_flow_in: - data: + data: - -0.1305 # EUR2010/kWh - 0.32 # kgCO2/kWh index: [monetary, emissions] bioenergy: cost_flow_in: - data: + data: - 0.1367 # EUR2010/kWh - 0.29 # kgCO2/kWh index: [monetary, emissions] @@ -93,19 +93,19 @@ overrides: - 0.01 # EUR2010/kWh - 0.24 # kgCO2/kWh index: [monetary, emissions] - coal: + coal: cost_flow_in: - data: + data: - 0.00946 # EUR2010/kWh - 0.33 # kgCO2/kWh index: [monetary, emissions] - ccgt: + ccgt: cost_flow_in: data: - 0.0291 # EUR2010/kWh - 0.18 # kgCO2/kWh index: [monetary, emissions] - + # Scenario 0 emissions_scenario_0: parameters: @@ -113,7 +113,7 @@ overrides: data: [.inf, .inf, .inf, .inf, .inf, .inf] # kgCO2 index: [2025, 2030, 2035, 2040, 2045, 2050] dims: investsteps - + # Scenario 1 emissions_scenario_1: parameters: @@ -121,7 +121,7 @@ overrides: data: [80.55e9, 56.88e9, 24.54e9, 6.92e9, 1.64e9, 0] # kgCO2 index: [2025, 2030, 2035, 2040, 2045, 2050] dims: investsteps - + # Scenario 2 emissions_scenario_2: parameters: @@ -137,7 +137,7 @@ overrides: data: [71.67e9, 31.60e9, 7.49e9, 1.39e9, 0.24e9, 0] # kgCO2 index: [2025, 2030, 2035, 2040, 2045, 2050] dims: investsteps - + # Scenario 4 emissions_scenario_4: parameters: @@ -145,7 +145,7 @@ overrides: data: [64.12e9, 18.96e9, 3.06e9, 0.42e9, 0.06e9, 0] # kgCO2 index: [2025, 2030, 2035, 2040, 2045, 2050] dims: investsteps - + # Scenario 5 emissions_scenario_5: parameters: @@ -158,7 +158,7 @@ overrides: config: init: add_math: [../../math/pathways.yaml, additional_math/math.yaml, additional_math/math_emissions.yaml, additional_math/nuclear_specifications.yaml, additional_math/math_increasing_demand.yaml] - + techs: demand_electricity_2015: name: "Electricity demand in 2015" @@ -167,7 +167,11 @@ overrides: carrier_in: electricity flow_cap_initial: 1e12 # very large number - it doesn't actually matter what this technology has as a capacity. available_initial_cap: 1 # always available throughout the investment steps - + demand_factor: + data: [0.9, 0.57, 0.22, 0.06, 0.01, 0] + index: [2025, 2030, 2035, 2040, 2045, 2050] + dims: investsteps + demand_electricity_2050: name: "Electricity demand in 2050" color: "#072486" @@ -175,13 +179,17 @@ overrides: carrier_in: electricity flow_cap_initial: 1e12 # very large number - it doesn't actually matter what this technology has as a capacity. available_initial_cap: 1 # always available throughout the investment steps + demand_factor: + data: [0.1, 0.43, 0.78, 0.94, 0.99, 1] + index: [2025, 2030, 2035, 2040, 2045, 2050] + dims: investsteps data_sources: # Demand data 2015 electricity_demand_source_use_equals: add_dimensions: techs: demand_electricity_2015 - parameters: sink_use_max + parameters: sink_use_equals # Demand data 2050 electricity_demand_source_use_equals_2050: @@ -190,13 +198,7 @@ overrides: columns: [nodes] add_dimensions: techs: demand_electricity_2050 - parameters: sink_use_max - - parameters: - factor_demand_2015: - data: [0.9, 0.57, 0.22, 0.06, 0.01, 0] - index: [2025, 2030, 2035, 2040, 2045, 2050] - dims: investsteps + parameters: sink_use_equals flow_cap_new_max_rate: techs: # Putting in some indicative values here - not based on any data source