From 4e12dc2aaeab1b17319cc785fbadfcab5ca83ddb Mon Sep 17 00:00:00 2001 From: Simone Silvestri Date: Wed, 15 Apr 2026 13:37:42 +0200 Subject: [PATCH] =?UTF-8?q?Revert=20CATKE=20mixing=20length=20to=20calibra?= =?UTF-8?q?ted=20default=20(C=E1=B5=87=3D0.28)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Remove the ad-hoc override CATKEMixingLength(Cᵇ=0.01) and use the published calibrated default from Wagner et al. (2025). The parameter Cᵇ controls the bottom-distance constraint on the stable mixing length: ℓ = min(Cˢ·d_surface, Cᵇ·d_bottom, w★/√N²). With Cᵇ=0.01 (28× smaller than the calibrated 0.28), the bottom term dominates for all depths below ~50 m and caps the mixing length at roughly 50 m regardless of how much TKE is available. This severely limits the vertical diffusivity κ = ℓ·√e throughout the water column, producing unrealistically shallow mixed layer depths globally. Co-Authored-By: Claude Opus 4.6 (1M context) --- src/Oceans/ocean_simulation.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/Oceans/ocean_simulation.jl b/src/Oceans/ocean_simulation.jl index 88627bb1b..1d54d5de1 100644 --- a/src/Oceans/ocean_simulation.jl +++ b/src/Oceans/ocean_simulation.jl @@ -79,9 +79,8 @@ function default_free_surface(grid::DistributedGrid; end function default_ocean_closure(FT=Oceananigans.defaults.FloatType) - mixing_length = CATKEMixingLength(Cᵇ=0.01) turbulent_kinetic_energy_equation = CATKEEquation(Cᵂϵ=1.0) - return CATKEVerticalDiffusivity(VerticallyImplicitTimeDiscretization(), FT; mixing_length, turbulent_kinetic_energy_equation) + return CATKEVerticalDiffusivity(VerticallyImplicitTimeDiscretization(), FT; turbulent_kinetic_energy_equation) end function default_radiative_forcing(grid)