Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
a103999
adding option for linearly interpolated IEC power curve
ejsimley Apr 3, 2024
8ca4600
loading speedup factors from file in wake loss class
ejsimley May 10, 2024
af38ed2
rest of initial wake loss heterogeneity modifications
ejsimley Jun 3, 2024
7a86cd5
documentation for wind speed heterogeneity in wake loss module
ejsimley Jun 3, 2024
6a7eeae
filtering for faulty nacelle wind speeds, and excluding from freestre…
ejsimley Sep 6, 2024
5accbb3
correcting for freestream heterogeneity only where valid
ejsimley Nov 11, 2025
2237d69
Merge branch 'develop' into feature/wake_loss_heterogeneity_correction
ejsimley Nov 11, 2025
15c37b4
reference wake loss paper and presentation
ejsimley Nov 11, 2025
f6c09c5
updating wake loss publication references in docs
ejsimley Nov 11, 2025
097a0fc
creating example wind speed speedup factor file for wake loss method …
ejsimley Nov 12, 2025
868e6de
adding heterogeneity corrections to wake loss example
ejsimley Nov 13, 2025
d412cf6
remove error from wake loss example
ejsimley Nov 13, 2025
21cf540
remove error from wake loss example
ejsimley Nov 13, 2025
98a4533
regression test for wake losses with heterogeneity
ejsimley Nov 13, 2025
f7566bd
filepath change in wake loss test
ejsimley Nov 13, 2025
a076b0f
updating changelog
ejsimley Nov 14, 2025
d4d0282
updating wake loss example notebook for docs
ejsimley Nov 14, 2025
b494660
updating wake loss test results because of addition of abnormal wind …
ejsimley Nov 14, 2025
c5aadde
adding fill_value=False to shift function in filters.unresponsive_fla…
ejsimley Nov 19, 2025
6834ce9
change np.Inf to np.inf in timeseries tests for compatibility with Nu…
ejsimley Nov 19, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,26 @@ All notable changes to this project will be documented in this file. If you make

- Deprecate Python 3.8 support and enable 3.12 support.
- Features and updates:
- `WakeLosses` updates
- Option added to the `WakeLosses` analysis method to correct for freestream wind speed
heterogeneity across a wind plant when estimating internal wake losses. The method relies on
a user-provided freestream wind speedup csv file. The wake loss example notebook has been
updated to illustrate how to use this option.
- `WakeLosses` analysis method updated to flag and exclude unrealistic turbine wind speed
measurements
- `MonteCarloAEP` updates
- Add an `n_jobs` input to the Monte Carlo AEP method to allow for the underlying models to be
parallelized during each iteration for faster ML model computation.
- Add an `apply_iav` input to the Monte Carlo AEP analysis method to toggle the addition of the
IAV factor at the end of the analysis.
- Add a `progress_bar` flag to `MonteCarloAEP.run()` to allow for turing on or off the
simulation's default progress bar.
- Option added to the IEC power curve model in the `openoa/utils/power_curve/functions` module to
linearly interpolate power between wind speed bin centers
- Implement missing `compute_wind_speed` in `openoa/utils/met_data_processing.py` and apply it to
the `PlantData` reanalysis validation steps in place of the manual calculation.
- Functions for downloading hourly ERA5 and MERRA-2 reanalysis data added to the
`openoa/utils/downloader` module.
- Fixes:
- Add a default value for `PlantData`'s `asset_distance_matrix` and `asset_direction_matrix` to
ensure projects not utilizing location data are compatible.
Expand Down
18 changes: 10 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@ best practices, and engagement with subject matter experts when performing any d
| `TurbineLongTermGrossEnergy`| This routine estimates the long-term turbine ideal energy (TIE) of a wind plant, defined as the long-term AEP that would be generated by the wind plant if all turbines operated normally (i.e., no downtime, derating, or severe underperformance, but still subject to wake losses and moderate performance losses), along with the uncertainty. | [^5] |
| `ElectricalLosses`| The ElectricalLosses routine estimates the average electrical losses at a wind plant, along with the uncertainty, by comparing the energy produced at the wind turbines to the energy delivered to the grid. | [^5] |
| `EYAGapAnalysis`| This class is used to perform a gap analysis between the estimated AEP from a pre-construction energy yield estimate (EYA) and the actual AEP. The gap analysis compares different wind plant performance categories to help understand the sources of differences between EYA AEP estimates and actual AEP, specifically availability losses, electrical losses, and TIE. | [^5] |
| `WakeLosses`| This routine estimates long-term internal wake losses experienced by a wind plant and for each individual turbine, along with the uncertainty. | [^6]. Based in part on approaches in [^7], [^8], [^9] |
| `StaticYawMisalignment`| The StaticYawMisalignment routine estimates the static yaw misalignment for individual wind turbines as a function of wind speed by comparing the estimated wind vane angle at which power is maximized to the mean wind vane angle at which the turbines operate. The routine includes uncertainty quantification. **Warning: This method has not been validated using data from wind turbines with known static yaw misalignments and the results should be treated with caution.** | Based in part on approaches in [^10], [^11], [^12], [^13], [^14] |
| `WakeLosses`| This routine estimates long-term internal wake losses experienced by a wind plant and for each individual turbine, along with the uncertainty. | [^6]. Based in part on approaches in [^7], [^8], [^9], [^10] |
| `StaticYawMisalignment`| The StaticYawMisalignment routine estimates the static yaw misalignment for individual wind turbines as a function of wind speed by comparing the estimated wind vane angle at which power is maximized to the mean wind vane angle at which the turbines operate. The routine includes uncertainty quantification. **Warning: This method has not been validated using data from wind turbines with known static yaw misalignments and the results should be treated with caution.** | Based in part on approaches in [^11], [^12], [^13], [^14], [^15] |

### PlantData Schema

Expand Down Expand Up @@ -328,20 +328,22 @@ This project follows the [all-contributors](https://github.com/all-contributors/

[^5]: Todd, A. C., Optis, M., Bodini, N., Fields, M. J., Lee, J. C. Y., Simley, E., and Hammond, R. An independent analysis of bias sources and variability in wind plant pre‐construction energy yield estimation methods. *Wind Energy*, 25(10):1775-1790 (2022). https://doi.org/10.1002/we.2768.

[^6]: Simley, E., Fields, M. J., Perr-Sauer, J., Hammond, R., and Bodini, N. A Comparison of Preconstruction and Operational Wake Loss Estimates for Land-Based Wind Plants. Presented at the NAWEA/WindTech 2022 Conference, Newark, DE, September 20-22 (2022). https://www.nrel.gov/docs/fy23osti/83874.pdf.
[^6]: Simley, E., Fields, M. J., Young, E., Allen, J., Hammond, R., Perr-Sauer, J., and Bodini, N. A comparison of preconstruction and operational wake loss estimates for land-based wind plants. *Wind Energy*, 28(11) (2025). https://doi.org/10.1002/we.70067.

[^7]: Barthelmie, R. J. and Jensen, L. E. Evaluation of wind farm efficiency and wind turbine wakes at the Nysted offshore wind farm, *Wind Energy* 13(6):573–586 (2010). https://doi.org/10.1002/we.408.

[^8]: Nygaard, N. G. Systematic quantification of wake model uncertainty. Proc. EWEA Offshore, Copenhagen, Denmark, March 10-12 (2015).

[^9]: Walker, K., Adams, N., Gribben, B., Gellatly, B., Nygaard, N. G., Henderson, A., Marchante Jimémez, M., Schmidt, S. R., Rodriguez Ruiz, J., Paredes, D., Harrington, G., Connell, N., Peronne, O., Cordoba, M., Housley, P., Cussons, R., Håkansson, M., Knauer, A., and Maguire, E.: An evaluation of the predictive accuracy of wake effects models for offshore wind farms. *Wind Energy* 19(5):979–996 (2016). https://doi.org/10.1002/we.1871.

[^10]: Bao, Y., Yang, Q., Fu, L., Chen, Q., Cheng, C., and Sun, Y. Identification of Yaw Error Inherent Misalignment for Wind Turbine Based on SCADA Data: A Data Mining Approach. Proc. 12th Asian Control Conference (ASCC), Kitakyushu, Japan, June 9-12 (2019). 1095-1100.
[^10]: Kassebaum, J. Wake Validation Through SCADA Data Analysis. Proc. American Clean Power Resource & Project Energy Assessment Virtual Summit 2021 (2021).

[^11]: Xue, J. and Wang, L. Online data-driven approach of yaw error estimation and correction of horizontal axis wind turbine. *IET J. Eng.* 2019(18):4937–4940 (2019). https://doi.org/10.1049/joe.2018.9293.
[^11]: Bao, Y., Yang, Q., Fu, L., Chen, Q., Cheng, C., and Sun, Y. Identification of Yaw Error Inherent Misalignment for Wind Turbine Based on SCADA Data: A Data Mining Approach. Proc. 12th Asian Control Conference (ASCC), Kitakyushu, Japan, June 9-12 (2019). 1095-1100.

[^12]: Astolfi, D., Castellani, F., and Terzi, L. An Operation Data-Based Method for the Diagnosis of Zero-Point Shift of Wind Turbines Yaw Angle. *J. Solar Energy Engineering* 142(2):024501 (2020). https://doi.org/10.1115/1.4045081.
[^12]: Xue, J. and Wang, L. Online data-driven approach of yaw error estimation and correction of horizontal axis wind turbine. *IET J. Eng.* 2019(18):4937–4940 (2019). https://doi.org/10.1049/joe.2018.9293.

[^13]: Jing, B., Qian, Z., Pei, Y., Zhang, L., and Yang, T. Improving wind turbine efficiency through detection and calibration of yaw misalignment. *Renewable Energy* 160:1217-1227 (2020). https://doi.org/10.1016/j.renene.2020.07.063.
[^13]: Astolfi, D., Castellani, F., and Terzi, L. An Operation Data-Based Method for the Diagnosis of Zero-Point Shift of Wind Turbines Yaw Angle. *J. Solar Energy Engineering* 142(2):024501 (2020). https://doi.org/10.1115/1.4045081.

[^14]: Gao, L. and Hong, J. Data-driven yaw misalignment correction for utility-scale wind turbines. *J. Renewable Sustainable Energy* 13(6):063302 (2021). https://doi.org/10.1063/5.0056671.
[^14]: Jing, B., Qian, Z., Pei, Y., Zhang, L., and Yang, T. Improving wind turbine efficiency through detection and calibration of yaw misalignment. *Renewable Energy* 160:1217-1227 (2020). https://doi.org/10.1016/j.renene.2020.07.063.

[^15]: Gao, L. and Hong, J. Data-driven yaw misalignment correction for utility-scale wind turbines. *J. Renewable Sustainable Energy* 13(6):063302 (2021). https://doi.org/10.1063/5.0056671.
Loading