New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
#2407 (ICB+SI3: blow up under specific circumstances in very shallow cell) – NEMO

Opened 4 years ago

Closed 3 years ago

#2407 closed Defect (fixed)

ICB+SI3: blow up under specific circumstances in very shallow cell

Reported by: mathiot Owned by: mathiot
Priority: low Milestone:
Component: ICB Version:
Severity: minor Keywords: ICB, SI3,
Cc:

Description

Context

MetO eORCA12 (NEMO v4) blows up after few years along Antarctic coast in a very shallow location (10m) because of ice thickness larger than 99m.

Analysis

We figured out that the iceberg melt was very strong despite surface temperature below surface freezing point. This was happening because:

  • a lot of icebergs were advected into this cell (it was a corner) and get stuck there for a while
  • icebergs are allowed to melt even if surface temperature is under the surface freezing point (as long as sst warmer than -4C) via the bottom melt.
             ! Environment
             zdvo = SQRT( (pt%uvel-pt%uo)**2 + (pt%vvel-pt%vo)**2 )
    ...
             ! Melt rates in m/s (i.e. division by rday)
    ...
             zMb = MAX( 0.58_wp*(zdvo**0.8_wp)*(zSST+4.0_wp)/(zL**0.2_wp) , 0._wp ) * z1_rday   ! Basal turbulent melting     (eqn M.A7 )
    

The link between iceberg melt and the 99m of ice is the following: iceberg melt is cooling the ocean (latent heat) => at some point (especially in very shallow cell) sst get below surface freezing point (super cold water) => frazil ice are formed by SI3 whatever is the ice thickness or ice fraction until we reach 99m of ice.
In our case the melt rate of icebergs was almost exactly the same than the sea ice production rate.

It should affect all the versions of NEMO using icebergs but we need a bad combination of wind, current and sea ice to trigger the issue.

Recommendation

This is what we (MetO) decided to do :

  • ground icebergs with a keel depth larger than the bathymetry to limit the number of icebergs being advected in very shallow cells.
  • set basal melt to 0 if surface temperature below the surface freezing point.

In our test :

  • the first point tend to delay a bit when the trouble happened but it seems that in our case most of the icebergs were small enough to enter in the shallow cell (we didn't restart the run from scratch, we rested the run 3 months before the model start to build the ice pillar). It can have a large impact on the calving input file: we need to be sure there is no calving point where bathy shallower than 250m. This case is likely to happened because there are some iceshelves where bathymetry is shallower than 250m. We can also build a maxclasses variable associated to the calving file to limit the thickness of the calved icebergs. NEMO seems able to eat it but we tried it yet. At longer term, we should consider adding complexity in the grounding law (see Nach Merino paper for some consideration on this topic).
  • The second point is not beautiful but it fixes the issue. At longer term, we should consider thinking on using another formulation for the iceberg basal melt (3 equation formulation as for the ice shelves maybe, other idea ?)

We are open for discussion about what should be included in NEMO ? only point 2 ?, both points ?, going further in the grounding law or in the melt computation (this is not in our priority at the moment) ?

Commit History (4)

ChangesetAuthorTimeChangeLog
13281ayoung2020-07-09T15:19:01+02:00

Merging changes for ticket #2407. Patch for iceberg melting stability. Fully SETTE tested: this merge introduces a change to the results in ORCA2_ICE_PISCES.

13263ayoung2020-07-08T09:55:54+02:00

Merging changes for ticket #2407. Patch for iceberg melting stability. Fully SETTE tested: this merge introduces a change to the results in ORCA2_ICE_PISCES.

13262ayoung2020-07-07T16:52:58+02:00

Pulled changes from UKMO iceberg melting branch for ticket #2407.

13261ayoung2020-07-07T16:07:30+02:00

Creating branch for iceberg melt patch ticket #2407

Change History (10)

comment:1 Changed 4 years ago by nemo

  • Version changed from v4.0 to v4.0.*

comment:2 Changed 4 years ago by clevy

comment:3 Changed 4 years ago by ayoung

In 13261:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:4 Changed 4 years ago by ayoung

In 13262:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:5 Changed 4 years ago by ayoung

In 13263:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:6 Changed 4 years ago by ayoung

Current code is : NEMO/releases/r4.0/r4.0-HEAD @ r13261 ( last change @ r13260 )

SETTE validation report generated for :

NEMO/releases/r4.0/r4.0-HEAD @ r13260+ (last changed revision)

on XC40_METO_IFORT arch file

!!---------------1st pass------------------!!

!----restart----!

WGYRE_PISCES_ST run.stat restartability passed : 13260+
WGYRE_PISCES_ST tracer.stat restartability passed : 13260+
WORCA2_ICE_PISCES_ST run.stat restartability passed : 13260+
WORCA2_ICE_PISCES_ST tracer.stat restartability passed : 13260+
WORCA2_OFF_PISCES_ST tracer.stat restartability passed : 13260+
WAMM12_ST run.stat restartability passed : 13260+
WORCA2_SAS_ICE_ST run.stat restartability passed : 13260+
WAGRIF_DEMO_ST run.stat restartability passed : 13260+
WSPITZ12_ST run.stat restartability passed : 13260+
WISOMIP_ST run.stat restartability passed : 13260+
WOVERFLOW_ST run.stat restartability passed : 13260+
WLOCK_EXCHANGE_ST run.stat restartability passed : 13260+
WVORTEX_ST run.stat restartability passed : 13260+
WICE_AGRIF_ST run.stat restartability passed : 13260+

!----repro----!

WGYRE_PISCES_ST run.stat reproducibility passed : 13260+
WGYRE_PISCES_ST tracer.stat reproducibility passed : 13260+
WORCA2_ICE_PISCES_ST run.stat reproducibility passed : 13260+
WORCA2_ICE_PISCES_ST tracer.stat reproducibility passed : 13260+
WORCA2_OFF_PISCES_ST tracer.stat reproducibility passed : 13260+
WAMM12_ST run.stat reproducibility passed : 13260+
WORCA2_SAS_ICE_ST run.stat reproducibility passed : 13260+
WORCA2_ICE_OBS_ST run.stat reproducibility passed : 13260+
WAGRIF_DEMO_ST run.stat reproducibility passed : 13260+
WSPITZ12_ST run.stat reproducibility passed : 13260+
WISOMIP_ST run.stat reproducibility passed : 13260+
WVORTEX_ST run.stat reproducibility passed : 13260+
WICE_AGRIF_ST run.stat reproducibility passed : 13260+

!----agrif check----!

ORCA2 AGRIF vs ORCA2 NOAGRIF run.stat unchanged - passed : 13260+ 13260+

!----result comparison check----!

check result differences between :
VALID directory : /projects/jmmp/ayoung/tickets/r.4.0-HEAD_2407_merge/NEMO_VALIDATION at rev 13260+
and
REFERENCE directory : /projects/jmmp/ayoung/tickets/r.4.0-HEAD_2407_merge/NEMO_VALIDATION at rev 13260

WGYRE_PISCES_ST run.stat files are identical
WGYRE_PISCES_ST tracer.stat files are identical
WORCA2_ICE_PISCES_ST run.stat files are DIFFERENT
WORCA2_ICE_PISCES_ST tracer.stat files are DIFFERENT
WORCA2_OFF_PISCES_ST tracer.stat files are identical
WAMM12_ST run.stat files are identical
WISOMIP_ST run.stat files are identical
WORCA2_SAS_ICE_ST run.stat files are identical
WAGRIF_DEMO_ST run.stat files are identical
WSPITZ12_ST run.stat files are identical
WISOMIP_ST run.stat files are identical
WVORTEX_ST run.stat files are identical
WICE_AGRIF_ST run.stat files are identical

!!---------------2nd pass------------------!!

!----restart----!

!----repro----!

!----agrif check----!

!----result comparison check----!

check result differences between :
VALID directory : /projects/jmmp/ayoung/tickets/r.4.0-HEAD_2407_merge/NEMO_VALIDATION at rev 13260+
and
REFERENCE directory : /projects/jmmp/ayoung/tickets/r.4.0-HEAD_2407_merge/NEMO_VALIDATION at rev 13260

WORCA2_ICE_PISCES_ST run.stat files are DIFFERENT
<return> to view run.stat differences

comment:7 Changed 4 years ago by ayoung

Last edited 4 years ago by ayoung (previous) (diff)

comment:8 Changed 4 years ago by ayoung

In 13281:

Error: Failed to load processor CommitTicketReference
No macro or processor named 'CommitTicketReference' found

comment:9 Changed 4 years ago by ayoung

Sette results for merge to trunk:
Current code is : NEMO/trunk @ r13278 ( last change @ r13267 )

SETTE validation report generated for :

NEMO/trunk @ r13267+ (last changed revision)

on XC40_METO_IFORT arch file

!!---------------1st pass------------------!!

!----restart----!

WGYRE_PISCES_ST run.stat restartability passed : 13267+
WGYRE_PISCES_ST tracer.stat restartability passed : 13267+
WORCA2_ICE_PISCES_ST run.stat restartability passed : 13267+
WORCA2_ICE_PISCES_ST tracer.stat restartability passed : 13267+
WORCA2_OFF_PISCES_ST tracer.stat restartability passed : 13267+
WAMM12_ST run.stat restartability passed : 13267+
WORCA2_SAS_ICE_ST run.stat restartability passed : 13267+
WAGRIF_DEMO_ST run.stat restartability passed : 13267+
WSPITZ12_ST run.stat restartability passed : 13267+
WISOMIP_ST run.stat restartability passed : 13267+
WOVERFLOW_ST run.stat restartability passed : 13267+
WLOCK_EXCHANGE_ST run.stat restartability passed : 13267+
WVORTEX_ST run.stat restartability passed : 13267+
WICE_AGRIF_ST run.stat restartability passed : 13267+

!----repro----!

WGYRE_PISCES_ST run.stat reproducibility passed : 13267+
WGYRE_PISCES_ST tracer.stat reproducibility passed : 13267+
WORCA2_ICE_PISCES_ST run.stat reproducibility passed : 13267+
WORCA2_ICE_PISCES_ST tracer.stat reproducibility passed : 13267+
WORCA2_OFF_PISCES_ST tracer.stat reproducibility passed : 13267+
WAMM12_ST run.stat reproducibility passed : 13267+
WORCA2_SAS_ICE_ST run.stat reproducibility passed : 13267+
WORCA2_ICE_OBS_ST run.stat reproducibility passed : 13267+
WAGRIF_DEMO_ST run.stat reproducibility passed : 13267+
WSPITZ12_ST run.stat reproducibility passed : 13267+
WISOMIP_ST run.stat reproducibility passed : 13267+
WVORTEX_ST run.stat reproducibility passed : 13267+
WICE_AGRIF_ST run.stat reproducibility passed : 13267+

!----agrif check----!

ORCA2 AGRIF vs ORCA2 NOAGRIF run.stat unchanged - passed : 13267+ 13267+

!----result comparison check----!

check result differences between :
VALID directory : /projects/jmmp/ayoung/tickets/trunk_ref/NEMO_VALIDATION at rev 13267+
and
REFERENCE directory : /projects/jmmp/ayoung/tickets/trunk_ref/NEMO_VALIDATION at rev 13267

WGYRE_PISCES_ST run.stat files are identical
WGYRE_PISCES_ST tracer.stat files are identical
WORCA2_ICE_PISCES_ST run.stat files are DIFFERENT (results are different after 278 time steps)
WORCA2_ICE_PISCES_ST tracer.stat files are DIFFERENT (results are different after time steps)
WORCA2_OFF_PISCES_ST tracer.stat files are identical
WAMM12_ST run.stat files are identical
WISOMIP_ST run.stat files are identical
WORCA2_SAS_ICE_ST run.stat files are identical
WAGRIF_DEMO_ST run.stat files are identical
WSPITZ12_ST run.stat files are identical
WISOMIP_ST run.stat files are identical
WVORTEX_ST run.stat files are identical
WICE_AGRIF_ST run.stat files are identical

comment:10 Changed 3 years ago by mathiot

  • Resolution set to fixed
  • Status changed from new to closed
  • Version v4.0.* deleted

Already fixed at r13278

Note: See TracTickets for help on using tickets.