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