-
Notifications
You must be signed in to change notification settings - Fork 132
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 wave-ice coupling to nuopc/cmeps driver #782
Conversation
* Isotopes for CICE (CICE-Consortium#423) Co-authored-by: apcraig <[email protected]> Co-authored-by: David Bailey <[email protected]> Co-authored-by: Elizabeth Hunke <[email protected]>
Update CICE for coupling with UFS
…l temperature and density are satisfied
changes to satisfy ufsatm and cesm requirements for pot temp and density from atm
* Add atmiter_conv to CICE * Add documentation * trigger build the docs Co-authored-by: David A. Bailey <[email protected]>
This reverts commit e70d1ab.
* baselines pass with these extra halo updates removed
* compiling in debug mode using -init=snan,arrays requires initialization of variables
* add wave-ice fields * initialize aicen_init, which turns up as NaN in calc of floediam export * add call to icepack_init_wave to initialize wavefreq and dwavefreq * update to latest consortium main (PR 752)
@lettie-roach Seeing the changes in PR #775 related to FSD history variables, is the use of |
This looks good. I will have to merge this into CESM and test it out. A few of these changes were already made in our cap. |
We might need a squash merge here. Lots of history. |
@@ -192,6 +192,8 @@ subroutine alloc_state | |||
n_trcr_strata = 0 | |||
nt_strata = 0 | |||
trcr_base = c0 | |||
aicen = c0 | |||
aicen_init = c0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For completeness, we should probably add vsnon/vsnon_init and vicen/vicen_init.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can add these initializations. I had meant to test whether they might have fixed a similar issue I had when I looked at the tr_snow updates which were made (?) earlier this year.
@@ -25,6 +25,7 @@ module ice_comp_nuopc | |||
use ice_calendar , only : force_restart_now, write_ic | |||
use ice_calendar , only : idate, mday, mmonth, myear, year_init | |||
use ice_calendar , only : msec, dt, calendar, calendar_type, nextsw_cday, istep | |||
use ice_calendar , only : ice_calendar_noleap, ice_calendar_gregorian |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We had made this change in our cap already.
' is overwriting tfrz_option from cice namelist '//trim(tfrz_option) | ||
write(nu_diag,*) trim(errmsg) | ||
call icepack_warnings_flush(nu_diag) | ||
call icepack_init_parameters(tfrz_option_in=tfrz_option_driver) | ||
endif |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We also have this in our version.
Default is to squash merge. I think it's a good way to work on main. Each PR looks like a single commit. There are downsides, but minor. |
@dabail10 For testing wave-ice coupling, for completeness you should also take a look at this bug report (NOAA-EMC/WW3#843). I have a fix going into the WW3 cap today or tomorrow, but I don't know when that change might make it to ESCOMP. |
* initialize vsnon/vsnon_init and vicen/vicen_init
@DeniseWorthen |
@eclare108213 The wave model sends the wave_elevation_spectrum to CICE6; CICE6 sends the floediam and ice thickness back to WW3. WW3 uses those variables, but I'm not well-versed enough in wave-ice coupling to say exactly how they interact w/ the wave field. The test case I ran used FV3 at C96 resolution and MOM6/CICE6 and WW3 all running on the 1-deg tripole grid. CICE6 was not using the C-grid. |
Sorry to take so long. I had to manually put the changes into my version of the CAP. I will issue a PR for my changes later. I did the aux_cice testsuite and this was bfb with cheyenne intel against my baselines. I will approve this and then merge into my code. |
@dabail10 @DeniseWorthen, OK to merge, right? |
Good to go. |
For detailed information about submitting Pull Requests (PRs) to the CICE-Consortium,
please refer to: https://github.com/CICE-Consortium/About-Us/wiki/Resource-Index#information-for-developers
PR checklist
Adds wave-ice coupling capability to nuopc/cmeps driver
Developer(s):
I believe the original changes were obtained from @lettie-roach during development of the new WW3 NUOPC/CMEPS cap.
Suggest PR reviewers from list in the column to the right. @dabail10 @lettie-roach @apcraig
Please copy the PR test results link or provide a summary of testing completed below.
How much do the PR code changes differ from the unmodified code?
Does this PR create or have dependencies on Icepack or any other models?
Does this PR update the Icepack submodule? If so, the Icepack submodule must point to a hash on Icepack's main branch.
Does this PR add any new test cases?
Is the documentation being updated? ("Documentation" includes information on the wiki or in the .rst files from doc/source/, which are used to create the online technical docs at https://readthedocs.org/projects/cice-consortium-cice/. A test build of the technical docs will be performed as part of the PR testing.)
Please provide any additional information or relevant details below:
The initialization of
aicen
andaicen_init
in ice_state.F90 are required in order to run in debug mode when the intel compile option-init=snan,arrays
is used.At the time this was committed to the NOAA-EMC fork, a simple comparison of ice thickness and concentration with and w/o wave-ice coupling enabled was made and the results were reasonable and in-line with expected behaviour (see figure in Update CICE6 to allow WW3-CICE6 coupling; add a cdeps test using C-grid for sea ice dynamics (was #1390) ufs-community/ufs-weather-model#1381)