Uplift analysis of Hill of Towie wind farm using the open dataset: https://zenodo.org/records/14870023
The code within this repository contains analysis and helper functions to:
- download the open dataset from Zenodo
- perform a wind farm energy analysis using the open dataset
- estimate the energy uplift using the wind-up library
Example code for downloading data from Zenodo and loading it into pandas dataframes is shown in
uplift_analysis/northing.py
.
The scripts in uplift_analysis
create many plots of the data including a plot of the
layout and capacity factor of each turbine as shown below:
The folder uplift_analysis
uses wind-up to run two analyses of energy uplift
after turbine upgrades.
Note any analysis can be run without running the others, e.g. you do not need to run northing.py
before aero_up.py
.
You can set an environment variable WINDUP_ANALYSIS_DIR
to specify the location of the analysis directory.
The script uplift_analysis/northing.py
calculates the northing corrections saved to
uplift_analysis/wind_up_config/northing/optimized_northing_corrections.yaml
and used in subsequent analyses. The plot
below shows the circular difference of ERA5 wind direction to each turbine's yaw direction before the northing
correction. The turbine north calibrations are apparently wrong quite often which means the northing correction is quite
important.
The script uplift_analysis/aero_up.py
analyses the energy uplift thanks
to AeroUp for T13.
The result is a P50 uplift of 4.3% with a 90% confidence interval of 3.3% to 5.3%. This is visualized in the plot below
along with the uplift results for the three selected reference turbines, which are near 0% uplift as expected:
The script uplift_analysis/tune_up.py
analyses the energy uplift thanks
to TuneUp for nine test turbines. The result is a P50 uplift of
1.1% with a 90% confidence interval of 0.2% to 2.0%. This is visualized in the plot below along with the uplift result for
the ten unchanged reference turbines, which is near 0% uplift as expected:
The environment can be created and managed using uv. To create the environment:
uv sync
To run formatting and linting:
uv run poe all