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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: foxes-0.2.1.tar.gz
  • Upload date:
  • Size: 890.8 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.1.tar.gz
Algorithm Hash digest
SHA256 04d98e5c87f8787073a7ae2ec9f895ac398c7af62ab4cf5b743dd62c517c591e
MD5 53b250fb5a939dbe5b2ccd0741f75302
BLAKE2b-256 b0b0e678dc53879b850bbfbf604f39e3864a68cdf9ecf9e74ffa949080c06a5a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: foxes-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 964.4 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 66aedfd33d856d96f2ab932118fbb8c4068a3de4bc1ecd4eb0d25e990362d07f
MD5 22ee56e789bf400a1fd3396ef22f5b7a
BLAKE2b-256 01f14d9045101b13437a89bf7211464eb44bdc168b70f9e2a02c6a925c8fff7e

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