Releases: NREL/floris
v3.5
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
v3.4
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
- @pablo-benito made their first contribution in #608
- @misi9170 made their first contribution in #650
Full Changelog: v3.3...v3.4
v3.3
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
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
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.
- In subsequent function calls to
Full Changelog: v3.2...v3.2.1
v3.2
What's Changed
- Feature: Expand capabilities of UncertaintyInterface by @Bartdoekemeijer in #428
- Remove commented and legacy code in floris_interface.py by @Bartdoekemeijer in #397
- Clean up and simplify some things by @rafmudaf in #437
- Enabling vectorized time series calculation of wind conditions by @bayc in #400
- Add method to return turbine TIs by @bayc in #452
- Add example of getting wind speeds at turbines by @paulf81 in #423
- pass in het map when copying fi by @paulf81 in #456
- Bug fix: Convert
layout
tolayout_x
andlayout_y
inFlorisInterface.reinitalize
by @RHammond2 in #470 - Issue alert if calc wake needs to be run by @paulf81 in #432
- Fix bug in
plot_turbines_with_fi
by @pjireland in #445 - Add wake deflection to the TurbOPark wake deficit model by @bayc in #439
- Add a forced max of 3 to turbine grid points by @paulf81 in #472
- calculate dudz_initial analytically to support using only 1 rotor grid point by @bayc in #476
- Feature: Add turbine_weights option in get_farm_power and get_farm_aep by @Bartdoekemeijer in #435
- Layout optimization refactoring by @bayc in #429
- Feature/add ref density by @paulf81 in #398
- Update wind rose and power rose by @paulf81 in #392
- add ref density to legacy reader by @paulf81 in #497
- adding missing time_series flag to cc flow field solver call by @bayc in #493
- v3.2 by @rafmudaf in #498
New Contributors
- @pjireland made their first contribution in #445
Full Changelog: v3.1.1...v3.2
v3.1.1
v3.1
What's Changed
#358 Feature: add IEA 15MW turbine
#373 / #407 Add no_wake option to floris calculations
#384 Add normal vector to CutPlane to invert plot axis
#369 Redesign AEP calculation function
#385 Bug fix for yaw optimizer: revise verify_convergence to support multiple wind speeds
#382 Add cut out and default reference option
#388 Save yaw angles for reset in plane visualizations
#386 Documentation improvements
#393 Remove energy ratio tools in favor of FLASC
#308 Add UncertaintyInterface for modeling inflow wind direction uncertainty
#381 Fix for repeated calls to calculate_wake returning incorrect values
#387 Bug fix and formatting for legacy reader for FLORIS V2.4 input files
#395 / #406 Add 'none' submodel option for wake deflection, deficit and turbulence
#404 Add command line interface to the legacy input converter
#396 Adding the TurbOPark wake velocity deficit model
#408 Add GH Actions to run examples
#410 Create all Grid data at initialization
Full Changelog: v3.0.1...v3.1