Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to OpenFAST-dev #152

Merged
merged 3 commits into from
Nov 11, 2021
Merged

Update to OpenFAST-dev #152

merged 3 commits into from
Nov 11, 2021

Conversation

rafmudaf
Copy link
Collaborator

@rafmudaf rafmudaf commented Oct 22, 2021

Purpose

This pull request updates the git-subtree for OpenFAST to the latest dev branch.

Type of change

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (non-backwards-compatible fix or feature)
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no API changes)
  • Documentation update
  • Maintenance update
  • Other (please describe)

Testing

The input files for OpenFAST may have changed since the last update. The changes from v2.6 to v3.0 are listed here, but these may have been included in OpenFAST the last time it was updated in WEIS. There are currently no input file changes between v3.0 and the top of dev. So, running the existing WEIS test suite should verify whether this change is compatible.

Checklist

  • I have run existing tests which pass locally with my changes
  • I have added new tests or examples that prove my fix is effective or that my feature works
  • I have added necessary documentation

0d524740b Merge branch 'dev' into feature/python_driver
3fd75f64c Merge pull request #859 from ebranlard/f/SD-Loads
9cdd27263 FAST.Farm: fix some memory leaks (#860)
71e4c68e7 Merge remote-tracking branch 'upstream/dev' into f/SD-Loads
9dd4c7ab4 Merge pull request #18 from andrew-platt/f/SD-Loads
cb83a6df6 SD: add y3mesh handling to glue code
522bc3798 SD: 20 members per joint and improved error handling (Fixes #846)
76ebfbe71 SD: update of r-tests, adding Pin/Cable cases, loads at left of pin are wrong (see #855)
cb09b51de SD: using new r-test for cable (see #856)
c0032b44c SD: re-adding cable force to outptus (Fix #856)
caa3a2c2f SD: temporarily skipping SD_Force test case
0c3b9f54e SD: adding SD_Force (applied force) test case for driver, and update of python for SD regression tests
fc92e45fe SD: fix rootname not passed
3f0750d54 SD: documentation of y3mesh
166085b35 SD: adding y3mesh, full elatic motions, for moordyn
36b49ffeb SD: update documentation
86969ecaf SD: checks for subdyn driver outputs, output file created even if OutSwitch=2
d42cde540 SD: adding warning if rigid link connected to joint or interface
7a59bec85 Merge pull request #720 from nrmendoza/f/CCT2-IFW_wrapper
7af1199a6 IfW_C: remove old library file (was renamed, but not removed somehow)
c427ea2f4 Add code coverage badge to README
399917558 IfW_C_lib: update VS projects
d0f576ca2 Resolve minor whitespace issues after merge
6c5bc0ac8 Merge pull request #14 from rafmudaf/f/CCT2-IFW_wrapper
5a812dfdf Merge branch 'f/CCT2-IFW_wrapper' into f/CCT2-IFW_wrapper
a98c58fa5 Merge remote-tracking branch 'OpenFAST/dev' into f/CCT2-IFW_wrapper
03771ead5 BugFix: InflowWind Python interface output
d8d3fb81d Merge remote-tracking branch 'raf/dev' into f/CCT2-IFW_wrapper
109002ece Merge pull request #836 from rafmudaf/cc
94dae108a Merge remote-tracking branch 'raf/dev' into f/CCT2-IFW_wrapper
144a261ea Use in-source build in GitHub Actions
4c2f921f0 OpenFAST Registry algorithm change: simplify USE statements (#734)
cd398f70c Actions bug fix - compile IfW driver code
8a6f78f4c Bug fix in Actions case filter command
2d0536411 Add a block for running all interface-tests
58019d756 Add InflowWind regression tests to Actions
336c78a08 Merge branch 'f/SD-Loads' of https://github.com/ebranlard/openfast into f/SD-Loads
c9f6fb3be SD: not using ftell for optional inputs
4e4412f63 Update regression test scripts
7c205e8fc Replace \n with portable line separator
ef5eb5541 Pythonize the Python interface module
8298f9f7c Suggested improvements to the C-binding naming
d0256aa0c Merge pull request #831 from HaymanConsulting/F/HD_MSL2SWL_fix
f59488a1b Fix Bug in FAST.Farm Causing Wake Bounce-Back (#839)
47e5fae8e Use portable method to install system dependencies
36d4d6b40 Merge branch 'dev' into cc
7e5d2ed63 Add CMake warning for code coverage and not debug
e9a902209 Update CMake flags list
6783487ce Add codecov info in testing docs
fa6d92a89 [BugFix] Fix segmentation fault in HD linearization (#838)
eda6dc755 Add codecov badge to README
5c4c6aff6 Putting faster unit tests first
461cd89ea Putting faster unit tests first
d7aef9c96 Merge remote-tracking branch 'upstream/dev' into f/SD-Loads
6eed390c1 SD: output of FEM modes in json format
9ccc80a8b SD: output of modes in json format
405685962 Merge remote-tracking branch 'HaymanConsulting/F/HD_MSL2SWL_fix' into F/HD_MSL2SWL_fix
e5c50b686 Bug Fix: Non-zero MSL2SWL was incorrectly translating Morison Meshes
9a43b4d19 SD: adding Guyan eigenfrequencies to summary file
9949ec789 SD: mass matrix at G and ref-point in yaml file
0543df287 Fix AD Driver unallocated variable error with GCC 11 (#834)
15a2eb347 Actions: Add OS/Compiler matrix to debug job (#835)
f2220b0cf BugFix: docs syntax error
d76d49079 Include legacy documentation in pdf and MS Word format - General & ElastoDyn (#805)
1f95684aa SD: print error when matprop1/=matprop2, and fix summary masses
4851df3cc Add codecov config file with GH comment settinsg
3256c253a Merge pull request #729 from bjonkman/f/UA
7267cdc63 Guidelines for performance considerations with Fortran (#740)
ff9e61eec Reenable all automated tests
103b6bf47 Enable code coverage in C++ API tests
e009e405c Enable code coverage in unit tests
427d8cf7a Use XML coverage report
323d164c3 SD: bug fix, rigid assembly with interface, order mattered
b4662927a Bug Fix: Non-zero MSL2SWL was incorrectly translating Morison Meshes
ec100ca09 Use text based coverage report
6f449a942 Disable release reg test job - temporarily
d48cd7867 Bug fix: use in source build for glue-code tests
bb9c0c4a3 Post coverage report to artifacts
6ba540d55 Remove codecov from release Actions job
77bf057a1 Merge remote-tracking branch 'upstream/dev' into f/SD-Loads
8e41d961d Run codecov in debug Actions job
11d09c581 Upload coverage report to codecov
ce3f7ff63 Generate codecov report
522312cf7 Add CMake flags to enable code coverage profiling
d31d15aff Use in-source build for GH Actions
c88d2887e Run only AeroDyn module-regression tests
f7578c827 Disable all GH Actions job except Release
1b189c47c docs: fix typo
c5d76d578 add comment from  'f/LinearAero' branch
bab6da525 remove comment
b682cbefe update r-test pointer
b86158765 minor fix for builds with different precision
2368a127e Merge remote-tracking branch 'NREL/dev' into f/UA
fef5b7ec9 Merge pull request #688 from ebranlard/f/driver
d8f8c3f16 Add instructions for adding new regression test cases (#828)
20c34d6ff Fix bulleted list formatting (#826)
ac26b1f53 Update of r-test for VAWT
ec3b5a074 Merge branch 'f/driver-ua' into f/driver
8438bc47a UA: update of r-test
7f4ffe921 UA: RelThickness optional on line 7 of profile file
1a803de53 SD: applied loads for driver
980aebeb9 UA: theory doc UAMod 4-7, using .dat&.dvr, rel. thick
8b98005a9 Merge remote-tracking branch 'OpenFAST/dev' into f/CCT2-IFW_wrapper
220ae9ab9 Minor fix to api_change.rst (UAStart/End in wrong table)
c727f8442 Merge branch 'dev' into f/driver
79f44a066 UA: Cn/Ct wrt alpha5 for BV model, omega dot in rad/s
ef79e5ddc Merge pull request #753 from rafmudaf/docs/hydrodyn_manual
f296d9123 Add labels to equations
e5195e51a Add more missing equations
edcdedc0c Add missing equations and mention RANLUX pRNG
fa2619614 Merge pull request #716 from bjonkman/b/MinorBugs
a132e64d5 UA: harmonizing outputs channels with AllNdsOut
3fc4eca63 FVW: adding Induction flag to turn off induction on LL
a58aa9c39 UA: adding relative thickness to polars
666971653 Remove extra calls to CreateGitVersion in FAST.Farm VS project
399a314ae Add Simulink cache files to gitignore
5549243b7 UA: starting theory doc
b4cb6a9c5 FVW: Dynamic stall on wake (fixed mapping before UA)
88af5f11e FVW: using LL for nodes, CP for control points
4abc48880 FVW: Dynamic stall on wake (preliminary)
3ca724097 FVW: LL ui at CP and nodes
59c2867ac FVW: removed time spent calculation
e704818da DvrM: update r-test (vertical axis)
8bf7a77f3 AD/UA: fix sign on `vx_34` per email from ebranlard
a8ff0b26c merge NREL/dev into bjonkman/UA
5fb7a40d0 Update VS build projects for smoother builds of OpenFAST releases
7c68ebb25 Merge remote-tracking branch 'NREL/dev' into b/MinorBugs
5a5444827 FVW: option for induction at LL nodes instead of CP
c7810bb2e FVW: renamed _LL to _CP
5475ae35d FVW: option for wake at LL instead of TE
63ce06e43 UA: Boeing-Vertol implementation similar to CACTUS
216d49876 Merge branch 'main' into dev
42a5a8196 Release v3.0.0 (#754)
8f1d45e3f Improve the GH Actions path filters
8987f8fb9 Update the README test status badge
d038e3a8e Add release checklist to PR template
5ac9eee44 BugFix: v2.6 ServoDyn api change moved to v3.0
3a7b4f7d4 Add clarifying note to input parsing documentation
ed2a1a133 Allow MAP++ to be statically linked in Windows builds (#763)
dcbc0afc6 Merge branch 'dev' into b/MinorBugs
752c4f258 Fix some spacing; remove nonsense characters and reset var in VS build
25cc24989 UA: implemented Boeing-Vertol dynamic stall model
6b37de036 UA: implemented Oye's dynamic stall model
700076355 UA: using rel path for UA driver
a98e3cb6c Extend the fix for array bounds in #769 to tower points
590b05c2b Merge remote-tracking branch 'NREL/dev' into b/MinorBugs
be437ed1f ifw_c_lib: improve windows 32/64 bit handling in test case
989b9e665 Merge remote-tracking branch 'upstream/dev' into f/driver
8c38cdad6 Merge remote-tracking branch 'OpenFAST/dev' into f/CCT2-IFW_wrapper
6e070a343 IfW_C_lib: move helper output functions from (test)driver to library
1473cc165 DvrM: comment and routine name change
39cae5678 FVW: initialize variables
46a9d7c5e ifw_c_lib: fix passing of channel names/units
fdf124033 Merge branch 'f/driver' into f/driver-ua
c48bfcace FVW: grid outputs for OLAF (GridType and vorticity)
5171a5f6a FVW: Update of grid outputs for OLAF (adding tStart and tEnd)
7250c264e Merge remote-tracking branch 'bonnie/f/UA' into f/driver-ua
7f9489831 ifw_c_lib: add some comments
ce109ac20 Merge remote-tracking branch 'OpenFAST/dev' into f/CCT2-IFW_wrapper
9f992790a Merge pull request #2 from andrew-platt/f/CCT2-IFW_wrapper
92d7d670b ifw_c_lib: simplify error passing routine in the ifw_c.f90
6413ee307 ifw_c_lib: removed unnecessary comments and variable declerations
bc96f13cb ifw_c_lib: update r-test pointer
7871b11f1 ifw_c_lib: error handling to prevent string overflow of ErrMsg_C
031f90f3c AD: fix typo in summary file
1110c8740 Merge remote-tracking branch 'NREL/dev' into b/MinorBugs
eb2e83dc8 IfW_c_lib: add VS project and solution
3cf11dc1c Merge remote-tracking branch 'nrmendoza/f/CCT2-IFW_wrapper' into f/CCT2-IFW_wrapper
e37356e33 Merge remote-tracking branch 'OpenFAST/dev' into nr/f/CCT2-IFW_wrapper
7d493914c ifw_c_lib: configure inflowwind python driver regression test
587940715 ifw_c_lib: improve error handling and add results
3140924a0 IfW: Change input file string passing for ifw_c_lib
b35c88f30 NWTC lib: add unit test for InitFileInfo_FromNullCString subroutine and fix broken test
04f72f95b NWTC lib: add InitFileInfo_FromNullCString subroutine
7f26f22a0 IfW: redundancy in error handling of InflowWind_ParseInputFileInfo routine
4a38f91f0 IfW_c_lib: minor notes in r-test
8d848ba6c Remove a section deprecated by TCF project
12362add6 Add todo's for missing equations
11de2ca33 List formatting: replace - with *
dd88d1c2d Fix a commented line
85d5df39d Reference link bug fix
f3a957447 Add a missing citation
df66dd216 Remove references to a theory section
ce5599e71 Add cross-reference links
5277babaa Add figure for current submodels
793a03592 Add links to cross-reference elements
1be2bc954 Add bibliography page and reference citations
a0b40ce98 Add Getting Started section
fc176527b Update input files in the appendix
bae7302ba Add a Getting Started section
ad07dbd9e Format HD TOC tree
bf66357bd Remove HD intro page
733dc1526 HD Manual update
9061c0265 Add initial conversion of HydroDyn manual
18ccc0f4b Merge remote-tracking branch 'NREL/dev' into b/MinorBugs
d35a99f8e ifw_c_lib: add ifw driver test case infrastructure
44cb02199 ifw_c_lib: modify error handling
64237ee35 ifw_c_lib: move test case to r-test, rearrange
e8751acd5 Merge remote-tracking branch 'OpenFAST/dev' into f/CCT2-IFW_wrapper
8423720d6 ifw_c_lib:  rearrange repo, update cmakelists
847082406 Merge branch 'dev' into f/driver
8e3d551d5 DvrM: using EulerExtract instead of GetSmallAngs
bf79a7609 DvrM/FVW: m%Gamma_LL replaced by z%Gamma_LL always
d4b421575 DvrM: WrVTK=1 for init, 2 for animation
da3640146 DvrM: update for debug tests to pass
cb11bfcd0 Merge branch 'dev' into f/driver
8cfd62509 DvrM: merge r-test with dev, update r-test link
1ee37532a Merge remote-tracking branch 'NREL/dev' into b/MinorBugs
2e255df79 AD Bug Fix: close AD echo file
32cbf7aca Merge remote-tracking branch 'NREL/dev' into f/UA
ddd330e12 DvrM: using orientationInit at t=0 (fot VTk and dbg out)
2007a8e8d Merge remote-tracking branch 'NREL/dev' into f/UA
6d8f2adaf UA driver fixes
da4fc3937 AllBldOuts more forgiving and support for 0
6f85979a6 Update AeroDyn documentation
2bec20113 remove unused variables
a1b45e963 UA + AFI updates from Envision (first draft)
785c4737a DvrM: update of documentation after review
c7733b86d DvrM: AD need IfW in RunRegistry.bat (see #719)
d483d2317 bug fixes: error handling + restart sizes + AD multi-rotor cpp restart
4c5bec520 added comments, documentation, and a new feature: input file lengths are now variable
99213ce08 both uniform and TurbSim wind types and input files now work!
1fe780e35 DvrM: update of documentation
61aad1dbd DvrM: update of documentation
56323986a DvrM: allowing combined cases with advanced geometry
2354b684c DvrM: updata of documentation
946529c76 DvrM: update of fileformat
28538e1f2 DvrM: misc updates of ctest for aerodyn (copyTree, verbose turnoff log)
c35a74278 DvrM: Update of ad_driver documentation
9edc17e7f Update of r-tests (Windows/Linux identical, double/single problematic for SineMotion)
da9678b3e Update of rtest scripts for windows, and copy error
c30e43ded Merge remote-tracking branch 'ebra/f/ad_sd_actions' into f/driver
e691eb6ea Small fix after renaming of tests
594e39db4 Adding AeroDyn and SubDyn drivers to regression tests
7abcdcba4 Update of naming convention for tests
bfb0eec82 Merge branch 'f/driver' of https://github.com/ebranlard/openfast into f/driver
d7333f6bf Merge remote-tracking branch 'upstream/dev' into f/driver
a79d5abf4 DvrM: update of r-test and python script for aerodyn driver
5691a91d8 DvrM: adding priPath to motion files
2639f5e9b DvrM: more outputs per blade, a better handling (none-alphabetical) of outputs todo
41e5f3d7a minor bug fix plus compilation instructions on all platforms
7c73b3fd0 FVW: Reynolds number in millions for outputs
664a58921 DvrM: small fix for aeropower per blade
f8fe2e55e DvrM: replacing AeroDyn driver with new one
43e1a594e DvrM: adding more output channels
65b525a02 DvrM: implemented time series analysis (with backward comp)
2339130bb DvrM: reinit and/or full init of aerodyn
9b48023f5 DvrM: introducing analysis type and combined type
ecd85d0f1 Merge remote-tracking branch 'upstream/dev' into f/driver
3c22751ff DvrM: aero blade root loads in harmony with Bonnie's work
23c718939 Misc: counting IW points in same order as retribution
dd00a84fb FVW: limiting only the tower shadow influence
96da6d311 DvrM: implemented compinflow=0
0dcc64577 FVW: limiting the tower shadow effect on OLAF's wake
b1229c03d DvrM: multi-rotor with OLAF and tower with no blades
53271315f FVW: support for multiple rotors
654238449 MultiRot: changing order of wind points, OLAF last
7f1f4b6f6 FVW: storing data per wing
4af7f1a0c DvrM: adding pitch, and yaw (NOTE: pitch convention negative)
ca01e0b1c DvrM: general base motion implemented
be7083ea5 DvrM: sinusoidal base motion implemented
7dc640e18 FVW: improved bounding of tip/root placement
629213c45 DvrM: fixed motion transfer Root to blade (mesh missing fields)
685f54b6e DvrM: outputs per rotor
d831e3e6b DvrM: adding basic inputs, and better support for multi rotor
45615929f MultiRot: including comment line in tower reading
91524777b Merge remote-tracking branch 'ebra/f/AD_multi' into f/driver
ca7543437 Merge remote-tracking branch 'upstream/dev' into f/driver
cbfa07fed DvrM: update for double precision
74e772e41 working, clean code for ifw with outputChannels that generates correct values!
b86a0ea71 Properly size the output channels array
545f7ffbe Fix the data representation from Python to Fortran
606d0d4ea DvrM: Adding blade root loads to AeroDyn
f4472e7ec added a bunch of print statements for debugging wrong numbers
b03bb6c48 successful run-through of ifw_init, ifw_calcOutput, and ifw_end!
d773aa9e9 upgrades to ifw_init and more progress on ifw_calcOutput
47b1dea5a DvrM: reporting time spent and status
29408a6e6 Bug fix in input length
17b2e56e0 Bug fix: initialize error message variable
39af5fb40 Expand the Python driver code to demo string init
8d302a4b5 Pass input strings through Python interface
24e16cba8 Pass string inputs through C-API to IFW module
b24a454be Simplify InflowWind C-API CMake config
6b14c5600 DvrM: adding AeroProjMod to convently switch between AeroDyn projection
f297bfa87 working python scripts, new features, and clean up
3241377a1 DvrM: small fix for AD ouputs
3079420e3 FVW: reynolds number in million for AFI
45fde177e FVW: tip and root vorticity placement per blade
35da067ce DvrM: adding azimuth output for driver
36e15aaae FVW: fix tip and root when gamma is constant and FreeWakeStart>0
b054f2ed4 DvrM: temporary adding integrated blade loads in hub
59dff0fb3 DvrM: withoutSweepPitchTwist not compatible with arbitrary blade
d54b75b9b DvrM: writing all ascii outputs at once for flushing
04f23c998 DvrM: fix when no tower present
5d1ed98bb FVW: output vtk on end when WrVTK=2
e87745e8b flushed out IFW_INIT_C, and added skeleton for IFW_CALCOUTPUT_C and IFW_END_C
87c8714f5 FVW: bug fix in determination of tip epsilon, and error handling gamma_prescr
faf4f2f12 Merge branch 'CCT2' of https://github.com/nrmendoza/openfast into CCT2
e63a7f5c5 first compilation!
0bbf4a94d Add initial IFW Python interface and driver
33ddc2257 convert python string array into fortran character array
44b2cab89 skeleton
b3f3e66dc skeleton
0dce16866 initial rough start
3787ab361 Most mesh functional, todo: velocities, acceleration, yaw, pitch
316394a27 Preliminary implementation with mesh, line meshes missing
326872a7d Preliminary VTK outputs
6cbef3d5f Varying omega, nacelle frame, outb
6fdf06e57 Partial support of more than 3 blades
8efb57cff Adding inflowwind to aerodyn driver
c53c64fb9 Merge remote-tracking branch 'ebra/f/weis_olaf' into f/driver
e6b50b1ac Adding inputs for base motion
5093abc74 Starting driver documentation
0c84bc08c Starting new aerodyn driver, constant motion, arbitrary orientations

git-subtree-dir: OpenFAST
git-subtree-split: 0d524740be17b39f4d3b6711b0322ac4bab33cdf
@rafmudaf
Copy link
Collaborator Author

I am working on running the full test suite on my computer. While I fight with my compilers and environment, it would be helpful to let GitHub also run the tests and we'll see who wins.

@rafmudaf
Copy link
Collaborator Author

For context, I'm looking to update WEIS with my feature/python_driver branch. Then if everything looks good, I'll start working on integrating my branch to the main OpenFAST repo.

@dzalkind
Copy link
Collaborator

Hi @rafmudaf, thanks for updating this! I hate to be the bearer of bad news, but I have been having some minor issues running OpenFAST on eagle using the python library.

When I call OpenFAST from the python library in WEIS, it seems to initialize all the submodules and around the first timestep, I get the following error:

+   t=58  FairTen 1: 2.43677E+06, 2.43571E+06, 2.44251E+06                                         
+   t=59  FairTen 1: 2.44120E+06, 2.43677E+06, 2.43571E+06                                         
+   t=60  FairTen 1: 2.43587E+06, 2.44120E+06, 2.43677E+06                                         
    Fairlead tensions did not converge within TMaxIC=60 seconds.
  Time: 0 of 10.1 seconds.
INTEL MKL ERROR: /nopt/nrel/apps/compilers/intel/2020.1.217/mkl/lib/intel64/libmkl_avx512.so: undefined symbol: mkl_sparse_optimize_bsr_trsm_i8.
Intel MKL FATAL ERROR: Cannot load libmkl_avx512.so or libmkl_def.so.

When I run using the executable, it works without any issues.

Perhaps it's something about our/my eagle setup because it seems to be working fine on Linux in the CI. Do you have any ideas? I think my slurm script is pretty basic: submit.txt

@gbarter
Copy link
Member

gbarter commented Oct 25, 2021

@dzalkind : Is this with a fresh checkout and build? Are you connecting to Eagle in a weird way- say through Visual Studio? Just trying to see if this is related to issues that consumed a lot of time for Pietro & Eliot a while back.

@dzalkind
Copy link
Collaborator

Yeah, everything is fresh. I built WEIS using VSCode, but I called the submit script using the terminal to avoid the usual MPI error issues that usually occur as soon as weis is imported. This issue seems to be happening right in the middle of an OpenFAST run.

I don't know if this issue is a show stopper. I have a workaround. I figured it would be a good time to bring it up so it's somewhat documented here and to see if Raf has any quick fix ideas. If not, I say we proceed and maybe switch the default WEIS to using the executable.

@rafmudaf
Copy link
Collaborator Author

Thanks for pointing this out @dzalkind. When you run on Eagle with the executable, where are you getting the executable? Is it also compiled with WEIS?

It looks like it's a problem with the Intel toolchain module not being loaded into the current environment.

@dzalkind
Copy link
Collaborator

Yes, it is also compiled with WEIS and lives in local/bin/.

I tried adding this to my submit script, with the same end result:

export CC=icc
export CXX=icpc
export FC=ifort

@rafmudaf
Copy link
Collaborator Author

Is the OpenFAST executable also compiled with Intel? You can check by passing the version flag: ./local/bin/openfast -v. If so, then it's interesting that it is not running into the same error.

@dzalkind
Copy link
Collaborator

It looks like it was compiled with intel:

 **************************************************************************************************
 OpenFAST

 Copyright (C) 2021 National Renewable Energy Laboratory
 Copyright (C) 2021 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-v0.2-2362-g6f47159d
 Compile Info:
  - Compiler: Intel(R) Fortran Intel(R) 64 Compiler for applications running on Intel(R) 64,
  Version 19.1.1.217 Build 20200306
  - Architecture: 64 bit
  - Precision: single
  - OpenMP: Yes, number of threads: 36/36
  - Date: Oct 25 2021
  - Time: 10:48:56
 Execution Info:
  - Date: 10/25/2021
  - Time: 11:18:51-0600

@johnjasa
Copy link
Collaborator

I checked this today and I have the same issue locally. Not sure if I can help or provide more info. This is with me compiling using GCC though, maybe that introduces a different problem.

 FAST_InitializeAll:HydroDyn_Init:Waves_Init:VariousWaves_Init: The random number generator in use
 differs from the original code provided by NREL. This pRNG uses 33 seeds instead of the 2 in the
 HydroDyn input file.

  Time: 0 of 10.01 seconds.
INTEL MKL ERROR: /home/john/anaconda3/lib/libmkl_avx2.so: undefined symbol: mkl_sparse_optimize_bsr_trsm_i8.
Intel MKL FATAL ERROR: Cannot load libmkl_avx2.so or libmkl_def.so.
(weis) john@JJASA-35609S:/mnt/c/Users/jjasa/git/WEIS/examples/06_IEA-15-240-RWT$ ../../local/bin/openfast -v

 **************************************************************************************************
 OpenFAST

 Copyright (C) 2021 National Renewable Energy Laboratory
 Copyright (C) 2021 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-v0.2-2413-gb92cbb96
 Compile Info:
  - Compiler: GCC version 7.5.0
  - Architecture: 64 bit
  - Precision: single
  - OpenMP: Yes, number of threads: 12/12
  - Date: Oct 19 2021
  - Time: 09:27:40
 Execution Info:
  - Date: 10/25/2021
  - Time: 13:53:25-0600


  OpenFAST terminated normally.

@dzalkind
Copy link
Collaborator

To be clear, I was seeing this issue before this PR as well. I can't remember exactly when it started to break because my eagle use is intermittent, but I think it was around a month or so ago when there seemed to be some other changes with eagle. I hope this helps.

@gbarter
Copy link
Member

gbarter commented Oct 25, 2021

Sounds like there was maybe an MKL upgrade or script change on Eagle and there is a directory or library missing in the LD_LIBRARY_PATH. I will look into it, but cannot promise a quick response

@nikhar-abbas
Copy link
Collaborator

Well, just to add to this, I'm able to run the current develop branch fine locally with intel compilers, but when I bump it to eagle and compile and run I get the same errors that @dzalkind is getting. I've spent some time diving into this and haven't solved anything, but maybe this info will help...

The modules I have loaded when I compile and run on eagle are:

Currently Loaded Modules:
  1) cmake/3.18.2   2) conda/4.9.2   3) comp-intel/2020.1.217   4) intel-mpi/2020.1.217   5) mkl/2020.1.217

I came across this post that sent me down a bit of a rabbit hole (though no solution, yet...).

I realized that locally I had the following conda-forge channels:

           channel URLs : https://conda.anaconda.org/conda-forge/osx-64
                          https://conda.anaconda.org/conda-forge/noarch
                          file:///opt/intel/oneapi/conda_channel/osx-64
                          file:///opt/intel/oneapi/conda_channel/noarch
                          https://conda.anaconda.org/intel/osx-64
                          https://conda.anaconda.org/intel/noarch
                          https://repo.anaconda.com/pkgs/main/osx-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/osx-64
                          https://repo.anaconda.com/pkgs/r/noarch

Based on the post linked above and the intel locally (where things work) I figured I should try adding the intel anaconda channel. This changes how some libraries get downloaded and linked with intel (e.g. numpy), so seems promising? Here is my conda channel list on eagle now:

           channel URLs : https://conda.anaconda.org/intel/linux-64
                          https://conda.anaconda.org/intel/noarch
                          https://conda.anaconda.org/conda-forge/linux-64
                          https://conda.anaconda.org/conda-forge/noarch
                          https://repo.anaconda.com/pkgs/main/linux-64
                          https://repo.anaconda.com/pkgs/main/noarch
                          https://repo.anaconda.com/pkgs/r/linux-64
                          https://repo.anaconda.com/pkgs/r/noarch

I rebuilt my conda environment with the above settings and modules, and then tried to run. Now I'm running into problems where it is just hanging up, and I can't figure out why.

Calling my submission script (basically the 02_control_opt example) with:
mpiexec -n $nC --bind-to core python weis_driver.py
results in it hanging up while doing
import openmdao.api as om
while importing run_weis from runWEIS.py.
I have tried this for openmdao 3.11.0 and 3.13.0 and gotten the same problems.

Perhaps even stranger, is that if I just call
python weis_driver.py (so no MPI),
It won't even print a print statement that I have on the first line in my weis_driver.py script.

So, hopefully this helps someplace. This feels like it might have just been backwards progress because now I'm getting errors even earlier in the calls to WEIS, but hopefully it helps sort out the higher-level issues of the linked libraries.

@dzalkind
Copy link
Collaborator

dzalkind commented Nov 2, 2021

I'm not sure we should make this issue a show-stopper. I have it working if the executable is used. We can make that the default. What do people think?

Also, I'll be subtree-ing this branch of OpenFAST soon because it has better support for TMDs, which we are using in our benchmark case studies.

@johnjasa
Copy link
Collaborator

johnjasa commented Nov 2, 2021

@dzalkind, I agree that it's not a show-stopper, I've been using the executable for my cases as well.

@dzalkind dzalkind mentioned this pull request Nov 9, 2021
Copy link
Collaborator

@dzalkind dzalkind left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I documented the MKL issue in #153 and merged in WISDEM/develop. Once, this passes, I'm good to merge.

@gbarter gbarter merged commit 65835d6 into WISDEM:develop Nov 11, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants