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.0.tar.gz (459.9 kB view details)

Uploaded Source

Built Distribution

foxes-0.2.0-py3-none-any.whl (531.1 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: foxes-0.2.0.tar.gz
  • Upload date:
  • Size: 459.9 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.0.tar.gz
Algorithm Hash digest
SHA256 30e4af3839bd25f0f2376b059e9064c2f2d358b2aed487f55c1d1a36747920b4
MD5 d564b96139458799fa634dcffa066207
BLAKE2b-256 30fad79943d0162c5e7f03490ba0b6feebf3621d85f9fbd27456d97964796b21

See more details on using hashes here.

File details

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

File metadata

  • Download URL: foxes-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 531.1 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bed81c2225376b6f5e95f6e19acbcca6bcf40c7d43e69b407bd7bd7c7ec7d4ea
MD5 a93571137ed700432e6e8df59e31343b
BLAKE2b-256 75a40c5ce1fad4cc5844af87df71d59a6b5878e9d1e905d7b0b59f7447d3770e

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