E3SM-Project / E3SM

Energy Exascale Earth System Model source code. NOTE: use "maint" branches for your work. Head of master is not validated.
https://docs.e3sm.org/E3SM
Other
353 stars 365 forks source link

Update the icepack submodule to v1.5.0 #6767

Open eclare108213 opened 1 day ago

eclare108213 commented 1 day ago

DRAFT PR to enable early review while I complete testing.

Replaces the Icepack submodule in E3SM with Icepack version 1.5.0 and updates MPAS-seaice to accommodate the new code.

This PR is not BFB due to changes in the Icepack column physics modules to fix a bug in a flux-limiting term, to fix a bug in the lateral melting code, to fix conservation issues associated with the floe size distribution, and to support testing the 5-band SNICAR radiation data.

[not BFB]

github-actions[bot] commented 1 day ago

PR Preview Action v1.4.8 :---: :rocket: Deployed preview to https://E3SM-Project.github.io/E3SM/pr-preview/pr-6767/ on branch gh-pages at 2024-11-22 21:15 UTC

eclare108213 commented 1 day ago

There are some necessary changes in MPAS-seaice to enable Icepack v1.5.0 to run. Icepack now takes the (category, cell) array for the fraction of lateral ice melting instead of just (cell). This array has been added to Registry without removing the old one, which is still used by the the old column physics code (and will be deprecated in a future PR).

USE_SNICAR is no longer used in Icepack. This is the default behavior and so the cpp has simply been removed.

Two Icepack subroutine names changed to better describe what the subroutines do:

use icepack_therm_shared , only: icepack_init_thermo => icepack_init_salinity use icepack_therm_shared , only: icepack_init_trcr => icepack_init_enthalpy

The code changes are more fully described in https://acme-climate.atlassian.net/wiki/spaces/ICE/pages/4765843553/Overview+of+Icepack+synchronization+version+1.5.0

njeffery commented 1 day ago

@eclare108213 : The build failed when I just checked out your branch. I suspect I'm pointing to the wrong Icepack? Could you send me the icepack commit or checkout command? Thanks

eclare108213 commented 22 hours ago

The build failed when I just checked out your branch. I suspect I'm pointing to the wrong Icepack? Could you send me the icepack commit or checkout command? Thanks

Hmmm, not sure why it wouldn't work straight from this branch. The icepack submodule should be pointing to this hash: 22b8769 (HEAD -> main, origin/main, origin/HEAD) Merge pull request # 35 from CICE-Consortium/main

If it isn't, then in the E3SM directory try

git submodule sync
git submodule update --init

(which might point it back to E3SM's current icepack submodule, I'm not sure). If that doesn't work, then just do it manually,

cd components/mpas-seaice/src
mv icepack icepack.orig
git clone git@github.com:E3SM-Project/Icepack icepack
njeffery commented 4 hours ago

git submodule sync git submodule update --init

@eclare108213 : That worked! pointing to the right hash now. I'll try again. How should I set the alternative congelation flag?

eclare108213 commented 4 hours ago

How should I set the alternative congelation flag?

@njeffery Yay! See description in https://acme-climate.atlassian.net/wiki/spaces/ICE/pages/4795236381/Alternative+congelation+freezing+method

njeffery commented 4 hours ago

Trying config_congelation_freezing_method = 'one-step' but keeping the congelation porosity the same.