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

UA driver bug fix: sim mod 2 #23

Merged
merged 127 commits into from
Mar 9, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
3a27bda
Migrated FSI changes to 4.0.0-dev
deslaughter Jul 12, 2023
d34deab
Install libnetcdf-dev in GH Actions
deslaughter Jul 13, 2023
b4ac67a
Disable C++ regression test until it is updated
deslaughter Jul 13, 2023
eed0491
Fix FAST_Library.f90 after rebasing onto the update ExtInflow (from dev)
andrew-platt Jul 14, 2023
02cd259
Merge remote-tracking branch 'OpenFAST/dev' into f/ExtLoads_rebase
andrew-platt Jul 25, 2023
8d9ad2b
Adds standalone mode (Farmsize = -1) and fixes pinned rod inertial fo…
RyanDavies19 Nov 2, 2023
6d16c6e
Additonaly standalone variable in registry
RyanDavies19 Nov 2, 2023
d45be69
Merge branch 'OpenFAST:dev' into dev
RyanDavies19 Nov 2, 2023
5ccfb2f
Smoother handling of standalone
RyanDavies19 Nov 2, 2023
a733f8e
Coupled pinned bodies
RyanDavies19 Nov 7, 2023
f1116d7
Fix segfault in HD when 0 outputs specified
deslaughter Nov 13, 2023
067acec
Merge pull request #1872 from deslaughter/bug/HD_Input
andrew-platt Nov 13, 2023
188bccd
UA driver: vs build
bjonkman Nov 14, 2023
6940962
LinDyn: states should be reals, not logicals
bjonkman Nov 14, 2023
abbfd59
fix typo in RoutineName parameter
bjonkman Nov 14, 2023
4cc616f
UA: minor updates
bjonkman Nov 16, 2023
b48c9b2
Update r-tests
hkross Nov 20, 2023
b979525
Update r-tests
hkross Nov 21, 2023
0cebc49
Correction to force output
RyanDavies19 Nov 22, 2023
eb6ba12
Merge branch 'OpenFAST:dev' into dev
RyanDavies19 Nov 28, 2023
a78fbc0
Merge pull request #1886 from hkross/bug/MHK_Inputs
andrew-platt Nov 29, 2023
3e7ee8c
Merge branch 'OpenFAST:dev' into dev
RyanDavies19 Nov 30, 2023
96eb6b6
ADI: probably memory leak in ADI_UpdateStates
andrew-platt Dec 3, 2023
abbb240
Changes to help compile
gantech Dec 4, 2023
c85a0c8
AD15: memory leak, fix in FVW also
andrew-platt Dec 4, 2023
f168eb4
Merge pull request #1913 from andrew-platt/b/ADI_MemLeak
andrew-platt Dec 4, 2023
a233bc1
Addressing some issues found by Andy
gantech Dec 4, 2023
d5cebcc
Merge pull request #19 from gantech/f/ExtLoads_rebase
andrew-platt Dec 5, 2023
a492600
Revert minor unintended changes
andrew-platt Dec 5, 2023
c6db1e0
Merge remote-tracking branch 'OpenFAST/dev' into f/ExtLoads_rebase
andrew-platt Dec 5, 2023
a6a97a3
Blade Resolved: update FAST_SS_Subs for new ExtLoads module
andrew-platt Dec 5, 2023
4065df8
ExtLoads: update simulink CMakeLists.txt
andrew-platt Dec 5, 2023
c7b8dac
Merge branch 'OpenFAST:dev' into dev
RyanDavies19 Dec 5, 2023
38ef4b6
ExtLoads: one more update to the simulink CMakeLists.txt
andrew-platt Dec 5, 2023
c09f2ce
ExtLoads: update Simulink create SFunc
andrew-platt Dec 5, 2023
c0115c0
FAST_subs, don't apply DTdriver if not set
deslaughter Dec 5, 2023
c7b0eec
Coupled bodies intialization fix
RyanDavies19 Dec 5, 2023
db9a370
ExtLoads: update cpp test case
andrew-platt Dec 5, 2023
33269e0
Echo file removed from driver
RyanDavies19 Dec 6, 2023
5cc5e19
Indexing and building wave grid fix
RyanDavies19 Dec 6, 2023
4d0c65d
Fix coupled rods initial orentation
RyanDavies19 Dec 10, 2023
0f642c6
Added error handling for wave grid coordinate strings
RyanDavies19 Dec 11, 2023
69fb0b8
Fix issues to get C++ API to run
gantech Dec 11, 2023
734f02e
Merge pull request #20 from gantech/f/ExtLoads_rebase
andrew-platt Dec 11, 2023
5da647e
ExtLoads: rename `Input_bak` to `Input_Saved` etc. for clarity
andrew-platt Dec 11, 2023
47ef53e
ExtLoads: true-up the r-test pointer (no changes)
andrew-platt Dec 11, 2023
d4dae7c
ExtLoads: rename SS --> SubStep / SAVED
andrew-platt Dec 11, 2023
875a38d
ExtLoads: move FAST_Solution and new routines
andrew-platt Dec 12, 2023
ac88936
ExtLoads: remove InitOut%QPtN from BeamDyn (old change shouldn't have…
andrew-platt Dec 12, 2023
d35e2e3
BD: remove kp_total and kp_coordinate from InitOut
andrew-platt Dec 12, 2023
6b32061
Merge remote-tracking branch 'OpenFAST/dev' into f/ExtLoads_rebase
andrew-platt Dec 12, 2023
22f2c74
Add hub and nacelle ref orient
psakievich Aug 2, 2023
c83011e
Add netcdf output for hub/nac
psakievich Aug 2, 2023
8ff6282
Make netcdf output parallel consistent
psakievich Aug 3, 2023
6f0b5a2
Set file to operate on TurbID
psakievich Aug 4, 2023
104ab10
Check if restart frequency is > 0 to avoid dividing by 0.
jrood-nrel Sep 20, 2023
1cf828b
Fix precision errors based on integer conversion
psakievich Oct 26, 2023
b277768
Fix typo, and then replace other ratio computations
psakievich Oct 26, 2023
20e0b7d
Sigh, more typos
psakievich Oct 26, 2023
b0184a2
One more typo
psakievich Oct 27, 2023
554c4ce
Fix WriteOutput time written
gantech Dec 15, 2023
93ea5e1
Merge pull request #21 from gantech/f/ExtLoads_rebase
andrew-platt Dec 15, 2023
b92d5f8
Merge branch 'OpenFAST:dev' into dev
RyanDavies19 Dec 15, 2023
be10599
cpp interface: update documentation (doxygenclass not working)
andrew-platt Dec 15, 2023
111c3b3
cpp docs: convert pdf images to png
andrew-platt Dec 15, 2023
095b3db
cpp docs: update note about doxygenclass and doxygenstruct being disa…
andrew-platt Dec 15, 2023
2f7bd6f
OF: added `NumStateTimes` to registry for sizing arrays of state deri…
andrew-platt Dec 15, 2023
db3f101
Merge pull request #1932 from andrew-platt/f/ExtLoads_rebase
andrew-platt Dec 15, 2023
bfbf791
Update r-test pointer after PR #1932 merge
andrew-platt Dec 15, 2023
04202d9
ExtLoads: fix name of module ExtLoads
andrew-platt Dec 18, 2023
f56dc4d
FAST_Subs: make call to WriteOutputToFile consistent
andrew-platt Dec 18, 2023
a05657e
Add check on tower nodes for ExtInflow with CFD
andrew-platt Dec 18, 2023
b5d739a
Pass Python_EXECUTABLE from main OF cmake to external pfunit cmake
andrew-platt Dec 19, 2023
5f8f8d2
pfunit: add check that python version is less than 3.12
andrew-platt Dec 19, 2023
7da964b
rc-3.5.2: add release notes
andrew-platt Dec 19, 2023
225c23f
rc-3.5.2: rename release notes changelog
andrew-platt Dec 19, 2023
4423cc1
Merge pull request #1948 from andrew-platt/b/pFUnit_Python312
andrew-platt Dec 19, 2023
5308d05
update version info for 3.5.2
andrew-platt Dec 19, 2023
8b07e41
Option to turn off unit_tests from cmake
andrew-platt Dec 20, 2023
d31f1d2
Merge pull request #1950 from andrew-platt/f/unitTest_turnOff
deslaughter Dec 21, 2023
fbe5787
Merge branch 'OpenFAST:dev' into dev
RyanDavies19 Dec 28, 2023
5d8cc6a
Merge pull request #1946 from andrew-platt/b/ExtLoads_mergeFix
andrew-platt Dec 29, 2023
18faddf
Revamped log file. Still needs runtime outputs
RyanDavies19 Dec 28, 2023
d0a75b6
Better driver handling and updated log
RyanDavies19 Jan 4, 2024
e706a35
Merge branch 'OpenFAST:dev' into dev
RyanDavies19 Jan 5, 2024
4181027
Add option to disable inertial forces in 6DOF coupling
RyanDavies19 Jan 8, 2024
ddd97ca
AWAE: Mod_AmbWind=3 add error if HR grid not centered on turbine in Y…
andrew-platt Jan 9, 2024
280d6d2
VS: update VS build process to include ExtLoads
andrew-platt Jan 9, 2024
acc20ca
Add error handling to opening line EA file
RyanDavies19 Jan 9, 2024
387857b
Change default inertialF to 0
RyanDavies19 Jan 9, 2024
f814dba
MD reg test: update input files
andrew-platt Jan 10, 2024
5ebcc59
Merge pull request #5 from andrew-platt/f/MD_updates
RyanDavies19 Jan 10, 2024
5c67b99
Replace print w WrScr and minor organize of registry
RyanDavies19 Jan 10, 2024
7bdeeb3
Removed unecessary standalone variable and cleaned logic
RyanDavies19 Jan 10, 2024
7d0ae2f
Merge pull request #1968 from andrew-platt/b/VS_build_ExtLoads
andrew-platt Jan 10, 2024
4fafe68
Merge pull request #1967 from RyanDavies19/dev
andrew-platt Jan 10, 2024
677d811
AWAE: revise logic to allow high-res grids smaller than IfW grids
andrew-platt Jan 10, 2024
b621edb
AWAE: Mod_AmbWind=3 add check on z-range
andrew-platt Jan 11, 2024
25fb3b0
Fix bug in openfast-cpp CMakeLists.txt runtime install destination
deslaughter Jan 16, 2024
2ff8f57
Merge pull request #1989 from deslaughter/bug/openfastcpp-install
deslaughter Jan 16, 2024
4dd1b9c
AWAE: Mod_AmbWind=3 modify checks from GH PR suggestions
andrew-platt Jan 16, 2024
2e4628f
Merge pull request #1963 from andrew-platt/b/FF_HighResAlignment_Y
andrew-platt Jan 16, 2024
66a7547
update changelog
andrew-platt Jan 16, 2024
2acce08
MD version update
RyanDavies19 Jan 16, 2024
208c806
MD: change copyright display
RyanDavies19 Jan 18, 2024
8259ce1
Merge pull request #1990 from RyanDavies19/dev
andrew-platt Jan 18, 2024
da0ad54
Update pointer to r-test/main for 3.5.2 release
andrew-platt Jan 18, 2024
4b6337f
Merge pull request #1949 from OpenFAST/rc-3.5.2
andrew-platt Jan 18, 2024
a1c9418
Merge remote-tracking branch 'OpenFAST/main' into m/3.5.2_to_dev
andrew-platt Jan 18, 2024
418db34
switch from -fpic to -fPIC for all gfortran builds
gbarter Jan 19, 2024
9ef15a7
Merge pull request #1995 from andrew-platt/m/3.5.2_to_dev
andrew-platt Jan 19, 2024
3fdd6a5
Merge pull request #1998 from gbarter/dev
andrew-platt Jan 19, 2024
939674e
ExtLoads: move integers from DX_u to DX_p
andrew-platt Jan 22, 2024
bffd751
ExtLoads: move additional inputs to parameters where they belong
andrew-platt Jan 23, 2024
d6f4061
MoorDyn body initial condition adjustment
mattEhall Jan 17, 2024
68d162e
Removes standalone driver option
RyanDavies19 Jan 25, 2024
cf0e65a
Merge pull request #2001 from andrew-platt/b/ExtLoadsIntegerInput
andrew-platt Jan 25, 2024
5ea42c1
Merge pull request #2005 from RyanDavies19/dev
andrew-platt Jan 25, 2024
80c88a2
Remove typo in warning, retains c/con option for output flags for bac…
RyanDavies19 Jan 26, 2024
fd41e42
Bathymetry grid bug fix
RyanDavies19 Jan 29, 2024
75f987c
Bathymetry grid slope normal vector bug fix
RyanDavies19 Jan 29, 2024
44cd3f6
Merge pull request #2013 from RyanDavies19/dev
andrew-platt Jan 29, 2024
57e110a
Change input string size for bathgrid and waterkin
RyanDavies19 Jan 30, 2024
e39453a
Merge pull request #2016 from RyanDavies19/dev
andrew-platt Jan 31, 2024
d9edf8f
merge branch 'openfast/dev' into 'f/ua-elast-dev'
bjonkman Mar 7, 2024
ba95b23
UA driver: fix indices on alpha, U, and omega
bjonkman Mar 7, 2024
db02071
Merge remote-tracking branch 'ebranlard/f/ua-elast-dev' into f/ua-ela…
bjonkman Mar 7, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 15 additions & 15 deletions .github/workflows/automated-dev-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -186,7 +186,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev # gcovr
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev # gcovr
- name: Setup workspace
run: cmake -E make_directory ${{runner.workspace}}/openfast/build
- name: Configure build
Expand Down Expand Up @@ -241,7 +241,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure build
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -279,7 +279,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure build
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -317,7 +317,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure build
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -418,7 +418,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -476,7 +476,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -537,7 +537,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3" vtk
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -585,7 +585,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -717,7 +717,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -767,7 +767,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -817,7 +817,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -867,7 +867,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -917,7 +917,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -967,7 +967,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down Expand Up @@ -1016,7 +1016,7 @@ jobs:
pip install numpy "Bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3"
sudo apt-get update -y
sudo apt-get install -y libopenblas-dev libopenblas-openmp-dev
sudo apt-get install -y libhdf5-dev libopenmpi-dev libyaml-cpp-dev
sudo apt-get install -y libhdf5-dev libnetcdf-dev libopenmpi-dev libyaml-cpp-dev
- name: Configure Tests
working-directory: ${{runner.workspace}}/openfast/build
run: |
Expand Down
12 changes: 9 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,10 @@ endif()
option(BUILD_TESTING "Build the testing tree." OFF)
if(BUILD_TESTING)
option(CODECOVERAGE "Enable infrastructure for measuring code coverage." OFF)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DUNIT_TEST")
option(BUILD_UNIT_TESTING "Enable unit testing" ON)
if(BUILD_UNIT_TESTING)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -DUNIT_TEST")
endif()
endif()

# Setup Fortran Compiler options based on architecture/compiler
Expand Down Expand Up @@ -184,6 +187,7 @@ set(OPENFAST_MODULES
nwtc-library
version
inflowwind
extloads
aerodyn
aerodyn14
servodyn
Expand Down Expand Up @@ -278,8 +282,10 @@ if(BUILD_TESTING)
add_subdirectory(reg_tests)

# unit tests
if(NOT (${CMAKE_Fortran_COMPILER_ID} STREQUAL "Flang"))
add_subdirectory(unit_tests)
if(BUILD_UNIT_TESTING)
if(NOT (${CMAKE_Fortran_COMPILER_ID} STREQUAL "Flang"))
add_subdirectory(unit_tests)
endif()
endif()
endif()

Expand Down
124 changes: 124 additions & 0 deletions cmake/FindNetCDF.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
#
# This file was copied from the VTK repository:
# https://github.com/Kitware/VTK/blob/master/CMake/FindNetCDF.cmake
# VTK is distributed under the OSI-approved BSD 3-clause License.
#
#
# - Find NetCDF
# Find the native NetCDF includes and library
#
# NETCDF_INCLUDE_DIR - user modifiable choice of where netcdf headers are
# NETCDF_LIBRARY - user modifiable choice of where netcdf libraries are
#
# Your package can require certain interfaces to be FOUND by setting these
#
# NETCDF_CXX - require the C++ interface and link the C++ library
# NETCDF_F77 - require the F77 interface and link the fortran library
# NETCDF_F90 - require the F90 interface and link the fortran library
#
# Or equivalently by calling FindNetCDF with a COMPONENTS argument containing one or
# more of "CXX;F77;F90".
#
# When interfaces are requested the user has access to interface specific hints:
#
# NETCDF_${LANG}_INCLUDE_DIR - where to search for interface header files
# NETCDF_${LANG}_LIBRARY - where to search for interface libraries
#
# This module returns these variables for the rest of the project to use.
#
# NETCDF_FOUND - True if NetCDF found including required interfaces (see below)
# NETCDF_LIBRARIES - All netcdf related libraries.
# NETCDF_INCLUDE_DIRS - All directories to include.
# NETCDF_HAS_INTERFACES - Whether requested interfaces were found or not.
# NETCDF_${LANG}_INCLUDE_DIRS/NETCDF_${LANG}_LIBRARIES - C/C++/F70/F90 only interface
#
# Normal usage would be:
# set (NETCDF_F90 "YES")
# find_package (NetCDF REQUIRED)
# target_link_libraries (uses_everthing ${NETCDF_LIBRARIES})
# target_link_libraries (only_uses_f90 ${NETCDF_F90_LIBRARIES})

#search starting from user editable cache var
if (NETCDF_INCLUDE_DIR AND NETCDF_LIBRARY)
# Already in cache, be silent
set (NETCDF_FIND_QUIETLY TRUE)
endif ()

set(USE_DEFAULT_PATHS "NO_DEFAULT_PATH")
if(NETCDF_USE_DEFAULT_PATHS)
set(USE_DEFAULT_PATHS "")
endif()

find_path (NETCDF_INCLUDE_DIR netcdf.h
HINTS "${NETCDF_DIR}/include")
mark_as_advanced (NETCDF_INCLUDE_DIR)
set (NETCDF_C_INCLUDE_DIRS ${NETCDF_INCLUDE_DIR})

find_library (NETCDF_LIBRARY NAMES netcdf
HINTS "${NETCDF_DIR}/lib")
mark_as_advanced (NETCDF_LIBRARY)

set (NETCDF_C_LIBRARIES ${NETCDF_LIBRARY})

#start finding requested language components
set (NetCDF_libs "")
set (NetCDF_includes "${NETCDF_INCLUDE_DIR}")

get_filename_component (NetCDF_lib_dirs "${NETCDF_LIBRARY}" PATH)
set (NETCDF_HAS_INTERFACES "YES") # will be set to NO if we're missing any interfaces

macro (NetCDF_check_interface lang header libs)
if (NETCDF_${lang})
#search starting from user modifiable cache var
find_path (NETCDF_${lang}_INCLUDE_DIR NAMES ${header}
HINTS "${NETCDF_INCLUDE_DIR}"
HINTS "${NETCDF_${lang}_ROOT}/include"
${USE_DEFAULT_PATHS})

find_library (NETCDF_${lang}_LIBRARY NAMES ${libs}
HINTS "${NetCDF_lib_dirs}"
HINTS "${NETCDF_${lang}_ROOT}/lib"
${USE_DEFAULT_PATHS})

mark_as_advanced (NETCDF_${lang}_INCLUDE_DIR NETCDF_${lang}_LIBRARY)

#export to internal varS that rest of project can use directly
set (NETCDF_${lang}_LIBRARIES ${NETCDF_${lang}_LIBRARY})
set (NETCDF_${lang}_INCLUDE_DIRS ${NETCDF_${lang}_INCLUDE_DIR})

if (NETCDF_${lang}_INCLUDE_DIR AND NETCDF_${lang}_LIBRARY)
list (APPEND NetCDF_libs ${NETCDF_${lang}_LIBRARY})
list (APPEND NetCDF_includes ${NETCDF_${lang}_INCLUDE_DIR})
else ()
set (NETCDF_HAS_INTERFACES "NO")
message (STATUS "Failed to find NetCDF interface for ${lang}")
endif ()
endif ()
endmacro ()

list (FIND NetCDF_FIND_COMPONENTS "CXX" _nextcomp)
if (_nextcomp GREATER -1)
set (NETCDF_CXX 1)
endif ()
list (FIND NetCDF_FIND_COMPONENTS "F77" _nextcomp)
if (_nextcomp GREATER -1)
set (NETCDF_F77 1)
endif ()
list (FIND NetCDF_FIND_COMPONENTS "F90" _nextcomp)
if (_nextcomp GREATER -1)
set (NETCDF_F90 1)
endif ()
NetCDF_check_interface (CXX netcdfcpp.h netcdf_c++)
NetCDF_check_interface (F77 netcdf.inc netcdff)
NetCDF_check_interface (F90 netcdf.mod netcdff)

#export accumulated results to internal varS that rest of project can depend on
list (APPEND NetCDF_libs "${NETCDF_C_LIBRARIES}")
set (NETCDF_LIBRARIES ${NetCDF_libs})
set (NETCDF_INCLUDE_DIRS ${NetCDF_includes})

# handle the QUIETLY and REQUIRED arguments and set NETCDF_FOUND to TRUE if
# all listed variables are TRUE
include (FindPackageHandleStandardArgs)
find_package_handle_standard_args (NetCDF
DEFAULT_MSG NETCDF_LIBRARIES NETCDF_INCLUDE_DIRS NETCDF_HAS_INTERFACES)
6 changes: 3 additions & 3 deletions cmake/OpenfastFortranOptions.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -109,9 +109,9 @@ endmacro(check_f2008_features)
#
macro(set_fast_gfortran)
if(NOT WIN32)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fpic ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpic")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic")
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fPIC ")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
endif(NOT WIN32)

# Fix free-form compilation for OpenFAST
Expand Down
70 changes: 70 additions & 0 deletions docs/changelogs/v3.5.2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
**Feature or improvement description**
Pull request to merge `rc-3.5.2` into `main` and create a tagged release for v3.5.2.

See the milestone and project pages for additional information

https://github.com/OpenFAST/openfast/milestone/12

Test results, if applicable
See GitHub Actions

### Release checklist:
- [ ] Update the documentation version in docs/conf.py
- [ ] Update the versions in docs/source/user/api_change.rst
- [ ] Verify readthedocs builds correctly
- [ ] Create a tag in OpenFAST
- [ ] Create a merge commit in r-test and add a corresponding tag
- [ ] Compile executables for Windows builds
- [ ] FAST_SFunc.mexw64
- [ ] OpenFAST-Simulink_x64.dll
- [ ] openfast_x64.exe
- [ ] DISCON.dll (x64)
- [ ] AeroDyn_Driver
- [ ] AeroDyn_Inflow_C_Binding
- [ ] BeamDyn_Driver
- [ ] HydroDyn_Driver
- [ ] HydroDyn_C_Binding (x64)
- [ ] InflowWind_Driver
- [ ] IfW_C_Binding (x64)
- [ ] MoorDyn_Driver
- [ ] FAST.Farm (x64)

# Changelog

## General

### Build systems

#1948 Pass Python_EXECUTABLE to pfunit, add error check on Python version


## Module changes

### AeroDyn

#1913 ADI: memory leak in ADI_UpdateStates

### AWAE

#1963 FAST.Farm, Mod_AmbWind=3: add error if HR grid not centered on turbine in Y dimension

### HydroDyn

#1872 Fix segfault in HD when no outputs specified



## Regression tests

#1886 Update floating MHK case input files



## Input file changes

No input files change with this release, as this only includes minor bugfixes.

Full list of changes: https://openfast.readthedocs.io/en/main/source/user/api_change.html

Full input file sets: https://github.com/OpenFAST/r-test/tree/v3.5.2 (example input files from the regression testing)

Loading
Loading