-
Notifications
You must be signed in to change notification settings - Fork 7
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
Fix storage optimisation algorithm #1343
Conversation
Hey @noracato! I checked out the
These seem to correspond with the error messages that semaphore currently returns (https://quintel.semaphoreci.com/jobs/059c9c4f-9bff-4e8b-a130-c630c114057d/plain_logs.txt) Let's discuss this thursday/friday :) |
This comment was marked as outdated.
This comment was marked as outdated.
…ngine#1343 Mac OS and Linux handle Ruby sort method differntly, by also sorting on the index the same sorting is forced for both operating systems
The difference between running the spec locally on Mac with respect locally on Linux or on Semaphore was caused by an operating system difference in the |
My test case in #1300 now produces expected results. Blank capacity_of_energy_flexibility_flow_batteries_electricity: 500.0
capacity_of_energy_power_solar_pv_solar_radiation: 15000.0
capacity_of_energy_power_wind_turbine_inland: 15000.0
settings_enable_storage_optimisation_energy_flexibility_flow_batteries_electricity: 1.0 With the following queries: EACH(
V(energy_flexibility_flow_batteries_electricity,"number_of_units * typical_input_capacity"),
MAX(V(energy_flexibility_flow_batteries_electricity,electricity_input_curve))
)
EACH(
V(energy_flexibility_flow_batteries_electricity,"number_of_units * electricity_output_capacity"),
MAX(V(energy_flexibility_flow_batteries_electricity,electricity_output_curve))
) Obtains the following results: [
500.00000000000006,
500.00000000001455,
]
[
250.00000000000003,
250.0000000000036,
] This is as expected: it means that the output capacity no longer has an additional cap. The output capacity realized by the algorithm is the installed output capacity and the input capacity realized is the installed input capacity. This means that we can merge this PR and the corresponding PR on quintel/merit#153. @noracato as the results above show I'm still seeing the floating point error addressed in #1331. |
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.
🔋
* Limit the discharge of storage to output capacity left On the second iteration through the dispatchables (price sensitive) max_load_at should be limited by the output capacity left, not just the output capacity * Use output effiency as a limiting factor of charging * Add index as second level attribute to sort_by method for quintel/etengine#1343 Mac OS and Linux handle Ruby sort method differntly, by also sorting on the index the same sorting is forced for both operating systems --------- Co-authored-by: Mathijs Bijkerk <mathijs.bijkerk@quintel.com>
New implementation of output efficiency, so it is not applied twice after calculating the curve.
Finally closes #1300