-
Notifications
You must be signed in to change notification settings - Fork 16
set high soc default to 1 #86
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
set high soc default to 1 #86
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR updates the default high_soc parameter from 0.8 to 1.0 in the BatteryPriceSOCController, effectively disabling the high SOC threshold by default. This change is based on empirical evidence showing that waiting for very low prices to charge is not cost-effective, while waiting for high prices to discharge (controlled by low_soc) remains valuable due to asymmetric price distributions in real-time LMPs.
Key changes:
- Changed default
high_socparameter from 0.8 to 1.0 - Updated docstring to reflect corrected behavior description and new defaults
- Added explanatory note about the rationale for these default values
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| below the lowest (hourly) DA price of the day. | ||
| above the highest (hourly) DA price of the day. Defaults to 0.2. | ||
| Note high_soc defaults to 1.0 (effictively disabled) since experience suggests waiting for |
Copilot
AI
Dec 15, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Corrected spelling of 'effictively' to 'effectively'.
| Note high_soc defaults to 1.0 (effictively disabled) since experience suggests waiting for | |
| Note high_soc defaults to 1.0 (effectively disabled) since experience suggests waiting for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixed
misi9170
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @paulf81 . I made a very minor formatting change to the docstring and will merge once checks clear.
The controller
BatteryPriceSOCControlleruseshigh_socandlow_socto determine if charging/discharging should happen or if should wait for higher/lower prices. Experience with demonstrations shows while thelow_socbeing used (set for example to 0.2) adds value, effectively disablinghigh_socby setting to 1.0 is the better setting. This makes some sense in that RT LMPs can feature very high price spikes, but on the low end their is often a pretty clear floor in-between 0 and $-26. Waiting to charge for very low prices does not seem to pay off given this asymmetric skew in prices.This PR sets the default values accordingly and updates the docstring.