Skip to content
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 v4.2 #994

Draft
wants to merge 12 commits into
base: main
Choose a base branch
from
Draft

FLORIS v4.2 #994

wants to merge 12 commits into from

Commits on Jul 18, 2024

  1. Implement TurbOPark as a Gaussian model (#907)

    * added turboparkgauss & double gauss wake models
    
    * Correct implementation of mirror turbines
    
    * Test case files added
    
    * isort, ruff.
    
    * Switch to relative inputs to run from PR_TurbOParkGauss directory.
    
    * Clean up rowpark example some, add comments.
    
    * Move inputs into single file for simplicity.
    
    * Second input file for RowPark.
    
    * Simplify inputs to TwinPark example.
    
    * Clean up TwinPark runscript.
    
    * Consolidate example scripts.
    
    * Consolidate input files.
    
    * Move data to subdirectory.
    
    * Add _sorted_interial_frame coordinates for viz purposes.
    
    * Consolidate single turbine example into main runscript.
    
    * Build constant CT turbine in script.
    
    * Remove inputs directory; all information now in input yamls and script.
    
    * move to examples directory.
    
    * empty lines.
    
    * Add description to example.
    
    * Fix trailing whitespace issue.
    
    * isort.
    
    * Add reg test consistent with other wake models.
    
    * Add full flow reg test.
    
    * Add unit test to compare to Nygaard results.
    
    * Add unit test.
    
    * End lines.
    
    * Move D factor outside of characteristic_wake_width calculation.
    
    * Make mirror wakes optional (but hardcoded to included) similar to EmG.
    
    * Add TODO note.
    
    * Import gaussian_function to avoid redundant code and remove unneeded functions.
    
    * Fix bug that was using np.min in place of np.minimum, which is a carry-over from turbopark.py (and persists there).
    
    * Update reg tests after np.min bugfix.
    
    * Update refs.
    
    * removed sigma_max_rel & wtg_overlapping, introduced include_mirror_wake as argument
    
    Removed sigma_max_rel, because that restriction is not needed in this implementation.
    
    Therefore also removed wtg_overlapping mask
    
    Introduced include_mirror_wake as input argument
    
    * Removed doublegauss wake model
    
    This wake model was only included to demonstrate that other wake models could be implemented.
    The current implementation was not complete, it had some shortcomings compared to the latest literature.
    Hence, removing it from this pull request. It can be introduced later in another pull request.
    
    * Remove sigma_max_rel from testing.
    
    * Minor changes to full flow solver results after removal of sigma_max_rel.
    
    * Add description and citation for new turbopark implementation.
    
    * Remove commented out code for Doublegass model.
    
    * Add comments on comparison data from Matlab
    
    * add warning recommending using turboparkgauss; leave constants hardcoded in characteristic_wake_width
    
    * remove unclear comment about original turbopark implementation mismatch.'
    
    * Fix typo.
    
    ---------
    
    Co-authored-by: misi9170 <michael.sinner@nrel.gov>
    JasperShell and misi9170 authored Jul 18, 2024
    Configuration menu
    Copy the full SHA
    296628a View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. Add WRG file support to FLORIS (#919)

    * Add wrg_reader file
    
    * Blocking in notebook to generate example wrg file
    
    * small additions
    
    * Update notebook and example wrg
    
    * Remove wrg reader file
    
    * Notebook to script
    
    * add WindResourceGrid to import
    
    * Initial implementation of WindResourceGrid
    
    * First tests of wind_resource_grid
    
    * Change to 2x3
    
    * Update wind_resource_grid and tests
    
    * Add print out
    
    * Add print out
    
    * Add WindRoseByTurbineObject
    
    * Method to generate WindRoseByTurbine
    
    * Add tests of WindRoseByTurbine
    
    * test get_wind_rose_by_turbine
    
    * Update examples
    
    * Add a test that expected farm power hasn't changed
    
    * Start implementing expected turbine power
    
    * Update example
    
    * Update unpack
    
    * bugfix
    
    * Update expected functions
    
    * Finish example 2
    
    * Add test for expected functions
    
    * Renumber examples
    
    * Add wrg option to layout opt
    
    * Add layout opt example
    
    * Update 001 to make clearer accelerations
    
    * Add print out feature
    
    * Add get_hetergeneous_map func
    
    * Add examples 4 and 5
    
    * Update test
    
    * Remove echo from example
    
    * Renumber examples
    
    * Update init to new structure
    
    * Update example 001
    
    * Delete wind_resource_grid file
    
    * Update to WindRoseWRG
    
    * Update imports and references to old class name
    
    * Update example 1
    
    * Update example 01
    
    * Update example 001
    
    * Update example 1
    
    * Floris updates layout
    
    * Fix update layout
    
    * Allow ti_table
    
    * fix call to set_layout
    
    * Update example 2
    
    * Fix the ordering of applying layout to wind data
    
    * Roll back changes to layout opt
    
    * Update example 3
    
    * clean up plot
    
    * back to 60
    
    * Fix issue in upsampling limits
    
    * Update example 1
    
    * Rename example 2
    
    * Update example 3
    
    * Bugfix in random search
    
    * Update layout examples
    
    * Update example wrg
    
    * Update het function
    
    * Update tests
    
    * Update example 3
    
    * A couple of minor formatting changes.
    
    * Improve upsampling to retain coverage of original areas
    
    * Update tests
    
    * Initial upsample fixes
    
    * Upsample testing changes
    
    * clean up code
    
    * clean up tests
    
    * matching changes to wind_ti_rose
    
    * update wind_ti_rose tests
    
    * Split off get_weighted_turbine_powers function
    
    * Update test names
    
    * Fix call to equal axis
    
    * Update wind_data doc
    
    * Small update
    
    * Formatting updates.
    
    * Minor cleanup.
    
    * Remove subset_wind_speeds from WindRose and perform actions in WindRoseWRG.get_heterogeneous_wind_rose instead.
    
    * bugfix
    
    * Remove block comment
    
    * Add and test check for even spacing of wind_speeds; add note about assigned freq.
    
    ---------
    
    Co-authored-by: misi9170 <michael.sinner@nrel.gov>
    paulf81 and misi9170 authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    bb9e1b5 View commit details
    Browse the repository at this point in the history

Commits on Aug 7, 2024

  1. Configuration menu
    Copy the full SHA
    b4c7ced View commit details
    Browse the repository at this point in the history

Commits on Aug 15, 2024

  1. Configuration menu
    Copy the full SHA
    a6f0f2f View commit details
    Browse the repository at this point in the history

Commits on Aug 20, 2024

  1. Configuration menu
    Copy the full SHA
    79fd2dc View commit details
    Browse the repository at this point in the history

Commits on Aug 22, 2024

  1. Configuration menu
    Copy the full SHA
    1464208 View commit details
    Browse the repository at this point in the history

Commits on Aug 26, 2024

  1. Speed up turbine loading operation (#966)

    * Instantiate Turbine objects only once for each different type of turbine.
    
    * Raise clear error of turbine_type is same but dictionaries do not match
    
    * Clean up comments.
    
    * Add test to check that turbine_definitions and turbine_map reflect changes as expected.
    
    * Use private attribute _turbine_definition_cache throughout.
    
    * use factory=dict on attrs attribute to avoid need to assign empty {}
    
    * Add factory=list to _turbine_types private attribute to ensure acts as expected.
    misi9170 authored Aug 26, 2024
    Configuration menu
    Copy the full SHA
    b7032c4 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. Configuration menu
    Copy the full SHA
    56921d8 View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. Configuration menu
    Copy the full SHA
    a8cec88 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    60b18b4 View commit details
    Browse the repository at this point in the history

Commits on Sep 19, 2024

  1. Bugfix for rotor_diameters; error in width of grid; make sure n_turbi…

    …nes_max is of type int. (#984)
    misi9170 authored Sep 19, 2024
    Configuration menu
    Copy the full SHA
    a1c2134 View commit details
    Browse the repository at this point in the history

Commits on Oct 7, 2024

  1. New parallel option that is fully consistent with FlorisModel (#982)

    * Initial work on a consistent parallel FLORIS model (#977)
    
    * Copy for easier comparison and development.
    
    * temp commit to save progress.
    
    * Starting to build out new ParallelFlorisModel (name not yet fixed).
    
    * Begin building tests.
    
    * Cleanup and formatting.
    
    * Now able to use run() in parallel.
    
    * Switch to hidden _get_turbine_powers.
    
    * Add backcompatibility with existing parallel model; print timings; add powers_only option.
    
    * Example comparing timing.
    
    * Formatting fixes.
    
    * Test for return_turbine_powers_only flag.
    
    * Backcompatibility in configuration.
    
    * Appears there is no saving in calling run() twice---all overhead occurs again.
    
    * Fix type hints; default for n_wind_condition_splits; remove mistakenly committed yaw optimization function.
    
    * Tests for WindData objects; remove related comment.
    
    * Tests control setpoints (and add bugfix). Also limit number of workers for testing.
    
    * Update UncertainFlorisModel to work with new Parallel framework (#983)
    
    * Update uncertain floris model to accept par floris
    
    * Raise an error in old parallel floris model blocking passing in uncertain floris model
    
    * Add an example of parallelized uncertain floris
    
    * Expand parallel processing interface options (#985)
    
    * Update example to profile more fully.
    
    * Handling for pathos parallel processing package; comparison example to multiprocessing.
    
    * Add test for pathos interface.
    
    * Add concurrent handling.
    
    * minor doc updates.
    
    * add pathos requirement
    
    * Clean up of new ParFlorisModel class (#986)
    
    * Update example to profile more fully.
    
    * Handling for pathos parallel processing package; comparison example to multiprocessing.
    
    * Add test for pathos interface.
    
    * Add concurrent handling.
    
    * minor doc updates.
    
    * add pathos requirement
    
    * Change name to ParFlorisModel throughout.
    
    * Add deprecation warning for ParallelFlorisModel.
    
    * Add import; isort.
    
    * Update example to use ParFlorisModel.
    
    * Update tests; formatting.
    
    * Fix uncertain-parallel example; add uncertain-parallel test.
    
    * Update example docstring.
    
    * Remove temporary examples from repository.
    
    * Add examples and documentation for ParFlorisModel (#990)
    
    * Add short docstring
    
    * Minor comment change.
    
    * Add approx model to docs
    
    * A couple of rewordings and update to initial paragraph.
    
    ---------
    
    Co-authored-by: paulf81 <paul.fleming@nrel.gov>
    misi9170 and paulf81 authored Oct 7, 2024
    Configuration menu
    Copy the full SHA
    25aa0ff View commit details
    Browse the repository at this point in the history