_images/Logo_FOXES.svg

Added in version 1.7.6: All algorithms now accept the new optional parameter max_wake_length_km, reducing the number of target points in wake calculations. Note that this replaces the correcponding parameter in some of the wake frames, like DynamicWakes or Streamlines2D.

Changed in version 1.7.4: Removed the pre_rotor flag from turbine models. The position before or after the rotor model is now automatically determined based on the overlap of model output variables and the newly introduced input variables of the selected rotor model.

Added in version 1.7.4: New command line application wrf2foxes, converting data files from WRF-NEWA NetCDF format into a regular UTM based grid that is readable by the FieldData states class. The subsequent foxes run might then be faster than using the NEWAStates class.

Added in version 1.7.4: New ambient states SingleStateField, for heterogeneous data in NetCDF formatw ithout state dimension, e.g. the mean field output of the application foxes_create_mean_dataset.

Welcome to FOXES

Farm Optimization and eXtended yield Evaluation Software

FOXES is a modular wind farm and wake modelling code written in Python by Fraunhofer IWES. 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 fast performance of foxes is owed to vectorization and parallelization, and it is intended to be used for large wind farms and large timeseries inflow data. The parallelization on local or remote clusters is supported, based on mpi4py or dask.distributed. The wind farm optimization capabilities invoke the foxes-opt package which as well supports vectorization and parallelization.

Source code repository (and issue tracker):

https://github.com/FraunhoferIWES/foxes

Please report code issues under the github link above.

License

Contents

Contributing

  1. Fork foxes on github.

  2. Create a branch (git checkout -b new_branch)

  3. Commit your changes (git commit -am “your awesome message”)

  4. Push to the branch (git push origin new_branch)

  5. Create a pull request here

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 p rojects 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). We furthermore acknowledge funding by the Horizon Europe project FLOW (Atmospheric Flow, Loads and pOwer for Wind energy - grant id 101084205).