-
Notifications
You must be signed in to change notification settings - Fork 48
Allow BESS to Export and Fixed SOC #471
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
base: develop
Are you sure you want to change the base?
Conversation
| } | ||
| ) | ||
| else | ||
| bigM_hourly_load = maximum(p.s.electric_load.loads_kw)+maximum(p.s.space_heating_load.loads_kw)+maximum(p.s.process_heat_load.loads_kw)+maximum(p.s.dhw_load.loads_kw)+maximum(p.s.cooling_load.loads_kw_thermal) |
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.
@zolanaj would you be willing to review this specific change? The update the bigM_hourly_load
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.
@adfarth this looks good to me! I see the reason to expand it since a large battery could charge or discharge at its max capacity under time-variant pricing. Since the default for max_kw is 1e4 this is unlikely to cause solution time issues unless a giant custom number is entered.
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.
Thank you! And thanks to Hallie for the implementation of this
| for t in techs.elec | ||
| export_bins_by_tech[t] = s.electric_tariff.export_bins | ||
| end | ||
| # TODO implement export bins by tech (rather than assuming that all techs share the export_bins) |
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.
@hdunham how does this suggestion differ from export_bins_by_tech?
zolanaj
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.
Approval of big-M implementation
| } | ||
| ) | ||
| else | ||
| bigM_hourly_load = maximum(p.s.electric_load.loads_kw)+maximum(p.s.space_heating_load.loads_kw)+maximum(p.s.process_heat_load.loads_kw)+maximum(p.s.dhw_load.loads_kw)+maximum(p.s.cooling_load.loads_kw_thermal) |
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.
@adfarth this looks good to me! I see the reason to expand it since a large battery could charge or discharge at its max capacity under time-variant pricing. Since the default for max_kw is 1e4 this is unlikely to cause solution time issues unless a giant custom number is entered.
TODO:
dvStorageToGridon metering type, following the logic of tech export binsdvDischargeFromStorageas total discharge withdvStorageToGriddvStorageToGridinto load balancing constraintsThings to test:
Known issues:
net_metering_limit_kw> 0,PV.can_net_meter = false, andElectricStorage.can_net_meter = true, will error --> Could maybe add a check that not only BESS can net meter without a generating tech? Or just allow this?ElectricStoragecan end up being sized, and export, much more than the peak load (this is currently true in develop, too, but now the issue is more extreme)Nice to haves / future work: