Opened 5 years ago
Closed 4 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)
Changeset | Author | Time | ChangeLog |
---|---|---|---|
13281 | ayoung | 2020-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. |
13263 | ayoung | 2020-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. |
13262 | ayoung | 2020-07-07T16:52:58+02:00 | Pulled changes from UKMO iceberg melting branch for ticket #2407. |
13261 | ayoung | 2020-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
comment:4 Changed 4 years ago by ayoung
In 13262:
comment:5 Changed 4 years ago by ayoung
In 13263:
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
comment:8 Changed 4 years ago by ayoung
In 13281:
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 4 years ago by mathiot
- Resolution set to fixed
- Status changed from new to closed
- Version v4.0.* deleted
Already fixed at r13278
In 13261: