Skip to content

Releases: NREL/floris

v4.0.1

24 Apr 20:33
6181d78
Compare
Choose a tag to compare

Bugfixes since the release of FLORIS v4.0

What's Changed

  • [BUGFIX] Add enable_active_wake_mixing field to v3 to v4 documentation and conversion by @misi9170 in #878
  • [BUGFIX] Update CubatureGrid for 4-dimensional data structures by @rafmudaf in #881
  • [BUGFIX] Incorrect indexing to hub heights in Farm.coordinates() by @misi9170 in #890
  • FLORIS v4.0.1 by @misi9170 in #891

Full Changelog: v4.0...v4.0.1

v4.0

09 Apr 20:24
cc8135c
Compare
Choose a tag to compare

FLORIS v4.0

FLORIS v4 brings significant additional flexibility to FLORIS while streamlining the underlying solving code.

For higher-level description of major changes, see #870.

What's Changed

  • Convert core data structures and tools to use 4D arrays by @rafmudaf in #764
  • Replace Cp with power in turbine definition and throughout FLORIS by @misi9170 in #765
  • Update to more flexible turbine operation model definitions by @misi9170 in #770
  • Update reference wind turbines in the default turbine library by @misi9170 in #771
  • Adds classes to structure wind energy data for FLORIS by @paulf81 in #775
  • Remove small variations in above rated power by @paulf81 in #784
  • Convert turbulence intensity from single value to n_findex length array by @paulf81 in #782
  • [BUGFIX] Bad import in convert_turbine_v3_to_v4.py by @misi9170 in #795
  • Add de-rating op model by @paulf81 in #783
  • Validate and test wind direction and wind speed by @paulf81 in #793
  • Add support to shut off turbines by @paulf81 in #799
  • Update yaw and layout optimization tools for 4D by @bayc in #790
  • [BUGFIX] Correct condition when yaw_angles passed to TurboPark model by @misi9170 in #808
  • Change from Apache to BSD 3-clause license by @paulf81 in #810
  • [BUGFIX] Remove secondary effects from TurboPark model by @misi9170 in #813
  • Clarify turbine definition terms by @misi9170 in #815
  • Support multidimensional turbine definitions in all wake models by @misi9170 in #812
  • Update multidim turbine files to use absolute turbine power by @bayc in #818
  • Remove unused code from floris.tools and add tool reg tests by @bayc in #819
  • Move FlorisInterface .reinitialize() / .calculate_wake() to .set() / .run() by @rafmudaf in #823
  • Raise informative errors if v3 input files passed in by @misi9170 in #829
  • Collect all layout visualization tools in FLORIS by @paulf81 in #805
  • [Bugfix] Cast yaw angles to np.ndarray on set by @paulf81 in #828
  • Update uncertainty interface to 4d, new API by @paulf81 in #821
  • Drive layout optimizations using WindData objects by @paulf81 in #822
  • Require TI must be length n_findex in core code by @paulf81 in #831
  • Add TI as input for calculate plane functions by @rafmudaf in #837
  • Rename floris.simulation, floris.tools to floris.core, floris by @rafmudaf in #830
  • Add utilities for floris models by @paulf81 in #840
  • Allow to fix yaw to nominal wind direction by @paulf81 in #850
  • Add CSV reader for WindRose by @paulf81 in #848
  • Save WindData onto FlorisModel and simplify post-run() calls by @misi9170 in #849
  • Change power_thrust_model key to operation_model at the user level by @misi9170 in #859
  • [BUGFIX] hardcoded reset to first turbine type in set_operation_model by @misi9170 in #856
  • Enabling layout optimization for value by @ejsimley in #862
  • [BUGFIX] set_operation_model ordering with layout by @misi9170 in #867
  • Refactor examples by @paulf81 in #843
  • Make set_operation method public by @misi9170 in #869
  • Fixing datatype of value in WindData objects by @ejsimley in #872
  • Add try/except to wind rose loader by @paulf81 in #874
  • Clean up TODOs prior to v4 release by @misi9170 in #876
  • Build out v4 documentation by @misi9170 in #860
  • Add merge/reduce FLORIS objects by @paulf81 in #866
  • Remove setpoints and wind condition specifics from calculate_XX_plane methods by @misi9170 in #868
  • Update Empirical Gaussian default deflection_rate by @misi9170 in #875
  • Improvements to WindRose resampling by @misi9170 in #857
  • Add approximate FLORIS model by @paulf81 in #877
  • FLORIS v4 by @misi9170 in #870

Full Changelog: v3.6...v4.0

v3.6

05 Apr 20:09
abc7856
Compare
Choose a tag to compare

Final release of FLORIS v3 before releasing FLORIS v4 to the main branch. From this point onward, FLORIS v3 will be minimally maintained and support will switch to FLORIS v4.

What's Changed

  • Add documentation for the release process by @rafmudaf in #727
  • Catch documentation and examples errors by @rafmudaf in #736
  • Fix errors in notebooks for online documentation by @rctredgold in #721
  • Support relative paths in YAML configuration files by @RHammond2 in #739
  • Use compatible-release specifier for dependency versions by @paulf81 in #748
  • Fix path dependency in convert_to_path test by @RHammond2 in #749
  • Improve attrs usage in simulation package by @rafmudaf in #750
  • Bug fix: Enable mulit-dimensional turbines for turbine interactions by @RHammond2 in #754
  • Fix the turbine.power function unit test by @paulf81 in #755
  • Grid-class tidying by @rafmudaf in #751
  • Fix issue with mutable default attributes by @paulf81 in #759
  • Add utility to build turbine yaml from absolute power, thrust curves by @misi9170 in #729
  • Clean up and align Turbine and TurbineMultiDim class architectures by @rafmudaf in #762
  • Add capability to sample and plot velocity profiles by @vallbog in #699
  • Add support for multiple turbine types in calculate_horizontal_plane_with_turbines() by @scottryn in #781
  • [BUGFIX] Correct condition when yaw_angles passed to TurboPark model (version 3) by @misi9170 in #811
  • [BUGFIX] Coordinates getter on Farm class by @misi9170 in #846
  • Documentation improvements and fixes by @rafmudaf in #853
  • FLORIS v3.6 by @misi9170 in #871

New Contributors

Full Changelog: v3.5...v3.6

v2.5.1

08 Dec 20:40
Compare
Choose a tag to compare

What's Changed

  • Bug fix: GCH effective yaw angle in FLORIS v2 by @fg320 in #734

New Contributors

v3.5

26 Oct 22:31
31fe1b6
Compare
Choose a tag to compare

What's Changed

  • Bug fix: erroneous rotation in turbine locations in horizontal flowfield plots by @Bartdoekemeijer in #663
  • Feature: Add concurrent library to ParallelComputingInterface by @Bartdoekemeijer in #667
  • Bug fix: Finalize Farm attributes by @rafmudaf in #665
  • Performance Improvements and Code Simplification by @RHammond2 in #494
  • Infrastructure updates by @rafmudaf in #677
  • Bug fix: Add variable wind shear to GCH calculations by @fg320 in #679
  • Enable heterogeneous inflows in yaw optimization routines by @misi9170 in #678
  • Documentation fixes by @rafmudaf in #696
  • Add geometric yaw code for rough yaw optimization (in layout optimization) by @misi9170 in #681
  • Add example of larger floating farm with comparison to fixed-bottom. by @misi9170 in #695
  • Address pandas 2.1.0 FutureWarning on wind rose plot by @pablo-benito in #710
  • [Bugfix]: Update geometric yaw optimizer layout when called during layout optimization by @misi9170 in #706
  • Allow switching on and off contour plot numerical labels at top level by @misi9170 in #719
  • Feature: Add multidimensional Cp/Ct turbine definition support by @bayc in #711
  • Update default parameters for the Empirical Gaussian model by @misi9170 in #723
  • FLORIS v3.5 by @rafmudaf in #726

New Contributors

Full Changelog: v3.4.1...v3.5

v3.4.1

27 Jul 19:54
Compare
Choose a tag to compare

What's Changed

This pull request fixes an issue where data was out of sync in FlorisInterface.get_turbine_ais(); see #664 and #685.

v3.4

16 May 17:47
Compare
Choose a tag to compare

What's Changed

  • Bugfix: Unexpected behavior in SerialRefine caused by quiet NaNs by @paulf81 in #605
  • Address matplotlib user warning on wind rose plot by @pablo-benito in #608
  • Bug Fix: Correct a misleading error message by @RHammond2 in #622
  • Feature: Floating turbine Cp/Ct/Tilt support by @bayc in #518
  • Serial Refine: Prevent console spam by changing from print to logger statement by @Bartdoekemeijer in #634
  • Various changes to code and documentation by @rafmudaf in #613
  • Use setup.py for all installs by @rafmudaf in #632
  • Pin Jupyter Book version by @rafmudaf in #636
  • Bug fix: Fix error message in FromDictMixin by @RHammond2 in #637
  • Add documentation for high level FLORIS architecture by @rafmudaf in #630
  • Docs: Update timing tests with results from Eagle by @rafmudaf in #645
  • Remove deprecated user API's by @rafmudaf in #603
  • Improve error handling and robustness in turbine model loads by @rafmudaf in #646
  • Documentation: Add a wake model description page by @RHammond2 in #631
  • Feature: New library to inspect and interact with turbine models by @RHammond2 in #639
  • Print error when turbine models are missing reference values by @paulf81 in #647
  • Add CI branch for Python 3.8 and 3.10, update Ruff by @rafmudaf in #648
  • Add support for probing velocities at arbitrary flow field points by @misi9170 in #650
  • Add Empirical Gauss wake model for fitting SCADA data by @misi9170 in #628
  • Disable user-provided tilt angle settings in wake calculation by @paulf81 in #651
  • Add cubature integration method for rotor velocities by @rafmudaf in #649
  • Add coordinates from inertial frame to grid class by @Bartdoekemeijer in #578
  • FLORIS v3.4 by @rafmudaf in #656

New Contributors

Full Changelog: v3.3...v3.4

v3.3

07 Mar 22:43
16628a0
Compare
Choose a tag to compare

What's Changed

  • Speed up angle wrap functions and improve API by @paulf81 in #505
  • Move docs to Jupyter Book and expand content by @rafmudaf in #514
  • Update documentation references list by @paulf81 in #519
  • Remove requirement to use codecov token to upload reports by @RHammond2 in #532
  • FLORIS Tools API improvements by @rafmudaf in #512
  • Configure isort and apply rules by @rafmudaf in #535
  • Add weights to AEP wind rose by @paulf81 in #541
  • Add parallel computing interface for farm simulation and yaw optimization by @Bartdoekemeijer in #555
  • Update layout visualization routines to v3 API by @paulf81 in #496
  • Add Ruff linting and autoformatting by @rafmudaf in #562
  • Enable and fix pre-commit formatting hooks by @rafmudaf in #567
  • Support heterogeneous wind speed definition via FlorisInterface.reinitialize by @pjireland in #453
  • Infrastructure improvements by @rafmudaf in #569
  • Add virtual turbine plotting method by @paulf81 in #418
  • Add linear wind condition upsampling method to WindRose by @Bartdoekemeijer in #544
  • Bug fix: Scipy layout optimization boundary constraints are violated by @bayc in #576
  • Improve the documentation navigation menu and organization by @RHammond2 in #570
  • Feature: External Turbine Library by @RHammond2 in #568
  • Use 3x3 turbine grid in regression tests by @rafmudaf in #599
  • Add helpful info to GitHub Issue and PR templates by @rafmudaf in #597
  • Bug fix: initialize TI array with correct dimensions by @bayc in #584
  • FLORIS v3.3 by @rafmudaf in #586

Full Changelog: v3.2.2...v3.3

v3.2.2

08 Feb 21:11
8436fd7
Compare
Choose a tag to compare

What's Changed

  • Bug fix: sort turbulence intensity field in post-calculation step @bayc in #564
  • Corrected rotor diameter, Cp, Ct for IEA 15 MW RWT @pduff-code in #553

Full Changelog: v3.2.1...v3.2.2

v3.2.1

20 Nov 14:56
Compare
Choose a tag to compare

What's Changed

  • Bug fix: cast reference_wind_height to float by @Bartdoekemeijer in #507

  • Bug fix: reset for zero yaw angles by @rafmudaf in 2fc9c54

    • In subsequent function calls to FlorisInterface.calculate_wake, the yaw angles were not reset when they are all zeros. This means that if initially the yaw angles are non-zero and then they’re all-zero, the non-zero yaw settings are retained.

Full Changelog: v3.2...v3.2.1