Farm Optimization and eXtended yield Evaluation Software
FOXES is a modular Python package for wind-farm and wake modelling by Fraunhofer IWES. Typical applications include:
- Wind farm optimization, e.g. layout optimization or wake steering,
- Wind farm post-construction analysis,
- Wake model studies, comparison and validation,
- Wind farm simulations invoking complex model chains.
FOXES uses vectorized calculations and supports local or distributed execution. Wind-farm optimization is provided by the separate foxes-opt package.
| Resource | Link |
|---|---|
| Documentation | https://fraunhoferiwes.github.io/foxes |
| Source code | https://github.com/FraunhoferIWES/foxes |
| PyPI | https://pypi.org/project/foxes/ |
| conda-forge | https://anaconda.org/conda-forge/foxes |
| License | MIT |
Please cite the JOSS paper "FOXES: Farm Optimization and eXtended yield Evaluation Software".
BibTeX:
@article{
Schmidt2023,
author = {Jonas Schmidt and Lukas Vollmer and Martin Dörenkämper and Bernhard Stoevesandt},
title = {FOXES: Farm Optimization and eXtended yield Evaluation Software},
doi = {10.21105/joss.05464},
url = {https://doi.org/10.21105/joss.05464},
year = {2023},
publisher = {The Open Journal},
volume = {8},
number = {86},
pages = {5464},
journal = {Journal of Open Source Software}
}Requires Python 3.10 through 3.14.
Either install via pip:
pip install foxesAlternatively, install via conda:
conda install foxes -c conda-forgeFor detailed examples of how to run foxes, check the examples
and notebooks folders in this repository. A minimal running
example is the following, based on provided static csv data files:
import foxes
if __name__ == "__main__":
states = foxes.input.states.Timeseries(
"timeseries_3000.csv.gz", ["WS", "WD", "TI", "RHO"]
)
farm = foxes.WindFarm()
foxes.input.farm_layout.add_from_file(
farm, "test_farm_67.csv", turbine_models=["NREL5MW"]
)
algo = foxes.algorithms.Downwind(farm, states, ["Jensen_linear_k007"])
farm_results = algo.calc_farm()
print(farm_results)For testing, please clone the repository and install the required dependencies:
git clone https://github.com/FraunhoferIWES/foxes.git
cd foxes
uv sync --extra testRun the tests with:
uv run pytest testsFor the full development setup, see the development guide.
- Fork foxes on github.
- Create a branch (
git checkout -b new_branch) - Commit your changes (
git commit -am "your awesome message") - Push to the branch (
git push origin new_branch) - Create a pull request here
Development of FOXES was supported by:
- BMWK projects Smart Wind Farms (0325851B), GW-Wakes (0325397B), and X-Wakes (03EE3008A)
- BMBF project H2Digital (03SF0635)
- Horizon Europe projects FLOW (101084205) and AIRE (101083716)