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

zsalinity test #344

Merged
merged 4 commits into from
Dec 23, 2020
Merged

zsalinity test #344

merged 4 commits into from
Dec 23, 2020

Conversation

eclare108213
Copy link
Contributor

  • Short (1 sentence) summary of your PR:
    Adding smoke and restart tests for zsalinity in Icepack
  • Developer(s):
    @eclare108213 for this test, @njeffery for the original zsalinity code
  • Suggest PR reviewers from list in the column to the right.
  • Please copy the PR test results link or provide a summary of testing completed below.
    https://github.com/CICE-Consortium/Test-Results/wiki/3ca0dda63c.badger.intel.20-12-12.193908.0
  • How much do the PR code changes differ from the unmodified code?
    • bit for bit
    • different at roundoff level
    • more substantial
  • Does this PR create or have dependencies on CICE or any other models?
    • Yes
    • No
  • Does this PR add any new test cases?
    • Yes
    • No
  • 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/.)
    • Yes
    • No, does the documentation need to be updated at a later time?
      • Yes? There's a new -s zsal option
      • No
  • Please provide any additional information or relevant details below:

This PR only adds and option and tests, with no changes to the original code.

@njeffery, please take a look at the output linked here for the smoke test, expecially the configuration. The brine tracer seems to be working and the average salinity is changing, so the zsalinity code appears to be active. I'm using the default forcing, and maybe this test would be better with one of the BGC forcing data sets (ISPOL or NICE)? I have not yet been able to get a zsalinity case to run in CICE.
logs.tar.zip

@apcraig @dabail10 Is the documentation for -s options entirely automated, or do I need to add something to readthedocs?

@njeffery
Copy link
Contributor

njeffery commented Dec 14, 2020 via email

@apcraig
Copy link
Contributor

apcraig commented Dec 18, 2020

For readthedocs to work, an update from master or an update to doc/requirements.txt will be needed.

@eclare108213
Copy link
Contributor Author

I'm not convinced that this test (or the zsalinity code) is working correctly. In Icepack (this PR), the salinity changes slightly during a run but seems relatively impervious to major changes like different initial conditions, forcing, etc. Its values are always like this:

avg salinity (ppt) = 2.30068935292552013
avg salinity (ppt) = 2.30068935292552057
avg salinity (ppt) = 2.30068935292551879
avg salinity (ppt) = 2.30068935292552146
avg salinity (ppt) = 2.30068935292551924
avg salinity (ppt) = 2.30068935292551924

In CICE (a draft PR I'll submit soon), the values look much more reasonable, although high. (@njeffery turning z_tracers on did allow CICE to run, thanks.)

Since this needs to be understood, I don't think we should merge the PR as it is, but there are options:

  1. just merge in the set_nml.zsal option for easier debugging purposes, since lots of namelist changes are required to get this to even run, but don't merge the changes to base_suite.
  2. don't merge anything and just keep my branch around for debugging
  3. merge all of it, with the possibility that the zsal test answers will change if/when debugged

I'm in favor of (1) but fine with closing this PR for now and going with (2).

@apcraig
Copy link
Contributor

apcraig commented Dec 18, 2020

I am fine with any of the 3 options. I don't think it's a problem to add the test even if the answers change later if it's useful. We are often changing results for a handful of tests at a time because of a change in implementation or otherwise.

@eclare108213
Copy link
Contributor Author

I fixed a bug in the initialization in which the solve_zsal parameter wasn't set after being read in from namelist, so it was reset to false when queried. The diagnostics also weren't being printed correctly. Now the zsalinity output from Icepack behaves similarly to CICE. Note that z_tracers=T is not needed for Icepack, but is for CICE.

I'm comfortable with merging the zsalinity tests for both Icepack and CICE, understanding that there still may be bugs. It's better to test...

@eclare108213 eclare108213 requested a review from apcraig December 22, 2020 17:18
@apcraig apcraig merged commit 9c33551 into CICE-Consortium:master Dec 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants