Conversation
…d save them to grc; add 1 fictitious unit of each novel type to the system_portfolios
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR reimplements the dispatch forecasting logic for "novel units" (units which are allowed to be built, but which don't currently exist in the system). Previously, novel unit dispatch forecasting was done by inserting fictitious units into the dispatch stack prior to dispatch simulation; this had the benefit of explicitly forecasting unit participation in ancillary services and operational limitations such as ramp rate. However, the distortion to the total system capacity introduced by doing this had more negative side effects than it was worth.
Previous PR #173 removed the faulty original logic, removing all revenue forecasting for novel units (as a temporary fix to allow other logic to also be fixed). This PR re-adds dispatch forecasting capability for novel units using a price-duration-curve-like approach. Fictitious units are no longer inserted into the system mix before the dispatch simulation. Instead, dispatch forecasting is performed with the agent's current knowledge of existing and announced capacity, plus autoexpansion subject to the adjustment for competitiveness factor. Once all dispatch results are known, the agent assumes that novel unit types behave as pure price-takers without disturbing the market equilibrium, and dispatch whenever they would screen in to the market clearing price during each hour.
These dispatch results are added in to the dataframes used to house "real" dispatch results for non-novel unit types, and from then on all dispatch forecasts are treated identically in calculating pro forma results and NPVs.