Skip to content

Commit 6a63db7

Browse files
authored
Merge pull request #2474 from OpenFAST/rc-3.5.4
Release 3.5.4
2 parents 43d3d2c + 8136967 commit 6a63db7

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

44 files changed

+23553
-1022
lines changed

.github/workflows/automated-dev-tests.yml

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ jobs:
4343
uses: actions/setup-python@v5
4444
with:
4545
python-version: '3.11'
46-
cache: 'pip'
46+
# cache: 'pip'
4747
- name: Install dependencies
4848
run: |
4949
pip install -r requirements.txt
@@ -128,7 +128,7 @@ jobs:
128128
uses: actions/setup-python@v5
129129
with:
130130
python-version: '3.11'
131-
cache: 'pip'
131+
# cache: 'pip'
132132
- name: Install dependencies
133133
run: |
134134
pip install -r requirements.txt
@@ -173,7 +173,7 @@ jobs:
173173
uses: actions/setup-python@v5
174174
with:
175175
python-version: '3.11'
176-
cache: 'pip'
176+
# cache: 'pip'
177177
- name: Install dependencies
178178
run: |
179179
pip install -r requirements.txt
@@ -226,7 +226,7 @@ jobs:
226226
uses: actions/setup-python@v5
227227
with:
228228
python-version: '3.11'
229-
cache: 'pip'
229+
# cache: 'pip'
230230
- name: Install dependencies
231231
run: |
232232
pip install -r requirements.txt
@@ -263,7 +263,7 @@ jobs:
263263
uses: actions/setup-python@v5
264264
with:
265265
python-version: '3.11'
266-
cache: 'pip'
266+
# cache: 'pip'
267267
- name: Install dependencies
268268
run: |
269269
pip install -r requirements.txt
@@ -300,7 +300,7 @@ jobs:
300300
uses: actions/setup-python@v5
301301
with:
302302
python-version: '3.11'
303-
cache: 'pip'
303+
# cache: 'pip'
304304
- name: Install dependencies
305305
run: |
306306
pip install -r requirements.txt
@@ -339,7 +339,7 @@ jobs:
339339
uses: actions/setup-python@v5
340340
with:
341341
python-version: '3.11'
342-
cache: 'pip'
342+
# cache: 'pip'
343343
- name: Install dependencies
344344
run: |
345345
pip install -r requirements.txt
@@ -400,7 +400,7 @@ jobs:
400400
uses: actions/setup-python@v5
401401
with:
402402
python-version: '3.11'
403-
cache: 'pip'
403+
# cache: 'pip'
404404
- name: Install dependencies
405405
run: |
406406
pip install -r requirements.txt
@@ -455,7 +455,7 @@ jobs:
455455
uses: actions/setup-python@v5
456456
with:
457457
python-version: '3.11'
458-
cache: 'pip'
458+
# cache: 'pip'
459459
- name: Install dependencies
460460
run: |
461461
pip install -r requirements.txt
@@ -513,7 +513,7 @@ jobs:
513513
uses: actions/setup-python@v5
514514
with:
515515
python-version: '3.11'
516-
cache: 'pip'
516+
# cache: 'pip'
517517
- name: Install dependencies
518518
run: |
519519
pip install -r requirements.txt
@@ -560,7 +560,7 @@ jobs:
560560
uses: actions/setup-python@v5
561561
with:
562562
python-version: '3.11'
563-
cache: 'pip'
563+
# cache: 'pip'
564564
- name: Install dependencies
565565
run: |
566566
pip install -r requirements.txt
@@ -612,7 +612,7 @@ jobs:
612612
uses: actions/setup-python@v5
613613
with:
614614
python-version: '3.11'
615-
cache: 'pip'
615+
# cache: 'pip'
616616
- name: Install dependencies
617617
run: |
618618
pip install -r requirements.txt
@@ -661,7 +661,7 @@ jobs:
661661
uses: actions/setup-python@v5
662662
with:
663663
python-version: '3.11'
664-
cache: 'pip'
664+
# cache: 'pip'
665665
- name: Install dependencies
666666
run: |
667667
pip install -r requirements.txt
@@ -710,7 +710,7 @@ jobs:
710710
uses: actions/setup-python@v5
711711
with:
712712
python-version: '3.11'
713-
cache: 'pip'
713+
# cache: 'pip'
714714
- name: Install dependencies
715715
run: |
716716
pip install -r requirements.txt
@@ -759,7 +759,7 @@ jobs:
759759
uses: actions/setup-python@v5
760760
with:
761761
python-version: '3.11'
762-
cache: 'pip'
762+
# cache: 'pip'
763763
- name: Install dependencies
764764
run: |
765765
pip install -r requirements.txt
@@ -808,7 +808,7 @@ jobs:
808808
uses: actions/setup-python@v5
809809
with:
810810
python-version: '3.11'
811-
cache: 'pip'
811+
# cache: 'pip'
812812
- name: Install dependencies
813813
run: |
814814
pip install -r requirements.txt
@@ -857,7 +857,7 @@ jobs:
857857
uses: actions/setup-python@v5
858858
with:
859859
python-version: '3.11'
860-
cache: 'pip'
860+
# cache: 'pip'
861861
- name: Install dependencies
862862
run: |
863863
pip install -r requirements.txt
@@ -906,7 +906,7 @@ jobs:
906906
uses: actions/setup-python@v5
907907
with:
908908
python-version: '3.11'
909-
cache: 'pip'
909+
# cache: 'pip'
910910
- name: Install dependencies
911911
run: |
912912
pip install -r requirements.txt

.github/workflows/build-docker-image-automatic.yml renamed to .github/workflows/deploy.yml

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,41 @@
1-
# This workflow builds an OpenFAST docker image for the linux/amd64 and linux/aarch64 architectures on merge into
2-
# `main` from a release candidate branch. The image is tagged both with "latest" and the version extracted from the
3-
# release candidate branch's name (e.g. "rc-3.5.3") before being pushed to the `nrel/openfast` repository. The build
4-
# cache is stored in GitHub actions.
5-
name: build-docker-image-automatic
1+
# This workflow uploads the `openfast` python package to PyPI before building an OpenFAST docker image for the
2+
# linux/amd64 and linux/aarch64 architectures on release. The image is tagged both with "latest" and the version
3+
# extracted from the release candidate branch's name (e.g. "rc-3.5.3") before being pushed to the `nrel/openfast`
4+
# repository. The build cache is stored in GitHub actions.
5+
name: deploy
66

77
on:
8+
workflow_dispatch:
9+
810
release:
911
types:
1012
- released
1113

1214
jobs:
13-
build-and-push:
15+
publish-to-pypi:
16+
runs-on: ubuntu-latest
17+
permissions:
18+
id-token: write
19+
contents: read
20+
21+
steps:
22+
- name: Checkout Repository
23+
uses: actions/checkout@v4
24+
25+
- name: Install Poetry
26+
uses: snok/[email protected]
27+
28+
- name: Build a binary wheel and a source tarball
29+
run: poetry build
30+
working-directory: openfast_python
31+
32+
- name: Publish package distributions to PyPI
33+
uses: pypa/[email protected]
34+
with:
35+
packages-dir: openfast_python/dist
36+
37+
38+
docker-build-and-push:
1439
runs-on: ubuntu-latest
1540
timeout-minutes: 300
1641
env:

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ vs-build/
4343
.fortls
4444
.devcontainer
4545
.idea
46+
.env
4647

4748
# backup files
4849
*.asv

cmake/OpenfastFortranOptions.cmake

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,9 @@ endmacro(set_fast_intel_fortran)
158158
# arch
159159
#
160160
macro(set_fast_intel_fortran_posix)
161-
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fpic -fpp")
161+
# Set size where temporary are stored on heap instead of stack
162+
# 1000: size in kB (1 MB)
163+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -fpic -fpp -heap-arrays 1000")
162164

163165
# debug flags
164166
if(CMAKE_BUILD_TYPE MATCHES Debug)
@@ -201,7 +203,9 @@ macro(set_fast_intel_fortran_windows)
201203
# Turn off specific warnings
202204
# - 5199: too many continuation lines
203205
# - 5268: 132 column limit
204-
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /Qdiag-disable:5199,5268 /fpp")
206+
# Set size where temporary are stored on heap instead of stack
207+
# 1000: size in kB (1 MB)
208+
set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /Qdiag-disable:5199,5268 /fpp /heap-arrays:1000")
205209

206210
# If double precision, make constants double precision
207211
if (DOUBLE_PRECISION)

docs/changelogs/v3.5.4.md

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
**Feature or improvement description**
2+
Pull request to merge `rc-3.5.4` into `main` and create a tagged release for v3.5.4.
3+
4+
See the milestone and project pages for additional information
5+
6+
https://github.com/OpenFAST/openfast/milestone/14
7+
8+
Test results, if applicable
9+
See GitHub Actions
10+
11+
### Release checklist:
12+
- [ ] Update the documentation version in docs/conf.py
13+
- [ ] Update the versions in docs/source/user/api_change.rst
14+
- [ ] Verify readthedocs builds correctly
15+
- [ ] Create a tag in OpenFAST
16+
- [ ] Create a merge commit in r-test and add a corresponding annotated tag
17+
- [ ] Compile executables for Windows builds
18+
- [ ] AeroDyn_Driver_x64.exe
19+
- [ ] AeroDyn_Driver_x64_OpenMP.exe
20+
- [ ] AeroDyn_Inflow_C_Binding_x64.dll
21+
- [ ] AeroDyn_Inflow_C_Binding_x64_OpenMP.dll
22+
- [ ] BeamDyn_Driver_x64.exe
23+
- [ ] DISCON.dll (x64)
24+
- [ ] DISCON_ITIBarge.dll (x64)
25+
- [ ] DISCON_OC3Hywind.dll (x64)
26+
- [ ] DISCON_SC.dll (x64)
27+
- [ ] FAST.Farm_x64.exe
28+
- [ ] FAST.Farm_x64_OMP.exe
29+
- [ ] FAST_SFunc.mexw64
30+
- [ ] HydroDynDriver_x64.exe
31+
- [ ] HydroDyn_C_Binding_x64.dll
32+
- [ ] IfW_C_Binding_x64.dll
33+
- [ ] InflowWind_Driver_x64.exe
34+
- [ ] InflowWind_Driver_x64_OpenMP.exe
35+
- [ ] MoorDyn_Driver_x64.exe
36+
- [ ] MoorDyn_C_Binding_x64.dll
37+
- [ ] OpenFAST-Simulink_x64.dll
38+
- [ ] openfast_x64.exe
39+
- [ ] Turbsim_x64.exe
40+
41+
# Changelog
42+
43+
## Overview
44+
45+
This release includes performance improvements for BeamDyn (up to 30% speed increase), python file readers and writers from WEIS, and a fix for stack overflows with FAST.Farm (Intel compilation). A few other minor updates are included as outlined below.
46+
47+
Anyone using BeamDyn will want to update to this version.
48+
49+
50+
## General
51+
52+
### Build systems
53+
54+
#2311 Always build `openfastcpplib` as shared. Use `BUILD_OPENFAST_CPP_DRIVER` to disable `openfastcpp` executable (@deslaughter)
55+
#2173 Fix crash in `MAP_End` when using Intel's new icx compiler and disable caching in setup-python GH action (@deslaughter)
56+
57+
58+
### Python file readers/writers
59+
60+
#2188 Add WEIS file readers and writers (@cortadocodes and @mayankchetan)
61+
62+
63+
## Solvers
64+
65+
### FAST.Farm
66+
67+
#2452 Fix for some stack overflow issues with FAST.Farm when copying large amounts of wind data (closes #2053) (@andrew-platt)
68+
#2340 Add `!$ OMP critical` around file opening for VTK to prevent file collision (@andrew-platt)
69+
70+
71+
## Module changes
72+
73+
### BeamDyn
74+
75+
#2399 BeamDyn performance improvements (@deslaughter)
76+
77+
78+
### ElastoDyn
79+
80+
#2321 Backport of #2317: Explicitly initialize `ED` `RtHS` to zero -- corrects issue with inccorect linearization results (@andrew-platt)
81+
82+
83+
### HydroDyn
84+
#2397 HD bug fix: prevent array index out-of-bound error in `HDOut_MapOutputs` when more than 9 potential-flow bodies are present (@luwang00)
85+
86+
### NWTC-Library
87+
#2389 FileInfoType: increase line length allowed (@andrew-platt)
88+
89+
## Input file changes
90+
91+
No input files change with this release, as this only includes minor bugfixes.
92+
93+
Full list of changes: https://openfast.readthedocs.io/en/main/source/user/api_change.html
94+
95+
Full input file sets: https://github.com/OpenFAST/r-test/tree/v3.5.4 (example input files from the regression testing)
96+

docs/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ def runDoxygen(sourcfile, doxyfileIn, doxyfileOut):
130130
# The short X.Y version.
131131
version = u'3.5'
132132
# The full version, including alpha/beta/rc tags.
133-
release = u'v3.5.3'
133+
release = u'v3.5.4'
134134

135135
# The language for content autogenerated by Sphinx. Refer to documentation
136136
# for a list of supported languages.

0 commit comments

Comments
 (0)