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

Clean up examples directory #42

Merged
merged 13 commits into from
Dec 9, 2024
Merged

Conversation

misi9170
Copy link
Collaborator

@misi9170 misi9170 commented Nov 25, 2024

Following a similar procedure on Hercules, this PR aims to clean up the available examples in WHOC and make them simpler to run.

This will stay as a draft PR while I work through the list below.

NOTE: Need to be on the develop branch of Hercules currently

lookup-based_wake_steering_florisstandin/ (on hold while I develop other wake steering capabilities in WHOC)

  • Runs
  • Cleaned up
  • Documentation up to date

simple_hybrid_plant/

  • Runs
  • Cleaned up
  • Documentation up to date

wind_farm_power_tracking_florisstandin/

  • Runs
  • Cleaned up
  • Documentation up to date

@misi9170 misi9170 marked this pull request as draft November 25, 2024 22:36
@misi9170
Copy link
Collaborator Author

Addresses #38

@misi9170
Copy link
Collaborator Author

@genevievestarke I've lengthened the simple_hybrid_plant/ simulation from 1 minute to 5 minutes to get through transients and demonstrate more "steady-state" behavior (although disturbances continue to be varying).

@misi9170 misi9170 marked this pull request as ready for review November 26, 2024 19:15
@misi9170 misi9170 requested review from genevievestarke and paulf81 and removed request for genevievestarke November 26, 2024 19:15
@misi9170
Copy link
Collaborator Author

@genevievestarke @paulf81 I've requested a review from both of you---it would be great if at least one of you could pull this down and run the example (using bash run_script.sh for each of them) to check that I haven't missed anything.

Feel free to look over the documentation updates, but no need to try to build them---I've been able to build them locally without issue.

Copy link
Collaborator

Choose a reason for hiding this comment

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

The wind plotting for this example is a little weird. It looks like only one turbine is below the others.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

It may just be that all of the turbines are experiencing very similar wind conditions with minimal waking. Let me know what you find, and if it seems like something is off I'm happy to help dig into it

@genevievestarke
Copy link
Collaborator

I pulled it down and ran all the examples, and they look good. Just a little weird on the wind in the simple hybrid case. I'll look into it

@paulf81
Copy link
Collaborator

paulf81 commented Dec 7, 2024

@misi9170 I pulled this down and all 3 examples worked for me and the plots showed up when I ran using the current Develop branch of Hercules. Let me know if you want to work together in bringing over the more bash_script heavy version being set up here NREL/hercules#133, over to this WHOC PR

@misi9170
Copy link
Collaborator Author

misi9170 commented Dec 9, 2024

Thanks @paulf81 , @genevievestarke .

@paulf81 --- Having the bash scripts could be good, but less important than over on Hercules I think. I'd say let's see how they go on Hercules first, and can possibly port them over in future.

@genevievestarke , you probably haven't yet had a chance to look into the wind turbine powers in the simple_hybrid_plant/ yet. I'll take a quick look today to see if I see anything wayward and let you know

@misi9170
Copy link
Collaborator Author

misi9170 commented Dec 9, 2024

@genevievestarke ,

I've spent some time digging into this. The upshot is that, in the simple_hybrid_plant/ example, all turbines are maximizing their power production most of the time and most turbines are experiencing free stream winds (only T009 has any significant waking, although other turbines do experience a small amount of wake loss that is difficult to see from a glance at the figure produced).

Here is the figure produced by the simulation, and I've also included in the last subplot the powers the turbines would have produced using FLORIS only and maximizing their power production (that is, no time-filtering or power response commands from Hercules):
outs_herc

The wind direction throughout the simulation is 164.88 degrees. Here is the layout of the farm:
wake_dirs

The only wake that direction that is very close to 164.88 degrees is T003 waking T009. The distance is pretty long (25D), so the wake effect is relatively small at this point, but still produces a noticeable drop in available power for T009.

Finally, here are the powers of T000 and T009 as produces by Hercules overlaid with their powers from running FLORIS without smoothing using the same input wind speed and wind direction. I think everything is in order here and working as expected.
compare_outs

@genevievestarke
Copy link
Collaborator

@misi9170 Thank you for looking into this, these plots are great!! Ok, that all makes sense to me, just a little surprised that none of the other turbines are waked!

Copy link
Collaborator

@genevievestarke genevievestarke left a comment

Choose a reason for hiding this comment

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

Looks good to me! The only thing I would comment on is if the hercules_input.yaml should be in the inputs folder?

Also, I ran all examples and tests!

@misi9170
Copy link
Collaborator Author

misi9170 commented Dec 9, 2024

The only thing I would comment on is if the hercules_input.yaml should be in the inputs folder?

Fair point---having the hercules_input.yaml outside of the inputs/ subdirectory is consistent with how the examples are organized in Hercules. However, for WHOC (where the Hercules input is not the main focus), I agree that it makes sense to put the hercules_input.yaml into the inputs/ subdirectory.

@misi9170 misi9170 merged commit 4fe029b into NREL:develop Dec 9, 2024
3 checks passed
@misi9170 misi9170 deleted the ehmt/examples-cleanup branch December 9, 2024 22:05
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.

3 participants