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

Hercules v1.1 #116

Merged
merged 46 commits into from
Sep 27, 2024
Merged

Hercules v1.1 #116

merged 46 commits into from
Sep 27, 2024

Commits on Dec 22, 2023

  1. Update README.md

    jfrederik-nrel authored Dec 22, 2023
    Configuration menu
    Copy the full SHA
    d862f0a View commit details
    Browse the repository at this point in the history

Commits on Jan 30, 2024

  1. Add alternative standin for AMR-wind that runs FLORIS (#63)

    * Setting up example to work through.
    
    * bugfix: fix old dummy name.
    
    * Constructs fi object.
    
    * appears to run as expected.
    
    * Various updates for smoother running.
    
    * Ruff.
    
    * Remove gch yaml in favor of a default dictionary defined in floris_standin.py
    
    * Undo ruff format, which fights with ruff.
    
    * Tests for FlorisStandin.
    
    * ruff
    
    * Adding correct floris branch to github workflow for testing.
    
    * try again...
    
    * and again.
    
    * ready to test external data.
    
    * Test for external data built out and passing.
    
    * ruff.
    
    * Remove obselete handling.
    
    * match reconfiguration of turbine package.
    
    * add pip install instructions.
    
    * ruff :(
    
    * Standin power specified in kW; emulator uses correct actuator.
    
    * Update test to reflect kW units.
    
    * remove unused JoukowskyDisk information.
    
    * Adding a comment explaining units in Floris power calculation
    
    * Adjusting to meet Ruff standards
    
    * Line shortened.
    
    ---------
    
    Co-authored-by: Genevieve Starke <Genevieve.Starke@nrel.gov>
    misi9170 and genevievestarke authored Jan 30, 2024
    Configuration menu
    Copy the full SHA
    d4e65b2 View commit details
    Browse the repository at this point in the history
  2. Update README.md (#65)

    Co-authored-by: jfrederik-nrel <120053750+jfrederik-nrel@users.noreply.github.com>
    genevievestarke and jfrederik-nrel authored Jan 30, 2024
    Configuration menu
    Copy the full SHA
    bfc53ba View commit details
    Browse the repository at this point in the history

Commits on Feb 5, 2024

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

Commits on Feb 6, 2024

  1. simple_battery unit tests (#64)

    * simple battery unit tests
    
    * update WHOC WindBatteryController name
    
    * Add alternative standin for AMR-wind that runs FLORIS (#63)
    
    * Setting up example to work through.
    
    * bugfix: fix old dummy name.
    
    * Constructs fi object.
    
    * appears to run as expected.
    
    * Various updates for smoother running.
    
    * Ruff.
    
    * Remove gch yaml in favor of a default dictionary defined in floris_standin.py
    
    * Undo ruff format, which fights with ruff.
    
    * Tests for FlorisStandin.
    
    * ruff
    
    * Adding correct floris branch to github workflow for testing.
    
    * try again...
    
    * and again.
    
    * ready to test external data.
    
    * Test for external data built out and passing.
    
    * ruff.
    
    * Remove obselete handling.
    
    * match reconfiguration of turbine package.
    
    * add pip install instructions.
    
    * ruff :(
    
    * Standin power specified in kW; emulator uses correct actuator.
    
    * Update test to reflect kW units.
    
    * remove unused JoukowskyDisk information.
    
    * Adding a comment explaining units in Floris power calculation
    
    * Adjusting to meet Ruff standards
    
    * Line shortened.
    
    ---------
    
    Co-authored-by: Genevieve Starke <Genevieve.Starke@nrel.gov>
    
    * Update README.md (#65)
    
    Co-authored-by: jfrederik-nrel <120053750+jfrederik-nrel@users.noreply.github.com>
    
    * Bugfix -- track floris v4 change in input file. (#66)
    
    ---------
    
    Co-authored-by: Zachary <ztully@nrel.gov>
    Co-authored-by: misi9170 <39596329+misi9170@users.noreply.github.com>
    Co-authored-by: Genevieve Starke <Genevieve.Starke@nrel.gov>
    Co-authored-by: genevievestarke <103534902+genevievestarke@users.noreply.github.com>
    Co-authored-by: jfrederik-nrel <120053750+jfrederik-nrel@users.noreply.github.com>
    Co-authored-by: misi9170 <michael.sinner@nrel.gov>
    7 people authored Feb 6, 2024
    Configuration menu
    Copy the full SHA
    2b0536b View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2024

  1. Fix sync issue (#74)

    * Update README.md
    
    * fix deltat error
    
    * Fixing wind direction setting in amr_wind_standin
    
    ---------
    
    Co-authored-by: jfrederik-nrel <120053750+jfrederik-nrel@users.noreply.github.com>
    Co-authored-by: Vaidhynathan <deepthi.vaidhynathan@nrel.gov>
    3 people authored Feb 7, 2024
    Configuration menu
    Copy the full SHA
    cec5d88 View commit details
    Browse the repository at this point in the history

Commits on Feb 26, 2024

  1. Configuration menu
    Copy the full SHA
    176d9e7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6fb874a View commit details
    Browse the repository at this point in the history
  3. Enable passing power setpoints to wind simulators (#76)

    * Running with null power setpoints.
    
    * Ruff.
    
    * power_setpoints test.
    
    * tests built out; units consistently kW.
    
    * Note for pwoer_setpoints being sent to AMRWind.
    
    * Enable a no value float for yaw angles.
    
    * Provide external data to Emulator.
    
    * ruff
    
    * test output filename
    
    * Add test data; consistent with csv file appends.
    
    * minor key name change; untested.
    
    * Fixing key error in emulator.py
    
    * Temp demo scripts.
    
    * Minor demo updates.
    
    * merging changes.
    
    * Ensure time for external signals matches absolute_helics_time, even if simulation does not start at expected start_time
    
    * Remove demo code.
    
    * Cleanup.
    
    * cleanup 2.
    
    * remove unneeded print statements.
    
    ---------
    
    Co-authored-by: Genevieve Starke <Genevieve.Starke@nrel.gov>
    misi9170 and genevievestarke authored Feb 26, 2024
    Configuration menu
    Copy the full SHA
    3a58379 View commit details
    Browse the repository at this point in the history

Commits on Feb 27, 2024

  1. [BUGFIX] Update FlorisStandin to use set() run() paradigm introduced …

    …in FLORIS v4 (#83)
    
    * Update FlorisStandin to use set() run() paradigm
    
    * Improve retained yaw misalignments test.
    misi9170 authored Feb 27, 2024
    Configuration menu
    Copy the full SHA
    bf2cf51 View commit details
    Browse the repository at this point in the history
  2. Updating installation documentation (#81)

    * Updating installation documentation
    
    * Fixing typo
    
    * Update commands
    
    * Fix typo in Kestrel instructions
    
    * Kestral instructions edit
    
    * Another typo fix
    genevievestarke authored Feb 27, 2024
    Configuration menu
    Copy the full SHA
    2720b10 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    36d5dce View commit details
    Browse the repository at this point in the history
  4. [BUGFIX] Reenable AMR-Wind by setting up empty power_setpoints (#85)

    * Handling to allow variable length control signal to *optionally* pass power_setpoints.
    
    * Fix comment.
    misi9170 authored Feb 27, 2024
    Configuration menu
    Copy the full SHA
    3a795a1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    3983659 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d7f199e View commit details
    Browse the repository at this point in the history

Commits on Feb 28, 2024

  1. remove file suffix

    paulf81 committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    26aeeca View commit details
    Browse the repository at this point in the history
  2. Use symlinks for example docs

    paulf81 committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    94c095b View commit details
    Browse the repository at this point in the history
  3. Adda few more lines

    paulf81 committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    f3f815e View commit details
    Browse the repository at this point in the history
  4. force rebuild

    paulf81 committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    d59814e View commit details
    Browse the repository at this point in the history
  5. Direct copy

    paulf81 committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    8293ecb View commit details
    Browse the repository at this point in the history
  6. Back to soft link

    paulf81 committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    8da5425 View commit details
    Browse the repository at this point in the history
  7. Copy again

    paulf81 committed Feb 28, 2024
    Configuration menu
    Copy the full SHA
    9c9a10d View commit details
    Browse the repository at this point in the history

Commits on Mar 4, 2024

  1. Adding PV module unit tests and documentation (#79)

    * created dummy example for amr wind dummy + solar
    
    * final commit before creating feature branch
    
    * standalone solar pysam example
    
    * working standalone example of solar pysam model
    
    * removed time as explicit input in step
    
    * working example of solar pysam and hercules (but pysam has a bug)
    
    * changing hardcoded stoptime of 100 s to 1000 s to demo solar module
    
    * cleaning before pull request review of misha's changes
    
    * working solar pysam example with test amr wind
    
    * adding updated results in jupyter notebook
    
    * trying to run after git pull of develop
    
    * solar model runs successfully, but there is a time issue
    
    * correcting irradiance field and removing unnecessary comments
    
    * removing unnecessary files
    
    * removing test amr wind and solar example, saving for separate PR
    
    * adding environment yaml file needed for pysam
    
    * updating setup and docs to include pysam and restrict python version
    
    * adding missing csv weather file
    
    * Minor changes for running the code
    
    * Minor cleanup in example.
    
    * remove environment.yml
    
    * adding solar module unit tests
    
    * adding relative path for pytest functionality
    
    * correcting ruff formatting and except
    
    * more ruff formatting
    
    * adding skeleton files for solar pv
    
    * adding solar pysam description
    
    * removing documentation changes, saving for a separate PR
    
    * removing documentation changes, saving for a separate PR
    
    * removing documentation changes, saving for a separate PR
    
    * adding comments to the tests
    
    * fix comments for PV
    
    * adding documentation, moving lat long to input file, correcting irradiance output
    
    * doc updates, code clean up
    
    * docs updates
    
    * minor cleanup
    
    * ruff formatting and minor cleanup
    
    ---------
    
    Co-authored-by: Genevieve Starke <Genevieve.Starke@nrel.gov>
    Co-authored-by: misi9170 <michael.sinner@nrel.gov>
    3 people authored Mar 4, 2024
    Configuration menu
    Copy the full SHA
    32e9976 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2024

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

Commits on Mar 12, 2024

  1. Refactor example 7 (#87)

    * Add README
    
    * Update batch script
    
    * Update deploy pages
    
    * Update toc
    
    * fixing solar_pysam UnicodeDecodeError bug
    
    * Update README
    
    * Back update example 6 script
    
    ---------
    
    Co-authored-by: brookeslawski <brooke.stanislawski@gmail.com>
    paulf81 and brookeslawski authored Mar 12, 2024
    Configuration menu
    Copy the full SHA
    bcee3c3 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2024

  1. Smooth output of FlorisStandin to prevent oscilations in closed-loop …

    …response (#90)
    
    * Rough implementation for output filter.
    
    * Port over to v4 FlorisModel changes; tests failing now due to output filter.
    
    * Enable setting smoothing_coefficient on instantiation.
    
    * Specificy smoothing_coefficient as zero to restablish previous operation for testing.
    
    * Tests for smoothing output added.
    misi9170 authored Mar 25, 2024
    Configuration menu
    Copy the full SHA
    e552a8b View commit details
    Browse the repository at this point in the history

Commits on Mar 26, 2024

  1. [BUGFIX] Create outputs folder in examples to avoid error when output…

    … file does not exist (#93)
    
    * Create outputs folder on calling amr_wind_standin.py, to avoid bug when outputs folder not already present.
    
    * Missed one
    misi9170 authored Mar 26, 2024
    Configuration menu
    Copy the full SHA
    db5e959 View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2024

  1. Feature/battery cell model (#91)

    * created file for battery documentation
    
    * Battery doc started
    
    * Separate simple and LI battery
    
    * LIB troubleshooting
    
    * comments and tests
    
    * tests
    
    * tests
    
    * ruff formatting details
    
    * fix emulatore main dict logging bug
    
    * reformatting for ruff
    
    * fixed FlorisStandin testing bug
    
    * relax test requirements slightly
    
    * first pass battery documentation
    
    * minor changes to comments, tests, .gitignore
    
    * Updating example to use 5 MW NREL Reference turbine and adding a jupyter notebook to look at the outputs
    
    ---------
    
    Co-authored-by: Zachary <ztully@nrel.gov>
    Co-authored-by: Genevieve Starke <Genevieve.Starke@nrel.gov>
    3 people authored Mar 28, 2024
    Configuration menu
    Copy the full SHA
    070423f View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2024

  1. Bugfix/floris standin (#101)

    * bug fix for operation model name
    
    * Add enable_active_wake_mixing flag to default_floris_dict.
    
    ---------
    
    Co-authored-by: misi9170 <michael.sinner@nrel.gov>
    brookeslawski and misi9170 authored Apr 9, 2024
    Configuration menu
    Copy the full SHA
    0940dc8 View commit details
    Browse the repository at this point in the history

Commits on Apr 11, 2024

  1. Feature/floris electrolyzer example (#77)

    * Fix amr input file format
    
    * Updating Ex05 with electrolyzer plant to run with Floris
    
    * Commiting changes for example, example needs deeper Elec debugging
    
    * Updated floris-electrolyzer example
    
    * Taking out print statements
    
    * Adding supporting files for example, example documentation, and renaming folder to represent new example
    
    * Adjusting input files to match
    
    * Updating Ex 05 analysis script
    genevievestarke authored Apr 11, 2024
    Configuration menu
    Copy the full SHA
    320315d View commit details
    Browse the repository at this point in the history

Commits on Apr 12, 2024

  1. Change FLORIS to a "regular" requirement (#103)

    * Add FLORIS to requirements list; remove special installation instructions."
    
    * require floris > 4/
    
    * Change to compatible release clause.
    misi9170 authored Apr 12, 2024
    Configuration menu
    Copy the full SHA
    a128bd4 View commit details
    Browse the repository at this point in the history

Commits on Apr 16, 2024

  1. Adding solar controller and replacing AMR-Wind standin with FLORIS st…

    …andin in example 07 (#104)
    
    * created dummy example for amr wind dummy + solar
    
    * final commit before creating feature branch
    
    * standalone solar pysam example
    
    * working standalone example of solar pysam model
    
    * removed time as explicit input in step
    
    * working example of solar pysam and hercules (but pysam has a bug)
    
    * changing hardcoded stoptime of 100 s to 1000 s to demo solar module
    
    * cleaning before pull request review of misha's changes
    
    * working solar pysam example with test amr wind
    
    * adding updated results in jupyter notebook
    
    * trying to run after git pull of develop
    
    * solar model runs successfully, but there is a time issue
    
    * correcting irradiance field and removing unnecessary comments
    
    * removing unnecessary files
    
    * removing test amr wind and solar example, saving for separate PR
    
    * adding environment yaml file needed for pysam
    
    * updating setup and docs to include pysam and restrict python version
    
    * adding missing csv weather file
    
    * Minor changes for running the code
    
    * Minor cleanup in example.
    
    * remove environment.yml
    
    * adding solar module unit tests
    
    * adding relative path for pytest functionality
    
    * correcting ruff formatting and except
    
    * more ruff formatting
    
    * adding skeleton files for solar pv
    
    * adding solar pysam description
    
    * removing documentation changes, saving for a separate PR
    
    * removing documentation changes, saving for a separate PR
    
    * removing documentation changes, saving for a separate PR
    
    * adding comments to the tests
    
    * fix comments for PV
    
    * adding documentation, moving lat long to input file, correcting irradiance output
    
    * doc updates, code clean up
    
    * docs updates
    
    * minor cleanup
    
    * ruff formatting and minor cleanup
    
    * saving files before switching branches
    
    * adding default inputs - not working yet
    
    * calc max power for controls feedback optimization
    
    * cleaning up code
    
    * more code cleanup
    
    * refactored to remove nested for loop, but no speed up
    
    * fixing github vis
    
    * starting setpoints feature, not working yet
    
    * working initial pv plant controller
    
    * first attempt at feeding in setpoints via external_data_file
    
    * replacing amr wind standin with floris standin due to error in amrwind
    
    * trying to run without external_data_file but getting zeros and floris is hanging
    
    * hercules is hanging
    
    * working version of floris and solar example
    
    * working but messy version of solar controller
    
    * adding the external data file
    
    * cleaning up emulator.py
    
    * cleaning up emulator.py
    
    * working floris stand in and pv plant controller
    
    * cleanup
    
    * Ruff compatibility.
    
    * cleaning up files
    
    * fixing errors in tests
    
    * fixing standalone example
    
    * ruff changes
    
    * removing amr_wind standin run script
    
    * adding external_data_file solar_power_reference.csv
    
    * clarifing controller input in README and fixing dc_power_mw error in test_read_output.ipynb
    
    * Handling for when power_setpoints not available.
    
    * Remove & on second call so that script terminates as expected.
    
    * Updating units for results plots
    
    * Make ruff compliant
    
    * Make ruff compliant 2
    
    ---------
    
    Co-authored-by: Genevieve Starke <Genevieve.Starke@nrel.gov>
    Co-authored-by: misi9170 <michael.sinner@nrel.gov>
    3 people authored Apr 16, 2024
    Configuration menu
    Copy the full SHA
    6f9f4e3 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7f2d024 View commit details
    Browse the repository at this point in the history

Commits on Apr 18, 2024

  1. Added AMR-Wind+OpenFAST example (including batch script) (#89)

    * Added example using AMR-Wind with OpenFAST turbine
    
    * Added batch script and amr input file
    
    * Adding changes for kestrel and diameter definition
    
    * Adding documentation for this example
    
    ---------
    
    Co-authored-by: Joeri Frederik <jfrederi@kl2.head.cm.kestrel.hpc.nrel.gov>
    Co-authored-by: Genevieve Starke <gstarke@kl1.head.cm.kestrel.hpc.nrel.gov>
    Co-authored-by: Genevieve Starke <Genevieve.Starke@nrel.gov>
    4 people authored Apr 18, 2024
    Configuration menu
    Copy the full SHA
    f18af0c View commit details
    Browse the repository at this point in the history
  2. rebuild pages

    genevievestarke committed Apr 18, 2024
    Configuration menu
    Copy the full SHA
    f7c07f5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cf41f6d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    6dd0d1d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    ce73790 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d013dd9 View commit details
    Browse the repository at this point in the history

Commits on Apr 29, 2024

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

Commits on May 16, 2024

  1. Add external controls for solar PySAM module (#107)

    * Allow external power setpoints to be passed in; move handling of None setpoint to control() method.
    
    * Add handling for possibility that py_sims not on the input dict.
    
    * Add test for control setpoint passed.
    
    * AMR wind speed collected in main_dict.
    misi9170 authored May 16, 2024
    Configuration menu
    Copy the full SHA
    ad29cf8 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2024

  1. [BUGFIX] Force yaw_angles to zero in FlorisStandin when `power_se…

    …tpoints` passed (#109)
    
    * Switch to zero yaw misalignments when valid power setpoints are passed to avoid FLORIS error.
    
    * Raise warning, update test.
    
    * More complex handling to check pairwise combos of power_setpoints and yaw_angles.
    
    * Remove unneeded local floris install.
    
    * Add check to ruff statement
    
    * try forcing matplotlib version
    
    * try 2.0
    
    * set it back
    
    * try 3.7
    
    * Add verbosity to output
    
    * Add alternative os
    
    * take out verbose tests
    
    ---------
    
    Co-authored-by: Paul <paul.fleming@nrel.gov>
    misi9170 and paulf81 authored Jul 30, 2024
    Configuration menu
    Copy the full SHA
    446ca31 View commit details
    Browse the repository at this point in the history

Commits on Aug 31, 2024

  1. Improving indexing of solar weather file based on dt in input .yaml f…

    …ile (#111)
    
    * created dummy example for amr wind dummy + solar
    
    * final commit before creating feature branch
    
    * preparing inputs for running hercules using ARM solar data
    
    * running OK ARM solar data
    
    * running hercules using solar data from ARM in OK
    
    * minor cleanup
    
    * improving how solar pysim grabs data from solar weather file based on simulation time
    
    * removing unnecessary files
    
    * minor cleanup
    
    * more minor cleanup
    
    * cleanup
    
    * ruff fixes
    
    * ruff formatting
    
    * adding input solar data
    
    * adding verbose flag to turn on and off debugging print statements
    brookeslawski authored Aug 31, 2024
    Configuration menu
    Copy the full SHA
    ec97c75 View commit details
    Browse the repository at this point in the history

Commits on Sep 20, 2024

  1. Enable heterogeneous inflow in FlorisStandin (#112)

    * Example code.
    
    * Handling for heterogeneous inflows.
    
    * Minor documentation updates.
    
    * Add tests for heterogeneous inflow feature.
    
    * Add exclusion for input data file to gitignore and add file to repo.
    
    * Another needed input excluded in gitignore...
    misi9170 authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    69ed95c View commit details
    Browse the repository at this point in the history
  2. Fix solar pysam bug for when an external signal is defined (#115)

    Co-authored-by: Starke <gstarke@gstarke-41230s.nrel.gov>
    genevievestarke and Starke authored Sep 20, 2024
    Configuration menu
    Copy the full SHA
    8eb579e View commit details
    Browse the repository at this point in the history

Commits on Sep 27, 2024

  1. Update to version 1.1

    misi9170 committed Sep 27, 2024
    Configuration menu
    Copy the full SHA
    6330d15 View commit details
    Browse the repository at this point in the history