Closed grgmiller closed 2 years ago
Updates needed to summary report:
Currently working to update the summary report for the "hourly_90" scenario in test_PCE model run. Before we finish updating this, we need to figure out how we are going to handle the calculation of congestion costs for storage charging.
We may also want to implement a check to see if the RA resell value would incentivize overbuilding. If the resale value for 1MW of capacity is greater than the net energy cost (PPA-Pnode), then we could have an issue
When running scenarios, we noticed a potential issue where it seemed like the model was not finding the optimal solution. In one scenario, the model was selecting a certain amount of geothermal, and in the second scenario, when we limited the amount of geothermal that could be built, the model was finding a portfolio that seemed to be cheaper than the original portfolio, which seemed to suggest that the model was not finding the global optimum.
However, digging into the outputs of these two scenarios, I found that the issue is not an issue with the solver finding the global optimum (phew! that would have been harder to fix), but that the costs being optimized are not the same as the costs being reported. So for the geolimit scenario, the optimized costs are actually higher than the base scenario, but the reported costs in the summary_report are lower due to how these costs are calculated.
The inconsistency is in how the congestion costs are calculated:
Because Pnode revenue is a negative cost, we had implemented it this way because we were concerned about the model over-procuring a resource if the average Pnode revenue was greater than the average PPA cost (thus giving the generator a net negative cost). However, we may instead just want to implement some sort of pre-check when generating the input files to make sure that the Pnode revenue wouldn't be greater than the PPA cost.
Other inconsistencies/nomenclature to note as differences between the reported costs (in "") and optimized costs (italicized):
Proposed Fixes:
generate_input_files.py
, implement a check that calculates the generated-weighted average Pnode revenue and PPA cost for each generator and raises an error if Pnode revenue > PPA cost. Should this prevent the inputs from being generated until fixed, or is there another check that should be implemented? Is it possible that the Pnode revenue would be greater than the PPA price on purpose?CongestionCostInTP
, include the Pnode revenue term in the objective function insteadgenerate_report.py
andsummary_report.ipynb
to reflect these new variables and calculations.