foxes-opt
The package foxes-opt provides optimization functionality for the Farm Optimization and eXtended yield Evaluation Software foxes and is based on the optimization interface iwopy.
All three open-source Python packages foxes, foxes-opt and iwopy are provided and maintained by Fraunhofer IWES.
The calculation is fully vectorized and its fast performance is owed to dask. Also the parallelization on local or remote clusters is enabled via dask. The wind farm
optimization capabilities invoke the iwopy package which
as well supports vectorization.
foxes is build upon many years of experience with wake model code development at IWES, starting with the C++ based in-house code flapFOAM (2011-2019) and the Python based direct predecessor flappy (2019-2022).
Documentation: https://fraunhoferiwes.github.io/foxes-opt/
Source code: https://github.com/FraunhoferIWES/foxes-opt
PyPi reference: https://pypi.org/project/foxes-opt/
Anaconda reference: https://anaconda.org/conda-forge/foxes-opt
Installation
There are multiple ways to install foxes-opt.
Installation as standard user
pip install foxes[opt]
or
pip install foxes-opt
or
conda install foxes-opt -c conda-forge
Installation as developer
As a developer, first clone both repositories,
and then install via pip using the -e flag:
git clone https://github.com/FraunhoferIWES/foxes.git
pip install -e foxes
git clone https://github.com/FraunhoferIWES/foxes-opt.git
pip install -e foxes-opt
If you want to contribute your developments, please replace the above repository locations by your personal forks.
Wind Rose Layout Snapshots
Pass --write_layouts to examples/layout_wind_rose/run_pymoo.py or
examples/layout_wind_rose/run_slsqp.py to enable WriteLayoutCallback;
intermediate output is disabled by default. The
callback writes the best first-objective individual of each completed optimizer
step to examples/layout_wind_rose/results/, regardless of the working directory.
The examples disable CSV output and write one image per generation or accepted
iteration.
Use --layout_image_type to select its file type; the default is jpg.
Each plot title shows the selected layout's first objective name and value.
Turbines associated with violated constraints are red; valid turbines are orange,
and each image includes an upper-left legend for these colors.
The examples write these snapshots without per-file log messages.
Early layouts may be infeasible; these are intermediate population snapshots,
not final results.
The callback options write_csv and write_image independently disable either
format; both default to True. The callback accepts both iteration and
evaluation events, so it can be used with all callback-enabled iwopy optimizers.
The SLSQP and IPOPT examples use LocalFD for finite-difference gradients.
The IPOPT example runs through pygmo and does not offer callbacks because pygmo
exposes neither exact live IPOPT iterations nor their decision vectors.
Running the example again overwrites matching generation numbers.
The existing results/ rule in .gitignore excludes these generated files.
Citation
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}
}
Metadata
Release files for foxes-opt 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| foxes_opt-0.9.0.tar.gz | 81.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| foxes_opt-0.9.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 205.1 kB
Release files / foxes_opt-0.9.0.tar.gz
| Download URL | foxes_opt-0.9.0.tar.gz |
|---|---|
| Size | 81.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
93bbe435eeacd2ace24c9c780bfa926b9972452a160d2ca0292f97c9cf60d78b
|
|
BLAKE2b-256 checksum How to use checksums |
b459a28e0941a11e7d62b61440e01a18ec63e5ab75c120096cab443aa37149c5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency logRelease files / foxes_opt-0.9.0-py3-none-any.whl
| Download URL | foxes_opt-0.9.0-py3-none-any.whl |
|---|---|
| Size | 123.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d603d3b6df56184f63f8dcdbffa40dbc9089f1bde05f62c6a3d15309427e846b
|
|
BLAKE2b-256 checksum How to use checksums |
95004fe8330dd38be52e821300f67a017cce152ceabee5fae5f56147c4b9c7a3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 30, 2026.
Transparency log