Skip to content
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

Static Yaw Error analysis example run with the Cubico data #277

Open
charlie9578 opened this issue Feb 27, 2024 · 7 comments
Open

Static Yaw Error analysis example run with the Cubico data #277

charlie9578 opened this issue Feb 27, 2024 · 7 comments

Comments

@charlie9578
Copy link
Contributor

I'd like to make it so that the Cubico dataset can be used in the Static Yaw Misalignment analysis.

@RHammond2
Copy link
Collaborator

Let's see where #276 goes and take it from there. Another thought is to modify the Cubico example notebook to be a full analysis on the Cubico data, rather than mimicking the AEP functionality but with different data. What are your thoughts on this idea?

@ejsimley
Copy link
Collaborator

ejsimley commented Mar 6, 2024

Good idea to include the Cubico wind plants in the yaw misalignment analysis. This could be added to the yaw misalignment notebook, or to an expanded Cubico notebook that Rob suggested, or as a separate notebook. I kind of like the first option, but would be worth thinking more about it.

@charlie9578
Copy link
Contributor Author

charlie9578 commented Mar 26, 2024

So I've had a play, and have a working example

  • Good news: the analysis runs.
  • Bad news: the results suggest unrealistically large yaw misalignments, likely due to the influence of yaw misalignment on the measured wind speed, but perhaps needs better filtering?

I'm thinking to maybe explore alternative methods to calculate the SYE, before creating a new notebook, but I think the result is useful either way, as demonstrates a limitation with the current method.

Any thoughts?

@charlie9578
Copy link
Contributor Author

I've done some initial experimentation using the average site wind speed, and also average site power, for both binning and normalising the turbine power. This seems to show much more realistic yaw misalignments, although not really possible to validate. The code still needs tidying up and functionising, but can see the work in progress at working example.

I'm thinking if this approach works, then we can focus on a very clear challenge to improve this methodology (e.g. in the WeDoWind ODE group), which would be to estimate the wind speed and/or power at a target turbine, without using data from that turbine.

@ejsimley
Copy link
Collaborator

ejsimley commented Jun 4, 2024

Hi @charlie9578, based on your working example you shared above (and discussions at WeDoWind ODE meetings), I think it would be great to include the options of using a site-average wind speed for wind speed binning (possibly excluding the wind speed of the turbine of interest?) and normalizing power by the site-average power. Then we could talk about adding to the example 7 notebook to highlight how these new approaches yield more realistic SYE estimates for Penmanshiel.

I could try to work on updating the SYE method to include these options, but unfortunately I wouldn't be able to prioritize this now. We'd greatly appreciate a PR to address this if you are interested in doing that. Let me know if you'd like to discuss how to best update the code and examples (and how we could distribute the work) sometime.

Thanks!

@charlie9578
Copy link
Contributor Author

Hi @ejsimley, yes, I'd be happy to put together a pull request. I'll work on something and then get back to you. Thanks, Charlie

@CFV-Exus
Copy link

CFV-Exus commented Sep 22, 2024

Hey all,

For the static yaw misalignment example, I managed to run Kelmarsh wind farm (all 6 WTGs, year 2022) as follow.

yaw_mis = StaticYawMisalignment( plant=project, turbine_ids=None, UQ=False )
yaw_mis.run( num_sim=1, ws_bins=[5.0, 6.0, 7.0, 8.0, 9.0], ws_bin_width=1.0, vane_bin_width=1.0, min_vane_bin_count=50, max_abs_vane_angle=25.0, pitch_thresh=pitch_threshold, max_power_filter=0.95, power_bin_mad_thresh=power_bin_mad_thresh, use_power_coeff=True )

However, when I include both 4.0 and 10.0 in the ws_bin argument, I get the following error.

ValueError: ydata must not be empty!

Do you know why?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants