Skip to content

Commit

Permalink
Revert "Remove OpenFAST subtree; it is out of sync"
Browse files Browse the repository at this point in the history
This reverts commit 0877e99.
  • Loading branch information
rafmudaf committed Jun 29, 2021
1 parent 523b8b4 commit 0022f57
Show file tree
Hide file tree
Showing 738 changed files with 678,110 additions and 0 deletions.
6 changes: 6 additions & 0 deletions OpenFAST/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# add (semi-useful) version info to git archive
CreateGitVersion.bat ident export-subst

# Declare files that will always have CRLF line endings on checkout.
*.bat text eol=crlf

56 changes: 56 additions & 0 deletions OpenFAST/.github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
---
name: Bug report
about: Report a bug to help us improve
title: 'Bug report'
labels: "Type: Bug"
---

**Bug description**
<A clear and concise description of the bug.>

**To Reproduce**
<Update the following list with your specific information.>
Steps to reproduce the behavior:
1. Compile with '...'
2. Run '...' case with '...' settings
3. Open '...' output
4. See the error

**Expected behavior**
<A clear and concise description of what you expected to happen.>

**Screenshots, if applicable**
<Add screenshots to help explain your problem.>

**OpenFAST Version**
<Please provide as much detail as possible including git commit. The best information is a screenshot of the OpenFAST system description that prints when running OpenFAST:>

```
**************************************************************************************************
OpenFAST
Copyright (C) National Renewable Energy Laboratory
Copyright (C) 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-v2.0.0
Compile Info:
- Architecture: 64 bit
- Precision: double
- Date: Nov 27 2018
- Time: 17:19:38
Execution Info:
- Date: 11/29/2018
- Time: 10:52:28-0700
```

**System Information (please complete the following information):**
- OS: <e.g. Ubuntu 14.04 or macOS 10.12>
- Compiler: <e.g. GFortran 4.4>
- Compiler settings: <e.g. CMake flags or other settings>

**Additional context**
<Add any other context about the problem here.>
18 changes: 18 additions & 0 deletions OpenFAST/.github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
name: Feature request
about: Suggest an idea for this project
title: 'Feature request'
labels: 'Type: Enhancement'
---

**Is your feature request related to a problem? Please describe.**
<A clear and concise description of the problem.>

**Describe the solution you'd like**
<A clear and concise description of what you want to happen.>

**Describe alternatives you've considered**
<A clear and concise description of any alternative solutions or features youve considered.>

**Additional context**
<Add any other context or screenshots about the feature request here.>
18 changes: 18 additions & 0 deletions OpenFAST/.github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<!-- Is this pull request ready to be merged? -->
<!-- i.e. tests pass or are expected to fail; all development is finished; appropriate documentation is included. -->
<!-- If not but opening the pull request will facilitate development, make it a "draft" pull request -->

**Feature or improvement description**
<!-- A clear and concise description of the new code. -->

**Related issue, if one exists**
<!-- Link to a related GitHub Issue. -->

**Impacted areas of the software**
<!-- List any modules or other areas which should be impacted by this pull request. This helps to determine the verification tests. -->

**Additional supporting information**
<!-- Add any other context about the problem here. -->

**Test results, if applicable**
<!-- Add the results from unit tests and regression tests here along with justification for any failing test cases. -->
21 changes: 21 additions & 0 deletions OpenFAST/.github/actions/tests-gluecode-openfast/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: 'OpenFAST glue code tests'
description: 'Run tests focused on the OpenFAST glue code'
author: 'Rafael Mudafort https://github.com/rafmudaf'
runs:
using: 'composite'
steps:
- run: |
ctest -VV -L linear -E Ideal
ctest -VV -j8 -I 1,1,1,2,3,4,5,6,7,8,10,11,12,13,14,15,17,18,21,22,23,24,25,26,27,28,29
working-directory: ${{runner.workspace}}/build
shell: bash
# OpenFAST linearization tests
# Dont run these in parallel, copying the case files can fail in a race condition
# Exclude the Ideal_Beam test cases
# - They fail consistently in the Docker container when run on GitHub,
# but pass everywhere else including running the same Docker image locally

# Subset of OpenFAST regression tests; do not run
# - 9, 16 because they're very sensitive
# - 19, 20 because they're too long
9 changes: 9 additions & 0 deletions OpenFAST/.github/actions/tests-module-aerodyn/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: 'AeroDyn module tests'
description: 'Run tests specific to the AeroDyn module'
author: 'Rafael Mudafort https://github.com/rafmudaf'
runs:
using: "composite"
steps:
- run: ctest -VV -R fvw_utest
working-directory: ${{runner.workspace}}/build
shell: bash
24 changes: 24 additions & 0 deletions OpenFAST/.github/actions/tests-module-beamdyn/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: 'BeamDyn module tests'
description: 'Run tests specific to the BeamDyn module'
author: 'Rafael Mudafort https://github.com/rafmudaf'

inputs:
test-target:
description: 'Which tests to run: unit | regression | all'
default: 'all'

runs:
using: "composite"
steps:
- run: |
if [[ ${{ inputs.test-target }} == "unit" ]] || [[ ${{ inputs.test-target }} == "all" ]]; then
ctest -VV -R beamdyn_utest
fi
if [[ ${{ inputs.test-target }} == "regression" ]] || [[ ${{ inputs.test-target }} == "all" ]]; then
ctest -VV -j7 -R bd_
fi
working-directory: ${{runner.workspace}}/build
shell: bash
9 changes: 9 additions & 0 deletions OpenFAST/.github/actions/tests-module-hydrodyn/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: 'HydroDyn module tests'
description: 'Run tests specific to the HydroDyn module'
author: 'Rafael Mudafort https://github.com/rafmudaf'
runs:
using: "composite"
steps:
- run: ctest -VV -j7 -R hd_
working-directory: ${{runner.workspace}}/build
shell: bash
9 changes: 9 additions & 0 deletions OpenFAST/.github/actions/tests-module-inflowwind/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: 'InflowWind module tests'
description: 'Run tests specific to the InflowWind module'
author: 'Rafael Mudafort https://github.com/rafmudaf'
runs:
using: "composite"
steps:
- run: ctest -VV -R inflowwind_utest
working-directory: ${{runner.workspace}}/build
shell: bash
9 changes: 9 additions & 0 deletions OpenFAST/.github/actions/tests-module-nwtclibrary/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: 'NWTC Library module tests'
description: 'Run tests specific to the NWTC Library module'
author: 'Rafael Mudafort https://github.com/rafmudaf'
runs:
using: "composite"
steps:
- run: ctest -VV -R nwtc_library_utest
working-directory: ${{runner.workspace}}/build
shell: bash
148 changes: 148 additions & 0 deletions OpenFAST/.github/workflows/automated-dev-tests.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@

name: 'Development Pipeline'

on:
push:
paths-ignore:
- 'docs/**'
- 'share/**'
- 'vs-build/**'

pull_request:
types: [opened, synchronize] #labeled, assigned]
paths-ignore:
- 'docs/**'
- 'share/**'
- 'vs-build/**'

env:
FORTRAN_COMPILER: gfortran-10
NUM_PROCS: 8

# runs-on: ${{ matrix.os }}
# strategy:
# matrix:
# os: [macOS-10.14, ubuntu-18.04]

jobs:
regression-test:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@main
with:
submodules: recursive

- name: Setup Python
uses: actions/setup-python@v2
with:
python-version: '3.7'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install numpy Bokeh==1.4
- name: Setup Workspace
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure Build
working-directory: ${{runner.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DBUILD_TESTING:BOOL=ON \
-DCTEST_PLOT_ERRORS:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Build OpenFAST
# if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target install -- -j ${{env.NUM_PROCS}}

- name: Run BeamDyn tests
uses: ./.github/actions/tests-module-beamdyn
with:
test-target: regression
- name: Run HydroDyn tests
uses: ./.github/actions/tests-module-hydrodyn
- name: Run OpenFAST tests
# if: contains(github.event.head_commit.message, 'Action - Test All') || contains(github.event.pull_request.labels.*.name, 'Action - Test All')
uses: ./.github/actions/tests-gluecode-openfast

- name: Failing test artifacts
uses: actions/upload-artifact@v2
if: failure()
with:
name: test-results
path: |
${{runner.workspace}}/build/reg_tests/modules
${{runner.workspace}}/build/reg_tests/glue-codes/openfast
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/5MW_Baseline
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/AOC
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/AWT27
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/SWRT
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/UAE_VI
!${{runner.workspace}}/build/reg_tests/glue-codes/openfast/WP_Baseline
unit-test:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@main
with:
submodules: recursive
- name: Setup
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure
working-directory: ${{runner.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo \
-DBUILD_TESTING:BOOL=ON \
${GITHUB_WORKSPACE}
- name: Build unit tests
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target unit_tests -- -j ${{env.NUM_PROCS}}

- name: Run NWTC Library tests
uses: ./.github/actions/tests-module-nwtclibrary
- name: Run AeroDyn tests
uses: ./.github/actions/tests-module-aerodyn
- name: Run BeamDyn tests
uses: ./.github/actions/tests-module-beamdyn
with:
test-target: unit
- name: Run InflowWind tests
uses: ./.github/actions/tests-module-inflowwind

compile-all-single-precision:
# Test if single precision compile completes.
# Compiles all targets excluding tests.
# Do not run the test suite.

runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@main
with:
submodules: recursive
- name: Setup
run: cmake -E make_directory ${{runner.workspace}}/build
- name: Configure
working-directory: ${{runner.workspace}}/build
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
-DCMAKE_BUILD_TYPE:STRING=Debug \
-DDOUBLE_PRECISION:BOOL=OFF \
${GITHUB_WORKSPACE}
- name: Build all
working-directory: ${{runner.workspace}}/build
run: cmake --build . --target all -- -j ${{env.NUM_PROCS}}
- name: Test
working-directory: ${{runner.workspace}}/build
run: ./glue-codes/openfast/openfast -v
51 changes: 51 additions & 0 deletions OpenFAST/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll

# Fortran module files
*.mod
*.smod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app
__pycache__/*
*.pyc

# Build specific files
build*/
_build*/
install/
vs-build/

# OS and IDE specific files
.DS_Store
.vscode
.atom
.fortls
# backup files
*.asv
~$*.xlsx

# LaTeX compiling files
*.aux
*.nlo
*.log
6 changes: 6 additions & 0 deletions OpenFAST/.gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[submodule "reg_tests/r-test"]
path = reg_tests/r-test
url = https://github.com/OpenFAST/r-test.git
[submodule "unit_tests/pfunit"]
path = unit_tests/pfunit
url = https://github.com/Goddard-Fortran-Ecosystem/pFUnit.git
Loading

0 comments on commit 0022f57

Please sign in to comment.