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.1.tar.gz (890.8 kB view hashes)

Uploaded Source

Built Distribution

foxes-0.2.1-py3-none-any.whl (964.4 kB view hashes)

Uploaded Python 3

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