Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

correct initialization of learning parameters for electrolysis following Adrian's paper and improve initialization procedure by2025 #1051

Merged
merged 7 commits into from
Nov 28, 2022
8 changes: 8 additions & 0 deletions core/bounds.gms
Original file line number Diff line number Diff line change
Expand Up @@ -271,6 +271,8 @@ if (cm_emiscen ne 1,

*nr* cumulated capacity never falls below initial cumulated capacity:
vm_capCum.lo(ttot,regi,teLearn)$(ttot.val ge cm_startyear) = pm_data(regi,"ccap0",teLearn);
*** exception for tech_stat 4 technologies whose ccap0 refers to 2025 as these technologies don't exist in 2005
vm_capCum.lo(ttot,regi,teLearn)$(pm_data(regi,"tech_stat",teLearn) eq 4 AND ttot.val le 2020) = 0;

*nr: floor costs represent the lower bound of learning technologies investment costs
vm_costTeCapital.lo(t,regi,teLearn) = pm_data(regi,"floorcost",teLearn);
Expand Down Expand Up @@ -354,6 +356,12 @@ loop(regi,

*** no technologies with tech_stat 4 before 2025
vm_cap.fx(t,regi,te,rlf)$(t.val le 2020 AND pm_data(regi,"tech_stat",te) eq 4)=0;
*** initialize cumulative capacity of tech_stat 4 technologies at 0
*** (not at ccap0 from generisdata_tech.prn which gives the cucmulative capacity
*** at the initial investment cost of the first year in which the technology can be built)
vm_capCum.fx(t0,regi,teLearn)$(pm_data(regi,"tech_stat",teLearn) eq 4) = 0;
*** tech_stat 4 technologies don't learn before 2025, so capital cost should be fixed
vm_costTeCapital.fx(t,regi,teLearn)$(t.val le 2020 AND pm_data(regi,"tech_stat",teLearn) eq 4)=fm_dataglob("inco0",teLearn);


*CB 2012024 -----------------------------------------------------
Expand Down
6 changes: 4 additions & 2 deletions core/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -381,8 +381,9 @@ qm_deltaCapCumNet(ttot,regi,teLearn)$(ord(ttot) lt card(ttot) AND pm_ttot_val(tt

***---------------------------------------------------------------------------
*' Initial values for cumulated capacities (learning technologies only):
*' (except for tech_stat 4 technologies that have no standing capacities in 2005 and ccap0 refers to another year)
***---------------------------------------------------------------------------
q_capCumNet(t0,regi,teLearn)..
q_capCumNet(t0,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4))..
vm_capCum(t0,regi,teLearn)
=e=
pm_data(regi,"ccap0",teLearn);
Expand Down Expand Up @@ -417,7 +418,8 @@ q_limitGeopot(t,regi,peReComp(enty),rlf)..
sum(te$teReComp2pe(enty,te,rlf), (vm_capDistr(t,regi,te,rlf) / (pm_data(regi,"luse",te)/1000)));

*** learning curve for investment costs
q_costTeCapital(t,regi,teLearn) ..
*** deactivate learning for tech_stat 4 technologies before 2025 as they are not built before
q_costTeCapital(t,regi,teLearn)$(NOT (pm_data(regi,"tech_stat",teLearn) eq 4 AND t.val le 2020)) ..
vm_costTeCapital(t,regi,teLearn)
=e=
*** special treatment for first time steps: using global estimates better
Expand Down
22 changes: 11 additions & 11 deletions core/input/generisdata_tech.prn
Original file line number Diff line number Diff line change
Expand Up @@ -84,15 +84,15 @@ luse

+ elh2 dot dhp h2turb h2curt h2turbVRE elh2VRE h22ch4 MeOH
tech_stat 4 2 3 3
inco0 2000 480 360 600 700 0.1 0.1 700 800
inco0 1350 480 360 600 700 0.1 0.1 700 800
constrTme 2 2 1 2 2 1 1 2 2
mix0
eta 0.73 0.30 0.80 0.40 0.62 0.40 0.73 0.8 0.7
omf 0.05 0.03 0.03 0.03 0.05 0.00 0.00 0.03 0.03
omv 3 12 12 24 0 3 12
lifetime 30 25 25 30 30 30 30 30 30
incolearn 1500
ccap0 0.013
incolearn 1200
ccap0 0.0065
learn 0.15


Expand Down Expand Up @@ -197,14 +197,14 @@ Explanations:

Electrolysis - elh2
learning parameterization:
Assume that 20 GW(el) electrolysis installed globally at 1200 EUR/GW(el) in 2025
(Ueckerdt et al. (2021), https://doi.org/10.1038/s41558-021-01032-7, Fig. S3,
Odenweller et al. (2022), https://doi.org/10.1038/s41560-022-01097-4, Fig. 1d ).

20 GW(el) * 0.65 (elh2 efficiency) * 1e-3 ~ 0.013 TW(H2) = ccap0
1200 EUR/GW(el) / 0.65 (elh2 efficiency) * 1.1 (EUR to USD, 2015) ~ 2000 USD/kW(H2) = inco0
Assume floor cost: 350 EUR/GW(el)
350 EUR/GW(el) / 0.75 (long-term elh2 efficiency) * 1.1 (EUR to USD, 2015) ~ 500 USD/kW(H2) -> incolearn = 1500
Assume that 10 GW(el) electrolysis installed globally and CAPEX of 800 EUR/kW(el) in 2025
(slightly optimistic due to recent policies, e.g. EU Hydrogen Bank and US Inflation Reduction Act)
(Odenweller et al. (2022), https://doi.org/10.1038/s41560-022-01097-4,
Ueckerdt et al. (2021), https://doi.org/10.1038/s41558-021-01032-7, Fig. S3).
10 GW(el) * 0.65 (elh2 efficiency) * 1e-3 ~ 0.0065 TW(H2) = ccap0
800 EUR/kW(el) / 0.65 (elh2 efficiency) * 1.1 (EUR to USD, 2015) ~ 1350 USD/kW(H2) = inco0
Assume floor cost: 100 EUR/kW(el)
100 EUR/kW(el) / 0.75 (long-term elh2 efficiency) * 1.1 (EUR to USD, 2015) ~ 150 USD/kW(H2) -> incolearn = 1200

Direct Air Capture - dac
learning parameterization:
Expand Down