WAKE-NET: Wake-Aware Wind Farm Layout and Sizing Optimization Framework
A 3D-wake-aware economic wind farm layout and cabling optimization.
Overview
This repository contains the Python codes of WAKE-NET, a wake-aware wind farm optimization framework developed to maximize the economic performance of onshore and offshore wind farms. The framework simultaneously considers wind resource characteristics, wake interactions, turbine selection, turbine placement, and cable routing to determine optimal wind farm configurations.
The model utilizes historical wind speed and wind direction data together with the Jensen wake model to estimate wake-adjusted energy production and annual economic benefit.
This set of codes/data implements our Renewable Energy paper “WAKE-NET: A 3D-Wake-Aware Economic Turbine Layout and Cabling Optimization Framework for Multi-Capacity Multi-Hub-Height Wind Farms Serving Grid-Scale and Industrial Power Systems”.
Python Jupyter Notebook
The code is implemented in Python using Jupyter Notebook.
WAKENET.ipynbcontains the complete workflow, including wind resource processing, wake modeling, turbine layout optimization, turbine selection, cable routing, economic evaluation, and visualization.OnshoreIN_all.xlsxcontains historical offshore wind observations for regionOnshore Indiana.OffshoreHI_all.xlsxcontains historical onshore wind observations for regionOffshore Hawaii.
Access the code and data on GitHub
Input Wind Data Workbooks
Each Excel workbook contains one worksheet of time-stamped wind observations. The first row contains the variable names, the second row contains the corresponding descriptions or units, and the remaining rows contain the wind measurements.
| Column | Unit/Format | Description |
Date |
Date and time | Timestamp associated with the wind observation. This is stored as a date-time serial value and displayed using a date-time format. |
YY |
Year | Four-digit year extracted from the Date column. |
MM |
Month | Calendar month extracted from Date, ranging from 1 to 12. |
DD |
Day | Day of the month extracted from Date. |
hh |
Hour | Hour of the observation in 24-hour format, ranging from 0 to 23. |
mm |
Minute | Minute of the observation, ranging from 0 to 59. |
WDIR |
Degrees true (degT) |
Wind direction measured clockwise from true north. A value of 0° or 360° represents north, 90° represents east, 180° represents south, and 270° represents west. The value identifies the direction from which the wind is blowing. |
WSPD |
m/s | Wind speed at the 10 m reference measurement height. |
WSPD_80 |
m/s | Wind speed extrapolated from 10 m to an 80 m reference height using a logarithmic wind profile |
Users applying WAKE-NET to another location should retain the required column names—particularly WDIR, WSPD, and WSPD_80—or update the corresponding column references in WAKENET.ipynb.
Citation:
Please cite this paper when using the code or processed data in your research.
Ann Mary Toms and Xingpeng Li, “WAKE-NET: A 3D-wake-aware economic turbine layout and cabling optimization framework for multi-capacity multi-hub-height wind farms serving grid-scale and industrial power systems,” Renewable Energy, vol. 273, article 126078, 2026.
| Paper Page | DOI |
Paper website: https://rpglab.github.io/papers/AnnT-WakeNET/
Contributions:
Ann Mary Toms developed this set of programs/data. Xingpeng Li supervised this work.
Contact:
Dr. Xingpeng Li
University of Houston
Email: xli83@central.uh.edu
Website: https://rpglab.github.io/
License:
This work is licensed under the terms of the Creative Commons Attribution 4.0 (CC BY 4.0) license.
Disclaimer:
The author doesn’t make any warranty for the accuracy, completeness, or usefulness of any information disclosed; and the author assumes no liability or responsibility for any errors or omissions for the information (data/code/results etc) disclosed.