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

ROSCO v2.9.0 #304

Merged
merged 292 commits into from
Jan 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
292 commits
Select commit Hold shift + click to select a range
a362dc4
Fix OL_Input reading
dzalkind Jan 14, 2022
0971f30
Set wind speed, rotor speed IC in example 14
dzalkind Jan 14, 2022
e119569
Debug OL reading
dzalkind Jan 14, 2022
a568be6
Add more debugging lines
dzalkind Jan 14, 2022
5692ab8
Add more debugging lines 2
dzalkind Jan 14, 2022
3beca3e
Clean up, hone in on debug call
dzalkind Jan 15, 2022
480c7c4
Disable logging level
dzalkind Jan 15, 2022
c8b2337
Merge remote-tracking branch 'upstream/develop' into f/ipc
dzalkind Jan 18, 2022
58b4e1b
Update discons - resolve conflict
dzalkind Jan 18, 2022
a9f43b9
Print when finished with ROSCO
dzalkind Jan 18, 2022
38a13da
add control packageg
nikhar-abbas Jan 18, 2022
d50e23a
Add twr frequency exclusion zone
nikhar-abbas Jan 19, 2022
a5eb72c
fix units for exclusion zone
nikhar-abbas Jan 19, 2022
eb9b901
Add exclusion zone mode to
nikhar-abbas Jan 19, 2022
7e30c4d
Add exclusion zone to example
nikhar-abbas Jan 19, 2022
2d8a945
Update DISCONs
nikhar-abbas Jan 19, 2022
1be503c
Fix print var type for WE_CP
nikhar-abbas Jan 20, 2022
a857211
Allow default inputs (#110)
dzalkind Feb 25, 2022
9b5499d
ipc (#105)
nikhar-abbas Mar 18, 2022
5f18bf8
Increment version number
dzalkind Mar 21, 2022
8c31287
Bladed docs (#116)
dzalkind Mar 21, 2022
d7d15b0
Update version in API change docs
dzalkind Mar 22, 2022
4126adb
Bladed readthedocs (#117)
dzalkind Mar 22, 2022
e9c9378
Merge remote-tracking branch 'upstream/develop' into develop
dzalkind Mar 22, 2022
d520192
Update docs to reflect CI process
dzalkind Mar 30, 2022
bd0562c
sigma + ipc (#125)
nikhar-abbas Apr 25, 2022
e035a7d
Flip Ct and Cq table allocation (#130)
dzalkind Apr 27, 2022
5cdb0b5
Pitch Actuator and IPC updates (#123)
dzalkind May 6, 2022
50a2f90
Add OpenFAST channels that Simulink reads (#135)
dzalkind May 20, 2022
75e7fb8
RAAW Updates (#133)
dzalkind May 20, 2022
0bf504e
Pass through (#136)
dzalkind May 20, 2022
9ca75e1
Robust control updates (#139)
nikhar-abbas Jun 3, 2022
b45fb43
External Control Interface (#141)
dzalkind Jun 13, 2022
40a4edc
F/zmq (#145)
nikhar-abbas Jun 28, 2022
9bc45ce
Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone
nikhar-abbas Jun 30, 2022
df91963
Update registry
nikhar-abbas Jun 30, 2022
772e36f
update discons
nikhar-abbas Jun 30, 2022
eec3d5f
Merge branch 'develop' into f/exclusion_zone
dzalkind Aug 9, 2022
2da1a16
Change TD_Mode to Twr_Mode
dzalkind Aug 9, 2022
16bd05c
Clean up TwrControl_Mode
dzalkind Aug 9, 2022
ae7b267
Update example 05 units
dzalkind Sep 12, 2022
778822b
Add generator efficiency to power output of simple simulation
dzalkind Sep 12, 2022
86c8acf
Update Windows install instructions
dzalkind Sep 12, 2022
b933b3b
Add rotor speed tracking, test case
dzalkind Sep 13, 2022
34ca985
Update discons
dzalkind Sep 14, 2022
2efac84
Adding pitch actuator fault (#163)
mayankchetan Sep 26, 2022
decd694
Various Bug Fixes (#167)
dzalkind Sep 28, 2022
9384f03
Added feature to read AeroDyn 14 files also for the case without towe…
verlivkra Oct 14, 2022
602332e
Various Bug Fixes (#188)
dzalkind Dec 12, 2022
827b281
Update sim.py (#196)
aclerc Dec 19, 2022
5ad1d41
Doc fix (#200)
dzalkind Dec 22, 2022
9d27a33
OpenFAST v3.3.0 (#202)
dzalkind Dec 23, 2022
a2741f2
Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone
dzalkind Jan 4, 2023
f2db212
Tidy up merge with develop
dzalkind Jan 4, 2023
b1f78e0
Add VS_RefSpd and PC_RefSpd to LocalVars
dzalkind Jan 11, 2023
a3aa81f
Separate collective pitch command from total, use in SS
dzalkind Jan 11, 2023
f7bae00
Tidy input writer
dzalkind Jan 11, 2023
6881ac0
Add TRA example
dzalkind Jan 11, 2023
591571e
Add Twr_GainFactor and Twr_GainTau
dzalkind Jan 11, 2023
b1e1229
Allow Twr_Mode of 3 in tuning yaml
dzalkind Jan 11, 2023
c8d08c1
Fix default Twr_GainTau
dzalkind Jan 11, 2023
b5c65bd
Add example_19 to CI
dzalkind Jan 11, 2023
b3a8b1c
Try compilers in macOS build
dzalkind Jan 11, 2023
75a648c
AWC First Version, collected changes
ndevelder Jan 17, 2023
05d7b3b
Compatibility with Numpy v1.24 (#208)
gbarter Jan 18, 2023
15c0603
Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone
dzalkind Jan 18, 2023
721fbf5
Use new numpy
dzalkind Jan 18, 2023
f5428de
Merge remote-tracking branch 'upstream/develop' into rosco_awc_merge
dzalkind Jan 18, 2023
0be88d4
Add AWC parameters to registry, regenerate types
dzalkind Jan 23, 2023
1e80263
Apply DbKi to COMPLEX
dzalkind Jan 23, 2023
0575d75
Re-organize AWC pitch contribution, before actuator
dzalkind Jan 23, 2023
974e271
Separate contribution to PitCom from mode calculation
dzalkind Jan 23, 2023
515da17
Make AWC_complexangle a LocalVar for logging
dzalkind Jan 23, 2023
be28641
Allow PA_Mode 1 (#213)
dzalkind Jan 25, 2023
e554c1d
IPC Saturation Fix [RAAW] (#210)
dzalkind Jan 26, 2023
c51ed30
Removed duplicate pitch assignment and removed MinPitch mods for AWC
ndevelder Jan 27, 2023
3155b63
Add script for updating DISCON versions (#214)
dzalkind Feb 2, 2023
0c0e466
Fixes to readsetparams and awc location
ndevelder Feb 3, 2023
20c9c9d
Adding NREL 2.8 127 for AWC testing
ndevelder Feb 3, 2023
a1cf97b
Rename examples (#215)
dzalkind Feb 7, 2023
42525a9
V270 prep (#218)
dzalkind Feb 10, 2023
f5c3c1e
Add case generation updates
dzalkind Feb 10, 2023
a471783
Add initial AWC example, needs OF3.4
dzalkind Feb 10, 2023
2f941e3
Merge remote-tracking branch 'upstream/main' into develop
dzalkind Feb 10, 2023
d05ef6c
Merge branch 'develop' into rosco_awc_merge
dzalkind Feb 10, 2023
80bd691
Add AWC_Mode and move AWC into subroutine
dzalkind Feb 10, 2023
b102b34
Update example to point to correct inputs
dzalkind Feb 10, 2023
5c5333b
Remove LocalVar%PC_MinPit = CntrPar%PC_MinPit, breaking setpoint smoo…
dzalkind Feb 10, 2023
da46fac
Set min pitch for AWC
dzalkind Feb 10, 2023
cc4080d
Tidy up input additions
dzalkind Feb 10, 2023
1201a66
Update other DISCONs
dzalkind Feb 10, 2023
1693602
Add AWC to toolbox schema
dzalkind Feb 10, 2023
2bb0176
Tidy example
dzalkind Feb 10, 2023
d93d443
Update AWC example with instructions/theory
ndevelder Feb 14, 2023
3c40565
Formatting fixes
ndevelder Feb 14, 2023
83022e5
Prep for more modes
dzalkind Feb 15, 2023
a7d3303
Merge remote-tracking branch 'upstream/main' into develop
dzalkind Feb 15, 2023
f6d061f
Update 20_active_wake_control.py
kbrown1snl Feb 16, 2023
1824f99
Fix units in schema
dzalkind Feb 16, 2023
cabbb2a
Merge pull request #1 from kbrown1snl/patch-1
ndevelder Feb 17, 2023
de16ecd
Test all AWC cases in example 20
dzalkind Feb 17, 2023
de3a6fe
Tidy up DISCON file writing
dzalkind Feb 17, 2023
87b3f09
Revert setup directory
dzalkind Feb 17, 2023
46e7168
Update 20_active_wake_control.py
kbrown1snl Feb 22, 2023
32dc9fd
Update NREL-2p8-127_DISCON.IN
kbrown1snl Feb 24, 2023
ae5090b
Update Controllers.f90
kbrown1snl Feb 24, 2023
5c878ad
Update ROSCO_Types.f90
kbrown1snl Feb 24, 2023
baaa8db
Update ReadSetParameters.f90
kbrown1snl Feb 24, 2023
b141c4e
Update 20_active_wake_control.py
kbrown1snl Feb 24, 2023
826ca01
Update toolbox_schema.yaml
kbrown1snl Feb 24, 2023
797e554
Update utilities.py
kbrown1snl Feb 24, 2023
ff0ce39
Update rosco_types.yaml
kbrown1snl Feb 24, 2023
3bc2185
Added NREL-developed AWC-implementation
jfrederik-nrel Feb 27, 2023
687b760
Undo unintentional changes to wrie_registry.py
jfrederik-nrel Feb 28, 2023
70d5771
Fix file writing in AWC section
dzalkind Feb 28, 2023
b24f07b
Merge remote-tracking branch 'upstream/develop' into awc
dzalkind Feb 28, 2023
a9ec14e
Update all DISCONs
dzalkind Feb 28, 2023
4604ebb
Add 20_awc to test_examples
dzalkind Feb 28, 2023
b17f350
Add 2.8 to update_discons, regenerate DISCON
dzalkind Feb 28, 2023
b2fdfbc
Update AWC_Mode descriptions
dzalkind Feb 28, 2023
e899600
Updated Coleman Transformation based AWC
jfrederik-nrel Mar 7, 2023
1ccc1b3
Platform control and Optional Inputs (#227)
dzalkind Mar 7, 2023
87cde8c
Merge remote-tracking branch 'upstream/develop' into awc
dzalkind Mar 7, 2023
8ea0a4c
Merge remote-tracking branch 'jfred/AWC_NREL' into awc
dzalkind Mar 7, 2023
daf77e9
Merge remote-tracking branch 'ndev/rosco_awc_merge' into awc
dzalkind Mar 7, 2023
ca7c44d
Tidy print statements, file writing
dzalkind Mar 7, 2023
4e2a778
Remove duplicate PF_Offsets input read
dzalkind Mar 7, 2023
74c7fcb
Rename methods in readme
dzalkind Mar 7, 2023
e4d7ec2
Tidy input writing, remove `future` references
dzalkind Mar 7, 2023
4194da4
Force AWC_n into int
dzalkind Mar 8, 2023
c1e4be7
Force AWC_n into int better
dzalkind Mar 8, 2023
5e75601
Make AWC_n a list, too
dzalkind Mar 8, 2023
de8d228
Fix input file writing, force into int in write_array
dzalkind Mar 8, 2023
e1379de
Run ROSCO_testing from anywhere
dzalkind Mar 8, 2023
2947b4f
Dylib -> so in Test_Cases
dzalkind Mar 8, 2023
cae3f17
Updated AWC input parameters.
jfrederik-nrel Mar 15, 2023
bd4d7d5
Added checks for AWC inputs.
jfrederik-nrel Mar 16, 2023
1e25c88
Fixed bug in added AWC input checks.
jfrederik-nrel Mar 16, 2023
50f4191
Update error message
dzalkind Mar 20, 2023
50bd08c
Tidy up IPC, allow AWC and IPC with warning
dzalkind Mar 20, 2023
e02379d
Remove AWC references from IPC
dzalkind Mar 20, 2023
3851a6b
Remove lingering comment
dzalkind Mar 20, 2023
9d7e18d
Tidy file writing
dzalkind Mar 20, 2023
7f12c9c
Clean up comments
dzalkind Mar 20, 2023
8e4cf8b
Allow more than 99 local variables in dbg2
dzalkind Mar 20, 2023
bc33417
Update api_change.rst
jfrederik-nrel Mar 20, 2023
17ce1a5
Merge remote-tracking branch 'jfred/patch-1' into awc
dzalkind Mar 20, 2023
728c61d
Update 20_active_wake_control.py
kbrown1snl Mar 27, 2023
820aa66
Merge pull request #2 from kbrown1snl/patch-2
dzalkind Mar 27, 2023
90c4041
Add optimized NREL2p8 controller input
dzalkind Mar 30, 2023
5afb385
Parallelize output processing
dzalkind Apr 3, 2023
fbb44c4
Add IPC gain to NREL2p8
dzalkind Apr 3, 2023
fe24704
Merge remote-tracking branch 'upstream/develop' into power_ref_tracking
dzalkind Apr 3, 2023
52e3708
Finish merge with inputs and registry
dzalkind Apr 3, 2023
1e38c90
Update IPC example for testing sat modes
dzalkind Apr 3, 2023
e49f383
Add latest plot_FAST notebook
dzalkind Apr 3, 2023
9e5fd58
Add PRC example
dzalkind Apr 3, 2023
f1037ec
Merge remote-tracking branch 'origin/awc' into power_ref_tracking
dzalkind Apr 3, 2023
099532b
Finish merge with awc inputs and registry
dzalkind Apr 3, 2023
5a7046f
Active Wake Control (#230)
dzalkind Apr 3, 2023
8a39f3c
Update example with ramp, reference
dzalkind Apr 3, 2023
7669419
Merge remote-tracking branch 'upstream/develop' into power_ref_tracking
dzalkind Apr 3, 2023
de15e52
Various bug fixes (#233)
dzalkind Apr 4, 2023
ac14b17
Init PC_RefSpeed if no PRC
dzalkind Apr 5, 2023
60b366d
Revert openfast changes
dzalkind Apr 5, 2023
24bded0
Add note about offset
dzalkind Apr 5, 2023
585e2c8
Open loop platform control (#236)
dzalkind Apr 10, 2023
339ad53
Tidy example output
dzalkind Apr 10, 2023
79426f7
Increment version number
dzalkind Apr 10, 2023
0dc1ad0
Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone
dzalkind Apr 19, 2023
1c644ec
Update TRA example
dzalkind Apr 19, 2023
23879c8
Remove old TD_Mode references
dzalkind Apr 19, 2023
90357a2
Merge remote-tracking branch 'upstream/develop' into power_ref_tracking
dzalkind Apr 20, 2023
12f8fdb
Merge remote-tracking branch 'upstream/main' into develop
dzalkind Jun 8, 2023
5fd97e2
Increment version number
dzalkind Jun 8, 2023
e5b1af5
Yaw Rate Bug Fix (#239)
dzalkind Jun 9, 2023
c701f67
OpenFAST 3.5.0 (#246)
dzalkind Jul 10, 2023
2f069da
Floating Feedback Gain Scheduling (#241)
alandwright Jul 20, 2023
d4d4cb2
Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone
dzalkind Jul 24, 2023
fef9243
Fix relative Cp filepaths
dzalkind Jul 24, 2023
273af27
Regen registry, discons
dzalkind Jul 24, 2023
9de385b
Merge remote-tracking branch 'upstream/develop' into power_ref_tracking
dzalkind Jul 24, 2023
d9547dd
Fix relative Cp filepaths
dzalkind Jul 24, 2023
178217b
Regenerate registry, inputs
dzalkind Jul 24, 2023
c641b54
Rotor Position Control (#255)
dzalkind Aug 4, 2023
31332d9
Update .readthedocs.yaml to remove use of 'system_packages' as it is …
abhineet-gupta Aug 9, 2023
63bcb0d
Extend ROSCO for MHK (#257)
AthulKrishnaSundarrajan Sep 19, 2023
716b2e4
Merge remote-tracking branch 'upstream/develop' into power_ref_tracking
dzalkind Sep 22, 2023
b27629b
Rename power ref example
dzalkind Sep 22, 2023
ea55560
Shorten PRC example
dzalkind Sep 22, 2023
b5eb5c0
Use updated DISCON writing functions for PRC inputs
dzalkind Sep 22, 2023
24052dc
Revert run_FAST cases
dzalkind Sep 25, 2023
3092e38
Tidy example documentation, output
dzalkind Sep 25, 2023
b817a5c
Bring back new VS_ControlMode that merge lost
dzalkind Sep 25, 2023
38f27de
Add LPF on WSE for speed selection, use gen speed rather than rotor
dzalkind Sep 26, 2023
d9a31fb
Document API changes
dzalkind Sep 26, 2023
32292e5
Bring back saturation of torque reference speed
dzalkind Sep 26, 2023
3b0bde0
Update PRC example with PRC_GenSpeeds
dzalkind Sep 26, 2023
e75baa2
Remove pCrunch notebook
dzalkind Sep 27, 2023
989ce5b
Merge pull request #170 from dzalkind/power_ref_tracking
abhineet-gupta Sep 27, 2023
25cf219
Re-work exclusion zone with simpler implementation
dzalkind Sep 28, 2023
b10ec71
Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone
dzalkind Sep 28, 2023
4ebd135
Clean up types, make band total width of band
dzalkind Sep 28, 2023
2c76747
Increase max file unit (#253)
dzalkind Oct 6, 2023
93b1662
Remove TD_Mode, regen inputs, docs
dzalkind Oct 9, 2023
3c0c800
Add Twr_Mode error catching and warnings
dzalkind Oct 9, 2023
9ca681b
Clean up more old TD_Modes
dzalkind Oct 9, 2023
31b7cc8
Update API docs
dzalkind Oct 9, 2023
b66cd11
Add types to scalars (#264)
rthedin Oct 17, 2023
0e80094
Update api_change.rst formatting
dzalkind Oct 17, 2023
f2a624d
Update .readthedocs.yaml with build.os
dzalkind Oct 17, 2023
6f1ccfa
Update .readthedocs.yaml with other build options
dzalkind Oct 17, 2023
80973fe
Update .readthedocs.yaml with python 3.9
dzalkind Oct 17, 2023
04d3f52
Update .readthedocs.yaml with new python version
dzalkind Oct 17, 2023
c479034
Update .readthedocs.yaml with another python version
dzalkind Oct 17, 2023
328d29e
Update .readthedocs.yaml with version key
dzalkind Oct 17, 2023
8693d4b
Update .readthedocs.yaml
dzalkind Oct 17, 2023
dd01047
Update .readthedocs.yaml remove old python version
dzalkind Oct 17, 2023
a610e55
Better Open Loop Control Error Catching (#273)
dzalkind Oct 27, 2023
c75738e
Modified ZeroMQ interface to include pitch offsets (#261)
mvanv Nov 6, 2023
f71b8ec
Rate limit set point, needs clean up
dzalkind Nov 16, 2023
9d5e21a
Clean up Twr_ variables and names names
dzalkind Nov 16, 2023
5b38681
Clean up inputs further
dzalkind Nov 16, 2023
a681eb7
Update toolbox docs
dzalkind Nov 16, 2023
7d6b45a
Try apt-get update
dzalkind Nov 9, 2023
be4753b
Revert PC_PitComC to T
dzalkind Nov 16, 2023
47dd2d6
Update API docs
dzalkind Nov 16, 2023
05ed0f4
Wind Farm Control Interface (#280)
dzalkind Dec 15, 2023
2b0f882
Set up TRA example
dzalkind Dec 20, 2023
b2acd3e
Clean up PRC example
dzalkind Dec 20, 2023
3c9e00f
Add PC_RefSpd interim signals
dzalkind Dec 20, 2023
ef5aa13
Add signals to IO and Types
dzalkind Dec 20, 2023
69da721
Change guidance in api reference
dzalkind Dec 20, 2023
f93f281
Add clarification on fastcall
dzalkind Dec 20, 2023
1e455a0
Merge remote-tracking branch 'upstream/develop' into f/exclusion_zone
dzalkind Dec 20, 2023
2decc81
Add ZMQ_ID to api change
dzalkind Dec 20, 2023
77255d1
Rename TRA example, add to CI testing
dzalkind Dec 20, 2023
4f7d273
Separate TD and TRA control modes
dzalkind Dec 21, 2023
173a915
Remove extra update_discons
dzalkind Dec 22, 2023
9d97bc2
Revert IEA yaml
dzalkind Dec 22, 2023
eed259d
Update toolbox input rst
dzalkind Dec 22, 2023
fb5c43d
Skip upload of artifacts
dzalkind Dec 22, 2023
6a3b194
Merge pull request #164 from dzalkind/f/exclusion_zone
abhineet-gupta Dec 27, 2023
92e2ac5
Reorganize Repo (#294)
dzalkind Jan 5, 2024
c5de22f
Modernize setup and CI (#297)
dzalkind Jan 8, 2024
2d05258
switch to cmake-build-extension and logic for finding rosco library path
gbarter Jan 9, 2024
8c39105
hopefully caught everything
gbarter Jan 9, 2024
b1c943e
fixes for windows
gbarter Jan 9, 2024
4cdef25
Merge pull request #300 from NREL/smart_lib_path
gbarter Jan 9, 2024
23eef73
V2.9.0 Prep (#299)
dzalkind Jan 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
205 changes: 138 additions & 67 deletions .github/workflows/CI_rosco-compile.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,75 +3,146 @@ name: CI_rosco-compile
# We run CI on push commits on all branches
on: [push, pull_request]

# Specify FORTRAN compiler, used to be "gfortran-10"
env:
FORTRAN_COMPILER: gfortran

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
build:
name: Build (${{ matrix.os }})
runs-on: ${{ matrix.os }}
strategy:
fail-fast: true
matrix:
os: ["ubuntu-latest", "macOS-latest", "windows-latest"]
python-version: ["3.9"]

steps:
- name: Checkout repository
uses: actions/checkout@v3

- name: Setup environment
uses: conda-incubator/setup-miniconda@v2
with:
miniconda-version: "latest"
channels: conda-forge, general
auto-update-conda: true
python-version: 3.9
environment-file: environment.yml

# Install ROSCO toolbox
- name: Install ROSCO toolbox
shell: bash -l {0}
run: |
python setup.py install
build_pip:
name: Pip Build (${{ matrix.os }}) - ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -l {0}

strategy:
fail-fast: false #true
matrix:
os: ["ubuntu-latest", "macOS-latest", "windows-latest"]
python-version: ["3.9", "3.10", "3.11"]

steps:
- name: Setup GNU Fortran
# if: false == contains( matrix.os, 'windows')
uses: awvwgk/setup-fortran@v1 #modflowpy/install-intelfortran-action@v1 #

- name: checkout repository
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
id: cp
with:
python-version: ${{ matrix.python-version }}
update-environment: true

#- name: Setup tmate session
# if: contains( matrix.os, 'windows')
# uses: mxschmitt/action-tmate@v3

# Install ZeroMQ- should be done via Conda
#- name: Install ZeroMQ
# run: |
# sudo apt-get update
# sudo apt-get install libzmq3-dev

- name: Pip Install ROSCO
run: |
'${{ steps.cp.outputs.python-path }}' -m pip install -e .

# Re-generate registry
- name: Generate Registry
shell: bash -l {0}
run: python ROSCO/rosco_registry/write_registry.py
# Re-generate registry
- name: Generate Registry
run: |
'${{ steps.cp.outputs.python-path }}' rosco/controller/rosco_registry/write_registry.py

- name: Test run
# skipping pip test on windows for now until wisdem pypi is ready
if: false == contains( matrix.os, 'windows')
run: |
cd Examples
'${{ steps.cp.outputs.python-path }}' 01_turbine_model.py


build_and_test_conda:
name: Conda Build (${{ matrix.os }}) - ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -el {0}

strategy:
fail-fast: false #true
matrix:
os: ["ubuntu-latest", "macOS-latest", "windows-latest"]
python-version: ["3.9", "3.10", "3.11"]

steps:
- name: checkout repository
uses: actions/checkout@v4

- uses: conda-incubator/setup-miniconda@v2
# https://github.com/marketplace/actions/setup-miniconda
with:
#mamba-version: "*"
miniforge-version: "latest"
auto-update-conda: true
python-version: ${{ matrix.python-version }}
environment-file: environment.yml
activate-environment: test
auto-activate-base: false

- name: Add dependencies windows specific
if: contains( matrix.os, 'windows')
run: |
conda install -y m2w64-toolchain libpython
gfortran --version

- name: Add dependencies mac specific
if: contains( matrix.os, 'mac')
run: |
conda install -y compilers
gfortran --version

# Install
- name: Debug
run: |
conda list
printenv

#- name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
# with:
# detached: true
# if: contains( matrix.os, 'windows')

- name: Conda Install ROSCO
run: |
python -m pip install -e .

- name: Install OpenFAST
run: |
conda install openfast==3.5.1

- name: Add dependencies windows
if: true == contains( matrix.os, 'windows')
run: |
conda install -y m2w64-toolchain

- name: Add dependencies windows
if: true == contains( matrix.os, 'mac')
shell: bash -l {0}
run: |
conda install -y gfortran

- name: Setup Workspace
run: |
cmake -E make_directory ${{runner.workspace}}/ROSCO/ROSCO/build

- name: Configure and Build - unix
if: false == contains( matrix.os, 'windows')
shell: bash -l {0}
working-directory: "${{runner.workspace}}/ROSCO/ROSCO/build"
run: |
cmake \
-DCMAKE_INSTALL_PREFIX:PATH=${{runner.workspace}}/ROSCO/ROSCO/install \
-DCMAKE_Fortran_COMPILER:STRING=${{env.FORTRAN_COMPILER}} \
..
cmake --build . --target install

- name: Configure and Build - windows
if: true == contains( matrix.os, 'windows')
#shell: bash #-l {0}
working-directory: "${{runner.workspace}}/ROSCO/ROSCO/build"
run: |
cmake -G "MinGW Makefiles" -DCMAKE_INSTALL_PREFIX="${{runner.workspace}}/ROSCO/ROSCO/build" ..
cmake --build . --target install
- name: Generate Registry
run: |
python rosco/controller/rosco_registry/write_registry.py

- name: Fix example file extensions
run: |
python Examples/Test_Cases/update_libdiscon_extension.py

- name: Run ROSCO testing
run: |
cd rosco/test
python ROSCO_testing.py

- name: Run regression testing
if: contains( matrix.os, 'ubuntu')
run: |
cd rosco/test
pytest .

- name: Test walkthrough notebook
if: contains( matrix.os, 'ubuntu')
run: |
cd Examples
treon ROSCO_walkthrough.ipynb

Loading
Loading