Package evaluation of OceanTurb on Julia 1.10.8 (92f03a4775*) started at 2025-02-25T07:14:49.738 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 4.98s ################################################################################ # Installation # Installing OceanTurb... Resolving package versions... Installed Conda ── v1.10.2 Installed PyCall ─ v1.96.4 Updating `~/.julia/environments/v1.10/Project.toml` [d848d694] + OceanTurb v0.3.4 Updating `~/.julia/environments/v1.10/Manifest.toml` [8f4d0f93] + Conda v1.10.2 [682c06a0] + JSON v0.21.4 [1914dd2f] + MacroTools v0.5.15 [d848d694] + OceanTurb v0.3.4 [6fe1bfb0] + OffsetArrays v1.15.0 [69de0a69] + Parsers v2.8.1 [aea7be01] + PrecompileTools v1.2.1 [21216c6a] + Preferences v1.4.3 [438e738f] + PyCall v1.96.4 [90137ffa] + StaticArrays v1.9.12 [1e83bf80] + StaticArraysCore v1.4.3 [81def892] + VersionParsing v1.3.0 [0dad84c5] + ArgTools v1.1.1 [56f22d72] + Artifacts [ade2ca70] + Dates [f43a241f] + Downloads v1.6.0 [7b1f6079] + FileWatching [b27032c2] + LibCURL v0.6.4 [8f399da3] + Libdl [37e2e46d] + LinearAlgebra [a63ad114] + Mmap [ca575930] + NetworkOptions v1.2.0 [de0858da] + Printf [9a3f8284] + Random [ea8e919c] + SHA v0.7.0 [9e88b42a] + Serialization [2f01184e] + SparseArrays v1.10.0 [10745b16] + Statistics v1.10.0 [fa267f1f] + TOML v1.0.3 [cf7118a7] + UUIDs [4ec0a83e] + Unicode [e66e0078] + CompilerSupportLibraries_jll v1.1.1+0 [deac9b47] + LibCURL_jll v8.4.0+0 [29816b5a] + LibSSH2_jll v1.11.0+1 [c8ffd9c3] + MbedTLS_jll v2.28.2+1 [14a3606d] + MozillaCACerts_jll v2023.1.10 [4536629a] + OpenBLAS_jll v0.3.23+4 [bea87d4a] + SuiteSparse_jll v7.2.1+1 [83775a58] + Zlib_jll v1.2.13+1 [8e850b90] + libblastrampoline_jll v5.11.0+0 [8e850ede] + nghttp2_jll v1.52.0+1 Building Conda ─→ `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/b19db3927f0db4151cb86d073689f2428e524576/build.log` Building PyCall → `~/.julia/scratchspaces/44cfe95a-1eb2-52ea-b672-e2afdf69b78f/9816a3826b0ebf49ab4926e2b18842ad8b5c8f04/build.log` Installation completed after 67.0s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 31.38s ################################################################################ # Testing # Testing OceanTurb Status `/tmp/jl_MXAdLo/Project.toml` [a2441757] Coverage v1.6.1 [d848d694] OceanTurb v0.3.4 [6fe1bfb0] OffsetArrays v1.15.0 [438e738f] PyCall v1.96.4 [90137ffa] StaticArrays v1.9.12 [37e2e46d] LinearAlgebra [de0858da] Printf [10745b16] Statistics v1.10.0 [8dfed614] Test Status `/tmp/jl_MXAdLo/Manifest.toml` [d1d4a3ce] BitFlags v0.1.9 [944b1d66] CodecZlib v0.7.8 [f0e56b4a] ConcurrentUtilities v2.5.0 [8f4d0f93] Conda v1.10.2 [a2441757] Coverage v1.6.1 [c36e975a] CoverageTools v1.3.2 [460bff9d] ExceptionUnwrapping v0.1.11 [cd3eb016] HTTP v1.10.15 [692b3bcd] JLLWrappers v1.7.0 [682c06a0] JSON v0.21.4 [e6f89c97] LoggingExtras v1.1.0 [1914dd2f] MacroTools v0.5.15 [739be429] MbedTLS v1.1.9 [d848d694] OceanTurb v0.3.4 [6fe1bfb0] OffsetArrays v1.15.0 [4d8831e6] OpenSSL v1.4.3 [69de0a69] Parsers v2.8.1 [aea7be01] PrecompileTools v1.2.1 [21216c6a] Preferences v1.4.3 [438e738f] PyCall v1.96.4 [777ac1f9] SimpleBufferStream v1.2.0 [90137ffa] StaticArrays v1.9.12 [1e83bf80] StaticArraysCore v1.4.3 [3bb67fe8] TranscodingStreams v0.11.3 [5c2747f8] URIs v1.5.1 [81def892] VersionParsing v1.3.0 [458c3c95] OpenSSL_jll v3.0.16+0 [0dad84c5] ArgTools v1.1.1 [56f22d72] Artifacts [2a0f44e3] Base64 [ade2ca70] Dates [f43a241f] Downloads v1.6.0 [7b1f6079] FileWatching [b77e0a4c] InteractiveUtils [b27032c2] LibCURL v0.6.4 [76f85450] LibGit2 [8f399da3] Libdl [37e2e46d] LinearAlgebra [56ddb016] Logging [d6f4376e] Markdown [a63ad114] Mmap [ca575930] NetworkOptions v1.2.0 [de0858da] Printf [9a3f8284] Random [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization [6462fe0b] Sockets [2f01184e] SparseArrays v1.10.0 [10745b16] Statistics v1.10.0 [fa267f1f] TOML v1.0.3 [8dfed614] Test [cf7118a7] UUIDs [4ec0a83e] Unicode [e66e0078] CompilerSupportLibraries_jll v1.1.1+0 [deac9b47] LibCURL_jll v8.4.0+0 [e37daf67] LibGit2_jll v1.6.4+0 [29816b5a] LibSSH2_jll v1.11.0+1 [c8ffd9c3] MbedTLS_jll v2.28.2+1 [14a3606d] MozillaCACerts_jll v2023.1.10 [4536629a] OpenBLAS_jll v0.3.23+4 [bea87d4a] SuiteSparse_jll v7.2.1+1 [83775a58] Zlib_jll v1.2.13+1 [8e850b90] libblastrampoline_jll v5.11.0+0 [8e850ede] nghttp2_jll v1.52.0+1 Testing Running tests... Test Summary: | Pass Total Time Utils | 5 5 1.5s Test Summary: | Pass Total Time Solvers | 2 2 1.6s Test Summary: | Pass Total Time Grids | 18 18 1.0s Test Summary: | Pass Total Time Fields | 24 24 1.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 3.2s Test Summary: | Pass Total Time Pacanowski-Philander | 2 2 1.6s Test Summary: | Pass Total Time KPP | 51 51 22.1s Test Summary: | Pass Total Time Modular KPP | 17 17 40.5s 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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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}, 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.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, 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.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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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}, 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.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.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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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}, 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.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.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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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}, 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.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.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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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}, 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.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, 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.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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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.ROMSMixingDepth{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.ROMSMixingDepth{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.ROMSMixingDepth{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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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}, OceanTurb.ModularKPP.ROMSMixingDepth{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.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.ROMSMixingDepth{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.ROMSMixingDepth{Float64}, 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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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}, OceanTurb.ModularKPP.ROMSMixingDepth{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.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.ROMSMixingDepth{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.ROMSMixingDepth{Float64}, 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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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}, OceanTurb.ModularKPP.ROMSMixingDepth{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.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.ROMSMixingDepth{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.ROMSMixingDepth{Float64}, 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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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}, OceanTurb.ModularKPP.ROMSMixingDepth{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.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.ROMSMixingDepth{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.ROMSMixingDepth{Float64}, 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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [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 ./abstractarray.jl:737 [2] checkbounds @ ./abstractarray.jl:702 [inlined] [3] getindex @ ~/.julia/packages/OffsetArrays/HLmxQ/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] #43 @ ~/.julia/packages/OceanTurb/wYitF/src/timesteppers.jl:157 [inlined] [13] macro expansion @ ./ntuple.jl:72 [inlined] [14] ntuple @ ./ntuple.jl:69 [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}, OceanTurb.ModularKPP.ROMSMixingDepth{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.SiebesmaDiagnosticPlumeModel{Float64}, OceanTurb.TKEMassFlux.TKEParameters{Float64}, OceanTurb.ModularKPP.ROMSMixingDepth{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.ROMSMixingDepth{Float64}, 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] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [21] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:669 [inlined] [22] macro expansion @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:74 [inlined] [23] macro expansion @ /opt/julia/share/julia/stdlib/v1.10/Test/src/Test.jl:1577 [inlined] [24] top-level scope @ ~/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:61 testing... OK Test Summary: | Pass Error Total Time TKEMassFlux | 145 72 217 34m14.9s ERROR: LoadError: Some tests did not pass: 145 passed, 0 failed, 72 errored, 0 broken. in expression starting at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/test_tkemassflux.jl:60 in expression starting at /home/pkgeval/.julia/packages/OceanTurb/wYitF/test/runtests.jl:24 Testing failed after 1667.27s ERROR: LoadError: Package OceanTurb errored during testing Stacktrace: [1] pkgerror(msg::String) @ Pkg.Types /opt/julia/share/julia/stdlib/v1.10/Pkg/src/Types.jl:70 [2] test(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; coverage::Bool, julia_args::Cmd, test_args::Cmd, test_fn::Nothing, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool) @ Pkg.Operations /opt/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:2034 [3] test @ /opt/julia/share/julia/stdlib/v1.10/Pkg/src/Operations.jl:1915 [inlined] [4] test(ctx::Pkg.Types.Context, pkgs::Vector{Pkg.Types.PackageSpec}; coverage::Bool, test_fn::Nothing, julia_args::Cmd, test_args::Cmd, force_latest_compatible_version::Bool, allow_earlier_backwards_compatible_versions::Bool, allow_reresolve::Bool, kwargs::@Kwargs{io::Base.PipeEndpoint}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:444 [5] test(pkgs::Vector{Pkg.Types.PackageSpec}; io::Base.PipeEndpoint, kwargs::@Kwargs{julia_args::Cmd}) @ Pkg.API /opt/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:159 [6] test @ /opt/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:147 [inlined] [7] #test#74 @ /opt/julia/share/julia/stdlib/v1.10/Pkg/src/API.jl:146 [inlined] [8] top-level scope @ /PkgEval.jl/scripts/evaluate.jl:219 in expression starting at /PkgEval.jl/scripts/evaluate.jl:210 PkgEval failed after 2281.09s: package tests unexpectedly errored