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

change of preference parameters #1585

Merged
merged 3 commits into from
Feb 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- **core** add process emissions from chemicals subsector and from plastics incineration
- **37_industry** add process-based steel model as alternative to CES-tree branch
- **47_regipol** add support for delaying quantity targets and improving regional emission tax convergence
- **core** change of preference parameters and associated computation of interest rates/mark ups

### fixed
- fixed weights of energy carriers in `pm_IndstCO2Captured`
Expand Down
9 changes: 5 additions & 4 deletions core/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ pm_ttot_2_tall(ttot,tall)$((ttot.val = tall.val) ) = Yes;
*** define pm_prtp according to cm_prtpScen:
if(cm_prtpScen eq 1, pm_prtp(regi) = 0.01);
if(cm_prtpScen eq 3, pm_prtp(regi) = 0.03);
pm_ies(regi) = 0.5;

*------------------------------------------------------------------------------------
*------------------------------------------------------------------------------------
Expand Down Expand Up @@ -272,16 +273,16 @@ $offdelim
loop(te$(fm_dataglob("constrTme",te) > 0),
p_tkpremused(regi,te) = 1/fm_dataglob("constrTme",te)
* sum(integ$(integ.val <= fm_dataglob("constrTme",te)),
$if %cm_techcosts% == "REG" (1.03 + pm_prtp(regi) + p_risk_premium_constr(regi) ) ** (integ.val - 0.5) - 1
$if %cm_techcosts% == "GLO" (1.03 + pm_prtp(regi) ) ** (integ.val - 0.5) - 1
$if %cm_techcosts% == "REG" (1 + 0.02/pm_ies(regi) + pm_prtp(regi) + p_risk_premium_constr(regi) ) ** (integ.val - 0.5) - 1
$if %cm_techcosts% == "GLO" (1 + 0.02/pm_ies(regi) + pm_prtp(regi) ) ** (integ.val - 0.5) - 1
)
);
*** nuclear sees 3% higher interest rates during construction time due to higher construction time risk, see "The economic future of nuclear power - A study conducted at The University of Chicago" (2004)
loop(te$sameas(te,"tnrs"),
p_tkpremused(regi,te) = 1/fm_dataglob("constrTme",te)
* sum(integ$(integ.val <= fm_dataglob("constrTme",te)),
$if %cm_techcosts% == "REG" (1.03 + 0.03 + pm_prtp(regi) + p_risk_premium_constr(regi) ) ** (integ.val - 0.5) - 1
$if %cm_techcosts% == "GLO" (1.03 + 0.03 + pm_prtp(regi) ) ** (integ.val - 0.5) - 1
$if %cm_techcosts% == "REG" (1 + 0.02/pm_ies(regi) + 0.03 + pm_prtp(regi) + p_risk_premium_constr(regi) ) ** (integ.val - 0.5) - 1
$if %cm_techcosts% == "GLO" (1 + 0.02/pm_ies(regi) + 0.03 + pm_prtp(regi) ) ** (integ.val - 0.5) - 1
)
);

Expand Down
4 changes: 2 additions & 2 deletions core/equations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ q_costInvTeDir(t,regi,te)..
=e=
vm_costTeCapital(t,regi,te)
* sum(te2rlf(te,rlf), vm_deltaCap(t,regi,te,rlf))
* (1.02 + pm_prtp(regi) ) ** (pm_ts(t) / 2) !! This increases the investments as if the money was actually borrowed
* (1 + 0.02/pm_ies(regi) + pm_prtp(regi) ) ** (pm_ts(t) / 2) !! This increases the investments as if the money was actually borrowed
!! half a time step earlier, using an interest rate of pm_prtp + 2%, which is close to the model-endogenous interest rate.
!! We do this to reduce the difference to the previous version where the effect of deltacap on capacity was split
!! half to the current and half to the next time.
Expand All @@ -74,7 +74,7 @@ q_costInvTeAdj(t,regi,teAdj)..
vm_costTeCapital(t,regi,teAdj) * (
(p_adj_coeff(t,regi,teAdj) * v_adjFactor(t,regi,teAdj)) + (p_adj_coeff_glob(teAdj) * v_adjFactorGlob(t,regi,teAdj))
)
* (1.02 + pm_prtp(regi) ) ** (pm_ts(t) / 2) !! This increases the investments as if the money was actually borrowed
* (1 + 0.02/pm_ies(regi) + pm_prtp(regi) ) ** (pm_ts(t) / 2) !! This increases the investments as if the money was actually borrowed
!! half a time step earlier, using an interest rate of pm_prtp + 2%, which is close to the model-endogenous interest rate.
!! We do this to reduce the difference to the previous version where the effect of deltacap on capacity was split
!! half to the current and half to the next time.
Expand Down
4 changes: 2 additions & 2 deletions core/postsolve.gms
Original file line number Diff line number Diff line change
Expand Up @@ -603,7 +603,7 @@ o_margAdjCostInv(ttot,regi,te)$(ttot.val ge max(2010, cm_startyear) AND teAdj(te
+ p_adj_deltacapoffset("2010",regi,te)$(ttot.val eq 2010) + p_adj_deltacapoffset("2015",regi,te)$(ttot.val eq 2015)
+ p_adj_deltacapoffset("2020",regi,te)$(ttot.val eq 2020) + p_adj_deltacapoffset("2025",regi,te)$(ttot.val eq 2025)
)
* (1.02 + pm_prtp(regi)) ** (pm_ts(ttot) / 2)
* (1 + 0.02/pm_ies(regi) + pm_prtp(regi)) ** (pm_ts(ttot) / 2)
;

*** CG: calculate average adjustment cost for capacity investment: vm_costInvTeAdj / vm_deltaCap
Expand Down Expand Up @@ -850,7 +850,7 @@ o_carbon_reemitted(ttot,regi,"co2")$(ttot.val ge 2005) =

*CG**ML*: capital interest rate
p_r(ttot,regi)$(ttot.val gt 2005 and ttot.val le 2130)
= (( (vm_cons.l(ttot+1,regi)/pm_pop(ttot+1,regi)) /
= 1 / pm_ies(regi) * (( (vm_cons.l(ttot+1,regi)/pm_pop(ttot+1,regi)) /
(vm_cons.l(ttot-1,regi)/pm_pop(ttot-1,regi)) )
** (1 / ( pm_ttot_val(ttot+1)- pm_ttot_val(ttot-1))) - 1) + pm_prtp(regi)
;
Expand Down
2 changes: 1 addition & 1 deletion main.gms
Original file line number Diff line number Diff line change
Expand Up @@ -658,7 +658,7 @@ parameter
parameter
cm_prtpScen "pure rate of time preference standard values"
;
cm_prtpScen = 3; !! def = 3 !! regexp = 1|3
cm_prtpScen = 1; !! def = 1 !! regexp = 1|3
*' * (1): 1 %
*' * (3): 3 %
*'
Expand Down
1 change: 0 additions & 1 deletion modules/23_capitalMarket/debt_limit/datainput.gms
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
*** | Contact: [email protected]
*** SOF ./modules/23_capitalMarket/debt_limit/datainput.gms

pm_ies(regi) = 1;
pm_risk_premium(regi) = 0.0;
p23_debt_growthCoeff(regi) = 0.2 ;

Expand Down
Loading