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

[Feature]: Add filtering based on rotor speed and blade pitch #132

Open
paulf81 opened this issue Nov 10, 2023 · 5 comments
Open

[Feature]: Add filtering based on rotor speed and blade pitch #132

paulf81 opened this issue Nov 10, 2023 · 5 comments
Labels
enhancement An improvement of an existing feature ideas-list Ideas that would be nice to do but aren't scheduled. Lower priority than back-log.

Comments

@paulf81
Copy link
Collaborator

paulf81 commented Nov 10, 2023

Description

A useful way to filter non-nominal behavior is to filter based on the curve of rotor-speed (x) to blade pitch (y), should work similarly to power curve filtering.

Related URLs

No response

@paulf81 paulf81 added the enhancement An improvement of an existing feature label Nov 10, 2023
@Bartdoekemeijer
Copy link
Collaborator

Bartdoekemeijer commented Nov 14, 2023

This is (to a certain degree) already possible in FLASC since the generalized filtering class implementation in #78. For example, you can do this:

        # Filter for blade pitching while in region II
        ws_pow_filtering.filter_by_condition(
            condition=(
                (ws_pow_filtering.df[f"blade_pitch_{ti:03d}"] > 0.0) &
                (ws_pow_filtering.df[f"ws_{ti:03d}"] > 6.0) &
                (ws_pow_filtering.df[f"ws_{ti:03d}"] < 12.0)
            ),
            label="Blade pitch above 0.0 deg while wind speed between 6 and 12 m/s",
            ti=ti,
            verbose=True,
        )

and the plot the results with

        ax = ws_pow_filtering.plot_filters_custom_scatter(
            ti=ti,
            x_col=f"ws_{ti:03d}",
            y_col=f"blade_pitch_{ti:03d}",
        )

@paulf81
Copy link
Collaborator Author

paulf81 commented Nov 14, 2023

That is cool, thank you @Bartdoekemeijer ! I was thinking though, what if we made a version that worked on a similar principle as the power curve filtering, removing outliers along the pitch dimension?

@Bartdoekemeijer
Copy link
Collaborator

Like a curve estimation and then outlier detection? That sounds useful! I wonder if we can generalize the power curve function, because the principles are identical between the different variables (power, rotor speed, pitch).

@paulf81
Copy link
Collaborator Author

paulf81 commented Nov 15, 2023

I think it should be not too bad also if we use the approach of standard error from the median, binned by rotor speed and error long the pitch access?

@paulf81 paulf81 added the ideas-list Ideas that would be nice to do but aren't scheduled. Lower priority than back-log. label Dec 12, 2023
@aclerc
Copy link
Contributor

aclerc commented Aug 5, 2024

wind-up has a automated process for filtering based on RPM and pitch. You don't necessarily want to just filter outliers, I find it's better to understand how the turbine controller works (in wind-up for example you need to specify if the turbine pitches to stall or feather to regulate rated power) and then adjust filtering rules based on that knowledge. Happy to discuss more if it's of interest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement An improvement of an existing feature ideas-list Ideas that would be nice to do but aren't scheduled. Lower priority than back-log.
Projects
None yet
Development

No branches or pull requests

3 participants