Skip to content

Commit

Permalink
MRG: Merge remote-tracking branch 'upstream/rc-3.5.3' into update-doc…
Browse files Browse the repository at this point in the history
…kerfiles
  • Loading branch information
cortadocodes committed Apr 2, 2024
2 parents 4337738 + 8d16cea commit 90ad82a
Show file tree
Hide file tree
Showing 56 changed files with 1,061 additions and 691 deletions.
169 changes: 76 additions & 93 deletions .github/workflows/automated-dev-tests.yml

Large diffs are not rendered by default.

7 changes: 6 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,12 @@ include(${CMAKE_SOURCE_DIR}/cmake/set_rpath.cmake)
#-------------------------------------------------------------------------------

if (OPENMP OR BUILD_FASTFARM OR BUILD_OPENFAST_CPP_API)
FIND_PACKAGE(OpenMP REQUIRED)
if (OPENMP)
FIND_PACKAGE(OpenMP REQUIRED)
else()
# Optional for FF or the CPP interface
FIND_PACKAGE(OpenMP)
endif()
if (OpenMP_Fortran_FOUND)
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} ${OpenMP_Fortran_FLAGS}")
link_libraries("${OpenMP_Fortran_LIBRARIES}")
Expand Down
128 changes: 128 additions & 0 deletions docs/changelogs/v3.5.3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
**Feature or improvement description**
Pull request to merge `rc-3.5.3` into `main` and create a tagged release for v3.5.3.

See the milestone and project pages for additional information

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

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 annotated tag
- [ ] Compile executables for Windows builds
- [ ] AeroDyn_Driver_x64.exe
- [ ] AeroDyn_Driver_x64_OpenMP.exe
- [ ] AeroDyn_Inflow_C_Binding_x64.dll
- [ ] AeroDyn_Inflow_C_Binding_x64_OpenMP.dll
- [ ] BeamDyn_Driver_x64.exe
- [ ] DISCON.dll (x64)
- [ ] DISCON_ITIBarge.dll (x64)
- [ ] DISCON_OC3Hywind.dll (x64)
- [ ] DISCON_SC.dll (x64)
- [ ] FAST.Farm_x64.exe
- [ ] FAST.Farm_x64_OMP.exe
- [ ] FAST_SFunc.mexw64
- [ ] HydroDynDriver_x64.exe
- [ ] HydroDyn_C_Binding_x64.dll
- [ ] IfW_C_Binding_x64.dll
- [ ] InflowWind_Driver_x64.exe
- [ ] InflowWind_Driver_x64_OpenMP.exe
- [ ] MoorDyn_Driver_x64.exe
- [ ] MoorDyn_C_Binding_x64.dll
- [ ] OpenFAST-Simulink_x64.dll
- [ ] openfast_x64.exe

# Changelog

## Overview

This release includes a long awaited set of bug fixes for linearization with BeamDyn. Anyone needing to linearize with BeamDyn should not use any version of OpenFAST prior to this release.

Other notable improvements include corrections to turbine indexing when coupled to external codes such as AMR-Wind, new linearization regression tests, and new docker images (thanks to first time contributor @cortadocodes at the @Octue organization).


## General

### Build systems

#2116 VSbuild: always build Registry as release x64 (@andrew-platt)
#2120 #2125 CMake: openmp optional for FF and CPP if not explicitly requested (@andrew-platt and @deslaughter)
#2128 VSbuild: set VS version to VS 2017 (@andrew-platt)


### Docker builds

#2124 Update dockerfile and facilitate nrel/openfast Docker Hub registry, with documentation (@cortadocodes, first time contributor)


### GH actions

#2041 Upgrade to setup-python@v4 and cache@v4 for GH actions (@andrew-platt)
#2129 Fix cache failure in Github Actions caused by setup-python (@deslaughter)

### Documentation

#2130 Fix cache failure in Github Actions caused by setup-python (@andrew-platt)


## Solvers

### OpenFAST

#2060 Fix BD + AD linearization indexing (negative damping results) (@deslaugher and @andrew-platt)


## Module changes

### Multiple

#2118 Fix use of uninitialized variables in FAST.Farm and increase stack size in Visual Studio (@deslaughter and @andrew-platt)


### BeamDyn

#2063 Fix bug in BD linearization resulting from reference rotation change (@deslaughter)
#2085 Bug: BeamDyn Initial Strain and Linearization (@deslaughter)


### MoorDyn

#2049 Backport of bathymetry bugfixes in #2013 and #2016 (@RyanDavies19)


### OpenFAST library

#2097 Consistent use of turbine indexing when coupled to c/c++ (@andrew-platt and @deslaughter)


### ServoDyn

#2079 Handling of Paths for SrvD UserSubs Input Files (@rdamiani)
#2134 Bugfix seg fault if blade StC used while writing summary file (@andrew-platt)


### TurbSim

#2102 TurbSim: increase filename to 1024 characters (@andrew-platt)


## Regression tests

#2038 Add linearization regression tests (@andrew-platt)
#2055 Lin tests: increase out precision, error printing full filename, add SD linearization test (@andrew-platt)



## 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.3 (example input files from the regression testing)

2 changes: 1 addition & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
# The short X.Y version.
version = u'3.5'
# The full version, including alpha/beta/rc tags.
release = u'v3.5.2'
release = u'v3.5.3'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
4 changes: 2 additions & 2 deletions docs/source/install/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -162,14 +162,14 @@ Use a docker image
Multiple versions of OpenFAST are available as docker images from our `docker registry <https://hub.docker.com/r/nrel/openfast>`_.
To pull and run one with files from your local machine available, run:

.. code-block::shell
.. code-block:: shell
docker run --rm -it --volume=/path/to/files:/files nrel/openfast:3.5.2 openfast /files/main.fst
This command deletes the container (but not the image) when the analysis is finished and leaves the outputs in the same
local directory as the input files. You can also run commands inside the container with:

.. code-block::shell
.. code-block:: shell
docker run --rm -it --volume=/path/to/files:/files nrel/openfast:3.5.2 /bin/bash
Expand Down
10 changes: 6 additions & 4 deletions docs/source/testing/regression_test.rst
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,14 @@ reported as failed. The failure criteria is outlined below.
Dependencies
------------
The following packages are required for regression testing:
The following packages are required for regression testing (see also the
``requirements.txt`` file in the root directory for the python modules):

- Python 3.7+
- Numpy
- CMake and CTest (Optional)
- Bokeh 2.4+ (Optional)
- Python >=3.7,<=3.11
- numpy
- vtk
- bokeh>=2.4,!=3.0.0,!=3.0.1,!=3.0.2,!=3.0.3 (Optional)

.. _python_driver:

Expand Down
6 changes: 6 additions & 0 deletions docs/source/user/api_change.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ The changes are tabulated according to the module input file, line number, and f
The line number corresponds to the resulting line number after all changes are implemented.
Thus, be sure to implement each in order so that subsequent line numbers are correct.

OpenFAST v3.5.2 to OpenFAST v3.5.3
----------------------------------

No input file changes were made.


OpenFAST v3.5.1 to OpenFAST v3.5.2
----------------------------------

Expand Down
2 changes: 1 addition & 1 deletion glue-codes/fast-farm/src/FASTWrapper.f90
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ SUBROUTINE FWrap_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, Init

end if
!.... multi-turbine options ....
ExternInitData%TurbineID = InitInp%TurbNum
ExternInitData%TurbIDforName = InitInp%TurbNum
ExternInitData%TurbinePos = InitInp%p_ref_Turbine
ExternInitData%WaveFieldMod = InitInp%WaveFieldMod

Expand Down
2 changes: 1 addition & 1 deletion modules/aerodyn/src/AeroDyn_AllBldNdOuts_IO.f90
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ SUBROUTINE Calc_WriteAllBldNdOutput( p, p_AD, u, m, m_AD, x, y, OtherState, Indx
nNd = p%NumBlNds
R_li => m%R_li ! inertial to local-polar
R_wi => m%orientationAnnulus ! inertial to without-sweep-pitch-twist or orientation annulus (TODO: deprecate me)
W2B => p_AD%FVW%Bld2Wings(iRot, :) ! From Wing index to blade index
if (p_AD%WakeMod == WakeMod_FVW) W2B => p_AD%FVW%Bld2Wings(iRot, :) ! From Wing index to blade index

! Initialize some things
ErrMsg = ''
Expand Down
3 changes: 3 additions & 0 deletions modules/awae/src/AWAE.f90
Original file line number Diff line number Diff line change
Expand Up @@ -958,6 +958,9 @@ subroutine AWAE_Init( InitInp, u, p, x, xd, z, OtherState, y, m, Interval, InitO
IfW_InitInp%lidar%HubPosition = 0.0_ReKi
IfW_InitInp%lidar%SensorType = SensorType_None
IfW_InitInp%Use4Dext = .false.
IfW_InitInp%MHK = 0 !FIXME: after merge to dev, change this test to use MHK_None
IfW_InitInp%WtrDpth = 0.0_ReKi
IfW_InitInp%MSL2SWL = 0.0_ReKi

if ( p%Mod_AmbWind == 2 ) then ! one InflowWind module

Expand Down
Loading

0 comments on commit 90ad82a

Please sign in to comment.