Skip to content

Conversation

@jtgrasb
Copy link
Contributor

@jtgrasb jtgrasb commented Jul 24, 2025

There are a number of tests failing on the dev branch. This PR is to identify and resolve the issues with each of the failing tests:

  • Body-to-Body_Interactions
    • Resolved by closing slx model between tests.
  • Free decay
    • Resolved by closing slx model between tests.
  • MOST
    • To be resolved in a separate PR by @akeeste
  • Mooring
    • Not resolved by closing slx model between tests, copying all of WEC-Sim/MoorDyn repo, and not specifying simu.cicDt.
      • MoorDyn gives issues with GitHub runner but runs locally.
  • Morison_Element
    • Resolved by closing slx model between tests.
  • Multiple_Condition_Runs
    • Resolved by closing slx model between tests.
  • Nonlinear_Hydro
    • Resolved by closing slx model between tests.
  • OWC
    • Fixed some issues by closing slx model between tests and copying all of WEC-Sim/MoorDyn repo.
    • @akeeste This example uses cleanBEM() as part of bemio. It looks like the inputs for that function have also changed. Can you update it for the new function?
    • MoorDyn gives issues with GitHub runner but runs locally.
  • Paraview_Visualization
    • Not resolved by closing slx model between tests and copying all of WEC-Sim/MoorDyn repo.
      • MoorDyn gives issues with GitHub runner but runs locally.
  • Passive_Yaw
    • Not resolved by closing slx model between tests.
    • Passive yaw case has actual differences in the response between new and orig data. May be related to PR 1516?
      • Updated phase seed from PR 1516 is part of the issue, but there still seem to be discrepancies between the regression data and the current model. I was not able to determine the cause yet, but I see the tests started failing between 7 months and 8 months ago.
      • Resolved by Adam in comments below.
  • RM3_PTO_Extension
    • Resolved by closing slx model between tests.
  • Variable_Hydro
    • Resolved by updating the broken library link in variable mass model.
  • WECCCOMP
    • Resolved by closing slx model between tests.'

I also added a workflow dispatch trigger to the tests on main and dev so we can easily rerun them.

@jtgrasb jtgrasb changed the base branch from main to dev July 24, 2025 19:58
@akeeste
Copy link
Contributor

akeeste commented Jul 28, 2025

@jtgrasb the latest commit should fix the OWC test

@akeeste
Copy link
Contributor

akeeste commented Jul 28, 2025

also just recording here how this BEM data changed before/after cleanBEM was refactored. Below _fix refers to the old function, badBemioFix_fcn; _clean refers to the new function, cleanBEM.
image
image
image

@akeeste
Copy link
Contributor

akeeste commented Jul 30, 2025

@jtgrasb On the MOST application -- The current case is quite outdated now. There are some input file changes (easy to make) and some MOST pre-processing changes (hard for me to make). There are many changed variables on the pre-processing side. I suggest we remove the old case and just replace it with one of the up to date OSS options here: https://github.com/MOREnergylab/MOST/tree/master/Examples

@jtgrasb
Copy link
Contributor Author

jtgrasb commented Jul 30, 2025

@akeeste Thanks for looking into it. That sounds like a good solution. Do you want to handle those updates either adding it onto this PR or creating a new PR?

@akeeste
Copy link
Contributor

akeeste commented Jul 30, 2025

I'll add it onto this PR, hopefully it will be quick

@akeeste
Copy link
Contributor

akeeste commented Jul 31, 2025

After @jtgrasb and I discussed further, the MOST application update will move to another PR since it needs to combine the QTF feature that @MShabara added and will become a larger effort

@akeeste
Copy link
Contributor

akeeste commented Aug 6, 2025

Hey @jtgrasb re the passive yaw bug--looking at the a series of WEC-Sim applications tests using the WEC-Sim dev branch: Runs #14, #15, #16, #17, #18. All tests use the same WEC-Sim_Applications commit: e8cacc3 and various points on the dev branch

The passive yaw case passes on test run 17 (Dec 11, 2024, 9:13am CST) above and starts failing on test run 18 (Dec 11, 2024, 9:34am CST).

Looking at commits on dev--this means WEC-Sim/WEC-Sim#1349 or WEC-Sim/WEC-Sim#1332 caused the change. 1349 exclusively changes the cable tension, so it would not be that. This leaves some change in the full directional spectra wave PR that may have caused a slight adjustment in the passive yaw regression

@akeeste
Copy link
Contributor

akeeste commented Aug 6, 2025

The changes in #1332 come down to a directional binning fix and a change to spline interpolation from linear

@akeeste
Copy link
Contributor

akeeste commented Aug 6, 2025

@jtgrasb these are the passive yaw regression results that I currently see:

With dev as is:
image

On dev and reverting 4 previous fixes/improvements (phase seed, PM formulation, wave direction binning, wave direction spline interpolation):

image

On dev and 3/4 changes (phase seed, wave binning, wave direction spline interpolation, but not PM formulation) I get an identical match to the original dataset. The current dataset must have been created after the PM formulation was corrected
image

@akeeste
Copy link
Contributor

akeeste commented Aug 6, 2025

@jtgrasb we have successfully identified all of the sources of discrepancy between prior and current passive yaw simulations!

I think we now have justification to replace the passive yaw "original" regression dataset with up to date output using the current dev branch

I edited the previous comment to reflect updating the phase seed correctly. For future reference--credit to @jtgrasb for figuring this out--our current phase see definition on WEC-Sim dev is applied globally. Reverting back to the previous method requires restarting MATLAB.

@akeeste
Copy link
Contributor

akeeste commented Aug 6, 2025

@jtgrasb the latest commit updates the passive yaw regression test data using simulation output using WEC-Sim dev

@akeeste
Copy link
Contributor

akeeste commented Aug 11, 2025

Unsure why the OWC case failed last time--a MATLAB / runner / moorDyn crash for some reason. It passes on a rerun

@akeeste akeeste self-requested a review August 11, 2025 19:24
@akeeste akeeste force-pushed the fix_failing_tests_dev branch from b5d1ee9 to f9da1a0 Compare August 11, 2025 20:34
@akeeste
Copy link
Contributor

akeeste commented Aug 11, 2025

The tests all pass locally, but the runner is inconsistent when using MoorDyn. I'm going to merge this PR to keep things moving and we can revisit certain applications as they come up.

@akeeste akeeste merged commit 26963f1 into WEC-Sim:dev Aug 11, 2025
43 of 46 checks passed
@jtgrasb
Copy link
Contributor Author

jtgrasb commented Aug 12, 2025

Thanks for getting this through the finish @akeeste! I will add it as a task to try to identify the source of the MoorDyn crashes. It's good at least we know that it is passing locally and can be rerun until it passes.

akeeste added a commit to akeeste/WEC-Sim_Applications that referenced this pull request Aug 20, 2025
@akeeste akeeste mentioned this pull request Aug 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants