-
Notifications
You must be signed in to change notification settings - Fork 171
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
FLORIS v3.6 #871
Merged
FLORIS v3.6 #871
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Remove unused modules in `floris.tools` * Fix broken import paths * Removed unused reference file * Disable auto-doc for private functions * Fix references format in CC docstring * isort * Add Em Gauss page to toc * Spell check in docstrings * Raise an error when notebooks fail in docs build * Run the examples far away from the top directory This ensures there’s no reliance on the repo struture to find source files * Expand Python version checks * Pin docs dependencies versions Jupyter Book v0.14 supports setting this: nb_execution_show_tb: true nb_execution_raise_on_error: true And sphinx-book-theme 0.4.0rc1 is the required version for JupyterBook v0.14. Note that there is an incompatibility with FLORIS docs and JupyterBook v0.15, sphinx-book-theme v1.0. * Fix configuration parameter * Use index for home page Mostly just to make the docs build on GitHub to test that it exits on error
* Update floris_101.ipynb * Fix more code cells --------- Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com>
* account for using the method from a system call * add internal library as farm object * add relative file capability to FI for convenience in example running * update Farm and multi dim turb to work with library paths * change cp-ct curve reference location * fix misspelling * clean up library switch logic * update docstrings * remove notebook handling from the examples CI workflow * fix example 18 to rely on the internal turbine library directly
* switch to compatible version * missing equals * relax some reqs
* fix third-case to be correct with new conversion logic * Test the value of the result, implicitly the type * Test a file search * Use a more obviously bad path * udpate to be inclusive of file checking * Add more context in the docstring --------- Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com> Co-authored-by: Rafael M Mudafort <rafael.mudafort@nrel.gov>
* Use attrs class for low-level classes * Add missing attribute declarations These were monkey patched, but slotted classes do not allow monkey patching. See the previous commit for the change that enabled slotted classes. * Support class parameters for attrs * Fix linting * Swap logger inheritance for composition This allows for the floris.simulation package to use attrs and slotted classes while the floris.tools package can remain typical Python classes. The LoggerBase did have @define in order to maintain the slotted classes, but that is removed here. * Add missing attribute declarations * Initialize BaseClass with LoggingManager * Remove unused imports * Raise an error instead of assertion * Use as_dict to get model parameters
…754) * fix third-case to be correct with new conversion logic * Test the value of the result, implicitly the type * Test a file search * Use a more obviously bad path * update default multi turbine path to turbine library * fix data file path * include multi-turbine and external libraries * update docstring for type correction * move towards multi dim support in plotting * get multi dimensional power plots working * fix plotting API for empty dictionary memory issues * add conditions keys as variable to multidim turbine * working multi dim Ct plots, w/o correct data * working multidim ct curve * fix Ct curves * remove cp for future deprecation * update turbine interaction example * fix accidental change and add explanation at the end --------- Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com>
* fix the test_power function * Correct input to not include grid * Add github revisions * Fix multi-turbine test cases * Use NumPy testing to compare arrays * Revert "Use NumPy testing to compare arrays" This reverts commit 6f88036. --------- Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com>
* Rename grid unit test to reflect TurbineGrid focus * Rename grid diameter array Initially, this variable held a single reference turbine diameter value, but it was subsequently changed to contain the diameter of all wind turbines. The name change simply reflects it’s actual use. * Remove a redundant Vec3 method * Use numpy array for coordinates Rather than a list of Vec3. This supports creating a layout from a dictionary of exported modules and classes rather than having to do the additional step of converting to Vec3. * Add a Numpy array converter to ABC attributes * Test grid to and from dict functionality - disabled This requires setting the comparison method in the TurbineGrid and Grid classes. While this can be done with field(eq=cmp_using(eq=np.array_equal)) this adds a lot of additional code to the attribute declarations and makes them difficult to read. Holding off for now but I wanted to leave the test in place for future reference. * Remove an extra dimension in grid tests * Add consistency to Grid docstrings * Remove the Vec3 class After switching the Grid coordinates from Vec3 to Numpy arrays, it turned out this wasn’t really used anymore. * Disable filter_convert function While this was useful early in the v3 redesign, we’ve converged to a design where this is no longer used. * Fix Vec3 reference * Fix syntax and typo * Remove trailing whitespace
* replace default=[] in farm.py * fix default np array in flow_field * fix long lines * Change default=[] to factory in turbine.py * change default={} to factory=dict * fix default arrays to factories * fix default lists * Evaluate factory in test
…729) * Structure of file built out. * Main functionality built out. * Test built. * passes tests. * isort, ruff. * Issues with 3.8, 3.9 tests. * isort issue when removing import. * newline? * Reverting; __future__ import to handle testing on 3.8, 3.9 * Now defaults to providing dictionary back; option to print to yaml. * Test updated; ruff, isort. * Improving documentation and exposition of function arguments.' * Update comments, syntax, and typos * Ensure path independence in unit tests --------- Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com>
) * Clean up docstrings and comments * Update code quality docs to include v3.5 * Consolidate fTilt_interp and tilt_interp It’s not clear why both exist, but they seem to be redundant so I’ve removed fTilt_interp in favor of tilt_interp * Remove fCp_interp in favor of power_interp * Remove PowerThrustTable class Ultimately, it wasn’t used aside from validating the input data. That has been included through the attrs validator. * Fix type hints and docstrings * Propogate turbine tilt_interp name change * Remove TiltTable class and replace with dict * Consolidate redundant tilt-correction flags * Fix tilt interpolation dictionary type * Set NUM_EPS to frozen attribute * Change tilt table key to wind_speed All other keys use the singular version rather than the plural version, so this keeps it consistent * Improve validation of tilt table data * Align TurbineMultiDim with Turbine changes * ruff formatting * Fix example API
* Moved from other branch * Preparing inputs in FlorisInterface * Created VelocityProfileGrid * Velocity profiles returned successfully * Small fixes * Clarifications * Draft of init for VelocityProfilesFigure class * Small addition to class init * Methods for adding profiles and reference lines * Improved example * Corrected self.axs * Comments, style check, and updated output coords * Details in example * Updated comments * Change example number and add to docs listing * Replace LinesGrid with PointsGrid Uses PointsGrid with lines rather than distinct points * Rotate sample points with the wind direction, and cleanup * Remove 5-dimensional indexing in point rotation * Return figure axes from CutPlane vis * Plot lines in horizontal plane * Change coordinate notation and begin to update example * Correct sampling, use solve_for_points, and WIP example * WIP: example * WIP: example * Finalize example * Details * Auto-set xlim * Fix tabbing * Improve handling the velocity derivate at z=0 --------- Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com>
And a broken section of the turbine interaction notebook
…_turbines() (#781) * Update calculate_horizontal_plane_with_turbines. Add support for multiple turbine types by modifying copy of input turbine type list. * Fix linting * Linting: remove trailing whitespace * Handle turbine_type len 1 case --------- Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com> Co-authored-by: Paul <paul.fleming@nrel.gov>
* Increase contour levels * Rename the introductory notebook * Add a documentation page for advanced concepts * Update the architecture diagrams Some details were out of date * Add guidance for extending the wake models This came from this discussion thread: #547 * Remove custom templates for api docs * Unpin the docs dependencies * Remove napoleon and sphinx_book_theme config
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
New features
Improvements
Bug fixes
convert_to_path
test by @RHammond2 in Fix path dependency inconvert_to_path
test #749New Contributors
Full Changelog: v3.5...v3.6
Release checklist: