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

Add regression testing for wave-sea ice coupling #2072

Open
wants to merge 45 commits into
base: develop
Choose a base branch
from

Conversation

NickSzapiro-NOAA
Copy link
Collaborator

@NickSzapiro-NOAA NickSzapiro-NOAA commented Jan 4, 2024

Commit Queue Requirements:

  • Fill out all sections of this template.
  • All sub component pull requests have been reviewed by their code managers.
  • Run the full RT suite (compared to current baselines) on either Hera/Derecho/Hercules AND have committed the log to my PR branch.
  • Add list of all failed regression tests in "Regression Tests" section.

PR Information

Description

Add regression testing to exercise wave-sea ice coupling implemented in #1381 in coupled WW3 unstructured tests with inner-loop coupling (#1969).

A new CMake flag "WAVICE" compiles WW3 with a switch file that includes IC4. The existing wav_coupling_to_cice flag is set to true in the RT test cases. New default variables set CICE floe size distribution off by default and are modified in the RT test cases.

New input data is for WW3 and available on hera at /scratch1/NCEPDEV/climate/Jessica.Meixner/WW3_input_data_20240417:
ww3_grid.inp.ic4.exp.global_270k
mod_def.ic4.exp.global_270k
createmoddefs/creategridfiles.sh

New baselines only for tests now with -DWAVICE=ON

Commit Message

Add regression testing for wave-sea ice coupling implemented in #1381 (#1969)

Priority

  • Critical Bugfix (This PR contains a critical bug fix and should be prioritized.)
  • High (This PR contains a feature or fix needed for a time-sensitive project (eg, retrospectives, implementations))
  • Normal

Blocking Dependencies

Git Issues Fixed By This PR

Closes #1969
Closes NOAA-EMC/WW3/issues/1187

Changes

Subcomponent (with links)

Input data

  • No changes are expected to input data.
  • Changes are expected to input data:
    • New input data.
    • Updated input data.

Regression Tests:

  • No changes are expected to any regression test.
  • Changes are expected to the following tests: cpld_control_pdlib_p8, cpld_debug_pdlib_p8, cpld_mpi_pdlib_p8, cpld_restart_pdlib_p8
FAILED REGRESSION TESTS None

Libraries

  • Not Needed
  • Needed
    • Create separate issue in JCSDA/spack-stack asking for update to library. Include library name, library version.
    • Add issue link from JCSDA/spack-stack following this item

Testing Log:

  • RDHPCS
    • Hera
    • Orion
    • Hercules
    • Jet
    • Gaea
    • Derecho
  • WCOSS2
    • Dogwood/Cactus
    • Acorn
  • CI
    • Completed
  • opnReqTest
    • N/A
    • Log attached to comment

NickSzapiro-NOAA and others added 6 commits December 12, 2023 07:08
Follows pdlib and ufs-community#1381, in particular.

For WW3, neither mod_def nor WW3/model/bin/switch_meshcap_pdlib_IC4 are here.
Input mod_def and WW3/model/bin/switch_meshcap_pdlib_IC4 are not included here
…upling RT

WW3 inputs (inp, mod_def, and switch) currently on Hera
@DeniseWorthen
Copy link
Collaborator

@NickSzapiro-NOAA Please try my UFS branch https://github.com/DeniseWorthen/ufs-weather-model/tree/feature/flexwaveopts for building WW3 w/ or w/o IC4 and w/ or w/o PDLIB.

@NickSzapiro-NOAA
Copy link
Collaborator Author

Thanks @DeniseWorthen! Looks good. I can confirm that the IC4+PDLIB combo builds and runs for me:
/scratch1/NCEPDEV/stmp2/Nick.Szapiro/FV3_RT/rt_207649/

A minor preference may be to change the flag WAVEICE-->WAVICE for consistent component shortnames throughout.

If it's worth adding a reminder somewhere, the input WW3 mod_def file needs the same switch flags...right?

@BrianCurtis-NOAA BrianCurtis-NOAA added New Input Data Req'd This PR requires new data to be sync across platforms New Baselines New baselines will be added to project. labels Jan 29, 2024
@DeniseWorthen
Copy link
Collaborator

@NickSzapiro-NOAA Since this is a new feature test, we need to also verify it also passes all the ORT tests (debug, restart etc).

@NickSzapiro-NOAA
Copy link
Collaborator Author

ORTs pass on Hera under $application == 'cpld' branch
ORT_wavice_hera.txt

@NickSzapiro-NOAA NickSzapiro-NOAA marked this pull request as ready for review March 29, 2024 18:55
@DeniseWorthen
Copy link
Collaborator

@NickSzapiro-NOAA When I checkout your UWM branch, I get WW3 at d20ce9a5. That commit seems to be in a branch feature/wavice. Your WW3 PR looks to be using a feature branch called wavice_sync.

@JessicaMeixner-NOAA
Copy link
Collaborator

I checked out the branch wavice_sync and created a WW3 input directory which can be found here: /scratch1/NCEPDEV/climate/Jessica.Meixner/WW3_input_data_20240417

It has the diffs I'd expect:

$ diff -r /scratch2/NAGAPE/epic/UFS-WM_RT/NEMSfv3gfs/input-data-20221101/WW3_input_data_20240214 /scratch1/NCEPDEV/climate/Jessica.Meixner/WW3_input_data_20240417
diff -r /scratch2/NAGAPE/epic/UFS-WM_RT/NEMSfv3gfs/input-data-20221101/WW3_input_data_20240214/createmoddefs/creategridfiles.sh /scratch1/NCEPDEV/climate/Jessica.Meixner/WW3_input_data_20240417/createmoddefs/creategridfiles.sh
44c44
< switchlist='multi_esmf meshcap_pdlib meshcap'
---
> switchlist='multi_esmf meshcap_pdlib meshcap meshcap_pdlib_IC4'
106a107,109
>     "meshcap_pdlib_IC4")
>         export grids='ic4.exp.global_270k'
>         ;;
148c151
<        if [ ${grid}=='exp.global_270k' ] ; then
---
>        if [ ${grid}=='exp.global_270k' ] || [  ${grid}=='ic4.exp.global_270k'] ; then
Only in /scratch1/NCEPDEV/climate/Jessica.Meixner/WW3_input_data_20240417/createmoddefs: ww3_grid.inp.ic4.exp.global_270k
Only in /scratch1/NCEPDEV/climate/Jessica.Meixner/WW3_input_data_20240417: mod_def.ic4.exp.global_270k

Let me know if you have any issues running with this new input directory (you can test by replacing this line here: https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/rt.sh#L990)

@NickSzapiro-NOAA
Copy link
Collaborator Author

@JessicaMeixner-NOAA It was my mistake not to update the commit hash for WW3 (with 'git add WW3')

@NickSzapiro-NOAA NickSzapiro-NOAA added the Ready for Commit Queue The PR is ready for the Commit Queue. All checkboxes in PR template have been checked. label Apr 19, 2024
@JessicaMeixner-NOAA
Copy link
Collaborator

@NickSzapiro-NOAA did the input directory: /scratch1/NCEPDEV/climate/Jessica.Meixner/WW3_input_data_20240417 work for you? Please let me know if there are any issues.

@NickSzapiro-NOAA
Copy link
Collaborator Author

@JessicaMeixner-NOAA Looks good...all tests passed on Friday. Are you okay keeping this input directory until this is merged or would you like me to copy? Thanks again!

@JessicaMeixner-NOAA
Copy link
Collaborator

@NickSzapiro-NOAA glad to hear it worked! I will keep it until I've heard that it's been put in the official spaces.

@NickSzapiro-NOAA NickSzapiro-NOAA changed the title Add regression test for wave-sea ice coupling Add regression testing for wave-sea ice coupling Apr 24, 2024
@NickSzapiro-NOAA NickSzapiro-NOAA removed the Ready for Commit Queue The PR is ready for the Commit Queue. All checkboxes in PR template have been checked. label Apr 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
New Baselines New baselines will be added to project. New Input Data Req'd This PR requires new data to be sync across platforms
Projects
Status: Done
5 participants