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

Coupling support for GEOS-ESM #491

Draft
wants to merge 36 commits into
base: main
Choose a base branch
from

Conversation

zhaobin74
Copy link

PR checklist

  • Short (1 sentence) summary of your PR:
    This PR adds support for coupling CICE6/Icepack to NASA GMAO GEOS-ESM
  • Developer(s):
    @zhaobin74
  • Suggest PR reviewers from list in the column to the right.
    @eclare108213, @apcraig, @dabail10
  • Please copy the PR test results link or provide a summary of testing completed below.
    Run base_suite with both base tag (main) and this PR and got bit-for-bit identical results
  • 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
  • Please document the changes in detail, including why the changes are made. This will become part of the PR commit log.
    • Adds support for coupler provided surface flux and derivatives in BL99 and Mushy solver (necessary for coupling to GEOS-ESM atmosphere)
    • Adds additional bands of visible SW as input and outputs of resulting penetration flux (for GEOS-ESM)
    • When proper, use GEOSCOUPLED macro to isolate the relevant code specific to GEOS

Hi Consortium, I am putting this PR in draft mode for now to get feedbacks. I am happy to improve it with your help and suggestions.

zhaobin74 and others added 30 commits October 25, 2022 17:33
…ing suite; add a small_suite and a 15 day run set
fix a bug of not updating enthalpy for BL99
* first attempt at enabling mushy layer thero scheme in GEOS coupling; built ok; needs tests

* fixed a tice_high bug in init_vertical; add updating fsurf/fsurf_cpl when Tsf gets reset to Tmlt

* protect ismyturn  with GEOSCOUPLED macro

* protect ismyturn with another GEOSCOUPLED macro

* remove printout i,j,tsk
…qsn-mushy

do not correct zqsn in condensation step when ktherm=2
Enable delta Eddington shortwave scheme in GEOS
@zhaobin74 zhaobin74 changed the title Geos ready for consortium Coupling support for GEOS-ESM Jun 13, 2024
@apcraig
Copy link
Contributor

apcraig commented Jun 17, 2024

HI @zhaobin74. Thanks for putting these together. I've had a quick look and they look pretty reasonable. But I will go thru the modification in Icepack and CICE carefully and provide some feedback. We are in the process of updating several interfaces as part of a bgc upgrade, so depending on progress on that task, some revisions may be needed here for that too. But I don't think that will be a big problem, and we can work together to bring your changes into the code cleanly. More soon.

@zhaobin74
Copy link
Author

zhaobin74 commented Jun 18, 2024

HI @zhaobin74. Thanks for putting these together. I've had a quick look and they look pretty reasonable. But I will go thru the modification in Icepack and CICE carefully and provide some feedback. We are in the process of updating several interfaces as part of a bgc upgrade, so depending on progress on that task, some revisions may be needed here for that too. But I don't think that will be a big problem, and we can work together to bring your changes into the code cleanly. More soon.

Thanks, @apcraig. All sounds good. Look forward to working with you and others on this PR.

@apcraig
Copy link
Contributor

apcraig commented Jul 22, 2024

Hi @zhaobin74, haven't forgotten about this. I'm trying to get an update to bgc into the code before we test/merge your modifications. This PR is high priority, sorry for the delays.

@zhaobin74
Copy link
Author

Hi @zhaobin74, haven't forgotten about this. I'm trying to get an update to bgc into the code before we test/merge your modifications. This PR is high priority, sorry for the delays.

Hi @apcraig, just back from leave. No problem, we can deal with it later.

@apcraig
Copy link
Contributor

apcraig commented Dec 4, 2024

@zhaobin74, sorry for the delays. I am going to start work on this task this week. My plan is to migrate these changes into the current versions of Icepack and CICE and to do some testing. Then I will create new PRs that replace these, and we can iterate until everything is working well for you on your end. Does that make sense to you? Will you have some time in the next week to month (or so given holidays) to do some testing and iterate with me? I want to make sure the changes will meet your needs and that we're able to make some progress. This doesn't have to be a top priority for either of us, but as long as we both can carve out a little time here and there, we should be able to make progress. Thanks!

@zhaobin74
Copy link
Author

@zhaobin74, sorry for the delays. I am going to start work on this task this week. My plan is to migrate these changes into the current versions of Icepack and CICE and to do some testing. Then I will create new PRs that replace these, and we can iterate until everything is working well for you on your end. Does that make sense to you? Will you have some time in the next week to month (or so given holidays) to do some testing and iterate with me? I want to make sure the changes will meet your needs and that we're able to make some progress. This doesn't have to be a top priority for either of us, but as long as we both can carve out a little time here and there, we should be able to make progress. Thanks!

@apcraig, that sounds a good plan.

Given the scope of the changes, I think we can iterate over different sections as listed below

  • driver (totally new)
  • grid
  • dynamics
  • radiation/albedo, thermodynamics (most significant changes)

None of these should break anything so we could merge them piece by piece.

I'd be available next two weeks before the holiday. We can coordinate times via emails. Thanks.

@apcraig
Copy link
Contributor

apcraig commented Dec 5, 2024

Thanks @zhaobin74. I had a closer look at the modifications (both Icepack and CICE). In general, the implementation looks clean, thank you for that. We would like to implement these changes without the CPPs if possible, so we need to sort out the best way to do some of that. I attach some notes and questions (for Icepack and CICE). It would be great if you can follow up when you have a chance. If you prefer to work thru email, just let me know. Thanks.

cice_geosready_review.txt

@zhaobin74
Copy link
Author

Thanks @zhaobin74. I had a closer look at the modifications (both Icepack and CICE). In general, the implementation looks clean, thank you for that. We would like to implement these changes without the CPPs if possible, so we need to sort out the best way to do some of that. I attach some notes and questions (for Icepack and CICE). It would be great if you can follow up when you have a chance. If you prefer to work thru email, just let me know. Thanks.

cice_geosready_review.txt

@apcraig, thanks for the feedback. I'll work on it over the next few days/week:

  • address your questions
  • make modifications based on your suggestions (using namelist instead of CPP when possible)

@apcraig
Copy link
Contributor

apcraig commented Dec 6, 2024

Hi @zhaobin74, you don't need to make any changes to your PRs or code. I will be merging your changes into the current versions of Icepack and CICE myself. There are lots of conflicts to consider and some refactoring I'll want to do. There is no reason for you to spend time on the code changes, I will take care of that as I do the migration. Input for my notes and questions will help me move that forward. Any info you can provide will very much help that process. So I would just leave the PRs as they are for now. Thanks!

@zhaobin74
Copy link
Author

Understood. Thanks for the clarification, @apcraig.

@zhaobin74
Copy link
Author

@zhaobin74, sorry for the delays. I am going to start work on this task this week. My plan is to migrate these changes into the current versions of Icepack and CICE and to do some testing. Then I will create new PRs that replace these, and we can iterate until everything is working well for you on your end. Does that make sense to you? Will you have some time in the next week to month (or so given holidays) to do some testing and iterate with me? I want to make sure the changes will meet your needs and that we're able to make some progress. This doesn't have to be a top priority for either of us, but as long as we both can carve out a little time here and there, we should be able to make progress. Thanks!

@apcraig, sorry for the delay. Please see my reply in this file
cice_geosready_review_reply.txt
. Let me know if you have more questions. Thanks for the review.

@apcraig
Copy link
Contributor

apcraig commented Dec 13, 2024

Thanks @zhaobin74. The text file seems to be blank or empty. Could you try attaching it again or if you email it to me (anthony.p.craig at gmail dot com), I can try to attach it to the discussion here too. Thanks.

@apcraig
Copy link
Contributor

apcraig commented Dec 16, 2024

Thanks @zhaobin74, got the email and I attach the reply here again,
cice_geosready_review_reply.txt

This all seems fairly clear, thanks. I would like to discuss the new namelist options. I think those are

  • different flux calculation related to fsurf/flat/dfsurf/dflat.
  • thickness/enthalpy modifications (are these one or more than one new namelist?)

Can we use existing namelist to set these? Do we need some new namelist variables? What should the new settings be? Happy to also have insight from @eclare108213, @dabail10, and others. I don't have a good feel for what's best.

@zhaobin74
Copy link
Author

Thanks @zhaobin74, got the email and I attach the reply here again, cice_geosready_review_reply.txt

This all seems fairly clear, thanks. I would like to discuss the new namelist options. I think those are

  • different flux calculation related to fsurf/flat/dfsurf/dflat.
  • thickness/enthalpy modifications (are these one or more than one new namelist?)

Can we use existing namelist to set these? Do we need some new namelist variables? What should the new settings be? Happy to also have insight from @eclare108213, @dabail10, and others. I don't have a good feel for what's best.

@apcraig, sorry for the late reply. As for the namelist, I don't have a strong opinion either. May I suggest:

  • enforcing_heatflux for different flux calculation related to fsurf/flat/dfsurf/dflat, since heat fluxes are provided externally
  • enforcing_massflux for thickness/enthalpy modifications, similar idea to above

I am not particularly good at naming things 😃

@apcraig
Copy link
Contributor

apcraig commented Jan 8, 2025

Thanks @zhaobin74. I'm back at this and working on the modifications. Will have more soon.

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