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

Update LCOE reporting script #488

Merged
merged 9 commits into from
Nov 23, 2023
Merged

Conversation

fschreyer
Copy link
Contributor

@fschreyer fschreyer commented Nov 22, 2023

This PR provides a clean up and some extensions to the LCOE reporting script.

Relevant additions are:

  • add adjustment cost to marginal LCOE calculation
  • add marginal LCOE calculation for CO2 storage technology (ccsinje)
  • provide two versions of marginal LCOE: 1.) with fuel price and carbon price from time step for which LCOE is calculated (time step prices). 2.) with an intertemporally weighted average of fuel prices and carbon prices over the lifetime of the plant (intertemporal price). Previously, only 1.) had been calculated. The second formulation aims to better capture the intertemporal dimension of investment decisions in the model.

This may be interesting also for @aodenweller and @JakobBD.

@fschreyer fschreyer requested a review from fbenke-pik November 22, 2023 12:40
@JakobBD
Copy link
Contributor

JakobBD commented Nov 22, 2023

Looks great!
Adjustment costs in LCOE are tricky; a few points on that:

  • Increasing deltaCap does not only increase adjustment costs in the current time step, but also reduces them in the following one. This could be accounted for by computing the derivative of adjustment costs wrt deltaCap(ttot-1) in core/postsolve (the same way it is currently done for deltaCap(ttot)) and subtracting this (discounted) next timestep's derivative $\frac{\partial\text{costAdj(ttot+1)}}{\partial\text{deltaCap(ttot)}}$ from the adjustment costs how they are currently implemented .
  • Adjustment costs can be very large, dominating LCOE
  • The marginal values imho don't always make sense in an economic interpretation, especially in combination with bounds. For example, ccsinje bounds lead to negative marginal adjustment costs when approaching those bounds. It's still valuable to understand how remind makes its decisions, but maybe not so good for externally presented figures. How do we want to treat this? Are adjustment costs actual economic values, or just virtual ones we use to tweak the model?

@fschreyer
Copy link
Contributor Author

Thanks for your points. Good to keep that in mind.

@fschreyer fschreyer merged commit a5efbcf into pik-piam:master Nov 23, 2023
4 checks passed
@aodenweller
Copy link
Member

Hi Felix, I checked your forward-looking LCOE calculations by writing down the equations from the standard LCOE definition again and everything looks good. Thanks!
The only question I have is why you fix r to 5.1 % instead of using the endogenous interest rate p_r from REMIND? But the difference should be negligible.

@fschreyer
Copy link
Contributor Author

fschreyer commented Nov 24, 2023

Hi Felix, I checked your forward-looking LCOE calculations by writing down the equations from the standard LCOE definition again and everything looks good. Thanks! The only question I have is why you fix r to 5.1 % instead of using the endogenous interest rate p_r from REMIND? But the difference should be negligible.

Ok, interesting. I actually did not check with the LCOE definition. However, I am still not entirely sure how to interpret the intertemporal LCOE components as the resulting total LCOE sometimes tend to match even less the REMIND prices as the time-step LCOE in my analyses. But I did not check in detail the correlation with investment decisions e.g. in vm_deltaCap. That's why I added both now and we might investigate further which fits which purpose.

Regarding p_r, I did not know that this parameter was added to REMIND. It could be taken as the interest rate, I guess.

@cchrisgong
Copy link
Contributor

@fschreyer I added p_r some time ago as an endogenous interest rate.. I'm also thinking whether we should use this in LCOE script to stay consistent

@JakobBD
Copy link
Contributor

JakobBD commented Dec 1, 2023

Yes, we absolutely should.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants