-
Notifications
You must be signed in to change notification settings - Fork 30
Soc renaming #709
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
Soc renaming #709
Conversation
maurerle
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.
Looks good!
I like this and do not see anything major..
Except for the major change, as all examples have to be adjusted.
Maybe we can add a warning in the csv_loader as well if capacity is not configured for a storage_unit?
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #709 +/- ##
==========================================
- Coverage 81.30% 81.27% -0.04%
==========================================
Files 54 54
Lines 8035 8046 +11
==========================================
+ Hits 6533 6539 +6
- Misses 1502 1507 +5
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
|
I added a check for the 'capacity' column to be present in storage_units.csv |
Related Issue
Closes #525
Description
This pull request standardizes the handling of energy storage units across the codebase by consistently using a normalized state of charge (
socbetween 0 and 1) and a newcapacityfield (in MWh) instead of the previously usedmax_soc. It updates storage models, strategies, and scenario loaders to use these new conventions, ensuring calculations and constraints are based on normalized values and absolute capacity. This improves clarity, correctness, and interoperability between different modules.Core data model updates:
max_socwithcapacityin theSupportsMinMaxChargeclass and related storage classes, and updated all references accordingly. Thesocis now always a float between 0 and 1, and all calculations are adjusted to usecapacityfor absolute values.socis normalized and to document the newcapacityfield.Calculation and logic changes:
socand scale bycapacity. This affects dispatch planning, bid calculations, and reward functions.capacityand normalizedsoc, including Pyomo model bounds and initializations.Scenario and loader updates:
loader_amiris.py,loader_csv.py,loader_oeds.py,loader_pypsa.py,oeds/infrastructure.py) to outputcapacityand normalizedinitial_soc, and to require thecapacityfield in input data.These changes make the codebase more robust and less error-prone by enforcing a clear separation between normalized and absolute values for storage units.
Checklist
docfolder updates etc.)