@@ -249,6 +249,7 @@ module turbulence
249249 integer , parameter , public :: Constant= 1
250250 integer , parameter , public :: Munk_Anderson= 2
251251 integer , parameter , public :: Schumann_Gerz= 3
252+ integer , parameter , public :: ICON= 4
252253
253254! method to update length scale
254255 integer , parameter , public :: Parabolic= 1
@@ -629,7 +630,7 @@ subroutine init_turbulence_yaml(branch)
629630 call branch% get(len_scale_method, ' len_scale_method' , ' dissipative length scale' , &
630631 options= (/ option(parabolic, ' parabolic' , ' parabolic' ), option(triangular, ' triangular' , ' triangular' ), option(Xing_Davies, ' Xing and Davies (1995)' , ' Xing_Davies' ), option(Robert_Ouellet, ' Robert and Ouellet (1987)' , ' Robert_Ouellet' ), option(Blackadar, ' Blackadar (two boundaries) (1962)' , ' Blackadar' ), option(Bougeault_Andre, ' Bougeault and Andre (1986)' , ' Bougeault_Andre' ), option(diss_eq, ' dynamic dissipation rate equation' , ' dissipation' ), option(omega_eq, ' dynamic omega equation' , ' omega' ), option(length_eq, ' dynamic Mellor-Yamada q^2 l-equation' , ' Mellor_Yamada' ), option(generic_eq, ' generic length scale (GLS)' , ' gls' )/ ),default= diss_eq)
631632 call branch% get(stab_method, ' stab_method' , ' stability functions' , &
632- options= (/ option(1 , ' constant' , ' constant' ), option(Munk_Anderson, ' Munk and Anderson (1954)' , ' Munk_Anderson' ), option(Schumann_Gerz, ' Schumann and Gerz (1995)' , ' Schumann_Gerz' )/ ),default= 1 )
633+ options= (/ option(1 , ' constant' , ' constant' ), option(Munk_Anderson, ' Munk and Anderson (1954)' , ' Munk_Anderson' ), option(Schumann_Gerz, ' Schumann and Gerz (1995)' , ' Schumann_Gerz' ), option(ICON, ' Brueggemann et al. (2024) ' , ' ICON ' ) / ),default= 1 )
633634
634635 twig = > branch% get_child(' bc' , ' boundary conditions' )
635636 call twig% get(k_ubc, ' k_ubc' , ' upper boundary condition for k-equation' , &
@@ -2250,10 +2251,10 @@ subroutine report_model
22502251 LEVEL2 ' '
22512252 LEVEL3 ' At the surface:'
22522253 LEVEL3 ' spatial decay rate (no shear), alpha =' , gen_alpha
2253- LEVEL3 ' length-scale slope (no shear), L =' , gen_l
2254+ LEVEL3 ' length-scale slope (no shear), L =' , gen_l
22542255 LEVEL2 ' --------------------------------------------------------'
22552256 LEVEL2 ' '
2256- case (Xing_Davies)
2257+ case (Xing_Davies)
22572258 LEVEL2 ' '
22582259 LEVEL2 ' --------------------------------------------------------'
22592260 LEVEL2 ' You are using a one-equation model'
@@ -3000,6 +3001,8 @@ subroutine stabilityfunctions(nlev)
30003001 call cmue_ma(nlev)
30013002 case (Schumann_Gerz)
30023003 call cmue_sg(nlev)
3004+ case (ICON)
3005+ call cmue_icon(nlev)
30033006 case default
30043007
30053008 STDERR ' ... not a valid stability function'
@@ -3115,6 +3118,9 @@ subroutine compute_cm0(turb_method,stab_method,scnd_method)
31153118 case (Schumann_Gerz)
31163119 cm0 = cm0_fix
31173120 cmsf = cm0_fix
3121+ case (ICON)
3122+ cm0 = cm0_fix
3123+ cmsf = cm0_fix
31183124 case default
31193125
31203126 STDERR ' ... not a valid stability function to compute cm0'
0 commit comments