From bc83a2556179286ade698e2956221834e57e89ed Mon Sep 17 00:00:00 2001
From: jchanut <jerome.chanut@mercator-ocean.fr>
Date: Wed, 16 Mar 2022 17:35:22 +0100
Subject: [PATCH]  Changed def. opt. for roughness to "no ice" case

Set default surface roughness option for gls and tke to nn_mxlice=0
(instead of 2), i.e. "no ice" case. Switched on the option in reference
configurations that do have sea-ice.
---
 cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg     | 5 +++--
 cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg     | 4 ++++
 cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg     | 4 ++++
 cfgs/AGRIF_DEMO/EXPREF/namelist_cfg       | 4 ++++
 cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg | 4 ++++
 cfgs/SHARED/namelist_ref                  | 4 ++--
 cfgs/WED025/EXPREF/namelist_cfg           | 4 ++++
 doc/namelists/namzdf_tke                  | 2 +-
 src/OCE/ZDF/zdfgls.F90                    | 8 +++++---
 src/OCE/ZDF/zdftke.F90                    | 6 ++++--
 10 files changed, 35 insertions(+), 10 deletions(-)

diff --git a/cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg b/cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg
index 0b63dd2e3..6dacc95db 100644
--- a/cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg
+++ b/cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg
@@ -361,9 +361,10 @@
 !-----------------------------------------------------------------------
 &namzdf_tke    !   turbulent eddy kinetic dependent vertical diffusion  (ln_zdftke =T)
 !-----------------------------------------------------------------------
-   ln_mxl0     = .true.    !  surface mixing length scale = F(wind stress) (T) or not (F)
-      nn_mxlice    = 0        ! type of scaling under sea-ice
+      nn_mxlice = 0           ! type of scaling under sea-ice
       !                       !    = 0 no scaling under sea-ice
+      !                       !    = 1 scaling with constant sea-ice thickness
+      !                       !    = 2 scaling with mean sea-ice thickness ( only with SI3 sea-ice model )
 /
 !!======================================================================
 !!                  ***  Diagnostics namelists  ***                   !!
diff --git a/cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg b/cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg
index ed652bd07..cb10389e9 100644
--- a/cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg
+++ b/cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg
@@ -298,6 +298,10 @@
 !-----------------------------------------------------------------------
 &namzdf_tke    !   turbulent eddy kinetic dependent vertical diffusion  (ln_zdftke =T)
 !-----------------------------------------------------------------------
+      nn_mxlice = 2           ! type of scaling under sea-ice
+      !                       !    = 0 no scaling under sea-ice
+      !                       !    = 1 scaling with constant sea-ice thickness
+      !                       !    = 2 scaling with mean sea-ice thickness ( only with SI3 sea-ice model )
 /
 !!======================================================================
 !!                  ***  Diagnostics namelists  ***                   !!
diff --git a/cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg b/cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg
index 4b74ffed5..5a082933d 100644
--- a/cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg
+++ b/cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg
@@ -299,6 +299,10 @@
 !-----------------------------------------------------------------------
 &namzdf_tke    !   turbulent eddy kinetic dependent vertical diffusion  (ln_zdftke =T)
 !-----------------------------------------------------------------------
+      nn_mxlice = 2           ! type of scaling under sea-ice
+      !                       !    = 0 no scaling under sea-ice
+      !                       !    = 1 scaling with constant sea-ice thickness
+      !                       !    = 2 scaling with mean sea-ice thickness ( only with SI3 sea-ice model )
 /
 !!======================================================================
 !!                  ***  Diagnostics namelists  ***                   !!
diff --git a/cfgs/AGRIF_DEMO/EXPREF/namelist_cfg b/cfgs/AGRIF_DEMO/EXPREF/namelist_cfg
index 63973baf2..94bb5c091 100644
--- a/cfgs/AGRIF_DEMO/EXPREF/namelist_cfg
+++ b/cfgs/AGRIF_DEMO/EXPREF/namelist_cfg
@@ -357,6 +357,10 @@
 !-----------------------------------------------------------------------
 &namzdf_tke    !   turbulent eddy kinetic dependent vertical diffusion  (ln_zdftke =T)
 !-----------------------------------------------------------------------
+      nn_mxlice = 2           ! type of scaling under sea-ice
+      !                       !    = 0 no scaling under sea-ice
+      !                       !    = 1 scaling with constant sea-ice thickness
+      !                       !    = 2 scaling with mean sea-ice thickness ( only with SI3 sea-ice model ) 
 /
 !!======================================================================
 !!                  ***  Diagnostics namelists  ***                   !!
diff --git a/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg b/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg
index 7f302e9a0..c8353d3ad 100644
--- a/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg
+++ b/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg
@@ -395,6 +395,10 @@
       !                       !        = 2 add a tke source just at the base of the ML
       !                       !        = 3 as = 1 applied on HF part of the stress           (ln_cpl=T)
       ln_mxhsw    = .false.   !  surface mixing length scale = F(wave height)
+      nn_mxlice = 2           ! type of scaling under sea-ice
+      !                       !    = 0 no scaling under sea-ice
+      !                       !    = 1 scaling with constant sea-ice thickness
+      !                       !    = 2 scaling with mean sea-ice thickness ( only with SI3 sea-ice model )
 /
 !-----------------------------------------------------------------------
 &namzdf_iwm    !    internal wave-driven mixing parameterization        (ln_zdfiwm =T)
diff --git a/cfgs/SHARED/namelist_ref b/cfgs/SHARED/namelist_ref
index cde6a6b16..ae9d42ee7 100644
--- a/cfgs/SHARED/namelist_ref
+++ b/cfgs/SHARED/namelist_ref
@@ -1199,7 +1199,7 @@
    !                       !                 = 2 first vertical derivative of mixing length bounded by 1
    !                       !                 = 3 as =2 with distinct dissipative an mixing length scale
    ln_mxl0     = .true.    !  surface mixing length scale = F(wind stress) (T) or not (F)
-      nn_mxlice    = 2        ! type of scaling under sea-ice
+      nn_mxlice    = 0        ! type of scaling under sea-ice
       !                       !    = 0 no scaling under sea-ice
       !                       !    = 1 scaling with constant sea-ice thickness
       !                       !    = 2 scaling with mean sea-ice thickness ( only with SI3 sea-ice model )
@@ -1245,7 +1245,7 @@
    !                       !           = 1 roughness uses rn_hsri and is weigthed by 1-TANH(10*fr_i)
    !                       !           = 2 roughness uses rn_hsri and is weighted by 1-fr_i
    !                       !           = 3 roughness uses rn_hsri and is weighted by 1-MIN(1,4*fr_i)
-   nn_mxlice     =     1   !  mixing under sea ice
+   nn_mxlice     =     0   !  mixing under sea ice
                            !     = 0 No scaling under sea-ice
                            !     = 1 scaling with constant Ice-ocean roughness (rn_hsri)
                            !     = 2 scaling with mean sea-ice thickness
diff --git a/cfgs/WED025/EXPREF/namelist_cfg b/cfgs/WED025/EXPREF/namelist_cfg
index b4293c931..71602bf7b 100644
--- a/cfgs/WED025/EXPREF/namelist_cfg
+++ b/cfgs/WED025/EXPREF/namelist_cfg
@@ -552,6 +552,10 @@
 !-----------------------------------------------------------------------
 &namzdf_tke    !   turbulent eddy kinetic dependent vertical diffusion  (ln_zdftke =T)
 !-----------------------------------------------------------------------
+      nn_mxlice = 2           ! type of scaling under sea-ice
+      !                       !    = 0 no scaling under sea-ice
+      !                       !    = 1 scaling with constant sea-ice thickness
+      !                       !    = 2 scaling with mean sea-ice thickness ( only with SI3 sea-ice model )
 /
 !-----------------------------------------------------------------------
 &namzdf_gls    !   GLS vertical diffusion                               (ln_zdfgls =T)
diff --git a/doc/namelists/namzdf_tke b/doc/namelists/namzdf_tke
index 85990fe70..d5d10df2c 100644
--- a/doc/namelists/namzdf_tke
+++ b/doc/namelists/namzdf_tke
@@ -13,7 +13,7 @@
    !                       !                 = 2 first vertical derivative of mixing length bounded by 1
    !                       !                 = 3 as =2 with distinct dissipative an mixing length scale
    ln_mxl0     = .true.    !  surface mixing length scale = F(wind stress) (T) or not (F)
-      nn_mxlice    = 2        ! type of scaling under sea-ice
+      nn_mxlice    = 0        ! type of scaling under sea-ice
       !                       !    = 0 no scaling under sea-ice
       !                       !    = 1 scaling with constant sea-ice thickness
       !                       !    = 2 scaling with mean sea-ice thickness ( only with SI3 sea-ice model )
diff --git a/src/OCE/ZDF/zdfgls.F90 b/src/OCE/ZDF/zdfgls.F90
index 8c0b65d2b..b25670799 100644
--- a/src/OCE/ZDF/zdfgls.F90
+++ b/src/OCE/ZDF/zdfgls.F90
@@ -967,10 +967,12 @@ CONTAINS
             CASE( 2 )   ;   WRITE(numout,*) '   ==>>>   scaling with mean     sea-ice thickness'
             CASE( 3 )   ;   WRITE(numout,*) '   ==>>>   scaling with max      sea-ice thickness'
             CASE DEFAULT
-               CALL ctl_stop( 'zdf_tke_init: wrong value for nn_mxlice, should be 0,1,2,3 ')
+               CALL ctl_stop( 'zdf_gls_init: wrong value for nn_mxlice, should be 0,1,2,3 ')
          END SELECT
-         IF ( (nn_mxlice>1).AND.(nn_ice<2) ) THEN
-            CALL ctl_stop( 'zdf_tke_init: with no ice model, nn_mxlice must be 0 or 1')
+         IF     ( (nn_mxlice>0).AND.(nn_ice==0) ) THEN
+            CALL ctl_stop( 'zdf_gls_init: with no ice at all, nn_mxlice must be 0 ') 
+         ELSEIF ( (nn_mxlice>1).AND.(nn_ice==1) ) THEN
+            CALL ctl_stop( 'zdf_gls_init: with no ice model, nn_mxlice must be 0 or 1')
          ENDIF
          WRITE(numout,*)
       ENDIF
diff --git a/src/OCE/ZDF/zdftke.F90 b/src/OCE/ZDF/zdftke.F90
index f8f604567..8b6d91558 100644
--- a/src/OCE/ZDF/zdftke.F90
+++ b/src/OCE/ZDF/zdftke.F90
@@ -762,8 +762,10 @@ CONTAINS
             CASE DEFAULT
                CALL ctl_stop( 'zdf_tke_init: wrong value for nn_mxlice, should be 0,1,2,3 or 4')
             END SELECT
-            IF ( (nn_mxlice>1).AND.(nn_ice<2) ) THEN
-               CALL ctl_stop( 'zdf_tke_init: with no ice model, nn_mxlice must be 0 or 1') 
+            IF     ( (nn_mxlice>0).AND.(nn_ice==0) ) THEN
+               CALL ctl_stop( 'zdf_tke_init: with no ice at all, nn_mxlice must be 0 ') 
+            ELSEIF ( (nn_mxlice>1).AND.(nn_ice==1) ) THEN
+               CALL ctl_stop( 'zdf_tke_init: with no ice model, nn_mxlice must be 0 or 1')
             ENDIF
          ENDIF
          WRITE(numout,*) '      Langmuir cells parametrization              ln_lc     = ', ln_lc
-- 
GitLab