Skip to content

Conversation

@andrew-platt
Copy link
Collaborator

@andrew-platt andrew-platt commented Apr 8, 2025

Feature or improvement description
Pull request to merge rc-4.0.3 into main and create a tagged release for v4.0.3

See the milestone and project pages for additional information

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

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
  • Update version info in openfast_io/pyproject.toml
  • Verify readthedocs builds correctly
  • Create an annotated tag in OpenFAST
  • Create a merge commit in r-test and add a corresponding annotated tag
  • Compile executables for Windows builds
    • AeroDisk_Driver_x64.exe
    • 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
    • IinflowWind_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
    • SeaStateDriver_x64.exe
    • SimpleElastoDyn_x64.exe
    • SubDyn_x64.exe
    • Turbsim_x64.exe
    • UnsteadyAero_x64.exe

Changelog

Overview

This release includes several bug fixes and improvements for FAST.Farm, including segmentation faults with large farms, file I/O collision fixes, increased error message length, and compile issues.

General

CMake Build System

#2709 Add "nouninit" to debug flags for IntelLLVM (@andrew-platt)

#2732 Disable use of heap arrays for the Intel fortran compilers (@deslaughter)

openfast_io

#2727 generate BD files if fst_vt dictionary BD keys are not empty (@mayankchetan)

Visual Studio build

#2742 Fix VS build for FAST when using IFX Complier (@deslaughter)

Solvers

FAST.Farm

#2711 Fix FAST.Farm issues with OMP (segfaults mostly) (@andrew-platt)

Module changes

NWTC library

#2710 Increase length of error messages (@andrew-platt)

#2741 bug in simulation status number of days left (@andrew-platt)

Input file changes

No input file changes are required from 4.0.2.

andrew-platt and others added 27 commits March 31, 2025 10:26
There is a bug in 2024 and 2025 IFX compiler that creates a conflict
with `-lm` and `-ldl` if `check uninit` is enabled.
Add "nouninit" to debug flags for IntelLLVM
The `close(Un)` is not atomic, so it may not have released the file
before declaring the unit available.  This can cause issues with
opening a whole bunch of files simulataneously.

There are other places that need this fix as well.
generate BD files if fst_vt dictionary BD keys are not empty
Co-authored-by: Derek Slaughter <deslaughter@gmail.com>
Changed fileopenNWTCio_critical to fileopen_critical so all file open is
the same OMP critical
Also remove from Read84AryWDefault.  Somehow this was triggering a
segfault with IFX.  No idea how.
Segmentation faults can occur if the OMP PARALLEL DO has enough private
memory per thread that it exceeds the default OMP_STACKSIZE="4 M".  If
this happens, `export OMP_STACKSIZE="32 M"` or suitably large value.

Calculating the values for this don't exactly work out as I would
expect, but are in the ballpark (see code note)
The routine isn't actually used... yet.  But for completeness adding the critical around the close so it isn't an issue later when I actually use the routine
Disable use of heap arrays for the Intel fortran compilers
Fix FAST.Farm issues with OMP (segfaults mostly)
@andrew-platt andrew-platt self-assigned this Apr 8, 2025
Copy link
Collaborator

@deslaughter deslaughter left a comment

Choose a reason for hiding this comment

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

Looks good!

Copy link
Collaborator

@jjonkman jjonkman left a comment

Choose a reason for hiding this comment

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

Thanks for getting this release out!

Copy link

@rthedin rthedin left a comment

Choose a reason for hiding this comment

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

Looks good to me. Stress-tested it on a 114-turbine case for 10s. Everything is working as expected.

pull bot pushed a commit to MRE-Code-Hub/openfast that referenced this pull request Apr 9, 2025
@andrew-platt
Copy link
Collaborator Author

This was merged into main this afternoon (git hash 20632d7), but GH is not showing it as merged. Will leave this open a bit and see if GH resolves it.

@andrew-platt andrew-platt marked this pull request as draft April 10, 2025 20:01
@andrew-platt andrew-platt marked this pull request as ready for review April 10, 2025 20:01
@andrew-platt andrew-platt deleted the rc-4.0.3 branch April 10, 2025 20:04
@andrew-platt andrew-platt restored the rc-4.0.3 branch April 10, 2025 20:05
@andrew-platt
Copy link
Collaborator Author

THIS WAS MERGED!!!!

Something on the backend at GH failed to show this as merged even though it was merged to main with commit 20632d7 on April 9, 2025.

@andrew-platt andrew-platt deleted the rc-4.0.3 branch April 18, 2025 19:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants