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

Isotopes for Icepack #307

Merged
merged 17 commits into from
Apr 6, 2020
Merged

Conversation

eclare108213
Copy link
Contributor

@eclare108213 eclare108213 commented Mar 26, 2020

This PR is not yet ready to be merged - further review, testing and documentation is required.

  • Short (1 sentence) summary of your PR:
    Addition of isotope diagnostics following @dabail10's implementation for CESM.
  • Developer(s):
    @dabail10 @eclare108213 @apcraig
  • 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.
    Initial tests by @apcraig looked okay
    (see Iso1 interface eclare108213/Icepack#1)
    but this needs to be reconfirmed.
  • 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
      • No
        Documentation for the interfaces is currently here but the isotope physics and code description needs to be added.
  • Please provide any additional information or relevant details below:

I will add the associated CICE PR shortly. Both this PR and the CICE one need @dabail10 's scrutiny to make sure the results are correct.

eclare108213 and others added 8 commits February 27, 2020 17:16
demonstrate prototype optional argument handling internal to the columnphysics
migrate to fortran use for n_iso and tr_iso, remove them from interfaces (to be done to other similar variables)
fix isotope hardcoded basal ice growth and isotope update logic
refactor optional closing argument to follow new approach (get ride of "extra" ridge_ice call)
fix isotope restart bug (read unit number)
add isotope restart test to base suite
add subnames to icepack_isotope.F90
rename public icepack_isotope variable frac to isotope_frac_method to improve clarity
add some coding standard documentation to developers guide under column physics section
Clean up Icepack interface for isotopes
@apcraig
Copy link
Contributor

apcraig commented Mar 30, 2020

I'm happy to do some additional testing when it's appropriate. Just let me know how I can help. It sounds like the first step might be review and testing of the isotope implementation by @dabail10. Then when that is ready, some further technical testing with full test suites on multiple machines/compilers? If that's not the best process, let me know. I assume this goes for both the Icepack and CICE mods.

@eclare108213
Copy link
Contributor Author

Yes, both codes need review and testing. I'm trying to test them both against the master baselines now, to see what still needs work besides cice restarts. Here's my plan:

  1. create baselines - still working on this (need gx3 JRA data)
  2. regression test of cice v6.1.1 with iiso2 against v611, isotopes OFF - in progress
  3. regression test of iiso2 against v121, isotopes ON - in progress
  4. cice testing/debugging with isotopes ON

@dabail10 please take a look at the code at any point in this process. It's already producing what I think are reasonable looking results, but it definitely needs your experienced eyeballs.

@apcraig if you'd like to jump in with the regression testing, I'd be grateful!
Thanks.

@apcraig
Copy link
Contributor

apcraig commented Mar 30, 2020

Sounds good, I will start some of the regression testing on multiple machines/compilers as well.

@dabail10
Copy link
Contributor

Sorry I haven't had time to look at this. I will put aside a couple hours tomorrow on this.

Dave

@eclare108213
Copy link
Contributor Author

@apcraig
Copy link
Contributor

apcraig commented Mar 31, 2020

Full test suites on conrad with 4 compilers are here (#b408817a). What you see is that everything passes fine except 7 intel tests are failing regression tests. This is the same result as tests from about a month ago, and I attribute this to compiler optimization with intel. Other compilers are bit-for-bit and all intel debug tests are bit-for-bit. We could look into this further, but I'm not convinced it's needed. I am just running the test suite out of the box.

Copy link
Contributor

@dabail10 dabail10 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've run your iiso2 branch and get what I expected for the isotopes in the sense that it is still not conserving. I have some ideas here, but I think these are the basic code mods needed to get isotopes in. I know you are still working on some of the indexing stuff, but the "science" changes look good to me.

@eclare108213
Copy link
Contributor Author

Great, thanks @dabail10. I've done as much with the indexing as I plan to, for the isotopes PRs. We can continue to work on that separately. We also can merge this as it is and make an issue to track down the conservation error later.

@dabail10
Copy link
Contributor

dabail10 commented Apr 2, 2020

I am running a CICE case now with history output to verify the science changes there. These will have to be merged together.

@apcraig
Copy link
Contributor

apcraig commented Apr 3, 2020

We should probably close #275 when it's appropriate.

@eclare108213 eclare108213 mentioned this pull request Apr 3, 2020
16 tasks
@eclare108213
Copy link
Contributor Author

The documentation needs to be updated before this is merged. @dabail10 you can submit a PR to my fork, or make the changes in your fork and I'll grab them. We'll need this for CICE too.

@eclare108213
Copy link
Contributor Author

I think this PR is ready to merge, but the readthedocs check isn't finished (after 3+ hours). Is it possible to relaunch that?

@eclare108213
Copy link
Contributor Author

I changed the python version in my readthedocs account from 2.x to 3.x, and then the build succeeded. I didn't see a way to relaunch buildthedocs from here, so I had to commit a minor change in one of the files (which needed to be done anyhow), but that means that I'm not 100% sure whether the change to 3.x is what fixed the build problem here - I'm 99% sure. I guess I shouldn't be surprised that a PR would use the settings in the user's account rather than the settings for the main repository being merged into. Regardless, we might want to change the documentation workflow to tell people to use 3.x instead of 2.x.

This PR is ready to merge.

@apcraig
Copy link
Contributor

apcraig commented Apr 5, 2020

@eclare108213, I had a quick look around and think everything is fine. Why don't you merge this PR when you're ready.

@eclare108213 eclare108213 merged commit 1ae0446 into CICE-Consortium:master Apr 6, 2020
@apcraig
Copy link
Contributor

apcraig commented Apr 7, 2020

I ran full test suites on several platforms today with the current master. https://github.com/CICE-Consortium/Test-Results/wiki/icepack_by_hash#1ae044604498b8d268df6c577556d22d2baa7758. Results are as expected.

@phil-blain phil-blain mentioned this pull request Jul 31, 2020
16 tasks
lettie-roach pushed a commit to lettie-roach/Icepack that referenced this pull request Oct 18, 2022
* Move makdep compilation to Makefile

* makdep compiled from a makdep rule in the Makefile
* Add CFLAG_HOST macro
* makdep is only compiled if needed
* This addresses CICE-Consortium#306

* Use $(DEPGEN) instead of makdep as target (Makefile)

* Update documentation
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