-
Notifications
You must be signed in to change notification settings - Fork 150
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
Conversation
There was a problem hiding this 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 |
There was a problem hiding this comment.
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?
* 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>
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