-
Notifications
You must be signed in to change notification settings - Fork 0
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
Bring in changes from AKT icepack-integration branch #1
Bring in changes from AKT icepack-integration branch #1
Conversation
Add icepack as new submodule Add build of icepack to MPAS-Seaice build system Add extra variables to Registry new to icepack Added mpas_seaice_icepack module as replacement for mpas_seaice_column module. This is initially a straight copy of mpas_seaice_column Replaced all calls to mpas_seaice_column module with calls to mpas_seaice_icepack. Except radiation (as described below) mpas_seaice_icepack still calls the column package Replace column radiation calls from ice_colpkg to icepack_intfc in mpas_seaice_icepack Add initialization of icepack parameters/tracers to mpas_seaice_icepack Add initialization of icepack shortwave data structures to mpas_seaice_icepack Renamed exposed subroutines in mpas_seaice_icepack from _column_ to _icepack_ Replaced few remaining references to ice_colpkg from files other than mpas_seaice_column.F and mpas_seaice_icepack.F with extra subroutines in those files Note: icepack_warnings, icepack_warnings_getall needs to be public Conflicts: .gitmodules components/mpas-seaice/src/icepack components/mpas-seaice/src/shared/mpas_seaice_constants.F
@@ -620,6 +620,7 @@ add_default($nl, 'config_recover_tracer_means_check'); | |||
# Namelist group: column_package # | |||
################################## | |||
|
|||
add_default($nl, 'config_column_physics_type'); |
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.
Here and elsewhere for this namelist option, I'm not sure if under the column_package
group is the right place for it, but I kept it consistent with the existing entry in Registry.xml
.
Note this is crashing on init with |
When icepack is turned on, the current code crashes due to a namelist discrepancy:
This can be fixed without changing MPAS-seaice's namelist inputs by defining a temporary character string to send to icepack:
The challenge is setting |
There are temporary ifdefs in a couple of modules, wrapping calls into icepack. |
This code builds, runs and successfully completes (!) in E3SM ice-only (D) cases with either
For icepack cases, only the initialization and radiation calls are active (but note that snicar_ad is off), all others still use MPAS-seaice column physics. NB The icepack radiation code is not fully implemented here - many changes have been made in icepack since the present code was initially implemented in stand-alone MPAS-seaice. We also need to sort out potential orbital differences. These things can go in a later PR. Let's merge this PR soon. But before doing so, consider the following:
I'll continue working on this tomorrow... |
@eclare108213 we want to revert 85146bf that added in the ifdef's in With that change (removing those ifdef's), with the above namelist changes, I'm getting the model crashing on the first timestep with a thermo Picard convergence error. Have you seen that? |
My test completed a full simulation using this script:
Let me look to see how much of that is significant...
|
Yes I was, missed that one. Running a test now and then I'll revert that commit. |
I now have this running successfully with a slightly smaller number of namelist changes:
|
I will look into the snicar_ad issue. It should run but the initialization steps need to be checked. Also, it might fail on a thermo error if the restart file is not consistent with the changed fluxes. How would I start from a no-ice condition? |
OK this PR is [BFB] with the base branch with default namelist options (so using column package, no icepack). |
Namelist changes:
|
Note for the successful runs, the following change was made locally (not in this PR) in the icepack submodule:
|
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.
Testing is ongoing. The current code compiles and runs with some manual changes as noted in the comments. With that configuration, results are [BFB] when only changing `config_column_physics_type = column_package' to 'icepack'. Since the radiation calculations are using icepack code, this is a little surprising and so we are continuing to look into it.
2ad4b45
into
eclare108213:eclare108213/seaice/icepack-integration
Begins installation of Icepack as an alternative column physics package in MPAS-seaice. The new namelist flag
config_column_physics_type
chooses between them. Calls usingicepack_intfc.F90
routines activate Icepack physics.This PR cherry-picks in changes introduced in @akturner 's branch https://github.com/akturner/E3SM/tree/akturner/mpas-seaice/icepack-integration.
[BFB] with the current branch (eclare108213/seaice/icepack-integration) with the default
config_column_physics_type = 'column_package'
.