Package evaluation to test OceanTurb on Julia 1.14.0-DEV.1260 (89243d1cdf*) started at 2025-11-16T16:15:04.173 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 9.45s ################################################################################ # Installation # Installing OceanTurb... Resolving package versions... Installed Conda ── v1.10.3 Installed PyCall ─ v1.96.4 Updating `~/.julia/environments/v1.14/Project.toml` [d848d694] + OceanTurb v0.3.4 Updating `~/.julia/environments/v1.14/Manifest.toml` [8f4d0f93] + Conda v1.10.3 [682c06a0] + JSON v1.3.0 [1914dd2f] + MacroTools v0.5.16 [d848d694] + OceanTurb v0.3.4 [6fe1bfb0] + OffsetArrays v1.17.0 [69de0a69] + Parsers v2.8.3 [aea7be01] + PrecompileTools v1.3.3 [21216c6a] + Preferences v1.5.0 [438e738f] + PyCall v1.96.4 [90137ffa] + StaticArrays v1.9.15 [1e83bf80] + StaticArraysCore v1.4.4 [10745b16] + Statistics v1.11.1 [ec057cc2] + StructUtils v2.6.0 [81def892] + VersionParsing v1.3.0 [0dad84c5] + ArgTools v1.1.2 [56f22d72] + Artifacts v1.11.0 [ade2ca70] + Dates v1.11.0 [f43a241f] + Downloads v1.7.0 [7b1f6079] + FileWatching v1.11.0 [b27032c2] + LibCURL v1.0.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.13.0 [56ddb016] + Logging v1.11.0 [ca575930] + NetworkOptions v1.3.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v1.0.0 [9e88b42a] + Serialization v1.11.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] + LibCURL_jll v8.16.0+0 [29816b5a] + LibSSH2_jll v1.11.3+1 [14a3606d] + MozillaCACerts_jll v2025.11.4 [4536629a] + OpenBLAS_jll v0.3.29+0 [458c3c95] + OpenSSL_jll v3.5.4+0 [83775a58] + Zlib_jll v1.3.1+2 [3161d3a3] + Zstd_jll v1.5.7+1 [8e850b90] + libblastrampoline_jll v5.15.0+0 [8e850ede] + nghttp2_jll v1.68.0+1 Building Conda ─→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/8f06b0cfa4c514c7b9546756dbae91fcfbc92dc9/build.log` Building PyCall → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/9816a3826b0ebf49ab4926e2b18842ad8b5c8f04/build.log` Installation completed after 65.86s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... ┌ Error: Failed to use TestEnv.jl; test dependencies will not be precompiled │ exception = │ UndefVarError: `project_rel_path` not defined in `TestEnv` │ Suggestion: this global was defined as `Pkg.Operations.project_rel_path` but not assigned a value. │ Stacktrace: │ [1] get_test_dir(ctx::Pkg.Types.Context, pkgspec::PackageSpec) │ @ TestEnv ~/.julia/packages/TestEnv/i9lgt/src/julia-1.11/common.jl:75 │ [2] test_dir_has_project_file │ @ ~/.julia/packages/TestEnv/i9lgt/src/julia-1.11/common.jl:52 [inlined] │ [3] maybe_gen_project_override! │ @ ~/.julia/packages/TestEnv/i9lgt/src/julia-1.11/common.jl:83 [inlined] │ [4] activate(pkg::String; allow_reresolve::Bool) │ @ TestEnv ~/.julia/packages/TestEnv/i9lgt/src/julia-1.11/activate_set.jl:12 │ [5] activate(pkg::String) │ @ TestEnv ~/.julia/packages/TestEnv/i9lgt/src/julia-1.11/activate_set.jl:9 │ [6] top-level scope │ @ /PkgEval.jl/scripts/precompile.jl:24 │ [7] include(mod::Module, _path::String) │ @ Base ./Base.jl:309 │ [8] exec_options(opts::Base.JLOptions) │ @ Base ./client.jl:344 │ [9] _start() │ @ Base ./client.jl:577 └ @ Main /PkgEval.jl/scripts/precompile.jl:26 Precompiling package dependencies... Precompiling packages... WARNING: method definition for update_nonlocal_flux! at /home/pkgeval/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/nonlocal_flux.jl:147 declares type variable K but does not use it. 4208.2 ms ✓ OceanTurb 1 dependency successfully precompiled in 5 seconds. 32 already precompiled. 1 dependency had output during precompilation: ┌ OceanTurb │ WARNING: method definition for update_nonlocal_flux! at /home/pkgeval/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/nonlocal_flux.jl:147 declares type variable K but does not use it. └ Precompilation completed after 17.97s ################################################################################ # Testing # Testing OceanTurb Status `/tmp/jl_ydM9JI/Project.toml` [a2441757] Coverage v1.8.1 [d848d694] OceanTurb v0.3.4 [6fe1bfb0] OffsetArrays v1.17.0 [438e738f] PyCall v1.96.4 [90137ffa] StaticArrays v1.9.15 [10745b16] Statistics v1.11.1 [37e2e46d] LinearAlgebra v1.13.0 [de0858da] Printf v1.11.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_ydM9JI/Manifest.toml` [c7e460c6] ArgParse v1.2.0 [d1d4a3ce] BitFlags v0.1.9 [944b1d66] CodecZlib v0.7.8 [f0e56b4a] ConcurrentUtilities v2.5.0 [8f4d0f93] Conda v1.10.3 [a2441757] Coverage v1.8.1 [c36e975a] CoverageTools v1.3.2 [460bff9d] ExceptionUnwrapping v0.1.11 [cd3eb016] HTTP v1.10.19 [692b3bcd] JLLWrappers v1.7.1 [682c06a0] JSON v1.3.0 [e6f89c97] LoggingExtras v1.2.0 [1914dd2f] MacroTools v0.5.16 [739be429] MbedTLS v1.1.9 [d848d694] OceanTurb v0.3.4 [6fe1bfb0] OffsetArrays v1.17.0 [4d8831e6] OpenSSL v1.6.0 [69de0a69] Parsers v2.8.3 [aea7be01] PrecompileTools v1.3.3 [21216c6a] Preferences v1.5.0 [438e738f] PyCall v1.96.4 [6c6a2e73] Scratch v1.3.0 [777ac1f9] SimpleBufferStream v1.2.0 [90137ffa] StaticArrays v1.9.15 [1e83bf80] StaticArraysCore v1.4.4 [10745b16] Statistics v1.11.1 [ec057cc2] StructUtils v2.6.0 [b718987f] TextWrap v1.0.2 [3bb67fe8] TranscodingStreams v0.11.3 [5c2747f8] URIs v1.6.1 [81def892] VersionParsing v1.3.0 [c8ffd9c3] MbedTLS_jll v2.28.10+0 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [f43a241f] Downloads v1.7.0 [7b1f6079] FileWatching v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.12.0 [b27032c2] LibCURL v1.0.0 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.13.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [ca575930] NetworkOptions v1.3.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v1.0.0 [9e88b42a] Serialization v1.11.0 [6462fe0b] Sockets v1.11.0 [f489334b] StyledStrings v1.11.0 [fa267f1f] TOML v1.0.3 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] LibCURL_jll v8.16.0+0 [e37daf67] LibGit2_jll v1.9.1+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2025.11.4 [4536629a] OpenBLAS_jll v0.3.29+0 [458c3c95] OpenSSL_jll v3.5.4+0 [efcefdf7] PCRE2_jll v10.47.0+0 [83775a58] Zlib_jll v1.3.1+2 [3161d3a3] Zstd_jll v1.5.7+1 [8e850b90] libblastrampoline_jll v5.15.0+0 [8e850ede] nghttp2_jll v1.68.0+1 Testing Running tests... Test Summary: | Pass Total Time Utils | 5 5 3.9s Test Summary: | Pass Total Time Solvers | 2 2 2.3s Test Summary: | Pass Total Time Grids | 18 18 0.9s Test Summary: | Pass Total Time Fields | 24 24 6.1s WARNING: Method definition test_diffusive_flux() in module Main at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_utils.jl:16 overwritten at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_diffusion.jl:17. Test Summary: | Pass Total Time Diffusion | 14 14 4.3s Test Summary: | Pass Total Time Pacanowski-Philander | 2 2 2.5s Test Summary: | Pass Total Time KPP | 51 51 29.8s Test Summary: | Pass Total Time Modular KPP | 17 17 47.7s WARNING: Method definition test_default_model_init() in module Main at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_modularkpp.jl:5 overwritten at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:5. WARNING: Method definition test_default_model_init(Any) in module Main at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_modularkpp.jl:5 overwritten at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:5. WARNING: Method definition test_default_model_init(Any, Any) in module Main at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_modularkpp.jl:5 overwritten at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:5. TKEMassFlux tests begin: testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, Nothing, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::Nothing, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, Nothing, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::Nothing, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, typeof(OceanTurb.TKEMassFlux.prescribed_surface_tke_flux)}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.EquilibriumMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.LMDCounterGradientFlux{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEFlux{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, Nothing, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::Nothing, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedNearWallTKE{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK testing... OK testing... OK TKEMassFlux: Error During Test at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 Test threw exception Expression: time_step_tke_mass_flux_model(boundary_layer_depth, mixing_length, nonlocal_flux, tke_equation, wall_model, eddy_diffusivity_model) BoundsError: attempt to access 6-element OffsetArray(::Vector{Float64}, 0:5) with eltype Float64 with indices 0:5 at index [6] Stacktrace: [1] throw_boundserror(A::OffsetArrays.OffsetVector{Float64, Vector{Float64}}, I::Tuple{Int64}) @ Base ./essentials.jl:13 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/b7qpm/src/OffsetArrays.jl:434 [inlined] [4] ∂z @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:361 [inlined] [5] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/KPP.jl:159 [inlined] [6] ∂B∂z @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/TKEMassFlux.jl:29 [inlined] [7] Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:111 [inlined] [8] oncell @ ~/.julia/packages/OceanTurb/wYitF/src/fields.jl:461 [inlined] [9] cell_Richardson_number @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:115 [inlined] [10] Cᴷu @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:121 [inlined] [11] KU @ ~/.julia/packages/OceanTurb/wYitF/src/models/TKEMassFlux/diffusivities.jl:5 [inlined] [12] #update!##0 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:68 [inlined] [14] ntuple @ ./ntuple.jl:65 [inlined] [15] update!(solution::OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, m::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, eqn::Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, bcs::@NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:151 [16] update! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:162 [inlined] [17] time_step! @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:269 [inlined] [18] time_step!(model::OceanTurb.TKEMassFlux.Model{OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}, Nothing, OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.LMDMixingDepth{Float64}, OceanTurb.TKEMassFlux.BackgroundDiffusivities{Float64}, Constants{Float64}, OceanTurb.TKEMassFlux.State{Float64, CellField{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, Nothing, Float64, Nothing}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, BackwardEulerTimestepper{Equation{NTuple{5, typeof(OceanTurb.minuszero)}, @NamedTuple{U::typeof(OceanTurb.minuszero), V::typeof(OceanTurb.minuszero), T::typeof(OceanTurb.minuszero), S::typeof(OceanTurb.minuszero), e::typeof(OceanTurb.TKEMassFlux.Le)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.KU), V::typeof(OceanTurb.TKEMassFlux.KV), T::typeof(OceanTurb.TKEMassFlux.KT), S::typeof(OceanTurb.TKEMassFlux.KS), e::typeof(OceanTurb.TKEMassFlux.Ke)}, @NamedTuple{U::typeof(OceanTurb.TKEMassFlux.RU), V::typeof(OceanTurb.TKEMassFlux.RV), T::typeof(OceanTurb.TKEMassFlux.RT), S::typeof(OceanTurb.TKEMassFlux.RS), e::typeof(OceanTurb.TKEMassFlux.Re)}, typeof(OceanTurb.TKEMassFlux.update_state!)}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, NTuple{5, Tridiagonal{Float64, Vector{Float64}}}}, OceanTurb.TKEMassFlux.Solution{Vector{Float64}, UniformGrid{Float64, StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64}}, Float64}, @NamedTuple{U::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, V::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, T::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, S::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}, e::FieldBoundaryConditions{BoundaryCondition{Gradient, Float64}, BoundaryCondition{Flux, Float64}}}, Float64}, Δt::Float64, Nt::Int64) @ OceanTurb ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:18 [19] time_step_tke_mass_flux_model(boundary_layer_depth::OceanTurb.ModularKPP.LMDMixingDepth{Float64}, mixing_length::OceanTurb.TKEMassFlux.SimpleMixingLength{Float64}, nonlocal_flux::OceanTurb.ModularKPP.SiebesmaDiagnosticPlumeModel{Float64}, tke_equation::OceanTurb.TKEMassFlux.TKEParameters{Float64}, tke_wall_model::OceanTurb.TKEMassFlux.PrescribedSurfaceTKEValue{Float64}, eddy_diffusivities::OceanTurb.TKEMassFlux.RiDependentDiffusivities{Float64}) @ Main ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 [20] eval_test_function(func::Any, args::Any, kwargs::Any, quoted_func::Union{Expr, Symbol}, source::LineNumberNode, negate::Bool) @ Test /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:394 [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK ====================================================================================== Information request received. A stacktrace will print followed by a 1.0 second profile. --trace-compile is enabled during profile collection. ====================================================================================== cmd: /opt/julia/bin/julia 288 running 1 of 1 signal (10): User defined signal 1 _useref_setindex! at ./../usr/share/julia/Compiler/src/ssair/ir.jl:592 setindex! at ./../usr/share/julia/Compiler/src/ssair/ir.jl:639 [inlined] renumber_ssa2! at ./../usr/share/julia/Compiler/src/ssair/ir.jl:1361 process_node! at ./../usr/share/julia/Compiler/src/ssair/ir.jl:1535 iterate_compact at ./../usr/share/julia/Compiler/src/ssair/ir.jl:1949 iterate at ./../usr/share/julia/Compiler/src/ssair/ir.jl:1871 [inlined] sroa_pass! at ./../usr/share/julia/Compiler/src/ssair/passes.jl:1550 run_passes_ipo_safe at ./../usr/share/julia/Compiler/src/optimize.jl:1035 run_passes_ipo_safe at ./../usr/share/julia/Compiler/src/optimize.jl:1048 [inlined] optimize at ./../usr/share/julia/Compiler/src/optimize.jl:1021 jfptr_optimize_85151.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 finish_nocycle at ./../usr/share/julia/Compiler/src/typeinfer.jl:278 jfptr_finish_nocycle_87285.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 typeinf at ./../usr/share/julia/Compiler/src/abstractinterpretation.jl:4502 typeinf_ext at ./../usr/share/julia/Compiler/src/typeinfer.jl:1527 typeinf_ext_toplevel at ./../usr/share/julia/Compiler/src/typeinfer.jl:1704 [inlined] typeinf_ext_toplevel at ./../usr/share/julia/Compiler/src/typeinfer.jl:1713 jfptr_typeinf_ext_toplevel_88291.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 jl_apply at /source/src/julia.h:2284 [inlined] jl_type_infer at /source/src/gf.c:463 jl_compile_method_internal at /source/src/gf.c:3636 _jl_invoke at /source/src/gf.c:4108 [inlined] ijl_apply_generic at /source/src/gf.c:4313 time_step_tke_mass_flux_model at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:21 unknown function (ip: 0x778312fc1c7a) at (unknown file) _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 jl_apply at /source/src/julia.h:2284 [inlined] jl_f__apply_iterate at /source/src/builtins.c:876 eval_test_function at /source/usr/share/julia/stdlib/v1.14/Test/src/Test.jl:394 unknown function (ip: 0x778340f0b2ae) at (unknown file) _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 macro expansion at /source/usr/share/julia/stdlib/v1.14/Test/src/Test.jl:750 [inlined] macro expansion at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] macro expansion at /source/usr/share/julia/stdlib/v1.14/Test/src/Test.jl:1961 [inlined] top-level scope at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_invoke at /source/src/gf.c:4123 jl_toplevel_eval_flex at /source/src/toplevel.c:731 jl_eval_toplevel_stmts at /source/src/toplevel.c:585 jl_toplevel_eval_flex at /source/src/toplevel.c:683 ijl_toplevel_eval at /source/src/toplevel.c:754 ijl_toplevel_eval_in at /source/src/toplevel.c:799 eval at ./boot.jl:489 include_string at ./loading.jl:2993 _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 _include at ./loading.jl:3053 include at ./Base.jl:310 IncludeInto at ./Base.jl:311 jfptr_IncludeInto_57745.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 jl_apply at /source/src/julia.h:2284 [inlined] do_call at /source/src/interpreter.c:123 eval_value at /source/src/interpreter.c:243 eval_stmt_value at /source/src/interpreter.c:194 [inlined] eval_body at /source/src/interpreter.c:679 jl_interpret_toplevel_thunk at /source/src/interpreter.c:884 jl_toplevel_eval_flex at /source/src/toplevel.c:742 jl_eval_toplevel_stmts at /source/src/toplevel.c:585 jl_toplevel_eval_flex at /source/src/toplevel.c:683 ijl_toplevel_eval at /source/src/toplevel.c:754 ijl_toplevel_eval_in at /source/src/toplevel.c:799 eval at ./boot.jl:489 include_string at ./loading.jl:2993 _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 _include at ./loading.jl:3053 include at ./Base.jl:310 IncludeInto at ./Base.jl:311 jfptr_IncludeInto_57745.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 jl_apply at /source/src/julia.h:2284 [inlined] do_call at /source/src/interpreter.c:123 eval_value at /source/src/interpreter.c:243 eval_stmt_value at /source/src/interpreter.c:194 [inlined] eval_body at /source/src/interpreter.c:679 jl_interpret_toplevel_thunk at /source/src/interpreter.c:884 jl_toplevel_eval_flex at /source/src/toplevel.c:742 jl_eval_toplevel_stmts at /source/src/toplevel.c:585 jl_toplevel_eval_flex at /source/src/toplevel.c:683 ijl_toplevel_eval at /source/src/toplevel.c:754 ijl_toplevel_eval_in at /source/src/toplevel.c:799 eval at ./boot.jl:489 exec_options at ./client.jl:310 _start at ./client.jl:577 jfptr__start_78750.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 jl_apply at /source/src/julia.h:2284 [inlined] true_main at /source/src/jlapi.c:971 jl_repl_entrypoint at /source/src/jlapi.c:1138 main at /source/cli/loader_exe.c:58 unknown function (ip: 0x77835cbb4249) at /lib/x86_64-linux-gnu/libc.so.6 __libc_start_main at /lib/x86_64-linux-gnu/libc.so.6 (unknown line) unknown function (ip: 0x4010b8) at /workspace/srcdir/glibc-2.17/csu/../sysdeps/x86_64/start.S unknown function (ip: (nil)) at (unknown file) ============================================================== Profile collected. A report will print at the next yield point. Disabling --trace-compile ============================================================== testing... OK ====================================================================================== Information request received. A stacktrace will print followed by a 1.0 second profile. --trace-compile is enabled during profile collection. ====================================================================================== cmd: /opt/julia/bin/julia 1 running 0 of 1 signal (10): User defined signal 1 epoll_pwait at /lib/x86_64-linux-gnu/libc.so.6 (unknown line) uv__io_poll at /workspace/srcdir/libuv/src/unix/linux.c:1404 uv_run at /workspace/srcdir/libuv/src/unix/core.c:430 ijl_task_get_next at /source/src/scheduler.c:457 wait at ./task.jl:1246 wait_forever at ./task.jl:1168 jfptr_wait_forever_60660.1 at /opt/julia/lib/julia/sys.so (unknown line) _jl_invoke at /source/src/gf.c:4116 [inlined] ijl_apply_generic at /source/src/gf.c:4313 jl_apply at /source/src/julia.h:2284 [inlined] start_task at /source/src/task.c:1272 unknown function (ip: (nil)) at (unknown file) ============================================================== Profile collected. A report will print at the next yield point. Disabling --trace-compile ============================================================== ┌ Warning: There were no samples collected in one or more groups. │ This may be due to idle threads, or you may need to run your │ program longer (perhaps by running it multiple times), │ or adjust the delay between samples with `Profile.init()`. └ @ Profile /opt/julia/share/julia/stdlib/v1.14/Profile/src/Profile.jl:1361 Overhead ╎ [+additional indent] Count File:Line Function ========================================================= Thread 1 (default) Task 0x0000795380de1b40 Total snapshots: 365. Utilization: 0% ╎365 @Base/task.jl:1168 wait_forever() 364╎ 365 @Base/task.jl:1246 wait() [288] signal 15: Terminated in expression starting at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:60 unknown function (ip: 0x77835ccdf4d9) at /lib/x86_64-linux-gnu/libc.so.6 _ZNK4llvm16FoldingSetNodeIDeqENS_19FoldingSetNodeIDRefE at /opt/julia/bin/../lib/julia/libLLVM.so.20.1jl (unknown line) _ZN4llvm14FoldingSetBase19FindNodeOrInsertPosERKNS_16FoldingSetNodeIDERPvRKNS0_14FoldingSetInfoE at /opt/julia/bin/../lib/julia/libLLVM.so.20.1jl (unknown line) _ZN4llvm15ScalarEvolution23findExistingSCEVInCacheENS_9SCEVTypesENS_8ArrayRefIPKNS_4SCEVEEE at /opt/julia/bin/../lib/julia/libLLVM.so.20.1jl (unknown line) _ZN4llvm15ScalarEvolution10getAddExprERNS_15SmallVectorImplIPKNS_4SCEVEEENS2_11NoWrapFlagsEj at /opt/julia/bin/../lib/julia/libLLVM.so.20.1jl (unknown line) PkgEval terminated after 2722.41s: test duration exceeded the time limit