Skip to main content

Farm Optimization and eXtended yield Evaluation Software

Project description

Welcome to foxes

FOXES Logo

Overview

The software foxes is a modular wind farm simulation and wake modelling toolbox which is based on engineering wake models. It has many applications, for example

  • 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.

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.docs/index.html

Source code: https://github.com/FraunhoferIWES/foxes

PyPi reference: https://pypi.org/project/foxes/

Requirements

The supported Python versions are:

  • Python 3.7
  • Python 3.8
  • Python 3.9
  • Python 3.10

Installation

Virtual Python environment

We recommend working in a Python virtual environment and install foxes there. Such an environment can be created by

python -m venv /path/to/my_venv

and afterwards be activated by

source /path/to/my_venv/bin/activate

Note that in the above commands /path/to/my_venv is a placeholder that should be replaced by a path to a (non-existing) folder of your choice, for example ~/venv/foxes.

All subsequent installation commands via pip can then be executed directly within the active environment without changes. After your work with foxes is done you can leave the environment by the command deactivate.

Standard users

As a standard user, you can install the latest release via pip by

pip install foxes

If you are also interested in running wind farm optimizations, please install

pip install foxes[opt]

Both commands install versions that correspond to the main branch at github. Alternatively, you can decide to install the latest pre-release developments (non-stable) by

pip install git+https://github.com/FraunhoferIWES/foxes@dev#egg=foxes

Developers

The first step as a developer is to clone the foxes repository by

git clone https://github.com/FraunhoferIWES/foxes.git

Enter the root directory by cd foxes. Then you can either install from this directory via

pip install -e .

or if you are also interested in running wind farm optimizations, then

pip install -e .[opt]

Alternatively, add the foxes directory to your PYTHONPATH, e.g. by running

export PYTHONPATH=`pwd`:$PYTHONPATH

from the root foxes directory, and then

pip install -r requirements.txt

For running optimizations, please install in addition

pip install iwopy pymoo

Usage

For 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

states = foxes.input.states.Timeseries("timeseries_3000.csv.gz", ["WS", "WD","TI","RHO"])

mbook = foxes.ModelBook("NREL-5MW-D126-H90.csv")

farm = foxes.WindFarm()
foxes.input.farm_layout.add_from_file(farm,"test_farm_67.csv",turbine_models=["Pct"])

algo = foxes.algorithms.Downwind(mbook, farm, states, ["Jensen_linear_k007"])
farm_results = algo.calc_farm()

print(farm_results)

Acknowledgements

The development of foxes and its predecessors flapFOAM and flappy (internal - non public) has been supported through multiple publicly funded research projects. We acknowledge in particular the funding by the Federal Ministry of Economic Affairs and Climate Action (BMWK) through the projects Smart Wind Farms (grant no. 0325851B), GW-Wakes (0325397B) and X-Wakes (03EE3008A) as well as the funding by the Federal Ministry of Education and Research (BMBF) in the framework of the project H2Digital (03SF0635).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

foxes-0.2.2.tar.gz (891.0 kB view details)

Uploaded Source

Built Distribution

foxes-0.2.2-py3-none-any.whl (964.6 kB view details)

Uploaded Python 3

File details

Details for the file foxes-0.2.2.tar.gz.

File metadata

  • Download URL: foxes-0.2.2.tar.gz
  • Upload date:
  • Size: 891.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for foxes-0.2.2.tar.gz
Algorithm Hash digest
SHA256 b12531db469562085fb72fa5a500d4756011f033de7abc74908ba09c3a4db0ec
MD5 2261f8d181cb9c6c3bd4364b47062805
BLAKE2b-256 33d67f179a3c5994f8e49b3129f9e044ed83f41f4319d58e616a09ab61b62074

See more details on using hashes here.

File details

Details for the file foxes-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: foxes-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 964.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.8.10

File hashes

Hashes for foxes-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a75e6480470d820f844bfc68d39876f92e26a9735be7763953a2bc2d33e2a9da
MD5 73703b044571e779eeb21a247542d938
BLAKE2b-256 132abf0b311224bc15c9e921581b53ae9de4329ee8b4fdbacd932ff5d469a109

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page