FloatingFarmYaw
A floating offshore wind farm simulation and flow control framework using FLORIS, MoorPy, and deep reinforcement learning
Install / Use
/learn @yangmingmei/FloatingFarmYawREADME
FloatingFarmYaw
Brief Summary
This repository contains the code for the manuscript "Floating Offshore Wind Farm Yaw Control via Model-based Deep Reinforcement Learning," accepted by the IEEE Power & Energy Society General Meeting 2025. The authors are Mingyang Mei, Peng Kou, Yilin Xu, Zhihao Zhang, Runze Tian, and Deliang Liang, with Peng Kou as the corresponding author.
An extended version of this work, titled "Improving Floating Offshore Wind Farm Flow Control with Scalable Model-based Deep Reinforcement Learning" has been accepted for publication in IEEE Transactions on Automation Science and Engineering.
For more information about the repository authors:
Mingyang Mei: Google Scholar Peng Kou: Xian Jiaotong University Homepage
Illustrations and visualizations:
<div align=center> <img src="Results/illustration.png" height="175"/> </div> <div align=center> Fig.1 The illustration of floating offshore wind turbine repositioning (a) A two-turbine array configuration (b) Top view of the turbine repositioning with yaw control </div> <div align=center> <img src="Results/Wind Farm.png" height="480"/> </div> <div align=center> Fig.2 Simulation results (a) Time-averaged model with yaw control (b) Fast.Farm model with yaw control (c) Time-averaged model without yaw control (d) Fast.Farm model without yaw control. </div>Requirements
This repository is dependent on Floris v4, MoorPy v1.0, Pytorch v2.4 and field measurements from Pywake. If someone wants to deploy the trained agent, onnx will also be required for converting the deep neural networks.
Quick Use
- clone the repository
git clone https://github.com/yangmingmei/FloatingFarmYaw.git
- Install the dependency using pip
cd FloatingFarmYaw
pip install . -e
-
Install PyTorch (you must choose the right CUDA version): See: https://pytorch.org/get-started/locally/. This step is optional because Pytorch is only necessary for DRL training.
-
run mooring_matrix.py to see the mooring configurations.
-
run floris_environment.py to see the iteration process of the model.
-
run Train_29_turbines.py to train a DRL agent for floating wind farm yaw control (it only take 3 hours when using massively parallel simulations).
-
FAST.Farm files can be found in FAST.Farm.zip
Acknowledgement
This work was supported by the National Natural Science Foundation of China under Grant 52077165. (Principle investigator: Peng Kou)
Future development
This code repository is currently not a final release and under development. Documentations will be released in the future. Moreover, the code is fully compatible with the anual energy production and layout optimization method used in FLORIS. This allows the users to further explore its potantial.
https://github.com/user-attachments/assets/e78fd109-8298-4f4e-9a46-8ca7bcad6fa8
<div align=center> Validation on a utility-scale floating wind farm with water depth of 400~450 m </div>License
This project is licensed under the terms of the Apache License Version 2.0
Related Skills
proje
Interactive vocabulary learning platform with smart flashcards and spaced repetition for effective language acquisition.
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
groundhog
400Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
