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.
#2575 (supercooling and sea-ice) – NEMO

Opened 3 years ago

Closed 3 years ago

Last modified 2 years ago

#2575 closed Defect (fixed)

supercooling and sea-ice

Reported by: clem Owned by: systeam
Priority: low Milestone:
Component: SI3 Version: v4.0
Severity: major Keywords: v4.0
Cc:

Description

Context

In some configurations the ocean water can be supercooled, especially near ice-shelves.
This is perfectly ok but it can happen that the water remains supercooled all the time. Therefore ice is constantly growing due to turbulent fluxes. If ice is not exported away, then it accumulates until it reaches its max rn_hmax (99m) and then the code crashes.

Recommendation

I think we should switch off the turbulent fluxes when we have supercooling and sea ice is very thick. The concept of "very thick" is entirely arbitrary. So, I propose 20m which is already a lot
Here are the lines to add to icethd.F90

IF( ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ) > 0._wp .AND. vt_i(ji,jj) >= 20._wp ) THEN
   zqfr     = 0._wp
   zqfr_pos = 0._wp
   qsb_ice_bot(ji,jj) = 0._wp
ENDIF

Or something slightly more complicated with a decrease of the fluxes between 10m and 20m of ice. But I cannot find a proper justification for that

            IF( ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ) > 0._wp ) THEN
               IF    ( vt_i(ji,jj) >= 20._wp  ) THEN                           ! v >= 20m then flux = 0
                  zqfr     = 0._wp
                  zqfr_pos = 0._wp
                  qsb_ice_bot(ji,jj) = 0._wp
               ELSEIF( vt_i(ji,jj) >= 10._wp .AND. vt_i(ji,jj) < 20._wp ) THEN ! v > 10m and v < 20m then flux = linear transition to 0
                  zqfr = zqfr * MAX( 0._wp, 2._wp - 0.1_wp * vt_i(ji,jj) )
                  zqfr_pos = zqfr_pos * MAX( 0._wp, 2._wp - 0.1_wp * vt_i(ji,jj) )
                  qsb_ice_bot(ji,jj) = qsb_ice_bot(ji,jj) * MAX( 0._wp, 2._wp - 0.1_wp * vt_i(ji,jj) )
               ENDIF
            ENDIF

Commit History (2)

ChangesetAuthorTimeChangeLog
14026clem2020-12-03T09:48:10+01:00

4.0-HEAD: fix bugs and defects related to tickets #2573 #2575 #2576 #2578. Sette passed and those fixes are now in the trunk, so unless there is a tricky trick somewhere, everything should be fine.

13959clem2020-12-01T23:47:44+01:00

multiple adds refering to tickets #2573 #2575 #2576. It concerns small bugs corrections for having a perfectly conservative sea-ice system, plus the removal of restriction on snow layers (one can have several layers in the snow now), plus a bug fix in very peculiar situation where ocean is always supercool

Change History (4)

comment:1 Changed 3 years ago by clem

In 13959:

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

comment:2 Changed 3 years ago by clem

In 14026:

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

comment:3 Changed 3 years ago by clem

  • Resolution set to fixed
  • Status changed from new to closed

also in the trunk at r14005

comment:4 Changed 2 years ago by nemo

  • Keywords v4.0 added
Note: See TracTickets for help on using tickets.