5. API changes between versions#

This page lists the main changes in the ROSCO API (input file) between different versions.

The changes are tabulated according to the line number, and flag name. The line number corresponds to the resulting line number after all changes are implemented. Thus, be sure to implement each in order so that subsequent line numbers are correct.

5.1. 2.7.0 to 2.8.0#

Optional Inputs - ROSCO now reads in the whole input file and searches for keywords to set the inputs. Blank spaces and specific ordering are no longer required. - Input requirements depend on control modes. E.g., open loop inputs are not required if OL_Mode = 0` Cable Control - Can control OpenFAST cables (MoorDyn or SubDyn) using ROSCO Structural Control - Can control OpenFAST structural control elements (ServoDyn) using ROSCO Active wake control - Added Active Wake Control (AWC) implementation

New in ROSCO 2.8.0

Line

Input Name

Example Value

6

Echo

0 ! Echo - (0 - no Echo, 1 - Echo input data to <RootName>.echo)

25

AWC_Mode

0 ! AWC_Mode - Active wake control mode [0 - not used, 1 - complex number method, 2 - Coleman transform method]

28

CC_Mode

0 ! CC_Mode - Cable control mode [0- unused, 1- User defined, 2- Open loop control]

29

StC_Mode

0 ! StC_Mode - Structural control mode [0- unused, 1- User defined, 2- Open loop control]

139

Ind_CableControl

0 ! Ind_CableControl - The column(s) in OL_Filename that contains the cable control inputs in m [Used with CC_Mode = 2, must be the same size as CC_Group_N]

140

Ind_StructControl

0 ! Ind_StructControl - The column(s) in OL_Filename that contains the structural control inputs [Used with StC_Mode = 2, must be the same size as StC_Group_N]

148

Empty Line

149

AWC_Section

!——- Active Wake Control —————————————————–

150

AWC_NumModes

1 ! AWC_NumModes - AWC- Number of modes to include [-]

151

AWC_n

1 ! AWC_n - AWC azimuthal mode [-] (only used in complex number method)

152

AWC_harmonic

1 ! AWC_harmonic - AWC Coleman transform harmonic [-] (only used in Coleman transform method)

153

AWC_freq

0.03 ! AWC_freq - AWC frequency [Hz]

154

AWC_amp

2.0 ! AWC_amp - AWC amplitude [deg]

155

AWC_clockangle

0.0 ! AWC_clockangle - AWC clock angle [deg]

165

Empty Line

166

CC_Section

!——- Cable Control ———————————————————

167

CC_Group_N

3 ! CC_Group_N - Number of cable control groups

168

CC_GroupIndex

2601 2603 2605 ! CC_GroupIndex - First index for cable control group, should correspond to deltaL

169

CC_ActTau

20.000000 ! CC_ActTau - Time constant for line actuator [s]

170

Empty Line

171

StC_Section

!——- Structural Controllers ———————————————————

172

StC_Group_N

3 ! StC_Group_N - Number of cable control groups

173

StC_GroupIndex

2818 2838 2858 ! StC_GroupIndex - First index for structural control group, options specified in ServoDyn summary output

5.2. 2.6.0 to 2.7.0#

Pitch Faults - Constant pitch actuator offsets (PF_Mode = 1) IPC Saturation Modes - Added options for saturating the IPC command with the peak shaving limit

New in ROSCO 2.7.0

Line

Input Name

Example Value

23

PF_Mode

0 ! PF_Mode - Pitch fault mode {0 - not used, 1 - constant offset on one or more blades}

56

IPC_SatMode

2 ! IPC_SatMode - IPC Saturation method (0 - no saturation (except by PC_MinPit), 1 - saturate by PS_BldPitchMin, 2 - saturate sotfly (full IPC cycle) by PC_MinPit, 3 - saturate softly by PS_BldPitchMin)

139

PF_Section

!——- Pitch Actuator Faults ———————————————————

140

PF_Offsets

0.00000000 0.00000000 0.00000000 ! PF_Offsets - Constant blade pitch offsets for blades 1-3 [rad]

141

Empty Line

5.3. 2.5.0 to 2.6.0#

IPC - A wind speed based soft cut-in using a sigma interpolation is added for the IPC controller

Pitch Actuator - A first or second order filter can be used to model a pitch actuator

External Control Interface - Call another control library from ROSCO

ZeroMQ Interface - Communicate with an external routine via ZeroMQ. Only yaw control currently supported

Updated yaw control - Filter wind direction with deadband, and yaw until direction error changes signs (https://iopscience.iop.org/article/10.1088/1742-6596/1037/3/032011)

New in ROSCO 2.6.0

Line

Input Name

Example Value

19

TD_Mode

0 ! TD_Mode - Tower damper mode {0: no tower damper, 1: feed back translational nacelle accelleration to pitch angle}

22

PA_Mode

0 ! PA_Mode - Pitch actuator mode {0 - not used, 1 - first order filter, 2 - second order filter}

23

Ext_Mode

0 ! Ext_Mode - External control mode {0 - not used, 1 - call external dynamic library}

24

ZMQ_Mode

0 ! ZMQ_Mode - Fuse ZeroMQ interaface {0: unused, 1: Yaw Control}

33

F_YawErr

0.17952 ! F_YawErr - Low pass filter corner frequency for yaw controller [rad/s].

54

IPC_Vramp

9.120000 11.400000 ! IPC_Vramp - Start and end wind speeds for cut-in ramp function. First entry: IPC inactive, second entry: IPC fully active. [m/s]

96

Y_uSwitch

0.00000 ! Y_uSwitch - Wind speed to switch between Y_ErrThresh. If zero, only the first value of Y_ErrThresh is used [m/s]

133

Empty Line

N/A

134

PitchActSec

!——- Pitch Actuator Model —————————————————–

135

PA_CornerFreq

3.140000000000 ! PA_CornerFreq - Pitch actuator bandwidth/cut-off frequency [rad/s]

136

PA_Damping

0.707000000000 ! PA_Damping - Pitch actuator damping ratio [-, unused if PA_Mode = 1]

137

Empty Line

138

ExtConSec

!——- External Controller Interface —————————————————–

139

DLL_FileName

“unused” ! DLL_FileName - Name/location of the dynamic library in the Bladed-DLL format

140

DLL_InFile

“unused” ! DLL_InFile - Name of input file sent to the DLL (-)

141

DLL_ProcName

“DISCON” ! DLL_ProcName - Name of procedure in DLL to be called (-)

142

Empty Line

143

ZeroMQSec

!——- ZeroMQ Interface ———————————————————

144

ZMQ_CommAddress

tcp://localhost:5555” ! ZMQ_CommAddress - Communication address for ZMQ server, (e.g. “tcp://localhost:5555”)

145

ZMQ_UpdatePeriod

2 ! ZMQ_UpdatePeriod - Call ZeroMQ every [x] seconds, [s]

Modified in ROSCO 2.6.0

Line

Input Name

Example Value

97

Y_ErrThresh

4.000000 8.000000 ! Y_ErrThresh - Yaw error threshold/deadbands. Turbine begins to yaw when it passes this. If Y_uSwitch is zero, only the second value is used. [deg].

98

Y_Rate

0.00870 ! Y_Rate - Yaw rate [rad/s]

99

Y_MErrSet

0.00000 ! Y_MErrSet - Integrator saturation (maximum signal amplitude contribution to pitch from yaw-by-IPC), [rad]

Removed in ROSCO 2.6.0

Line

Input Name

Example Value

96

Y_IPn

1 ! Y_IPC_n - Number of controller gains (yaw-by-IPC)

99

Y_IPC_omegaLP

0.20940 ! Y_IPC_omegaLP - Low-pass filter corner frequency for the Yaw-by-IPC controller to filtering the yaw alignment error, [rad/s].

100

Y_IPC_zetaLP

1.00000 ! Y_IPC_zetaLP - Low-pass filter damping factor for the Yaw-by-IPC controller to filtering the yaw alignment error, [-].

102

Y_omegaLPFast

0.20940 ! Y_omegaLPFast - Corner frequency fast low pass filter, 1.0 [rad/s]

103

Y_omegaLPSlow

0.10470 ! Y_omegaLPSlow - Corner frequency slow low pass filter, 1/60 [rad/s]

5.4. ROSCO v2.4.1 to ROSCO v2.5.0#

Two filter parameters were added to - change the high pass filter in the floating feedback module - change the low pass filter of the wind speed estimator signal that is used in torque control

Open loop control inputs, users must specify: - The open loop input filename, an example can be found in Examples/Example_OL_Input.dat - Indices (columns) of values specified in OL_Filename

IPC - Proportional Control capabilities were added, 1P and 2P gains should be specified

Line

Flag Name

Example Value

20

OL_Mode

0 ! OL_Mode - Open loop control mode {0: no open loop control, 1: open loop control vs. time, 2: open loop control vs. wind speed}

27

F_WECornerFreq

0.20944 ! F_WECornerFreq - Corner frequency (-3dB point) in the first order low pass filter for the wind speed estimate [rad/s].

29

F_FlHighPassFreq

0.01000 ! F_FlHighPassFreq - Natural frequency of first-order high-pass filter for nacelle fore-aft motion [rad/s].

50

IPC_KP

0.000000 0.000000 ! IPC_KP - Proportional gain for the individual pitch controller: first parameter for 1P reductions, second for 2P reductions, [-]

125

OL_Filename

“14_OL_Input.dat” ! OL_Filename - Input file with open loop timeseries (absolute path or relative to this file)

126

Ind_Breakpoint

1 ! Ind_Breakpoint - The column in OL_Filename that contains the breakpoint (time if OL_Mode = 1)

127

Ind_BldPitch

2 ! Ind_BldPitch - The column in OL_Filename that contains the blade pitch input in rad

128

Ind_GenTq

3 ! Ind_GenTq - The column in OL_Filename that contains the generator torque in Nm

129

Ind_YawRate

4 ! Ind_YawRate - The column in OL_Filename that contains the generator torque in Nm