Opened 19 months ago

Closed 7 months ago

Last modified 7 months ago

#1832 closed Defect (fixed)

TKE source for vertical mixing must be reduced under the sea-ice (TKE turbulent closure scheme)

Reported by:Claude Talandier Component: OPA
Version: release-3.6 Severity: minor
Keywords: Cc: Gurvan Madec
Owned by:Gurvan Madec Milestone:
Priority: normal

Description (last modified by nemo)


2 options in zdftke.F90 module are concerned:

  • TKE due to surface and internal wave breaking (namzdf_tke: nn_etau = 1 in the ocean namelist)
  • TKE source term due to Langmuir circulation (namzdf_tke: ln_lc = True in the ocean namelist)


When using these 2 TKE sources or one of them, by default each of them is weighted by ( 1. - fr_i(:,:) );
so as soon as the sea-ice fraction is strictly below 1, which is the case almost everywhere under the
sea-ice, the vertical mixing will be slightly increased leading to a seasonal cycle on both temperature
and salinity under sea-ice; this should not occur since:

  • for a Langmuir circulation to develop, the surface ocean should be directly or partially in contact with the wind,
  • mixing induced by waves could occur under sea-ice but "relatively close" to the MIZ, while the "relatively close" term is still not clear and is an ongoing research topic.


Reduce the threshold so these 2 TKE sources will be active only when sea-ice fraction will be lower than 25%.
This is an ad hoc choice which does not rely on either observations nor a specific study.
So it has to be adjusted more precisely later.

Proposed modification in zdftke.F90 module:

Use '''( MAX(0.,1._wp - 4.*fr_i(ji,jj) ) )''' instead ( 1._wp - fr_i(ji,jj) ) weight.

For the surface and internal wave breaking:

 IF( nn_etau == 1 ) THEN           !* penetration below the mixed layer (rn_efr fraction)
   en(ji,jj,jk) = en(ji,jj,jk) + rn_efr * en(ji,jj,1) * EXP( -fsdepw(ji,jj,jk) / htau(ji,jj) ) '''* ( MAX(0.,1._wp - 4.*fr_i(ji,jj) ) )'''  * wmask(ji,jj,jk) * tmask(ji,jj,1)

For the Langmuir circulation parameterization:

en(ji,jj,jk) = en(ji,jj,jk) + rdt * '''( MAX(0.,1._wp - 4.*fr_i(ji,jj) ) )''' * ( zwlc * zwlc * zwlc ) /   zhlc(ji,jj) * wmask(ji,jj,jk) * tmask(ji,jj,1)

Commit History (1)


Bugfix on TKE vertical mixing under sea-ice, see ticket #1832

Change History (7)

comment:1 Changed 19 months ago by Jerome Chanut

one more thing:
one has to revert to a constant surface roughness below ice if ln_mxl0=T (in place of Charnock formula).

comment:2 Changed 19 months ago by Claude Talandier

Just to make things clear: the effect of the bug is more obvious in the seasonal cycle it creates for the vertical mixing than T or S. The problem is that it creates a seasonal cycle of the vertical heat flux (Kz *dT/dz) that results in an artificial dominant timescale (seasonal) for the interaction between the ocean and the sea ice.

comment:3 Changed 15 months ago by Claire Levy

  • Owner changed from nemo to rbourdal

comment:4 Changed 11 months ago by Gurvan Madec

  • Owner changed from rbourdal to gm
  • Type changed from Bug to Defect

comment:5 Changed 11 months ago by Claire Levy

  • Cc gm added
  • Status changed from new to assigned

comment:6 Changed 7 months ago by Gurvan Madec

  • Resolution set to fixed
  • Severity set to minor
  • Status changed from assigned to closed

This ad hoc fix has been add to the 2017 merged version (branch: dev_merge_2017), and so will be available in the forthcoming versions.

In the v3.6_stable, a less restrictive factor is used : MAX(0.,1._wp - 2.*fr_i(ji,jj) ) is used (see revision 7785).

comment:7 Changed 7 months ago by nemo

  • Description modified (diff)
Note: See TracTickets for help on using tickets.