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

Tidy up w3srcemd #1010

Merged
merged 6 commits into from
Jul 11, 2023
Merged

Conversation

ukmo-ccbunney
Copy link
Collaborator

@ukmo-ccbunney ukmo-ccbunney commented May 17, 2023

Pull Request Summary

Tidy up #ifdef preprocessor lines in w3srcemd.
Also remove a bunch of unused variables.

Description

Tidying up preprocessor directives after the conversion from old format !/XXX switches to preprocessor #ifdef directives. This includes:

Merging duplicate directives

Example:

#ifdef W3_ST4
   some code
#endif

#ifdef W3_ST4
   more code
#endif

becomes:

#ifdef W3_ST4
   some code
   more code
#endif

Merging lines with common code

Example:

#ifdef W3_ST0
    VSIN = 0.
    VDIN = 0.
#endif
#ifdef W3_ST3
    VSIN = 0.
    VDIN = 0.
#endif
#ifdef W3_ST4
    VSIN = 0.
    VDIN = 0.
#endif

becomes

#if defined(W3_ST0) || defined(W3_ST3) || defined(W3_ST4)
      VSIN = 0.
      VDIN = 0.
#endif

Grouping nested directives onto single line, where applicable:

Example:

#ifdef W3_DEBUGSRC
#ifdef W3_ST4
   ...code...
#endif
#endif

becomes:

#if defined(W3_DEBUGSRC) && defined(W3_ST4)
   ...code...
#endif

Other changes

  • All USE statements or variable declarations that occur in an optional #ifdef block have been moved after the non-optional entries.
  • Removed lots of unused variables.

No change to the outputs or regression tests are expected

Issue(s) addressed

Commit Message

Tidy up of pre-processor directives and unused variables in w3srcemd.F90

Check list

Testing

  • How were these changes tested? Regression test
  • Are the changes covered by regression tests? (If not, why? Do new tests need to be added?) Yes
  • Have the matrix regression tests been run (if yes, please note HPC and compiler)? Yes
  • Please indicate the expected changes in the regression test output, (Note the list of known non-identical tests.) No differences expected
  • Please provide the summary output of matrix.comp (matrix.Diff.txt, matrixCompFull.txt and matrixCompSummary.txt):

Just the usual non-b4b regtests:

**********************************************************************
********************* non-identical cases ****************************
**********************************************************************
mww3_test_02/./work_PR3_UQ_MPI_c_c                     (1 files differ)
mww3_test_02/./work_PR3_UNO_MPI_c_c                     (3 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2                     (19 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2_c                     (16 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2                     (15 files differ)
mww3_test_03/./work_PR1_MPI_d2                     (17 files differ)
mww3_test_03/./work_PR2_UNO_MPI_d2                     (16 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2_c                     (12 files differ)
mww3_test_03/./work_PR2_UQ_MPI_d2                     (15 files differ)
mww3_test_03/./work_PR3_UNO_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_e                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_e_c                     (1 files differ)

@ukmo-ccbunney ukmo-ccbunney marked this pull request as draft May 17, 2023 11:18
@ukmo-ccbunney
Copy link
Collaborator Author

Keep as draft at the moment as I have some differences in the OMP/OMPH regtests...

@MatthewMasarik-NOAA
Copy link
Collaborator

Keep as draft at the moment as I have some differences in the OMP/OMPH regtests...

Sounds good, thanks for the update @ukmo-ccbunney.

@ukmo-ccbunney
Copy link
Collaborator Author

@MatthewMasarik-NOAA would you or @JessicaMeixner-NOAA be able to run a couple of the OMP/OMPH regtests from this PR to confirm that you are also seeing differences? Not the whole regtest suite - just a couple from ww3_ts3 for example?

I am slightly worried that this might be one of those non b4b issue that occurs just because I've moved some variables around (I've seen this before). I suspect there is an uninitialized variable somewhere in WW3 that is causing this.

Thanks!

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney -- I wouldn't be surprised either about the uninitialized variables. This clean-up is really nice. I will run the regtests - it's not a big deal to just run them all but I will try to run a few ts3 w/omp/omph first to see if we can get you a faster answer.

@ukmo-ccbunney
Copy link
Collaborator Author

Thanks @JessicaMeixner-NOAA
I'm glad I did this first before the refactor otherwise I wouldn't know where those differences came from!

@ukmo-ccbunney
Copy link
Collaborator Author

@ukmo-ccbunney -- I wouldn't be surprised either about the uninitialized variables. This clean-up is really nice. I will run the regtests - it's not a big deal to just run them all but I will try to run a few ts3 w/omp/omph first to see if we can get you a faster answer.

I think I have found the potential issue - a missing line (my fault then) - the commit above reinstates it. Just re-testing now. Sorry...

@JessicaMeixner-NOAA
Copy link
Collaborator

No worries - I'll stop my tests and pull in these changes and re-test.

@ukmo-ccbunney
Copy link
Collaborator Author

ukmo-ccbunney commented May 18, 2023

The regtests are all looking good for me now (other than the usual mww3_test_03 regtests).

P.S. I have realised that I have some problems with two of the mww3_test_02 regtests - they don't appear to complete (in either the develop branch or this PR):

mww3_test_02/./work_PR3_UQ_MPI_c_c   
mww3_test_02/./work_PR3_UNO_MPI_c_c  

The error message looks something like this from ww3_multi:

Note: The following floating-point exceptions are signalling: IEEE_DENORMAL
 Fraction of segment left   0.59999998886902950

Since this is happening in develop too, I don't think this affects this PR and I will investigate separately.

@ukmo-ccbunney ukmo-ccbunney marked this pull request as ready for review May 18, 2023 10:26
@ukmo-ccbunney ukmo-ccbunney self-assigned this May 18, 2023
@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney the regtests ran yesterday and I have the compare script submitted now. The code itself is a huge improvement! Thank you so much for this clean-up effort! I'll let you know about the regtests here shortly.

@JessicaMeixner-NOAA
Copy link
Collaborator

Hi @ukmo-ccbunney I got a few extra unexpected diffs for some cases:

ww3_tp2.21/./work_b_metis                     (2 files differ)
ww3_tp2.21/./work_mb                     (3 files differ)
ww3_tp2.21/./work_b                     (2 files differ)

Full list:

mww3_test_03/./work_PR1_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UQ_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_d2                     (16 files differ)
mww3_test_03/./work_PR1_MPI_d2                     (10 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2_c                     (16 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2_c                     (16 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2                     (18 files differ)
mww3_test_03/./work_PR2_UQ_MPI_d2                     (15 files differ)
mww3_test_03/./work_PR3_UQ_MPI_e                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_e_c                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2                     (16 files differ)
ww3_tp2.10/./work_MPI_OMPH                     (6 files differ)
ww3_tp2.16/./work_MPI_OMPH                     (4 files differ)
ww3_tp2.21/./work_b_metis                     (2 files differ)
ww3_tp2.21/./work_mb                     (3 files differ)
ww3_tp2.21/./work_b                     (2 files differ)
ww3_ufs1.3/./work_a                     (3 files differ)

I'm going to re-run our develop branch twice and see if these some how got in there with out us noticing.

@ukmo-ccbunney
Copy link
Collaborator Author

Hi @ukmo-ccbunney I got a few extra unexpected diffs for some cases:

ww3_tp2.21/./work_b_metis                     (2 files differ)
ww3_tp2.21/./work_mb                     (3 files differ)
ww3_tp2.21/./work_b                     (2 files differ)

I'm going to re-run our develop branch twice and see if these some how got in there with out us noticing.

Hmm. I didn't see those in my tests. What files were different?

@JessicaMeixner-NOAA
Copy link
Collaborator

All in the output of HS it seems and very small diffs:

output/ww3_tp2.21/work_b_metis/ww3.201809_hs.nc_diff.txt :

64334c64334
<     1.046506, 0, 0.2202915, 1.112118, 1.061365, 1.281632, 1.748538, 1.93779, 
---
>     1.046506, 0, 0.2202915, 1.112117, 1.061365, 1.281632, 1.748538, 1.93779, 

output/ww3_tp2.21/work_b/ww3.201809_hs.nc_diff.txt

45913c45913
<     1.474915, 1.056122, 0.8352329, 0.7817801, 0.3717999, 0.1915033, 1.062163, 
---
>     1.474915, 1.056123, 0.8352329, 0.7817801, 0.3717999, 0.1915033, 1.062163, 
52710c52710
<     1.997666, 1.275602, 1.029958, 1.408812, 1.72238, 1.500055, 1.946129, 
---
>     1.997666, 1.275602, 1.029958, 1.408813, 1.72238, 1.500055, 1.946129, 
59458c59458
<     1.353036, 1.3441, 1.327763, 1.506777, 1.06719, 0.8600907, 0.7841265, 
---
>     1.353036, 1.3441, 1.327763, 1.506777, 1.067191, 0.8600907, 0.7841265, 
61746c61746
<     2.024569, 1.251208, 0.9990674, 1.402626, 1.701451, 1.498855, 1.978338, 
---
>     2.024569, 1.251208, 0.9990674, 1.402625, 1.701451, 1.498855, 1.978338, 
63970c63970
<     1.572523, 0, 1.590032, 1.375417, 0, 1.513171, 1.926897, 1.080231, 0, 
---
>     1.572523, 0, 1.590031, 1.375417, 0, 1.513171, 1.926897, 1.080231, 0, 
73016c73016
<     1.596574, 1.136037, 0.9505962, 0.7890304, 0.1966634, 0.1301678, 1.003322, 
---
>     1.596574, 1.136036, 0.9505962, 0.7890304, 0.1966634, 0.1301678, 1.003322, 

output/ww3_tp2.21/work_mb/ww3.201809_hs.nc_diff.txt

45913c45913
<     1.474915, 1.056122, 0.8352329, 0.7817801, 0.3717999, 0.1915033, 1.062163, 
---
>     1.474915, 1.056123, 0.8352329, 0.7817801, 0.3717999, 0.1915033, 1.062163, 
52710c52710
<     1.997666, 1.275602, 1.029958, 1.408812, 1.72238, 1.500055, 1.946129, 
---
>     1.997666, 1.275602, 1.029958, 1.408813, 1.72238, 1.500055, 1.946129, 
59458c59458
<     1.353036, 1.3441, 1.327763, 1.506777, 1.06719, 0.8600907, 0.7841265, 
---
>     1.353036, 1.3441, 1.327763, 1.506777, 1.067191, 0.8600907, 0.7841265, 
61746c61746
<     2.024569, 1.251208, 0.9990674, 1.402626, 1.701451, 1.498855, 1.978338, 
---
>     2.024569, 1.251208, 0.9990674, 1.402625, 1.701451, 1.498855, 1.978338, 
63970c63970
<     1.572523, 0, 1.590032, 1.375417, 0, 1.513171, 1.926897, 1.080231, 0, 
---
>     1.572523, 0, 1.590031, 1.375417, 0, 1.513171, 1.926897, 1.080231, 0, 
73016c73016
<     1.596574, 1.136037, 0.9505962, 0.7890304, 0.1966634, 0.1301678, 1.003322, 
---
>     1.596574, 1.136036, 0.9505962, 0.7890304, 0.1966634, 0.1301678, 1.003322, 
~                                                                                  

I did double check the develop and I don't get these diffs there. I'll take a closer look at the code and see if something jumps out at me.

@ukmo-ccbunney
Copy link
Collaborator Author

@JessicaMeixner-NOAA It seems to be just the PDLIB variants of ww3_tp2.21 that have differences for you.
I've compared the CPP pre-processed .F90 files using the switch for that regtest and I can't see any reason for the differences at the moment...

I'll keep looking.

@ukmo-ccbunney
Copy link
Collaborator Author

ukmo-ccbunney commented May 19, 2023

@JessicaMeixner-NOAA Following up from my previous comment, I think I have found a bug in the w3profsmd_pdlib.F90 file that may (or may not!) be responsible for some differences:

CCOSA = FACX * ECOS
CSINA = FACX * ESIN

CCOSA and CSINA are defined locally as size NTH (36 in this case):

REAL :: SPEC(NSPEC), DEPTH, CCOSA(NTH), CSINA(NTH)

but ECOS and ESIN are defined in w3gdatmd with size MSPEC+MTH (1836 in this case):

WW3/model/src/w3gdatmd.F90

Lines 2029 to 2030 in a09335e

SGRDS(IMOD)%ESIN(MSPEC+MTH), &
SGRDS(IMOD)%ECOS(MSPEC+MTH), &

It could be unrelated to the B4B issues you saw above, but equally could be clobbering some memory??

P.S. I am not sure why ECOS and ESIN are sized MSPEC, rather than NTH - assuredly they contain duplicated values across the flattened NK dimension. I think that what was intended in the buggy code above is something like:

CCOSA = FACX * ECOS(1:NTH)
CSINA = FACX * ESIN(1:NTH)

I will raise a separate issue for this.

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney very interesting find! I'll try seeing if fixing this will resolve the issues I'm seeing. I'll keep digging on my end as well, this is great clean-up and given that you aren't seeing this, I suspect this is one of the many weird memory issues or uninitalized variables causing problems. Thinking outloud: I wonder if trying to run this case in debug mode if it'd help find anything?

@ukmo-ccbunney
Copy link
Collaborator Author

@ukmo-ccbunney very interesting find! I'll try seeing if fixing this will resolve the issues I'm seeing. I'll keep digging on my end as well, this is great clean-up and given that you aren't seeing this, I suspect this is one of the many weird memory issues or uninitalized variables causing problems. Thinking outloud: I wonder if trying to run this case in debug mode if it'd help find anything?

I put a local fix in for it, but the fix itself does cause some small differences compared to develop (likely because it is no longer overwriting memory?)

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney i was actually afraid of it changing answers, so I actually have only started the regtets w/the change in develop and then will run your branch plus that change.

@JessicaMeixner-NOAA
Copy link
Collaborator

Okay @ukmo-ccbunney - back to testing this PR to see if I can see why we're getting diffs on our machines. I'll let you know how it goes.

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney would you mind merging in develop when you get a chance. The typo fixes from @MatthewMasarik-NOAA that I just merged in causes some very minor conflicts.

@ukmo-ccbunney
Copy link
Collaborator Author

OK - have merged in develop.

@JessicaMeixner-NOAA
Copy link
Collaborator

Okay - I'm still getting diffs in the PDLIB casees:

ww3_tp2.21/./work_b_metis                     (2 files differ)
ww3_tp2.21/./work_mb                     (3 files differ)
ww3_tp2.21/./work_b                     (2 files differ)

I ran those with debug flags and am looking into see if that can help. However, I only got this warning message:

forrtl: error (63): output conversion error, unit -5, file Internal Formatted Write
Image              PC                Routine            Line        Source
ww3_multi          000000000190CD98  Unknown               Unknown  Unknown
ww3_multi          000000000195F18C  Unknown               Unknown  Unknown
ww3_multi          0000000000F4CEED  w3timemd_mp_stme2         741  w3timemd.F90
ww3_multi          000000000044B91D  wminitmd_mp_wmini        1452  wminitmd.F90
ww3_multi          0000000000406F96  MAIN__                    172  ww3_multi.F90
ww3_multi          0000000000406AE2  Unknown               Unknown  Unknown
libc-2.17.so       00002B4583775555  __libc_start_main     Unknown  Unknown
ww3_multi          00000000004069E9  Unknown               Unknown  Unknown

This was with intel not gnu, so maybe I'll also try that when I get a chance. I don't think this is the root cause of the diffs we're seeing though.

@aronroland also mentioned that he saw this and would have a look to see if he could help as well.

@ukmo-ccbunney
Copy link
Collaborator Author

Thanks for running the tests again @JessicaMeixner-NOAA
That's frustrating that there are still differences!
I'll go through my changes again to see if there is anything obvious.
I am suspicious of unintialised variables as this is the sort of behaviour that can occur when you change the order of variable declarations...
Of course - it could be something I have done wrong too :)

I'll get back to you.

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney I'm torn between there might be something in w3srce and this might be an uninitialized variable somewhere else in the code that's just popping up here as we've seen so many times. I have quite a bit going on this week, but will keep trying to run different things. I was going to run on another machine here but of course today is maintenance, so tomorrow! I'll keep you posted as I find things.

@aronroland
Copy link
Collaborator

@ukmo-ccbunney I can just say that I looked carefully at your changes and unfortunately I cannot see anything that rings the bell. I hope you can find this problem soon since this work of @ukmo-ccbunney is really a decent piece of work.

@ukmo-ccbunney
Copy link
Collaborator Author

@ukmo-ccbunney I can just say that I looked carefully at your changes and unfortunately I cannot see anything that rings the bell. I hope you can find this problem soon since this work of @ukmo-ccbunney is really a decent piece of work.

Thank you @aronroland for taking the time to look at this - much appreciated!

@ukmo-ccbunney
Copy link
Collaborator Author

@JessicaMeixner-NOAA
I have run the ww3_tp2.21 regtests on our new HPC and I note that the work_b_metis regtest is not self consistent.
If i run the same test twice in succession, there are differences in the following files:

Files ./out_grd.ww3 and ../work_b_metis.run2/out_grd.ww3 differ
Files ./ww3.201809_fp.nc and ../work_b_metis.run2/ww3.201809_fp.nc differ
Files ./ww3.201809_hs.nc and ../work_b_metis.run2/ww3.201809_hs.nc differ

I dont see these differences when running on our other HPC.

This makes me think there might be some other issue that is causing the b4b issues that we have not found yet...

This is the case for the HEAD of develop branch and also prior the the fix I make to w3prosfmd_pdlib.F90.

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney Thank you for this update! Our other machine is back today so I'll try that as well (including running just the develop branch twice) + I'm also trying some gnu compilers + debug options to see what I can try to find. Hopefully we can find whatever this.

@ukmo-ccbunney
Copy link
Collaborator Author

@ukmo-ccbunney Thank you for this update! Our other machine is back today so I'll try that as well (including running just the develop branch twice) + I'm also trying some gnu compilers + debug options to see what I can try to find. Hopefully we can find whatever this.

Just to add a bit more to this:

I have run the same ww3_tp2.21/work_b_metis regtest on our new HPC with -finit-local-zero flag enable which initialises to zero any local variables.

If I do this , then two consecutive runs are identical.
Without the flag, I have small differences in out_grid.ww3 and some derived netCDF files.

This makes me thing that there is definitely an unitinialised variable lurking around somewhere.

Interestingly, its only on our new HPC that i see these differences, but it does have a much newer version of GFortran...

@JessicaMeixner-NOAA
Copy link
Collaborator

I would not be surprised to see an uninitialized array. It's our most common issue when we have problems like this. We typically just run with intel, so I'm trying to set-up some gnu runs and haven't had full success yet. I know @mickaelaccensi runs with GNU, so maybe he could run some tests to see if he has reproduciblity with the develop branch?

With intel on our other machine, I got that the develop branch as well was reproducing itself. About to run the compare with this PR (and this PR against itself) to see if that shows anything.

@JessicaMeixner-NOAA
Copy link
Collaborator

So the other computer found a difference for:
ww3_tp2.17/./work_mc (2 files differ)

Hopefully fixing some of the initialized variables that have already been found will help.

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney I just wanted to let you know that I haven't forgotten about this. I tried initializing the uninitialized variables mentioned in #1017 but it didn't help. I'm trying more things to see what I can figure out.

@mickaelaccensi any chance you've had a chance to run regression tests on this PR?

@ukmo-ccbunney
Copy link
Collaborator Author

So the other computer found a difference for: ww3_tp2.17/./work_mc (2 files differ)

I note that this is another PDLIB regtest.

It could be that the issue lies in the SCOTCH (or ParMETIS) library. When we compile with debugging flags for the WW3 regtest, this won't enable any debugging on the linked libraries as these are already compiled...

@ukmo-ccbunney
Copy link
Collaborator Author

@JessicaMeixner-NOAA If you run two consecutive runs of ww3_tp2.21/work_b_metis from develop, are they self consistent?
They are not for me.

However, if I run the same regtest, but using SCOTCH (rather than ParMETIS), then they are self consistent.

Makes me a bit suspicious of the ParMETIS library!

@JessicaMeixner-NOAA
Copy link
Collaborator

I do get consistency between two runs, but if we can get past this by simply switching things from metis->scotch, that would be GREAT news. Let me see what I can't figure out.

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney so switching to SCOTCH did not solve the differences for me. I don''t really think these differences are related to your PR and maybe we just ask all community code managers to review and @aronroland since this is a change in PDLIB things and if everyone agrees we merge this in? I'd prefer to figure out what is going on first especially given where the changes are, but this is a tricky issue. If we did that I'd also want to run our coupled system here just so I know what the effects are there too. Thoughts? We need to make some sort of an issue here though, because if you can't even get self-consistent answers with the PDLIB, then that's an issue that is concerning.

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney when you get a chance can you resolve the merge conflict with this PR. I'm not sure why there is one, but there is a simple one to resolve.

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney The regtests now give me the expected diffs. I believe you do not work Mondays, so whenever you get a chance if you'll resolve the conflict from merging in develop, I'll confirm it's the way I merged it in (I doubt it would be different, if it is I'll just re-run the tests, no worries), and then we should be able to get this PR merged in!

@ukmo-ccbunney
Copy link
Collaborator Author

ukmo-ccbunney commented Jul 11, 2023

@ukmo-ccbunney The regtests now give me the expected diffs. I believe you do not work Mondays, so whenever you get a chance if you'll resolve the conflict from merging in develop, I'll confirm it's the way I merged it in (I doubt it would be different, if it is I'll just re-run the tests, no worries), and then we should be able to get this PR merged in!

Thanks @JessicaMeixner-NOAA
I've fixed the merge conflict now and rerun ww3_tp2.21 to check everything is still b4b.

@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney your merge was a little different from mine, so I'm doing a sanity check set of regtests. Don't expect any issues though and anticipate this being merged by the end of the day.

@JessicaMeixner-NOAA
Copy link
Collaborator

matrixCompFull.txt
matrixCompSummary.txt
matrixDiff.txt

Diffs:

**********************************************************************
********************* non-identical cases ****************************
**********************************************************************
mww3_test_03/./work_PR1_MPI_e                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_e_c                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UQ_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_e                     (1 files differ)
mww3_test_03/./work_PR2_UNO_MPI_d2                     (17 files differ)
mww3_test_03/./work_PR1_MPI_d2                     (10 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2_c                     (10 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2_c                     (15 files differ)
mww3_test_03/./work_PR3_UNO_MPI_d2                     (12 files differ)
mww3_test_03/./work_PR2_UQ_MPI_d2                     (15 files differ)
mww3_test_03/./work_PR3_UQ_MPI_e                     (1 files differ)
mww3_test_03/./work_PR3_UNO_MPI_e_c                     (1 files differ)
mww3_test_03/./work_PR3_UQ_MPI_d2                     (15 files differ)
ww3_tp2.10/./work_MPI_OMPH                     (7 files differ)
ww3_tp2.14/./work_OASOCM                     (1 files differ)
ww3_tp2.16/./work_MPI_OMPH                     (4 files differ)
ww3_ufs1.3/./work_a                     (3 files differ)

@JessicaMeixner-NOAA JessicaMeixner-NOAA merged commit 4d8c315 into NOAA-EMC:develop Jul 11, 2023
2 of 4 checks passed
@JessicaMeixner-NOAA
Copy link
Collaborator

@ukmo-ccbunney thank you for this awesome clean up and all the help finding the bugs hiding that this update uncovered!

miguelsolanocordoba added a commit to wavespotter/WW3 that referenced this pull request Apr 19, 2024
* Bugfix - initialised VD and VS to zero in w3srcemd. (NOAA-EMC#1037)

* More efficient test for binary files in matrix.comp (NOAA-EMC#1035)

* Tidy up of pre-processor directives and unused variables in w3srcemd.F90 (NOAA-EMC#1010)

* Correct typo in w3srcemd.F90 pre-processor directive. (NOAA-EMC#1039)

* minor bugfix for matrix grepping on keywords (NOAA-EMC#1049)

* Stop masking group 1 output where icec > icen (NOAA-EMC#1019)

* Doxygen documentation added, 8th subset.(NOAA-EMC#1046)

* NC4 ,F90 ,XX0 switches removed from ww3_tp2.19 regtest (NOAA-EMC#1054)

* CI:  Fix for Intel scripts. GNU scripts updated. (NOAA-EMC#1064)

* correct the computation of QP parameter, add QKK output parameter, change UST scale factor (NOAA-EMC#1050)

* correct issue with ww3_multi when requesting restart2 and using nml file instead of inp file (NOAA-EMC#1070)

* correct calendar for track netcdf output (NOAA-EMC#1079)

* Fix missing mod_def.ww3 file in multigrid regression tests for track output (NOAA-EMC#1091)

* STAB3: fix cmake build for ST4 or ST3 (NOAA-EMC#1086)

* new feature to output out_grd.ww3, out_pnt.ww3 and mod_def.ww3 both in binary and ascii format using switch ASCII. (NOAA-EMC#1089)

* Update local unit number arrays (NDS, MDS) to be same size of array defined in w3odatmd (size=15). Also, defined unit numbers for NDS(14) and NDS(15). (NOAA-EMC#1098)

* Removed code referencing PHIOC in output section for PHICE in ww3_ounf (NOAA-EMC#1093)

* implementation of the GQM (Gaussian Quadrature Method) to replace the DIA in NL1 or NL2. (NOAA-EMC#1083)

* update logic to ensure you are not accessing uninitialized dates (NOAA-EMC#1114)

* Initialised S and D arrays in W3SDB1 before potential early return if zero energy. (NOAA-EMC#1115)

* ww3_ounp.F90:  x/y units attribute corrected from 'm' to 'km' (NOAA-EMC#1088)

* Bugfix: Assign unit numbers to ASCII gridded/point output in multi-grid mode. (NOAA-EMC#1118)

* correct bugs to run correctly GQM implementation (NOAA-EMC#1127)

* Adding documentation to w3iopo() in preparation for code for NOAA-EMC#682. (NOAA-EMC#1131)

* NCEP regtest module updates: uses spack-stack/1.5.0, includes scotch/7.0.4 (NOAA-EMC#1137)

* Minor update to ncep regtests (NOAA-EMC#1138)

* Updated intel workflow to install oneapi compilers from new location. (NOAA-EMC#1157)

* Add unit test for points I/O code. (NOAA-EMC#1158)

* Update Intel CI (relocate /usr/local; ensure intel-oneapi-mpi; use ubuntu-latest) (NOAA-EMC#1161)

* remove lookup table for ST4 to speed up computation and clean up the ST4 code (NOAA-EMC#1124)

Co-authored-by: Fabrice Ardhuin <[email protected]>

* initialize USSP_WN for mod_def (NOAA-EMC#1165)

* Introduce IC4M8 and IC4M9 to WW3 (NOAA-EMC#1176)

* clean up and add ST4 variables (NOAA-EMC#1181)

* w3fld1md.F90: fix divide by zero in CRIT2 parameter (NOAA-EMC#1184)

* ww3_prnc.F90: fix out-of-scope grid index write statement (NOAA-EMC#1185)

* Bugfix: address potential divide-by-zero in APPENDTAIL (NOAA-EMC#1188)

Co-authored-by: Denise Worthen <[email protected]>

* Provide initial drying of cells with depth < ZLIM for SMC grid. (NOAA-EMC#1192)

* Output OMP threading info to screen when running ww3_shel/ww3_multi compiled with the OMPG switch. Also fixes truncation of build.log when running run_cmake_build. (NOAA-EMC#1191)

* Added screen output showing number of threads when OMP enabled.

* update build to get more info in logs (NOAA-EMC#46)

---------

Co-authored-by: Jessica Meixner <[email protected]>

* update run_cmake_test to catch build errors and exit (NOAA-EMC#1194)

* fix merge conflicts

* Fix gustiness bug, as suggst by Pieter

* Change USTARsigma to WAM implementation

---------

Co-authored-by: Chris Bunney <[email protected]>
Co-authored-by: Mickael Accensi <[email protected]>
Co-authored-by: Benoit Pouliot <[email protected]>
Co-authored-by: Matthew Masarik <[email protected]>
Co-authored-by: Ghazal-Mohammadpour <[email protected]>
Co-authored-by: Jessica Meixner <[email protected]>
Co-authored-by: Biao Zhao <[email protected]>
Co-authored-by: Edward Hartnett <[email protected]>
Co-authored-by: Alex Richert <[email protected]>
Co-authored-by: Fabrice Ardhuin <[email protected]>
Co-authored-by: W. Erick Rogers <[email protected]>
Co-authored-by: Denise Worthen <[email protected]>
Co-authored-by: Camille Teicheira <[email protected]>
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.

Tidy up #ifdef's in W3SRCE
4 participants