Merge latest upstream develop#39
Closed
alperaltuntas wants to merge 141 commits into
Closed
Conversation
…ange UST scale factor (NOAA-EMC#1050)
…ile instead of inp file (NOAA-EMC#1070)
…n binary and ascii format using switch ASCII. (NOAA-EMC#1089)
…efined in w3odatmd (size=15). Also, defined unit numbers for NDS(14) and NDS(15). (NOAA-EMC#1098)
… DIA in NL1 or NL2. (NOAA-EMC#1083)
…ST4 code (NOAA-EMC#1124) Co-authored-by: Fabrice Ardhuin <fabrice.ardhuin@ifremer.fr>
…datmd, w3gdatmd, and w3triamd (NOAA-EMC#1556)
…artmd, w3iosfmd, and w3iotrmd (NOAA-EMC#1557)
…3_outp ww3_grib ww3_gint (NOAA-EMC#1561)
…d, w3odatmd, w3parall, and w3timemd(NOAA-EMC#1562)
…A-EMC#1564) w3iosfmd, w3profsmd, w3snl1md, w3src4md, w3srcemd, w3triamd and w3uqckmd
…OAA-EMC#1566) w3strkmd, w3triamd, w3wavemd, and w3wdatmd
…_JACOBI_GAUSS_SEIDEL_BLOCK to enable bit for bit reproducibility across different numbers of MPI processes. (NOAA-EMC#1538)
…ed for cases with switch PDLIB (NOAA-EMC#1588)
…tart reproducibility when variable water level is present and the domain has deep bathymetry. (NOAA-EMC#1589)
…evel and deep bathymetry. In subroutine W3ULEV KDCHK computed from bathymetric depth rather than total water level. (NOAA-EMC#1591)
Resolve conflicts preserving CESM-specific changes (CESMCOUPLED switch, wav library target, custom restart/output file naming, USSHX/USSHY surface Stokes drift output, USSP_TAIL in mod_def, LMPN namelist case, histwr/rstwr output logic) while incorporating upstream improvements (error handling with EXTIOF/EXTOPN, FNMPRE_LOCAL for restart path, IC4M8/9/10 new schemes, compiler warning cleanups, ASCII/BIN2NC output switches, QKK/SKW/EMB/EMC output metadata). Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Build/compile fixes to make the upstream develop merge build under CESM: - restore label 800 and fix dangling ERR=/END= label references in w3iorsmd.F90 (CESM startup-from-scratch goto) - fix unterminated #ifdef W3_MPI block in w3wavemd.F90 declarations - add unconditional FILEXT import in w3wavemd.F90 (CESM SBS flag path) - update wav_shel_inp.F90 call to w3nmlshel for the new upstream signature - resolve MPI_COMM name collision in wav_shel_inp.F90 via use-rename - fix w3init MPI_COMM type mismatch in wav_comp_nuopc.F90 (wavinit_cesm + wavinit_ufs) Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Revert upstream commits that change CESM answers, and restore needed code: - revert 14e6bed (Functional Charnock ST4) and 3952826 (Remove ST4 lookup table) - revert f27fe03 (correction of lambda computation, NOAA-EMC#1439) - re-add EC2/ES2/ESC imports in W3SDS4 required after the f27fe03 revert Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The IOSTYP>0 (I/O-server) restart write deadlocked in CESM coupled runs: the NAPRST collector hung in MPI_WAITALL in W3IORS while every compute rank had already left W3IORS for the coupler. Root cause is an uninitialized IERR. In the user-restname write branch of W3IORS, only NAPRST opens the restart file in server mode (IF (.NOT.IOSFLG .OR. IAPROC.EQ.NAPRST) open(...IOSTAT=IERR)). The other ranks skip the OPEN, so their IERR was never set. When that leftover value was nonzero, those ranks took the file-open-failed branch, which resets TYPE to WIND/CALM and makes them hit the early RETURN before the restart-spectra gather -- so they never send their spectra and the collector waits forever. The uninitialized value made the hang nondeterministic. Fix: set IERR = 0 before the conditional OPEN, exactly as the FNMRST open branch a few lines below already does. ERS_Ld3.TL319_t232_wg37.GW_JRA passes RUN and COMPARE_base_rest bit-for-bit with IOSTYP=1. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collaborator
|
This is a huge amount of work. I think this does change ICM8 to ICM10, so we will have to change the namelist? Nevermind. Just saw the WW3_interface PR. |
The gnu/intel/regtest_gnu workflows run a standalone WW3 build (cmake .. -DSWITCH=...), which descends root -> model/ -> model/src/CMakeLists.txt. On this CESM fork that file is CESM-only: it requires CASEROOT/Macros.cmake and ESMFMKFILE, so cmake configure fails immediately for every switch in the matrix when those are unset (as they are in CI). The standalone and CESM builds are mutually exclusive in the current model/src/CMakeLists.txt. The upstream develop merge re-enabled these workflows (NOAA-EMC NOAA-EMC#1509); upstream had itself .tempdisable-renamed them in NOAA-EMC#1499 because they were broken. Rename them back to .tempdisable here so PR/push checks stop failing. The CESM build is exercised via CIME, not these workflows. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Collaborator
|
@alperaltuntas - this is great. I'd like to coordinate this with what we have in NorESMhub and bring our two versions more closely coordinated. What upstream hash are you updating to? Do these changes effect answers? |
Member
Author
|
Closing this PR in favor of #40 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the CESM WW3 fork up to current upstream develop, with the integration fixes and answer-preserving changes needed to build and run in CESM.
Changes:
dangling ERR=/END= label refs in w3iorsmd.F90, close an unterminated #ifdef W3_MPI block and add an
unconditional FILEXT import in w3wavemd.F90, update the w3nmlshel call signature in wav_shel_inp.F90, and fix
MPI_COMM name-collision/type-mismatch issues in wav_shel_inp.F90 / wav_comp_nuopc.F90.
This PR should be evaluated in conjunction with ESCOMP/WW3_interface#17
Testing: aux_ww3. All tests b4b.