A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

Recent Releases of ROSCO

ROSCO - ROSCO v2.9.7

What's Changed

Full Changelog: https://github.com/NREL/ROSCO/compare/v2.9.6...v2.9.7

Renewable Energy - Wind Energy - Python
Published by dzalkind 3 months ago

ROSCO - ROSCO v2.9.6

What's Changed

Full Changelog: https://github.com/NREL/ROSCO/compare/v2.9.5...v2.9.6

Renewable Energy - Wind Energy - Python
Published by dzalkind 3 months ago

ROSCO - Minor bug fixes on v2.9

What's Changed

New Contributors

Full Changelog: https://github.com/NREL/ROSCO/compare/v2.9.4...v2.9.5

Renewable Energy - Wind Energy - Python
Published by dzalkind 4 months ago

ROSCO - ROSCO v2.8.1

This is a re-release of ROSCO v2.8.0 that works with the latest Intel oneAPI.

Renewable Energy - Wind Energy - Python
Published by dzalkind 5 months ago

ROSCO - ROSCO v2.7.1

This is a re-release of ROSCO v2.7.0 that works with the latest Intel oneAPI.

Renewable Energy - Wind Energy - Python
Published by dzalkind 5 months ago

ROSCO - ROSCO v2.9.4

Compatibility and documentation updates

Renewable Energy - Wind Energy - Python
Published by dzalkind 10 months ago

ROSCO - ROSCO v2.9.3

Fixes to the documentation and file I/O

Renewable Energy - Wind Energy - Python
Published by dzalkind 11 months ago

ROSCO - ROSCO v2.9.2

Fixes to compilers and pypi

Renewable Energy - Wind Energy - Python
Published by dzalkind 12 months ago

ROSCO - ROSCO v2.9.1

Minor update from v2.9.0 with better error handling around the Cp surface reading.

Renewable Energy - Wind Energy - Python
Published by dzalkind about 1 year ago

ROSCO - Minor release with bug fix

Minor update from v2.9.0 with better error handling around the Cp surface reading.

Renewable Energy - Wind Energy - Python
Published by dzalkind about 1 year ago

ROSCO - ROSCO v2.9.0

ROSCO reorganization:

  • We have reorganized the ROSCO repository to follow recommended python packaging processes.
  • The former ROSCO_Toolbox has been moved into the rosco/toolbox directory and can be imported using import rosco.toolbox.
  • The controller fortran source code has been moved from ROSCO/ROSCO/src to ROSCO/controller/src

All API changes can be found in here, along with a summary of how to use the new inputs. Here is a script for updating DISCON inputs.

The floating feedback gain can now be gain scheduled versus wind speed. During wave basin testing of the ROSCO controller with a scale model, we found that in some metocean conditions, the floating feedback controller may require different tuning.

A rotor position controller for tracking the azimuth location of a given rotor position using the generator torque. This feature was used to validate aeroelastic models with given SCADA data.

A new torque control mode, which is less reliant on a wind speed estimate, based on feedback from certification bodies.

An initial power reference control, which changes the rated rotor speed based on the estimated wind speed. Further power control features are planned in future releases.

Tower resonance avoidance has been added, which will skip a given rotor speed using the generator torque control.
The wind farm control interface using ZeroMQ has been expanded with a more robust python interface for more turbines. The interface has been tested using FAST.Farm.

Renewable Energy - Wind Energy - Python
Published by dzalkind over 1 year ago

ROSCO - Pre-release for v2.9.0

Pre-release to test conda installation of v2.9.0

Renewable Energy - Wind Energy - Python
Published by dzalkind over 1 year ago

ROSCO - RAAW v1.4

This control library will be used in the RAAW validation campaign. It includes the rotor position control (RPC) used in the modeling studies.

By setting OL_Mode to 2 and including the open loop input (OL_Filename), the controller will track the rotor position (Azimuth) using the generator torque. Blade pitch will follow the prescribed open loop input exactly. The nacelle yaw position will be controlled in the open loop if Ind_YawRate is non-zero.

Setting OL_Mode to 0 will run ROSCO normally as a reference controller.

Renewable Energy - Wind Energy - Python
Published by dzalkind over 1 year ago

ROSCO - Version 2.8.0

Major Updates:

  • Optional inputs: users do not have to set all inputs to ROSCO. Whether an input is optional is determined by the control flags.
  • Cable control: users can control OpenFAST cables in MoorDyn and SubDyn using ROSCO. Open loop and user-defined control schemes are available. Examples/22_cable_control.py sets up a floating turbine with cable control and applies an open loop mooring control to move the turbine near the (0,0) (surge, sway) location. In the DISCON or tuning yaml, users specify the indices of the cable length control in the avrSWAP; these indices can be found in the ServoDyn summary file.
  • Structural control: users can control OpenFAST structural controllers (tuned mass dampers and added forces) via ROSCO. Open loop and user-defined control schemes are available. Examples/23_structural_control sets up the IEA-15MW semi-submersible floating platform with structural controls as added forces to emulate ballast control for even keel; it relies on the current develop branch of OpenFAST (to be released in v3.5.0) to apply the added force. Users specify the indices to the avrSWAP in the DISCON or tuning yaml, as specified by the ServoDyn summary file.
  • Active wake control: users have two methods, detailed here, for adding pitch offsets, e.g., the helix method, to the collective pitch angle for better wake dissipation. Examples/20_active_wake_control.py runs several different active wake control modes.

Minor Updates:

Renewable Energy - Wind Energy - Python
Published by dzalkind about 2 years ago

ROSCO - Version 2.7.0

Added Features:

  • IPC saturation modes (IPC_SatMode)
  • Pitch actuator faults: simulate constant blade pitch offsets. More is possible in future releases.
  • Ability to initialize filters with specific values
  • Support for latest OpenFAST version (v3.4.0)
  • Add a tool for updating DISCONs from older ROSCO versions

Bug Fixes:

  • Initialize NacIMU_FA_Acc and FA_Acc to 0. Initial conditions would result in offset of floating feedback pitch command
  • Fix cases where debug outputs ***********
  • Add nacelle heading (NacHeading) input to ROSCO
  • Add method for closing dll in control interface on Windows
  • Fix units in sim.py

Software Changes:

  • Support for the latest numpy version (1.24)
  • Re-named examples to represent the features they demonstrate
  • Refactored ratelimit function to store it's own previous signal value
  • Features that rely on collective blade pitch signal now use average of 3 current blade pitch values (useful in IPC cases)
  • Clean up file readers/writers to sync with WEIS analogues
  • Update features that rely on latest version of pyFAST
  • Enable use of runFAST when python setup.py install is used.
  • Add tune.py for specifically translating tuning yaml to controller objects and updating discon files
  • When reading turbine model from openfast, only read necessary input module files

Renewable Energy - Wind Energy - Python
Published by dzalkind about 2 years ago

ROSCO - RAAW v1.3

This controller contains individual pitch control updates for the RAAW project

What's Changed

New Contributors

Full Changelog: https://github.com/NREL/ROSCO/compare/raaw1.2...raaw1.3

Renewable Energy - Wind Energy - Python
Published by dzalkind over 2 years ago

ROSCO - Version 2.6.0

image

What's Changed

Full Changelog: https://github.com/NREL/ROSCO/compare/v2.5.1...v2.6.0

Renewable Energy - Wind Energy - Python
Published by dzalkind over 2 years ago

ROSCO - RAAW v1.2

This release corresponds to the RAAW v1.2 model.

What's Changed

Full Changelog: https://github.com/NREL/ROSCO/compare/v2.5.1...raaw1.2

Renewable Energy - Wind Energy - Python
Published by dzalkind almost 3 years ago

ROSCO - Version 2.5.1

What's Changed

Full Changelog: https://github.com/NREL/ROSCO/compare/v2.5.0...v2.5.1

Renewable Energy - Wind Energy - Python
Published by dzalkind about 3 years ago

ROSCO - Version 2.5.0

Updates in Version 2.5.0:

API Changes: https://rosco.readthedocs.io/en/latest/source/api_change.html

What's Changed

Full Changelog: https://github.com/NREL/ROSCO/compare/v2.4.1...v2.5.0

Renewable Energy - Wind Energy - Python
Published by dzalkind about 3 years ago

ROSCO - Zenodo Integration

This release is to enable Zenodo integration and generate a trackable DOI. No code changes exist.

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas over 3 years ago

ROSCO - v2.4.1

Minor bug fixes and updates for version 2.4.1.

Primary changes:

  • Update testing to cover python setup.py install and some related coverage fixes
  • Allow for non-monotonic Cp surfaces during tuning
  • Increase TSR range during tuning
  • Minimum generator speed pass-through bug fix
  • Support compiling on windows + intel

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas over 3 years ago

ROSCO - Version 2.4.0

Major Changes:

  • Combined ROSCO and ROSCO_Toolbox (deprecating ROSCO_toolbox repo)
  • Added robust control tuning
  • Updated controller based on paper revisions, including Fl_Mode of 1 and 2 for translational and rotational floating feedback.
  • Added flexibility to ROSCO tuning procedure (pass through floating feedback parameters, use multiple omega/zeta across wind speeds).

Minor Changes:

  • Updated documentation
  • Added support for Windows
  • Updated python interface to ROSCO dynamic library

Renewable Energy - Wind Energy - Python
Published by dzalkind over 3 years ago

ROSCO - Version 2.3.0

ROSCO Version 2.3.0

Some minor bug fixes and updates since version 2.2.0

Major updates

  • Improved error handling, debug printing
  • Input parsing
  • CI testing for build

Minor Updates

  • PR Template added
  • Improved compiler flags

Bugs fixed

  • The shutdown routine would be over-ridded by the floating controller, this is fixed.
  • NaNs are trapped in low rotor speeds to improve WSE stability
  • Unsaturated pitch commands are used in the setpoint smoother to improve perforance.

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas almost 4 years ago

ROSCO - Version 2.2.0

ROSCO version 2.2.0

Some updates to ROSCO...

Major updates

  • Add constant power above rated for TSR tracking torque control
  • Use filtered blade pitch signals for gain schedule calls

Minor updates

  • Compiler flags to enable python setup.py install --compile-rosco in the ROSCO toolbox
  • Print git versions during ROSCO call
  • Added readthedocs

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas about 4 years ago

ROSCO - Filter bug fixes

The previous version, v2.1.0, introduced a bug when using certain filters where the instance of the filters was improperly recorded and the wrong parameters were used. This bug has been fixed in v2.1.1, along with a few small and minor improvements.

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas over 4 years ago

ROSCO - Pretty debug, double precision, WSE fixes

Primary updates:

  1. An updated debug output file
  2. Double precision for everything (no notable slow-down)
  3. Wind speed estimator bug fixes
  4. Some minor parameter changes were made for some filters as well.

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas over 4 years ago

ROSCO - Minor bug fixes

Nothing major:

  • some minor bug fixes to smooth responses
  • pretty debug outputs
  • Fixed some kw^2 bugs during transition region

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas over 4 years ago

ROSCO - Compiler updates

Primarily compiler updates - tagged version release for conda-forge compatibility.

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas almost 5 years ago

ROSCO - Version 2.0.1

Minor folder fixes

  • Move IEA15MW parameter files to correct folder

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas about 5 years ago

ROSCO - Version 2.0.0

Major updates:

  • Include DAC controller capabilities
  • Remove unnecessary control inputs

Minor updates:

  • Small filter bug fixes and code cleanup

API Changes:

  • Remove z_* pitch control inputs
  • Flap control related inputs to DISCON.IN

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas about 5 years ago

ROSCO - Fix bug in filters

Fix bug in the instantiating of the constants within the filters.

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas about 5 years ago

ROSCO - Initial release of ROSCO

This is the first release of reference open-source controller (ROSCO), enjoy!

Renewable Energy - Wind Energy - Python
Published by nikhar-abbas over 5 years ago