Closed wvshelu closed 4 years ago
@gantech do you have any thoughts on this?
Hello @wvshelu Are you able to run the same openfast model with the fortran driver? Like so openfast model.fst
? This does not seem to be related to the HDF5 error.
I do see the messages you see related to the HDF5 library. We are in the process of making those outputs more robust by moving to netcdf.
Hello @gantech , I am getting the same error as described by @wvshelu, but using latest version: OpenFAST-v3.0.0-dirty. I am able to run the openfast model with the fortran driver. I can provide the details of my case if needed, but I wanted to ask first if there were some advances in how to solve this issue.
I'm facing the same error when running a simulation through openfastcpp. After initialization is done, the following error message shows up:
HDF5-DIAG: Error detected in HDF5 (1.13.1) thread 0:
#000: /home/buildbot/bb-workers/centos7-vm01/hdf5trunk-StdRelease-dist-centos7/build/hdfsrc/src/H5Pdcpl.c line 2132 in H5Pset_chunk(): all chunk dimensions must be positive
major: Invalid arguments to routine
minor: Out of range
===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= PID 16879 RUNNING AT GNPT7M3
= EXIT CODE: 11
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES`
===================================================================================
YOUR APPLICATION TERMINATED WITH THE EXIT STRING: Segmentation fault (signal 11)
This typically refers to a problem with your application.
Please see the FAQ page for debugging suggestions
Is there something wrong with the HDF5 setup? I tried installing hdf5-1.12.0 instead but similar error occurred:
HDF5-DIAG: Error detected in HDF5 (1.12.0) thread 0:
#000: /home/rudy/hdf5build/CMake-hdf5-1.12.0/hdf5-1.12.0/src/H5Pdcpl.c line 2025 in H5Pset_chunk(): all chunk dimensions must be positive
major: Invalid arguments to routine
minor: Out of range
===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= PID 20227 RUNNING AT GNPT7M3
= EXIT CODE: 11
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
===================================================================================
Please note that the same .fst model is perfectly runnable with default openfast executable.
@Yuksel-Rudy which version of OpenFAST are you using?
latest, main branch. As an alternative, would it be a good idea to install OpenFAST with C++ API option through Spack instead?
v3.2 is the latest on main and was released just a few days ago. It would be helpful if you could try v3.1 to understand whether there's a bug introduced in the latest release. Spack might help resolve any dependency version issues, if that is indeed the problem.
Forgive me, the version I was using was a forked and modified one. I reinstalled everything from scratch with both versions 3.1 and 3.2. The error persisted but the simulation was completed regardless. I'll investigate further as to why when I modified the source code it didn't run. But for now at least we know it works on both versions.
P.S. v3.2 does not allow user to clone with --recursive
flag on. It returns 'permission denied'. Just an FYI.
@Yuksel-Rudy, how did you clone the repository?
git clone --recursive https://github.com/OpenFAST/OpenFAST.git
or
git clone --recursive git@github.com:/OpenFAST/OpenFAST.git
The submodules are cloned using ssh by default (git@github.com:/OpenFAST/r-test.git
) and may fail if you don't have ssh git credentials stored. @rafmudaf, any other thoughts?
permission denied either way.
This was a surprise to me @andrew-platt. I thought read-access would be allowed via ssh. I've started a new thread for this at https://github.com/OpenFAST/openfast/discussions/1191.
Hi everyone,
I am facing a similar problem as the original post from @wvshelu, but with OpenFAST v3.5.0
Installation I installed OpenFAST v3.5.0 from source following the instructions. CMAKE had to be linked to HDF5 and yaml manually during the building process, but once that was done the installation worked. I am running on Ubuntu 20.06.
What works? I have no trouble when executing OpenFAST from the command line:
openfast ../nrel5mw-onshore.fst
It is also possible to run the example script FASTProg
provided in the official repository, if debug=False
in the input file cDriver.i
:
./FAST_Prog cDriver.i
This means, certain functionalities like FAST.init()
, FAST.step()
and FAST.end()
are called without a problem.
What fails?
If I try to run FASTProg
with debug=True
in the input file cDriver.i
I get the following error after OpenFAST initialized successfully:
HDF5-DIAG: Error detected in HDF5 (1.10.4) MPI-process 0:
#000: ../../../src/H5Pdcpl.c line 2036 in H5Pset_chunk(): all chunk dimensions must be positive
major: Invalid arguments to routine
minor: Out of range
[leonard-MacBookPro:04115] *** Process received signal ***
[leonard-MacBookPro:04115] Signal: Segmentation fault (11)
[leonard-MacBookPro:04115] Signal code: Address not mapped (1)
[leonard-MacBookPro:04115] Failing at address: (nil)
[leonard-MacBookPro:04115] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x43090)[0x7f6f4df71090]
[leonard-MacBookPro:04115] [ 1] /home/leonard/Tools/openfast/install/lib/libopenfastcpplib.so(_ZN4fast8OpenFAST4stepEv+0x6e4)[0x7f6f4e195ff4]
[leonard-MacBookPro:04115] [ 2] ./FAST_Prog(+0x1289c)[0x55acedaf789c]
[leonard-MacBookPro:04115] [ 3] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x7f6f4df52083]
[leonard-MacBookPro:04115] [ 4] ./FAST_Prog(+0x1101e)[0x55acedaf601e]
[leonard-MacBookPro:04115] *** End of error message ***
Segmentation fault (core dumped)
If debug=True
, the script FAST_Prog
fails at the call of FAST.computeTorqueThrust(0,torque,thrust)
where torque
and thrust
are vectors handed to OpenFAST. Other functions that also handle data exchange like FAST.setVelocity(...)
or FAST.getForce(...)
fail with the same error message.
As noted by @Yuksel-Rudy before, the HDF5 error also persists in runs that do succeed. Any help is appreciated.
Best, Leonard
I resolved the issue by adapting my ElastoDyn input file.
What was the problem?
I didn't specify any blade nodes with strain gages to measure the forces on the blade. The force values were not stored and could therefore not be accessed by the C++ API function FAST.getForce(...)
. This probably lead to the HDF5 out of range
error. It would also explain why certain functions like FAST.step()
who didn't access that data were not affected.
How to solve it? Make sure to define strain gages in the output section of your ElastoDyn input file as shown in the example below.
---------------------- OUTPUT--------------------------------------------------
...
3 NTwGages - Number of tower nodes that have strain gages for output [0 to 9] (-)
6, 12, 18 TwrGagNd - List of tower nodes that have strain gages [1 to TwrNodes] (-) [unused if NTwGages=0]
3 NBlGages - Number of blade nodes that have strain gages for output [0 to 9] (-)
5, 9, 13 BldGagNd - List of blades that have strain gages [1 to BldNodes] (-) [unused if NBlGages=0]
...
@LeonardWilleke, thanks for reporting back on what the issue was!
This looks like a bug that should be addressed at some point (I'm not entirely certain what the best fix would be).
Bug description I am trying to use the C++ API to run OpenFAST. I followed all instructions in the documentation and am able to successfully compile the simulator. However, when I run the compiled executable, I get the following error:
Have I set something up incorrectly? Are there any inputs I need to change?
Thanks in advance!
To Reproduce Steps to reproduce the behavior:
cmake
version 3.15.2make
version GNU Make 3.81gfortran
version GNU Fortran (GCC) 6.3.0gcc
version 11.0.0g++
version 11.0.0ifort
version 19.0.5.281 20190816hdf5
version 1.10.6yaml-cpp
version 0.6.3_1git clone https://github.com/OpenFAST/OpenFAST.git
cd OpenFAST
mkdir build
cd build
cmake .. -DBUILD_OPENFAST_CPP_API=ON
(output displayed in next section)make
and successfully built targetopencpp
inOpenFAST/build/glue_codes/openfast-cpp/
inputs
in the same directory ascDriver.i
and copied over the directories5MW_Land_DLL_WTurb
and5MW_Baseline
from ther-test
repositorympiexec -np 1 openfastcpp
(output displayed in next section)CMake Output
cDriver.i Content
Output After Running
System Information (please complete the following information):
-DBUILD_OPENFAST_CPP_API=ON