Skip to content

Commit

Permalink
Merge branch 'v2.9.0' into clean_setup
Browse files Browse the repository at this point in the history
  • Loading branch information
gbarter committed Jan 5, 2024
2 parents e58d3f1 + 99c9f87 commit eb5c50d
Show file tree
Hide file tree
Showing 13 changed files with 93 additions and 51 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/CI_rosco-pytools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -222,5 +222,5 @@ jobs:
# Regression testing
- name: Run regression testing
run: |
cd ROSCO_testing
cd rosco/test
python test_checkpoint.py
3 changes: 2 additions & 1 deletion Examples/Test_Cases/BAR_10/BAR_10_DISCON.IN
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
! Controller parameter input file for the BAR_10 wind turbine
! - File written using ROSCO version 2.8.0 controller tuning logic on 12/21/23
! - File written using ROSCO version 2.8.0 controller tuning logic on 01/05/24

!------- SIMULATION CONTROL ------------------------------------------------------------
1 ! LoggingLevel - {0: write no debug files, 1: write standard output .dbg-file, 2: LoggingLevel 1 + ROSCO LocalVars (.dbg2) 3: LoggingLevel 2 + complete avrSWAP-array (.dbg3)}
0 ! DT_Out - {Time step to output .dbg* files, or 0 to match sampling period of OpenFAST}
1 ! Ext_Interface - (0 - use standard bladed interface, 1 - Use the extened DLL interface introduced in OpenFAST 3.5.0.)
0 ! Echo - (0 - no Echo, 1 - Echo input data to <RootName>.echo)

!------- CONTROLLER FLAGS -------------------------------------------------
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
! Controller parameter input file for the IEA-15-240-RWT-UMaineSemi wind turbine
! - File written using ROSCO version 2.8.0 controller tuning logic on 12/21/23
! - File written using ROSCO version 2.8.0 controller tuning logic on 01/05/24

!------- SIMULATION CONTROL ------------------------------------------------------------
2 ! LoggingLevel - {0: write no debug files, 1: write standard output .dbg-file, 2: LoggingLevel 1 + ROSCO LocalVars (.dbg2) 3: LoggingLevel 2 + complete avrSWAP-array (.dbg3)}
0 ! DT_Out - {Time step to output .dbg* files, or 0 to match sampling period of OpenFAST}
1 ! Ext_Interface - (0 - use standard bladed interface, 1 - Use the extened DLL interface introduced in OpenFAST 3.5.0.)
0 ! Echo - (0 - no Echo, 1 - Echo input data to <RootName>.echo)

!------- CONTROLLER FLAGS -------------------------------------------------
Expand Down
3 changes: 2 additions & 1 deletion Examples/Test_Cases/MHK_RM1/MHK_RM1_DISCON.IN
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
! Controller parameter input file for the MHK_RM1_Floating wind turbine
! - File written using ROSCO version 2.8.0 controller tuning logic on 12/21/23
! - File written using ROSCO version 2.8.0 controller tuning logic on 01/05/24

!------- SIMULATION CONTROL ------------------------------------------------------------
2 ! LoggingLevel - {0: write no debug files, 1: write standard output .dbg-file, 2: LoggingLevel 1 + ROSCO LocalVars (.dbg2) 3: LoggingLevel 2 + complete avrSWAP-array (.dbg3)}
0 ! DT_Out - {Time step to output .dbg* files, or 0 to match sampling period of OpenFAST}
1 ! Ext_Interface - (0 - use standard bladed interface, 1 - Use the extened DLL interface introduced in OpenFAST 3.5.0.)
0 ! Echo - (0 - no Echo, 1 - Echo input data to <RootName>.echo)

!------- CONTROLLER FLAGS -------------------------------------------------
Expand Down
3 changes: 2 additions & 1 deletion Examples/Test_Cases/NREL-5MW/DISCON.IN
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
! Controller parameter input file for the NREL-5MW wind turbine
! - File written using ROSCO version 2.8.0 controller tuning logic on 12/21/23
! - File written using ROSCO version 2.8.0 controller tuning logic on 01/05/24

!------- SIMULATION CONTROL ------------------------------------------------------------
1 ! LoggingLevel - {0: write no debug files, 1: write standard output .dbg-file, 2: LoggingLevel 1 + ROSCO LocalVars (.dbg2) 3: LoggingLevel 2 + complete avrSWAP-array (.dbg3)}
0 ! DT_Out - {Time step to output .dbg* files, or 0 to match sampling period of OpenFAST}
1 ! Ext_Interface - (0 - use standard bladed interface, 1 - Use the extened DLL interface introduced in OpenFAST 3.5.0.)
0 ! Echo - (0 - no Echo, 1 - Echo input data to <RootName>.echo)

!------- CONTROLLER FLAGS -------------------------------------------------
Expand Down
3 changes: 2 additions & 1 deletion Examples/Test_Cases/NREL_2p8_127/NREL-2p8-127_DISCON.IN
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
! Controller parameter input file for the NREL-2p8-127 wind turbine
! - File written using ROSCO version 2.8.0 controller tuning logic on 12/21/23
! - File written using ROSCO version 2.8.0 controller tuning logic on 01/05/24

!------- SIMULATION CONTROL ------------------------------------------------------------
2 ! LoggingLevel - {0: write no debug files, 1: write standard output .dbg-file, 2: LoggingLevel 1 + ROSCO LocalVars (.dbg2) 3: LoggingLevel 2 + complete avrSWAP-array (.dbg3)}
0 ! DT_Out - {Time step to output .dbg* files, or 0 to match sampling period of OpenFAST}
1 ! Ext_Interface - (0 - use standard bladed interface, 1 - Use the extened DLL interface introduced in OpenFAST 3.5.0.)
0 ! Echo - (0 - no Echo, 1 - Echo input data to <RootName>.echo)

!------- CONTROLLER FLAGS -------------------------------------------------
Expand Down
55 changes: 30 additions & 25 deletions docs/source/api_change.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ Thus, be sure to implement each in order so that subsequent line numbers are cor

2.8.0 to develop
-------------------------------
**Flag to use exteneded Bladed Interface
* Set `Ext_Interface` to 1 to use the extened bladed interface with OpenFAST v3.5.0 and greater

**Gain scheduling of floating feedback**

* The floating feedback gain can be scheduled on the low pass filtered wind speed signal. Note that Fl_Kp can now be an array.
Expand Down Expand Up @@ -56,31 +60,32 @@ New in ROSCO develop
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Line Input Name Example Value
====== ======================= ===============================================================================================================================================================================================================================================================
13 VS_ConstPower 0 ! VS_ConstPower - Do constant power torque control, where above rated torque varies, 0 for constant torque}
17 PRC_Mode 0 ! PRC_Mode - Power reference tracking mode{0: use standard rotor speed set points, 1: use PRC rotor speed setpoints}
37 F_NumNotchFilts 1 ! F_NumNotchFilts - Number of notch filters placed on sensors
38 F_NotchFreqs 3.3550 ! F_NotchFreqs - Natural frequency of the notch filters. Array with length F_NumNotchFilts
39 F_NotchBetaNum 0.0000 ! F_NotchBetaNum - Damping value of numerator (determines the width of notch). Array with length F_NumNotchFilts, [-]
40 F_NotchBetaDen 0.2500 ! F_NotchBetaDen - Damping value of denominator (determines the depth of notch). Array with length F_NumNotchFilts, [-]
41 F_GenSpdNotch_N 0 ! F_GenSpdNotch_N - Number of notch filters on generator speed
42 F_GenSpdNotch_Ind 0 ! F_GenSpdNotch_Ind - Indices of notch filters on generator speed
43 F_TwrTopNotch_N 1 ! F_TwrTopNotch_N - Number of notch filters on tower top acceleration signal
44 F_TwrTopNotch_Ind 1 ! F_TwrTopNotch_Ind - Indices of notch filters on tower top acceleration signal
91 VS_PwrFiltF 0.3140 ! VS_PwrFiltF - Low pass filter on power used to determine generator speed set point. Only used in VS_ControlMode = 3.
97 PRC_Section !------- POWER REFERENCE TRACKING --------------------------------------
98 PRC_n 2 ! PRC_n - Number of elements in PRC_WindSpeeds and PRC_GenSpeeds array
99 PRC_LPF_Freq 0.07854 ! PRC_LPF_Freq - Frequency of the low pass filter on the wind speed estimate used to set PRC_GenSpeeds [rad/s]
100 PRC_WindSpeeds 3.0000 25.0000 ! PRC_WindSpeeds - Array of wind speeds used in rotor speed vs. wind speed lookup table [m/s]
101 PRC_GenSpeeds 0.7917 0.7917 ! PRC_GenSpeeds - Array of generator speeds corresponding to PRC_WindSpeeds [rad/s]
102 Empty Line
127 TRA_ExclSpeed 0.00000 ! TRA_ExclSpeed - Rotor speed for exclusion [LSS, rad/s]
128 TRA_ExclBand 0.00000 ! TRA_ExclBand - Size of the rotor frequency exclusion band [LSS, rad/s]. Torque controller reference will be TRA_ExclSpeed +/- TRA_ExlBand/2
129 TRA_RateLimit 0.00000e+00 ! TRA_RateLimit - Rate limit of change in rotor speed reference [LSS, rad/s]. Suggested to be VS_RefSpd/100.
144 Fl_n 1 ! Fl_n - Number of Fl_Kp gains in gain scheduling, optional with default of 1
146 Fl_U 0.0000 ! Fl_U - Wind speeds for scheduling Fl_Kp, optional if Fl_Kp is single value [m/s]
160 Ind_Azimuth 0 ! Ind_Azimuth - The column in OL_Filename that contains the desired azimuth position in rad (used if OL_Mode = 2)
161 RP_Gains 0.0000 0.0000 0.0000 0.0000 ! RP_Gains - PID gains and Tf of derivative for rotor position control (used if OL_Mode = 2)
185 ZMQ_ID 0 ! ZMQ_ID - Integer identifier of turbine
7 Ext_Interface 1 ! Ext_Interface - (0 - use standard bladed interface, 1 - Use the extened DLL interface introduced in OpenFAST 3.5.0.)
14 VS_ConstPower 0 ! VS_ConstPower - Do constant power torque control, where above rated torque varies, 0 for constant torque}
18 PRC_Mode 0 ! PRC_Mode - Power reference tracking mode{0: use standard rotor speed set points, 1: use PRC rotor speed setpoints}
38 F_NumNotchFilts 1 ! F_NumNotchFilts - Number of notch filters placed on sensors
39 F_NotchFreqs 3.3550 ! F_NotchFreqs - Natural frequency of the notch filters. Array with length F_NumNotchFilts
40 F_NotchBetaNum 0.0000 ! F_NotchBetaNum - Damping value of numerator (determines the width of notch). Array with length F_NumNotchFilts, [-]
41 F_NotchBetaDen 0.2500 ! F_NotchBetaDen - Damping value of denominator (determines the depth of notch). Array with length F_NumNotchFilts, [-]
42 F_GenSpdNotch_N 0 ! F_GenSpdNotch_N - Number of notch filters on generator speed
43 F_GenSpdNotch_Ind 0 ! F_GenSpdNotch_Ind - Indices of notch filters on generator speed
44 F_TwrTopNotch_N 1 ! F_TwrTopNotch_N - Number of notch filters on tower top acceleration signal
45 F_TwrTopNotch_Ind 1 ! F_TwrTopNotch_Ind - Indices of notch filters on tower top acceleration signal
92 VS_PwrFiltF 0.3140 ! VS_PwrFiltF - Low pass filter on power used to determine generator speed set point. Only used in VS_ControlMode = 3.
98 PRC_Section !------- POWER REFERENCE TRACKING --------------------------------------
99 PRC_n 2 ! PRC_n - Number of elements in PRC_WindSpeeds and PRC_GenSpeeds array
100 PRC_LPF_Freq 0.07854 ! PRC_LPF_Freq - Frequency of the low pass filter on the wind speed estimate used to set PRC_GenSpeeds [rad/s]
101 PRC_WindSpeeds 3.0000 25.0000 ! PRC_WindSpeeds - Array of wind speeds used in rotor speed vs. wind speed lookup table [m/s]
102 PRC_GenSpeeds 0.7917 0.7917 ! PRC_GenSpeeds - Array of generator speeds corresponding to PRC_WindSpeeds [rad/s]
103 Empty Line
128 TRA_ExclSpeed 0.00000 ! TRA_ExclSpeed - Rotor speed for exclusion [LSS, rad/s]
129 TRA_ExclBand 0.00000 ! TRA_ExclBand - Size of the rotor frequency exclusion band [LSS, rad/s]. Torque controller reference will be TRA_ExclSpeed +/- TRA_ExlBand/2
130 TRA_RateLimit 0.00000e+00 ! TRA_RateLimit - Rate limit of change in rotor speed reference [LSS, rad/s]. Suggested to be VS_RefSpd/100.
145 Fl_n 1 ! Fl_n - Number of Fl_Kp gains in gain scheduling, optional with default of 1
147 Fl_U 0.0000 ! Fl_U - Wind speeds for scheduling Fl_Kp, optional if Fl_Kp is single value [m/s]
161 Ind_Azimuth 0 ! Ind_Azimuth - The column in OL_Filename that contains the desired azimuth position in rad (used if OL_Mode = 2)
162 RP_Gains 0.0000 0.0000 0.0000 0.0000 ! RP_Gains - PID gains and Tf of derivative for rotor position control (used if OL_Mode = 2)
186 ZMQ_ID 0 ! ZMQ_ID - Integer identifier of turbine
====== ================= ======================================================================================================================================================================================================

====== ================= ======================================================================================================================================================================================================
Expand Down
3 changes: 3 additions & 0 deletions rosco/controller/rosco_registry/rosco_types.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,9 @@ ControlParameters:
Echo:
<<: *integer
description: 0 - no Echo, 1 - Echo input data to <RootName>.echo
Ext_Interface:
<<: *integer
description: 0 - use standard bladed interface, 1 - Use the extened DLL interface introduced in OpenFAST 3.5.0.

DT_Out:
<<: *real
Expand Down
1 change: 1 addition & 0 deletions rosco/controller/src/ROSCO_Types.f90
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ MODULE ROSCO_Types
INTEGER(IntKi) :: ZMQ_ID ! 0000 - 9999, Identifier of the rosco, used for zeromq interface only
INTEGER(IntKi) :: LoggingLevel ! 0 - write no debug files, 1 - write standard output .dbg-file, 2 - write standard output .dbg-file and complete avrSWAP-array .dbg2-file
INTEGER(IntKi) :: Echo ! 0 - no Echo, 1 - Echo input data to <RootName>.echo
INTEGER(IntKi) :: Ext_Interface ! 0 - use standard bladed interface, 1 - Use the extened DLL interface introduced in OpenFAST 3.5.0.
REAL(DbKi) :: DT_Out ! Output time step
INTEGER(IntKi) :: n_DT_Out ! output every this many steps
INTEGER(IntKi) :: n_DT_ZMQ ! Send measurements to ZMQ after this many time steps
Expand Down
Loading

0 comments on commit eb5c50d

Please sign in to comment.