idaholab / HERON

Holistic Energy Resource Optimization Network (HERON) is a modeling toolset and plugin for RAVEN to accelerate stochastic technoeconomic assessment of the economic viability of various grid-energy system configurations, especially with application to electrical grids and integrated energy systems (IES).
Apache License 2.0
24 stars 38 forks source link

Levelized Cost of Capital #306

Closed GabrielSoto-INL closed 1 year ago

GabrielSoto-INL commented 1 year ago

Pull Request Description

What issue does this change request address?

Closes #300 Linked with https://github.com/idaholab/TEAL/pull/74

What are the significant changes in functionality due to this change request?

HERON now allows <levelized_cost> to be used as the price for a cashflow whose driver is a <variable> (e.g., capacity variable). A new test is added to the mechanics integration tests for calculating levelized cost of capital/capex. This can also be thought of as the break-even cost of capital for a specific component.

If this is is the case, HERON will revert back to the original marginal NPV inner objective function (rather than using the newly introduced levelized objective which is only applied when a user selects a levelized cost associated with resource production/dispatch on a recurring hourly basis).

This was waiting on a small change in TEAL: https://github.com/idaholab/TEAL/pull/74. The change is only for the specific case where the one-time cashflow is also marked for depreciation/amortization: the additional cash flows generated for depreciation/amortization are also carried over as multiplied terms in the NPV search calculation (i.e. they now show up in the denominator).


For Change Control Board: Change Request Review

The following review must be completed by an authorized member of the Change Control Board.

moosebuild commented 1 year ago

Job CentOS 8 on 35a985f : invalidated by @PaulTalbot-INL

Library updates require rerun

PaulTalbot-INL commented 1 year ago

There are Windows tests failing, but they are timeouts and it's not the same tests failing consistently. Passing this info on to @joshua-cogliati-inl .

In the mean time, required tests have passed, so this can be merged.