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
22 stars 36 forks source link

New Feature: Ability to keep certain CashFlows out of the NPV calculation #349

Closed dylanjm closed 3 months ago

dylanjm commented 3 months ago

Pull Request Description

What issue does this change request address?

Closes #339

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

This new feature allows users to specify npv_exempt=True in CashFlow definitions to allow the CashFlow to be used in the dispatch optimization, but will not use the cash flow in the NPV calculation. This is considered an advanced user feature and should be used with caution.

Also, I have removed all mention of mult_target in HERON's input files. It is a deprecated feature and since most people start new HERON analyses using pre-built input files, this should reduce the amount of people including it in their input files, making it easier to eventually remove all together.


For Change Control Board: Change Request Review

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

PaulTalbot-INL commented 3 months ago

Do the exempt cashflows still show up in the debug run cashflow breakdowns? I assume not, right?

dylanjm commented 3 months ago

Do the exempt cashflows still show up in the debug run cashflow breakdowns? I assume not, right?

@PaulTalbot-INL just tested it out and am getting an error when trying to generate the cashflow plot. Will take a look at it.

dylanjm commented 3 months ago

@PaulTalbot-INL figured out the error caused in debug mode by this new feature. I went ahead and added some checks in template_driver.py to avoid adding npv-exempt cashflows to the variable groups in the outer and inner XMLs.

PaulTalbot-INL commented 3 months ago

Changes are good, clear to merge once tests pass.