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

Add various features and tests to ZeroMQ wind farm control implementation #282

Merged
merged 5 commits into from
Dec 5, 2023

Conversation

abhineet-gupta
Copy link
Collaborator

@abhineet-gupta abhineet-gupta commented Nov 15, 2023

Add various features and tests to ZeroMQ implementation.

Wind farm control interface modified to spawn a single server which connects to multiple ROSCO clients. Examples added/modified to demonstrate the capability.

Type of change

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (non-backwards-compatible fix or feature)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Documentation update
  • Maintenance update
  • Other (please describe)

Examples/Testing, if applicable

Example 17a modified to reflect the new zeromq framework
Example 17b demonstrates wind farm control with zeromq framework
Both tests pass locally on a mac

@abhineet-gupta abhineet-gupta marked this pull request as ready for review November 20, 2023 21:28

logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
# logger.setLevel(logging.DEBUG)
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is this still needed? I'm not that familiar with logging.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Users can choose either line 32 for a basic log or line 33 for a more detailed log.
Maybe I can add a comment here explaining this.

logger = logging.getLogger(__name__)
# Choose logging level below
logger.setLevel(logging.INFO) # For a basic level of logs
# logger.setLevel(logging.DEBUG) # For more detailed logs helpful for debugging
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Added comments here

@dzalkind dzalkind merged commit d549dc8 into NREL:helics Dec 5, 2023
dzalkind added a commit that referenced this pull request Dec 15, 2023
* Add script for auto-generating zmq interface

* Add torque offset because we needed to fill the setpoint slot

* Add a working example to help further development of ZMQ for farm control

* Use setpoints/measurements on python side

* Complete merge with ZMQ_Indentifier

* Standardize setpoints on zmq server side, now attr of class

* Rename zeromq examples

* Set up multi_openfast example with run_FAST routines

* Add ZMQ_* inputs to schema, input writer

* Set relative path to wfc_interface file

* Rename ZMQ_Identifier to ZMQ_ID

* Rename turbine_zmq_server and make setpoints/measurements a list

* Try apt-get update

* Rename zmq examples in test script

* Modify ZeroMQ wind farm control interface and example to more object oriented code

* Fix update period logic for ZMQ client

* Update DISCONs

* Cast ZMQ_ID as int

* Add various features and tests to ZeroMQ wind farm control implementation (#282)

* Add tests to example-17b

* Add logging to zmq server for wind farm control

* Small changes to zeromq interface to make the code more descriptive and robust

* Modify example-17a to work with new zeromq wind farm control interface and some minor changes

* Add helpful comment about logging level

---------

Co-authored-by: AbhineetGupta <abhineet.gupta@nrel.gov>
@abhineet-gupta abhineet-gupta deleted the helics branch April 8, 2024 15:44
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.

2 participants