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

Variable costs should not be assigned to virtual storage charge/discharge #604

Closed
wilson-ricks opened this issue Jan 3, 2024 · 8 comments · Fixed by #608
Closed

Variable costs should not be assigned to virtual storage charge/discharge #604

wilson-ricks opened this issue Jan 3, 2024 · 8 comments · Fixed by #608
Assignees
Labels
bug Something isn't working
Milestone

Comments

@wilson-ricks
Copy link
Collaborator

In develop, lines 62-74 in storage_all.jl assign costs to 'virtual' charge and discharge for storage. These costs should not exist as virtual operations are theoretical, not actual, and they lead to absurd outcomes in certain edge cases. For example: if hydrogen storage receiving the 45V production tax credit is modeled as having a negative variable charging cost, the model can still gain this subsidy through virtual charging, which requires no actual power consumption and only the presence of sufficient capacity, which can be achieved by building cheap combustion turbines that never run. This results in an infinitely negative objective as the model builds unlimited electrolyzers and combustion turbines.

@JesseJenkins JesseJenkins added the bug Something isn't working label Jan 8, 2024
@sambuddhac sambuddhac linked a pull request Jan 8, 2024 that will close this issue
9 tasks
@sambuddhac
Copy link
Collaborator

In PR I eliminated the lines corresponding to VOM being assigned to virtual charging and discharging when considering CRM. But, with hind-sight, I realized, I should've once clarified, if there are any other costs involved with or without CRM being considered. Please let me know. Otherwise, merging the PR should be good to addressing this issue.

@gmantegna
Copy link
Collaborator

@wilson-ricks this was intentional to prevent wild cycling of the virtual discharge for no reason (especially when crossover is off). We intentionally used the VOM cost for storage because this is generally set to a small and positive number to prevent similar unnecessary cycling in the real discharge. I understand this presents an issue for when you want to model a storage device with negative variable costs. One solution would be to have a separate "virtual charge and discharge penalty". What do you think?

@wilson-ricks
Copy link
Collaborator Author

wilson-ricks commented Jan 12, 2024 via email

@cfe316
Copy link
Collaborator

cfe316 commented Jan 12, 2024

Rather than hard-coding it, it would be nicer to keep it as a Setting with a default value. Users don't need to specify all settings.

@gmantegna
Copy link
Collaborator

I agree with Jacob. This would be a very simple fix if someone wants to update the associated PR here. cc @lbonaldo @sambuddhac

@sambuddhac
Copy link
Collaborator

I will update. Thanks guys !!!

@JesseJenkins
Copy link
Collaborator

Will be addressed by #608

@sambuddhac
Copy link
Collaborator

This is now fixed on develop

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants