Skip to content

Releases: FraunhoferIWES/foxes

v1.1.1

07 Nov 09:53
Compare
Choose a tag to compare
  • Dependencies:
    • Removing optional dependencies io. The installation advice will be printed when trying to use the foxes.input.windio sub package. The reason is that for now this depends on a personal fork by kilojoules, and the inclusion of such dependencies is not supported by PyPi.

Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.1.1

v1.1.0.2

06 Nov 16:05
Compare
Choose a tag to compare
  • Python versions:
    • Adding support for Python3.13
  • Engines:
    • Default number of processes is now os.cpu_count(), or os.process_cpu_count() for python3.13
    • New engine: RayEngine (short name ray), runs parallel computations based on the Ray package
  • Inputs:
    • New states SliceDataNC, much like FieldDataNC but without height dependency
  • Models:
    • New turbine type TBLFile: Reads power, ct, D, H, P_rated from a *.tbl file
    • Turbine induction models SelfSimilar, SelfSimilar2020, Rathmann, VortexSheet now optionally accept any wind speed superposition model, i.e., they are no longer based on hard-coded linear superposition
  • Bug fixes:
    • Bug fixed in WSProduct, causing zero wind speed at regions not touched by wakes
    • Bugs fixes in FarmLayoutOutput, concerning the writing of the layout csv file

Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.1

v1.0

23 Oct 15:04
Compare
Choose a tag to compare

This major version introduces the concept of Engines which handle the chunking and parallelization of all foxes calculations. The default choice now prefers the concurrent.futures package and provides a significant speedup compared to previous versions. See the documentation for more details and all engine choices. The Engines replace the Runners of previous versions.

  • Engines
    • New engine ThreadsEngine (short threads): Sends chunks to threads, based on concurrent.futures
    • New engine ProcessEngine (short process): Sends chunks to processes, based on concurrent.futures
    • New engine MultiprocessEngine (short multiprocess): Sends chunks to a multiprocessing pool
    • New engine XArrayEngine (short xarray): Runs parallelization via xarray.apply_ufunc
    • New engine DaskEngine (short dask): Submits chunk calculation functions to dask
    • New engine LocalClusterEngine (short local_cluster): Creates a virtual cluster on the local machine
    • New engine MPIEngine (short mpi): Parallel computation via mpi4py, also multi-node
    • New engine SlurmClusterEngine (short slurm_cluster): Submits jobs to a SLURM system
    • New engine NumpyEngine (short numpy): Runs a loop over chunks
    • New engine SingleChunkEngine (short single): Runs single-chunk calculations
    • New engine DefaultEngine (short default): Switches between single and process, depending on the case size
  • Inputs:
    • New states OnePointFlowStates, OnePointFlowTimeseries, OnePointFlowMultiHeightTimeseries, OnePointFlowMultiHeightNCTimeseries: Generating horizontally inhomogeneous inflow from horizontally homogeneous input data
    • New farm layout option: add_ring, adding a ring of turbines
  • Models:
    • Wake frame Timelines now also accept spatially uniform multi-height states
    • New wake frame DynamicWakes: Dynamic wakes for any kind of timeseries states, compatible with chunking
    • New turbine type FromLookupTable, computes power and thrust coefficient from a lookup table
  • Outputs:
    • New sub package seq_plugins, in case more of these will be added in the future
    • New sequential plugin SeqWakeDebugPlugin, adding wake centres and velocity vectors to flow animations, for debugging
  • Examples:
    • New example: dyn_wakes, similar to timelines but with dynamic wakes and OnePointFlowTimeseries inflow

Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v1.0

v0.8.2

04 Jul 19:54
Compare
Choose a tag to compare
  • Removing plotly_helpers.py from utils
  • Updating dependencies

Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.8.2

v0.8.1

04 Jul 09:57
Compare
Choose a tag to compare
  • Updated requirements.txt

Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.8.1

v0.8

04 Jul 08:30
Compare
Choose a tag to compare

Starting with this version, the previous foxes.opt sub-package is is now its own package at github, pypi and conda-forge: foxes-opt, with its own documentation.

If you are planning to run wind farm optimizations, install it via

pip install foxes[opt]

or

pip install foxes-opt

or

conda install foxes-opt -c conda-forge

Compared to older versions, replace foxes.opt by foxes_opt in all your scripts - then everything should just run as before.

If you are not running any optimizations, just don't do any of the above and enjoy the lighter version with less dependencies.

Full Changelog: https://github.com/FraunhoferIWES/foxes/commits/v0.8

v0.7.4.25

02 Jul 08:06
Compare
Choose a tag to compare
dev workflow publish_conda

v0.7.4.24

02 Jul 07:50
Compare
Choose a tag to compare
dev workflow publish_conda

v0.7.4.23

02 Jul 07:24
Compare
Choose a tag to compare
dev workflow publish_conda

v0.7.4.22

02 Jul 07:23
Compare
Choose a tag to compare
dev workflow publish_conda