Errors in example06.py and example13.py
Latons452 opened this issue · comments
Hello, I'm trying to run example06.py and example13.py, and I get these errors.
- I am using OpenFast 3.4.0 on Windows, 64 bits version.
- I have changed the code in example06.py line 86 to run openfast_x64.exe
Edit: Additional information I forgot:
- Running an environment of anaconda under Python 3.10.6.
- Numpy is version is 1.24.1
In example06.py it seems the model .fst has errors in that the buoyancy is not defined:
Using ofTools in ROSCO_toolbox...
-----------------------------------------------------------------------------
Loading wind turbine data for NREL's ROSCO tuning and simulation processeses
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
-----------------------------------------------------------------------------
Loading FAST model: IEA-15-240-RWT-UMaineSemi.fst
Loading rotor performace data from text file: c:\Users\Latons\Documents\Codigo\ROSCO\Test_Cases\IEA-15-240-RWT-UMaineSemi\Cp_Ct_Cq.IEA15MW.txt
Loading rotor performace data from text file: c:\Users\Latons\Documents\Codigo\ROSCO\Examples\../Test_Cases/IEA-15-240-RWT-UMaineSemi\Cp_Ct_Cq.IEA15MW.txt
-----------------------------------------------------------------------------
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
-----------------------------------------------------------------------------
Writing new controller parameter file parameter file: c:\Users\Latons\Documents\Codigo\ROSCO\Examples\DISCON.IN.
Using IEA-15-240-RWT-UMaineSemi.fst to run OpenFAST simulation
Running OpenFAST simulation for IEA-15-240-RWT-UMaineSemi.fst through the ROSCO toolbox...
**************************************************************************************************
OpenFAST
Copyright (C) 2023 National Renewable Energy Laboratory
Copyright (C) 2023 Envision Energy USA LTD
This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the "LICENSE" file distributed with this software for details.
**************************************************************************************************
OpenFAST-v3.4.0
Compile Info:
- Compiler: Intel(R) Fortran Compiler 2021
- Architecture: 64 bit
- Precision: single
- OpenMP: No
- Date: Jan 13 2023
- Time: 11:00:06
Execution Info:
- Date: 01/31/2023
- Time: 19:18:34+0100
OpenFAST input file heading:
IEA 15 MW offshore reference model on UMaine VolturnUS-S semi-submersible floating platform
Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
FAST_InitializeAll:AD_Init:ParsePrimaryFileInfo:ParseLoVar:
>> A fatal error occurred when parsing data from ".\IEA-15-240-RWT_AeroDyn15.dat".
>> The variable "Buoyancy" was not found on line #13.
OpenFAST encountered an error during module initialization.
Simulation error level: FATAL ERROR
Aborting OpenFAST.
Traceback (most recent call last):
File "c:\Users\Latons\Documents\Codigo\ROSCO\Examples\example_06.py", line 87, in <module>
run_openfast(
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\utilities.py", line 554, in run_openfast
subprocess.run([fastcall, os.path.join(fastfile)], check=True, cwd=cwd)
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\subprocess.py", line 524, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['openfast_x64.exe', 'IEA-15-240-RWT-UMaineSemi.fst']' returned non-zero exit status 1.
In example13.py it seems it is a numpy error:
Using ofTools in ROSCO_toolbox...
-----------------------------------------------------------------------------
Loading wind turbine data for NREL's ROSCO tuning and simulation processeses
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
-----------------------------------------------------------------------------
Loading FAST model: BAR_10.fst
Loading rotor performace data from text file: c:\Users\Latons\Documents\Codigo\ROSCO\Test_Cases\BAR_10\Cp_Ct_Cq.BAR_10.txt
Traceback (most recent call last):
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\ofTools\case_gen\CaseGen_General.py", line 159, in CaseGen_General
matrix_out = np.asarray(matrix_out, dtype=str)
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions. The detected shape was (1, 109) + inhomogeneous part.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\Users\Latons\Documents\Codigo\ROSCO\Examples\example_13.py", line 81, in <module>
case_list, case_name_list = CaseGen_General(case_inputs, dir_matrix=run_dir, namebase='ipc_example')
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\ofTools\case_gen\CaseGen_General.py", line 161, in CaseGen_General
matrix_out = np.asarray(matrix_out)
ValueError: setting an array element with a sequence. The requested array has an inhomogeneous shape after 2 dimensions. The detected shape was (1, 109) + inhomogeneous part.
I am a really new user in OpenFAST, so I don't know how to really solve the issue in example06.py.
Hi,
Our file writers for OpenFAST are compatible with version 3.3.0. You can download that version of OpenFAST and example_06 should work.
I'm not sure about the numpy issue. What version of numpy do you have installed?
Dan
Oh, if you're using the main
branch, you'll need to depreciate to numpy v1.23 or use the develop branch, which is compatible with the latest numpy.
I was editing my original issue with the NumPy version just as you wrote the response, sorry about forgetting that!
Attaching my entire enviroment.yml just in case, deprecated the version of NumPy:
name: openFast
channels:
- conda-forge
dependencies:
- python=3.10.6
- dash=2.7.1
- dash-bootstrap-components=1.3.0
- pandas=1.5.2
- scipy=1.10.0
- numpy=1.23.*
- pip
- sympy=1.11.1
- matplotlib=3.6.2
- ROSCO
- mpi4py
- wisdem
- simpy
- pip:
- -e git+https://github.com/OpenFAST/python-toolbox.git#egg=pyFAST
- dash-bootstrap-templates==1.0.7
- git+https://github.com/NREL/ROSCO
- dearpygui
- ruamel.yaml
- marmot-agents
Now in example_06.py I get this error. Which seems related to #199 from a quick view.
Using ofTools in ROSCO_toolbox...
-----------------------------------------------------------------------------
Loading wind turbine data for NREL's ROSCO tuning and simulation processeses
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
-----------------------------------------------------------------------------
Loading FAST model: IEA-15-240-RWT-UMaineSemi.fst
Loading rotor performace data from text file: c:\Users\Latons\Documents\Codigo\ROSCO\Test_Cases\IEA-15-240-RWT-UMaineSemi\Cp_Ct_Cq.IEA15MW.txt
Loading rotor performace data from text file: c:\Users\Latons\Documents\Codigo\ROSCO\Examples\../Test_Cases/IEA-15-240-RWT-UMaineSemi\Cp_Ct_Cq.IEA15MW.txt
-----------------------------------------------------------------------------
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
-----------------------------------------------------------------------------
Writing new controller parameter file parameter file: c:\Users\Latons\Documents\Codigo\ROSCO\Examples\DISCON.IN.
Using IEA-15-240-RWT-UMaineSemi.fst to run OpenFAST simulation
Running OpenFAST simulation for IEA-15-240-RWT-UMaineSemi.fst through the ROSCO toolbox...
**************************************************************************************************
OpenFAST
Copyright (C) 2022 National Renewable Energy Laboratory
Copyright (C) 2022 Envision Energy USA LTD
This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the "LICENSE" file distributed with this software for details.
**************************************************************************************************
OpenFAST-v3.3.0
Compile Info:
- Compiler: Intel(R) Fortran Compiler 1900
- Architecture: 64 bit
- Precision: single
- OpenMP: No
- Date: Nov 02 2022
- Time: 14:07:06
Execution Info:
- Date: 01/31/2023
- Time: 19:36:52+0100
OpenFAST input file heading:
IEA 15 MW offshore reference model on UMaine VolturnUS-S semi-submersible floating platform
Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
AD15 Nodal Outputs: Nodal output section of AeroDyn input file not found or improperly formatted.
Skipping nodal outputs.
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 1)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 2, blade 1)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 2)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 2, blade 2)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 3)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 2, blade 3)
Running InflowWind.
Running HydroDyn.
Setting WaveTMax to 0.0 since WaveMod = 0
WARNING: The requested output channel is invalid: WavesF1xi
WARNING: The requested output channel is invalid: WavesF1zi
WARNING: The requested output channel is invalid: WavesM1yi
WARNING: The requested output channel is invalid: WavesF2xi
WARNING: The requested output channel is invalid: WavesF2zi
WARNING: The requested output channel is invalid: WavesM2yi
WARNING: The requested output channel is invalid: WavesF2xi
WARNING: The requested output channel is invalid: WavesF2yi
WARNING: The requested output channel is invalid: WavesF2zi
WARNING: The requested output channel is invalid: WavesM2xi
WARNING: The requested output channel is invalid: WavesM2yi
WARNING: The requested output channel is invalid: WavesM2zi
Calculating second order difference frequency wave kinematics.
Reading in WAMIT output with root name ".\HydroData/IEA-15-240-RWT-UMaineSemi".
Computing radiation impulse response functions and wave diffraction forces.
Calculating second order difference-frequency force using the full quadratic transfer function.
Running MoorDyn (v2.a27, 2022-07-20).
This is an alpha version of MoorDyn-F v2, with significant input file changes from v1.
Copyright: (C) 2021 National Renewable Energy Laboratory, (C) 2019 Matt Hall
Parsing MoorDyn input file: .\IEA-15-240-RWT-UMaineSemi_MoorDyn.dat
FAST_InitializeAll:HydroDyn_Init:HydroDynInput_ProcessInitData: A requested output channel is
invalid
FAST_InitializeAll:MD_Init: Unable to parse Line type 1 on row 7 in input file. Row has wrong
number of columns. Must be 10 columns.
OpenFAST encountered an error during module initialization.
Simulation error level: FATAL ERROR
Aborting OpenFAST.
Traceback (most recent call last):
File "c:\Users\Latons\Documents\Codigo\ROSCO\Examples\example_06.py", line 87, in <module>
run_openfast(
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\utilities.py", line 554, in run_openfast
subprocess.run([fastcall, os.path.join(fastfile)], check=True, cwd=cwd)
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\subprocess.py", line 524, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['openfast_x64.exe', 'IEA-15-240-RWT-UMaineSemi.fst']' returned non-zero exit status 1.
Example_13.py also outputs an error:
Using ofTools in ROSCO_toolbox...
-----------------------------------------------------------------------------
Loading wind turbine data for NREL's ROSCO tuning and simulation processeses
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
-----------------------------------------------------------------------------
Loading FAST model: BAR_10.fst
Loading rotor performace data from text file: c:\Users\Latons\Documents\Codigo\ROSCO\Test_Cases\BAR_10\Cp_Ct_Cq.BAR_10.txt
FutureWarning: C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\ofTools\case_gen\CaseGen_General.py:122
elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparisonFutureWarning: C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\ofTools\case_gen\CaseGen_General.py:124
elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparisonLoading rotor performace data from text file: C:\Users\Latons\Documents\Codigo\ROSCO\Test_Cases\BAR_10\Cp_Ct_Cq.BAR_10.txt
Writing rotor performance text file: c:\Users\Latons\Documents\Codigo\ROSCO\Examples\examples_out\13_ipc_sim\ipc_example_0_Cp_Ct_Cq.txt
Writing new controller parameter file parameter file: c:\Users\Latons\Documents\Codigo\ROSCO\Examples\examples_out\13_ipc_sim\ipc_example_0_DISCON.IN.
Traceback (most recent call last):
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\ofTools\fast_io\FAST_wrapper.py", line 45, in execute
subprocess.run(exec_str, check=True)
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\subprocess.py", line 501, in run
with Popen(*popenargs, **kwargs) as process:
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\subprocess.py", line 969, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\subprocess.py", line 1438, in _execute_child
hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] El sistema no puede encontrar el archivo especificado
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "c:\Users\Latons\Documents\Codigo\ROSCO\Examples\example_13.py", line 98, in <module>
fastBatch.run_serial()
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\ofTools\case_gen\runFAST_pywrapper.py", line 317, in run_serial
evaluate(c)
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\ofTools\case_gen\runFAST_pywrapper.py", line 436, in evaluate
return fast.execute()
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\ofTools\case_gen\runFAST_pywrapper.py", line 171, in execute
failed = wrapper.execute()
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\ofTools\fast_io\FAST_wrapper.py", line 58, in execute
print('OpenFAST Failed: {}'.format(e))
UnboundLocalError: local variable 'e' referenced before assignment
Thanks for the response! Will try to use Openfast 3.2.0 now. If not I'll use the develop branch.
Version 3.2.0 seems to work with example_06.py
but there is another error, same error with example_13.py
.
The problem in example_06.py
seems to be related to the operating system:
Using ofTools in ROSCO_toolbox...
-----------------------------------------------------------------------------
Loading wind turbine data for NREL's ROSCO tuning and simulation processeses
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
-----------------------------------------------------------------------------
Loading FAST model: IEA-15-240-RWT-UMaineSemi.fst
Loading rotor performace data from text file: c:\Users\Latons\Documents\Codigo\ROSCO\Test_Cases\IEA-15-240-RWT-UMaineSemi\Cp_Ct_Cq.IEA15MW.txt
Loading rotor performace data from text file: c:\Users\Latons\Documents\Codigo\ROSCO\Examples\../Test_Cases/IEA-15-240-RWT-UMaineSemi\Cp_Ct_Cq.IEA15MW.txt
-----------------------------------------------------------------------------
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
-----------------------------------------------------------------------------
Writing new controller parameter file parameter file: c:\Users\Latons\Documents\Codigo\ROSCO\Examples\DISCON.IN.
Using IEA-15-240-RWT-UMaineSemi.fst to run OpenFAST simulation
Running OpenFAST simulation for IEA-15-240-RWT-UMaineSemi.fst through the ROSCO toolbox...
**************************************************************************************************
OpenFAST
Copyright (C) 2022 National Renewable Energy Laboratory
Copyright (C) 2022 Envision Energy USA LTD
This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the "LICENSE" file distributed with this software for details.
**************************************************************************************************
OpenFAST-v3.2.0
Compile Info:
- Compiler: Intel(R) Fortran Compiler 1900
- Architecture: 64 bit
- Precision: single
- OpenMP: No
- Date: Jul 13 2022
- Time: 09:58:55
Execution Info:
- Date: 01/31/2023
- Time: 20:42:06+0100
OpenFAST input file heading:
IEA 15 MW offshore reference model on UMaine VolturnUS-S semi-submersible floating platform
Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
AD15 Nodal Outputs: Nodal output section of AeroDyn input file not found or improperly formatted.
Skipping nodal outputs.
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 1)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 2, blade 1)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 2)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 2, blade 2)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 3)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 2, blade 3)
Running InflowWind.
Running HydroDyn.
Setting WaveTMax to 0.0 since WaveMod = 0
WARNING: The requested output channel is invalid: WavesF1xi
WARNING: The requested output channel is invalid: WavesF1zi
WARNING: The requested output channel is invalid: WavesM1yi
WARNING: The requested output channel is invalid: WavesF2xi
WARNING: The requested output channel is invalid: WavesF2zi
WARNING: The requested output channel is invalid: WavesM2yi
WARNING: The requested output channel is invalid: WavesF2xi
WARNING: The requested output channel is invalid: WavesF2yi
WARNING: The requested output channel is invalid: WavesF2zi
WARNING: The requested output channel is invalid: WavesM2xi
WARNING: The requested output channel is invalid: WavesM2yi
WARNING: The requested output channel is invalid: WavesM2zi
Calculating second order difference frequency wave kinematics.
Reading in WAMIT output with root name ".\HydroData/IEA-15-240-RWT-UMaineSemi".
Computing radiation impulse response functions and wave diffraction forces.
Calculating second order difference-frequency force using the full quadratic transfer function.
Running MoorDyn.
MD_Init: Opening MoorDyn input file: .\IEA-15-240-RWT-UMaineSemi_MoorDyn.dat
Warning: invalid output specifier FX. Starting character must be C or L.
Warning: invalid output specifier FY. Starting character must be C or L.
Warning: invalid output specifier FZ. Starting character must be C or L.
Creating mooring system. 3 fairleads, 3 anchors, 0 connects.
Finalizing ICs using dynamic relaxation.
t=60 FairTen 1: 2.76325E+06, 2.75740E+06, 2.76559E+06
Fairlead tensions did not converge within TMaxIC=60 seconds.
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using Intel Visual Fortran for Windows).
FAST_InitializeAll:HydroDyn_Init:HydroDynInput_ProcessInitData: A requested output channel is
invalid
FAST_InitializeAll:SrvD_Init:BladedInterface_Init:The dynamic library
.\../../ROSCO/install/lib/libdiscon.so could not be loaded. Check that the file exists in the
specified location and that it is compiled for 64-bit applications.
OpenFAST encountered an error during module initialization.
Simulation error level: FATAL ERROR
Aborting OpenFAST.
Traceback (most recent call last):
File "c:\Users\Latons\Documents\Codigo\ROSCO\Examples\example_06.py", line 87, in <module>
run_openfast(
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\site-packages\ROSCO_toolbox\utilities.py", line 554, in run_openfast
subprocess.run([fastcall, os.path.join(fastfile)], check=True, cwd=cwd)
File "C:\Users\Latons\Documents\Codigo\TFMOpenFast\env\lib\subprocess.py", line 524, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['openfast_x64.exe', 'IEA-15-240-RWT-UMaineSemi.fst']' returned non-zero exit status 1.
Now, I have libdiscon.dll
in what seems the correct location, although I haven't compiled it, I've used the binary provided by the Anaconda package. Also I've tried in linux and while it loads the correct library now, it outputs another error.
Using ofTools in ROSCO_toolbox...
-----------------------------------------------------------------------------
Loading wind turbine data for NREL's ROSCO tuning and simulation processeses
-----------------------------------------------------------------------------
-----------------------------------------------------------------------------
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
-----------------------------------------------------------------------------
Loading FAST model: IEA-15-240-RWT-UMaineSemi.fst
Loading rotor performace data from text file: /home/latons/ROSCO/Test_Cases/IEA-15-240-RWT-UMaineSemi/Cp_Ct_Cq.IEA15MW.txt
Loading rotor performace data from text file: /home/latons/ROSCO/Examples/../Test_Cases/IEA-15-240-RWT-UMaineSemi/Cp_Ct_Cq.IEA15MW.txt
-----------------------------------------------------------------------------
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
-----------------------------------------------------------------------------
Writing new controller parameter file parameter file: /home/latons/ROSCO/Examples/DISCON.IN.
Using IEA-15-240-RWT-UMaineSemi.fst to run OpenFAST simulation
Running OpenFAST simulation for IEA-15-240-RWT-UMaineSemi.fst through the ROSCO toolbox...
**************************************************************************************************
OpenFAST
Copyright (C) 2022 National Renewable Energy Laboratory
Copyright (C) 2022 Envision Energy USA LTD
This program is licensed under Apache License Version 2.0 and comes with ABSOLUTELY NO WARRANTY.
See the "LICENSE" file distributed with this software for details.
**************************************************************************************************
OpenFAST--128-NOTFOUND
Compile Info:
- Compiler: GCC version 10.3.0
- Architecture: 64 bit
- Precision: single
- OpenMP: No
- Date: Jul 13 2022
- Time: 22:34:36
Execution Info:
- Date: 01/31/2023
- Time: 20:36:09+0100
OpenFAST input file heading:
IEA 15 MW offshore reference model on UMaine VolturnUS-S semi-submersible floating platform
Running ElastoDyn.
Nodal outputs section of ElastoDyn input file not found or improperly formatted.
Running AeroDyn.
AD15 Nodal Outputs: Nodal output section of AeroDyn input file not found or improperly formatted.
Skipping nodal outputs.
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 1)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 2, blade 1)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 2)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 2, blade 2)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 1, blade 3)
Warning: Turning off Unsteady Aerodynamics because UA parameters are not included in airfoil
(airfoil has likely has constant polars). (node 2, blade 3)
Running InflowWind.
Running HydroDyn.
Setting WaveTMax to 0.0 since WaveMod = 0
WARNING: The requested output channel is invalid: WavesF1xi
WARNING: The requested output channel is invalid: WavesF1zi
WARNING: The requested output channel is invalid: WavesM1yi
WARNING: The requested output channel is invalid: WavesF2xi
WARNING: The requested output channel is invalid: WavesF2zi
WARNING: The requested output channel is invalid: WavesM2yi
WARNING: The requested output channel is invalid: WavesF2xi
WARNING: The requested output channel is invalid: WavesF2yi
WARNING: The requested output channel is invalid: WavesF2zi
WARNING: The requested output channel is invalid: WavesM2xi
WARNING: The requested output channel is invalid: WavesM2yi
WARNING: The requested output channel is invalid: WavesM2zi
WARNING: The random number generator in use differs from the original code provided by NREL.
This pRNG uses 8 seeds instead of the 2 in the input file.
Calculating second order difference frequency wave kinematics.
Reading in WAMIT output with root name "./HydroData/IEA-15-240-RWT-UMaineSemi".
Computing radiation impulse response functions and wave diffraction forces.
Calculating second order difference-frequency force using the full quadratic transfer function.
Running MoorDyn.
MD_Init: Opening MoorDyn input file: ./IEA-15-240-RWT-UMaineSemi_MoorDyn.dat
Warning: invalid output specifier FX. Starting character must be C or L.
Warning: invalid output specifier FY. Starting character must be C or L.
Warning: invalid output specifier FZ. Starting character must be C or L.
Creating mooring system. 3 fairleads, 3 anchors, 0 connects.
Finalizing ICs using dynamic relaxation.
t=60 FairTen 1: 2.76325E+06, 2.75740E+06, 2.76559E+06 Fairlead tensions did not converge within TMaxIC=60 seconds.
Running ServoDyn.
Running ServoDyn Interface for Bladed Controllers (using GNU Fortran for Linux).
Using legacy Bladed DLL interface.
FAST_InitializeAll:HydroDyn_Init:HydroDynInput_ProcessInitData: A requested output channel is
invalid
Time: 0 of 10 seconds.
------------------------------------------------------------------------------
Running ROSCO--128-NOTFOUND
A wind turbine controller framework for public use in the scientific field
Developed in collaboration: National Renewable Energy Laboratory
Delft University of Technology, The Netherlands
------------------------------------------------------------------------------
ROSCO:SetParameters:ReadControlParameterFileSub: >> A fatal error occurred when parsing data from "./DISCON-UMaineSemi.IN".
>> The variable "Flp_Mode" was not assigned a valid value on line #19.
FAST_Solution0:CalcOutputs_And_SolveForInputs:SolveOption2:SrvD_CalcOutput:DLL_controller_call:ROS
CO:SetParameters:ReadControlParameterFileSub: >> A fatal error occurred when parsing data from
"./DISCON-UMaineSemi.IN
OpenFAST encountered an error during simulation initialization.
Simulation error level: FATAL ERROR
Aborting OpenFAST.
Traceback (most recent call last):
File "/home/latons/ROSCO/Examples/example_06.py", line 87, in <module>
run_openfast(
File "/home/latons/TFMOpenFast/env/lib/python3.10/site-packages/ROSCO_toolbox/utilities.py", line 554, in run_openfast
subprocess.run([fastcall, os.path.join(fastfile)], check=True, cwd=cwd)
File "/home/latons/TFMOpenFast/env/lib/python3.10/subprocess.py", line 524, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['openfast', 'IEA-15-240-RWT-UMaineSemi.fst']' returned non-zero exit status 1.
Sorry if these errors are simple to correct, but I'm just blind here, I've checked the routes, FLP_mode seems to be correct in DISCON.IN
and DISCON-UMaineSemi.IN
but no avail.
It looks like the ROSCO library you are using is looking for Flp_Mode on line 19 and it is not there. You may be using a DISCON that is not compatible. The DISCON input is set in ServoDyn.
Thank you! Compiling my own and not using anaconda works on Ubuntu WSL2 now! I still have errors on Windows pointing the library though (I have problems compiling it on my own, maybe I'll open another issue).
For anyone who goes through my problems, using main
branch as of the time of this post:
- Make sure you compile yourself the controller and not use the binaries provided by the Anaconda package.
- Use OpenFast 3.2.0.
This is my environment file, there is unrelated stuff beware, but just in case:
name: openFast
channels:
- conda-forge
dependencies:
- python=3.10.6
- openfast=3.2.0
- dash=2.7.1
- dash-bootstrap-components=1.3.0
- numpy=1.23.*
- pandas=1.5.2
- scipy=1.10.0
- pip
- sympy=1.11.1
- matplotlib=3.6.2
- mpi4py
- wisdem
- simpy
- compilers
- cmake
- pip:
- -e git+https://github.com/OpenFAST/python-toolbox.git#egg=pyFAST
- dash-bootstrap-templates==1.0.7
- git+https://github.com/NREL/ROSCO
- dearpygui
- ruamel.yaml
- marmot-agents
Hello, everyone. After I installed ROSCO according to the process in the manual, some problems occurred during operation. Since I'm new to this, I'd like to hear your suggestions or tips. Thank you very much.
Full ROSCO Installation
- Create a conda environment for ROSCO
conda config --add channels conda-forge
conda create -y --name rosco-env python=3.8
conda activate rosco-env
2、Clone and Install the ROSCO toolbox with ROSCO
conda install -c anaconda git
git clone GitHub - NREL/ROSCO: A Reference Open Source Controller for Wind Turbines
cd ROSCO
conda install -c anaconda cmake
conda install m2w64-toolchain libpython
conda install -y wisdem
conda env config vars set FC=gfortran
conda activate rosco-env
python setup.py install --compile-rosco
Window picture
The keyword dev_branch
should have been removed from ROSCO v2.7.0. Please try updating to the latest version of the ROSCO repo. The examples were re-named to better reflect what the example does. I suspect that the documentation has not been updated accordingly, so I'll re-open this until we fix that.
Thank you for the tip. It's true that I didn't understand the process properly. Now I'm running the file in the example directory of ROSCO v2.7.0, but I'm still experiencing the following problems. It does not appear to have run successfully, because the result is only ipc_example_0_DISCON.IN, no such file in ROSCO/build/libdiscon.dll. I'm confused. Can you give me some advice?
I can't understand the OpenFAST error message, but if I understand your translation correctly, it can't find your ROSCO dll. Please compile it from source or download it from the release page. The ServoDyn input points to the DLL path, and it's set in the code of 12_tune_ipc.py.
I am happy to share with you my solution to the above problem. I found that the root cause of the above problem is that there is something wrong with the statement of the anaconda3\envs\rosco-env\lib\site-packages\rosco-2.7.0-py3.8-win-amd64.egg\ROSCO_toolbox\ofTools\case_gen\runFAST_pywrapper.py file, so that the openfast_x64 cannot be recognized. Therefore, I made the following modifications(wrapper.FAST_exe = self.FAST_exe to wrapper.FAST_exe = 'openfast_x64'), and the current operation is normal. Dear dzalkind, do you think my changes are correct?
Your fix should work. A slightly easier solution might be to edit this line in runFAST. In an upcoming feature branch I have made it an attribute of run_FAST_ROSCO
.
(rosco2.8.0-env) PS C:\Users\PC\ROSCO\Examples> python 12_tune_ipc.py
WARNING: Be sure to pip install simpy and marmot-agents for offshore BOS runs
Using ofTools in ROSCO_toolbox...
Loading wind turbine data for NREL's ROSCO tuning and simulation processeses
Tuning a reference wind turbine controller using NREL's ROSCO toolbox
Loading FAST model: BAR_10.fst
Loading rotor performace data from text file: C:\Users\PC\ROSCO\Test_Cases\BAR_10\Cp_Ct_Cq.BAR_10.txt
Loading rotor performace data from text file: C:\Users\PC\ROSCO\Tune_Cases../Test_Cases/BAR_10\Cp_Ct_Cq.BAR_10.txt
D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\site-packages\rosco-2.7.0-py3.8-win-amd64.egg\ROSCO_toolbox\ofTools\case_gen\CaseGen_General.py:122: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
elif val=='True':
D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\site-packages\rosco-2.7.0-py3.8-win-amd64.egg\ROSCO_toolbox\ofTools\case_gen\CaseGen_General.py:124: FutureWarning: elementwise comparison failed; returning scalar instead, but in the future will perform elementwise comparison
elif val=='False':
WARNING: Be sure to pip install simpy and marmot-agents for offshore BOS runs
Using ofTools in ROSCO_toolbox...
WARNING: Be sure to pip install simpy and marmot-agents for offshore BOS runs
Using ofTools in ROSCO_toolbox...
WARNING: Be sure to pip install simpy and marmot-agents for offshore BOS runs
Using ofTools in ROSCO_toolbox...
WARNING: Be sure to pip install simpy and marmot-agents for offshore BOS runs
Using ofTools in ROSCO_toolbox...
Loading rotor performace data from text file: C:\Users\PC\ROSCO\Test_Cases\BAR_10\Cp_Ct_Cq.BAR_10.txt
Loading rotor performace data from text file: C:\Users\PC\ROSCO\Test_Cases\BAR_10\Cp_Ct_Cq.BAR_10.txt
Loading rotor performace data from text file: C:\Users\PC\ROSCO\Test_Cases\BAR_10\Cp_Ct_Cq.BAR_10.txt
Loading rotor performace data from text file: C:\Users\PC\ROSCO\Test_Cases\BAR_10\Cp_Ct_Cq.BAR_10.txt
Writing rotor performance text file: C:\Users\PC\ROSCO\Examples\examples_out\12_ipc_sim\BAR\ramp\base\BAR_0_Cp_Ct_Cq.txt
Writing rotor performance text file: C:\Users\PC\ROSCO\Examples\examples_out\12_ipc_sim\BAR\ramp\base\BAR_1_Cp_Ct_Cq.txt
Writing rotor performance text file: C:\Users\PC\ROSCO\Examples\examples_out\12_ipc_sim\BAR\ramp\base\BAR_2_Cp_Ct_Cq.txt
Writing rotor performance text file: C:\Users\PC\ROSCO\Examples\examples_out\12_ipc_sim\BAR\ramp\base\BAR_3_Cp_Ct_Cq.txt
Writing new controller parameter file parameter file: C:\Users\PC\ROSCO\Examples\examples_out\12_ipc_sim\BAR\ramp\base\BAR_0_DISCON.IN.
Writing new controller parameter file parameter file: C:\Users\PC\ROSCO\Examples\examples_out\12_ipc_sim\BAR\ramp\base\BAR_1_DISCON.IN.
OpenFAST Failed: [WinError 2] 系统找不到指定的文件。
Runtime: BAR_0.fst = 0.00 s
OpenFAST Failed! Please check the run logs.
OpenFAST Failed: [WinError 2] 系统找不到指定的文件。
Runtime: BAR_1.fst = 0.01 s
OpenFAST Failed! Please check the run logs.
Writing new controller parameter file parameter file: C:\Users\PC\ROSCO\Examples\examples_out\12_ipc_sim\BAR\ramp\base\BAR_2_DISCON.IN.
OpenFAST Failed: [WinError 2] 系统找不到指定的文件。
Runtime: BAR_2.fst = 0.00 s
OpenFAST Failed! Please check the run logs.
Writing new controller parameter file parameter file: C:\Users\PC\ROSCO\Examples\examples_out\12_ipc_sim\BAR\ramp\base\BAR_3_DISCON.IN.
OpenFAST Failed: [WinError 2] 系统找不到指定的文件。
Runtime: BAR_3.fst = 0.00 s
OpenFAST Failed! Please check the run logs.
multiprocessing.pool.RemoteTraceback:
"""
Traceback (most recent call last):
File "D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\multiprocessing\pool.py", line 125, in worker
result = (True, func(*args, **kwds))
File "D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\multiprocessing\pool.py", line 48, in mapstar
return list(map(*args))
File "D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\site-packages\rosco-2.7.0-py3.8-win-amd64.egg\ROSCO_toolbox\ofTools\case_gen\runFAST_pywrapper.py", line 442, in evaluate_multi
return evaluate(indict)
File "D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\site-packages\rosco-2.7.0-py3.8-win-amd64.egg\ROSCO_toolbox\ofTools\case_gen\runFAST_pywrapper.py", line 437, in evaluate
return fast.execute()
File "D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\site-packages\rosco-2.7.0-py3.8-win-amd64.egg\ROSCO_toolbox\ofTools\case_gen\runFAST_pywrapper.py", line 178, in execute
raise Exception('OpenFAST Failed! Please check the run logs.')
Exception: OpenFAST Failed! Please check the run logs.
"""
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "12_tune_ipc.py", line 70, in
main()
File "12_tune_ipc.py", line 53, in main
r.run_FAST()
File "D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\site-packages\rosco-2.7.0-py3.8-win-amd64.egg\ROSCO_toolbox\ofTools\case_gen\run_FAST.py", line 184, in run_FAST
fastBatch.run_multi(cores=self.n_cores)
File "D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\site-packages\rosco-2.7.0-py3.8-win-amd64.egg\ROSCO_toolbox\ofTools\case_gen\runFAST_pywrapper.py", line 343, in run_multi
output = pool.map(evaluate_multi, case_data_all)
File "D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\multiprocessing\pool.py", line 364, in map
return self._map_async(func, iterable, mapstar, chunksize).get()
File "D:\ProgramFiles\anaconda3\envs\rosco2.8.0-env\lib\multiprocessing\pool.py", line 771, in get
raise self._value
Exception: OpenFAST Failed! Please check the run logs.
Are there any notes about why OpenFAST failed in these runs? Have you updated the openfast_exe
to run on Windows?
I tried to run on Windows and succeed,but it failed while running in anaconda powershell. Could you please help me by checking this simulation record?
ROSCO2.8.0 bug.docx
It looks like you are trying to use OpenFAST 3.5.0 with the ROSCO_Toolbox ofTools
. It is a current effort to update these tools to use OpenFAST 3.5.0: #246. Please use that feature branch or OpenFAST 3.4.1 executables.
Dear dzalkind,
I tried to run ROSCO2.8.0 by: python 11_robust_tuning.py, but I saw this print:
(1)ModuleNotFoundError: No module named 'control',then I solved it by :conda install control
(2)ModuleNotFoundError: No module named 'weis',but when I try to solve this problem by :conda install weis,I saw this print:
_(rosco2.8.0-env) PS C:\Users\PC> conda install weis
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
PackagesNotFoundError: The following packages are not available from current channels:
- weis
Current channels:
- https://conda.anaconda.org/conda-forge/win-64
- https://conda.anaconda.org/conda-forge/noarch
- https://repo.anaconda.com/pkgs/main/win-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/win-64
- https://repo.anaconda.com/pkgs/r/noarch
- https://repo.anaconda.com/pkgs/msys2/win-64
- https://repo.anaconda.com/pkgs/msys2/noarch
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page._
I can't solve this problem. Could you please give me some guidance or advice?
There is no conda installation for weis yet, and it should not be a dependency of ROSCO. ROSCO can use it when it's part of the WEIS toolset, but it does a check and should use ROSCO's version of the WEIS tools, called ofTools
. I'm guessing you may have tried to install WEIS, so it's being recognized, but perhaps it's not fully part of the environment.
I would try with a fresh conda installation and with the installation instructions here: https://rosco.readthedocs.io/en/latest/source/install.html
I recently had this error come up when I tried example 11. The pyFAST libraries (or WEIS) are required to use the mbc3 function in this example.
I have updated the comments in 11_robust_tuning.py in #241 to make this clearer.