-
Notifications
You must be signed in to change notification settings - Fork 155
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
Add a fix to inner_power that removes tiny wiggles #590
Conversation
@paulf81 I support including a correction to the power curve such as this, but I'll push back on including this within That being said, it's not immediately clear where this would fit in the current |
@misi9170 I like that suggestion as it starts to build a library around dealing with turbine inputs. One workflow might be to do a preprocessing step where the power curve is smoothed and exported either as a new turbine input file or a turbine dictionary for use in the rest of the script. Something along the lines of the code below. import floris.turbine_library as turbine_library
from floris.tools import FlorisInterface
fi = FlorisInterface(...)
# Show the wiggles
turbine_library.plot_power_curve(fi.turbine[0])
# Smooth the wiggles
corrected_turbine = turbine_library.turbine_utilities.smooth_power_curve(fi.turbine[0])
# Question: what is the type of corrected_turbine - Turbine or dict?
# Show that they're smoothed
turbine_library.plot_power_curve(corrected_turbine)
# Put this back into the simulation object
fi.reinitialize(turbine_type=corrected_turbine) Update: I guess I just restated what @misi9170 has outlined in #729 |
To fundamentally resolve this, would it make sense to replace the power coefficient table in the turbine input file by an absolute power table? This would be a cleaner solution than adding some kind of smoothing function. |
Great minds think alike! This is the proposal for 4.0, and agree this is a simpler solution |
This could be ready to merge
Feature or improvement description
This fix is meant to address the problem in Issue #554 (and I think along with it discussion #583). The non-flat region 3 causes odd behaviors in the optimization. I think one way we can address them is by removing very small changes in the inner_power at the time the turbine class is instantiated.
Related issue, if one exists
Issue #554
Discussion #583
Impacted areas of the software
turbine.py
Test results, if applicable
If you now re-run the example 18_check_turbine.py as in Issue #554 , the small perturbations in power are not there