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

Feature/power interpolation #153

Merged
merged 6 commits into from
Sep 14, 2020

Conversation

paulf81
Copy link
Collaborator

@paulf81 paulf81 commented Jul 27, 2020

Complete this sentence
THIS PULL REQUEST __ IS NOT __ READY TO MERGE

Feature or improvement description
This pull request is probably not meant to be pulled as is, but provides a proof of concept of re-arranging where the interpolation is done to avoid an issue with interpolation in region 3 when sparse points are provided. An example is included which illustrates the problem and (very rough) proposed solution

Perhaps we can discuss in this thread or somewhere else if we like this approach

Copy link
Collaborator

@ejsimley ejsimley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @paulf81, I think this is the right approach, and I'm in favor of replacing the old power method with your new_power version. I did leave one small comment. Also, looking at the turbulence power correction, it seems pretty straightforward to update turbulence_parameter to use the new interpolated power curve method in its calculations.

If others agree, let me know if you'd like me to help with the turbulence correction changes or anything else!

# Now compute the power
# cptmp = self.Cp # Note Cp is also now based on yaw effective velocity
return (
self.air_density
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is the reason for separating air density and not including it in the powInterp/power_inner_function?

@paulf81 paulf81 merged commit 7a9c6db into NREL:develop Sep 14, 2020
@paulf81 paulf81 deleted the feature/power_interpolation branch September 14, 2020 22:23
RHammond2 added a commit to RHammond2/floris that referenced this pull request Oct 16, 2020
* Add logging class hierarchy to simulation classes

* Add logging class hierarchy to tools

* Create logging infrastructure module

* Replace ellipsis character with periods

* Rename logging module

Avoids a Python package namespace conflict

* Inherit LoggerBase where used and update API

Bug fix

* Add documentation

* Explicitly import the logging_manager with FLORIS

Its still imported when `import floris` since modules in `simulation` and `tools` use it. This also initializes it on import.

* improvements/fixes to energy ratio (NREL#121)

Better handling of empty bins
-- This was only an issue for small data sets but good to fix
Passes through the bootstrap size (was forcing default)
Correct bin weighting to be uniform in non-overlapped bins and gaussian when overlapped

* Make h5pyd an optional dependency

This is only used to access the Wind Tool Kit, so only require it there.
Doing this enables installing FLORIS via conda since the h5pyd package is not available on conda.

* Bug fix: incorrect access to an imported class

* Bug fix: typos (NREL#125)

* fixed typo in refs file

* updated error messages in input file converter

* Add more example input files (NREL#124)

* small fix to energy ratio

* small fix energy ratio

* Add jsons for jensen and multizone

* New example to show model comparisons

* Additional comments

* Bug fix: general typos and CCBlade example (NREL#127)

* fixed typo in refs file

* updated error messages in input file converter

* fixed ccblade example to use dict output for rotor.evalutate (ccblade update)

* Preprocessor: Allow input without version flags (NREL#126)

* Use first turbine’s HH when specified wind is “-1”

* Reenable Python 3.6 in GitHub Actions

Clean up some import statements and comments

* Bugfix/get params (NREL#130)

* adding requirements for docs

* Update version number to 2.0.1

* Removing logger prop from get/set_params functions

* Update gauss.py

* Update interface_utilities.py

* Bugfix/turbine ti (NREL#133)

* modifies added TI to be based on max upstream turbine

* add a function to pass out TI

Co-authored-by: Paul <paul.fleming@nrel.gov>

* Changes to get IQ model to work (NREL#134)

* Fix documentation for TI input

* Update: GCH vortex calculation, effective yaw, tuning (NREL#141)

This request has updated the following:
- Updated vortex equations: V and W coordinates were flipped and W was missing a minus sign.
- Updated the yaw added wake recovery.
- Removed "yaw_recovery_alpha" parameter.
- Slightly modified how the effective yaw is computed: take the average of the spanwise velocity across the rotor disk and compute the yaw angle that would have produced that average spanwise velocity across the disk (previously relied on rotation, but now relies on V).
- Updated the TI tuning.
- Change the wake combination method for V and W components to use linear superposition.
- Updated and added examples.

* Add precommit hooks + update format for compliance (NREL#131)

Adds `flake8`, `black`, and `isort` packages. Also configured git-hooks through `pre-commit`.

* Add auto-publish to PyPI (NREL#128)

* Create python-publish.yml

Adds the GitHub Actions configuration for automatic publishing to PyPI

* remove unused auto publish functionality

Co-authored-by: Rob <robert.hammond@nrel.gov>
Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com>

* Update version number to 2.1.0

* Update Crespo-Hernandez turning parameters (NREL#142)

* Update version to v2.1.1

* Add documentation for syncing local repositories

* Fix documentation for slicing functions (NREL#140)

* Update developer installation instructions (NREL#145)

* update README with developer install instructions (#1)

Co-authored-by: Rob <robert.hammond@nrel.gov>

* Add placeholder for new installation docs

* update the installation instructions

* update the installation instructions in README

* fix typos

* fix typos

* fix typos

* fix typos

* fix typos

* typos

* fixing typo

* embarrassing typos

* rst formatting

* rst formatting

* Add basic and advanced installation instructions

* Align the README with the docs

* Bug fix in README link

* Use  to refer to rtfd branches

* Update installation.rst

Making it slightly more clear what's meant. It's not as obvious on the docs site.

* clarify documentation instructions

* update docs with clarifications to docs installation

* remove docs installation from installation instructions.

Co-authored-by: Rob <robert.hammond@nrel.gov>
Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com>
Co-authored-by: bayc <christopher.j.bay@gmail.com>

* Update call graph images

* Add legend_kwargs to WindRose.plot_wind_rose()

* Feature/power interpolation (NREL#153)

Moves the interpolation in the power curve from cp, to power itself to avoid issues if wind speed points are spaced out above rated in input JSON

Co-authored-by: ejsimley <eric.simley@nrel.gov>

* correcting balanced energy ratio weights

* Feature/yaw opt normalization (NREL#144)

* Added normalization to yaw_optimization

* Adding normalization to wind rose and parallel opts

* Fixed yaw optimization wind rose parallel super init

* Made calculate initial power optional in yaw wind rose

* Adding uncertainty to initial power calc in YawOptimization class

* Modifying yaw and yaw_wind_rose classes to set and normalize bounds correctly

* Adding calc_init_power boolean for yaw.py

Co-authored-by: ejsimley <eric.simley@nrel.gov>

* Add get_turbine_layout() to FlorisInterface (NREL#138)

* Add get_turbine_layout() to FlorisInterface

* Return np.ndarray from get_turbine_layout

* Add get_turbine_layout() to FlorisInterface

* Add checking to ensure layout array x and y coordinates are same length (NREL#67)

* adds check for layout_array x/y to be same length

* Feature/performance clean (NREL#157)

* reduce the number of calculate_swept_area_velocities call

* vectorize effective yaw

* Moving some for loops to list generators

* Add saved flow field indices option

* Add AEP parallel

* Add wind speed limit

Performance improvements including saved flow field indices, limiting points, vectorization and wind speed limitations, but excluding larger function refactoring and any compiling

NGRID and RLOC default to values consistent with current version

A small subset of examples is included

Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com>
Co-authored-by: bayc <christopher.j.bay@gmail.com>

* Add TKE and TI mixing to GCH (NREL#158)

* Updates to the gch model: TKE and TI mixing

* Adding example

* Updated tuning

* Updated mask for V and W

* Bug fix

* Update models

* bugfix in energy ratio example

* Update models

* Apparantly no more writeline function

* Changing opt settings for examples

* change default ti to 6%

* Updating default crespo turbulence values

* Minor cleanup

Co-authored-by: King <jennifer.king@nrel.gov>
Co-authored-by: Paul <paul.fleming@nrel.gov>
Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com>

* Update version to v2.2.0

Co-authored-by: Rafael M Mudafort <rafmudaf@gmail.com>
Co-authored-by: paulf81 <paul.fleming@nrel.gov>
Co-authored-by: nhamilto <32469004+nhamilto@users.noreply.github.com>
Co-authored-by: bayc <christopher.j.bay@gmail.com>
Co-authored-by: Eliot Quon <eliot.quon@nrel.gov>
Co-authored-by: jrannoni <jennifer.annoni@nrel.gov>
Co-authored-by: Rob <robert.hammond@nrel.gov>
Co-authored-by: ejsimley <eric.simley@nrel.gov>
Co-authored-by: ejsimley <40040961+ejsimley@users.noreply.github.com>
Co-authored-by: King <jennifer.king@nrel.gov>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants