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