Package evaluation of AcousticRayTracers on Julia 1.12.0-rc1.2 (995ff9db19*) started at 2025-07-15T03:28:54.979 ################################################################################ # Set-up # Installing PkgEval dependencies (TestEnv)... Set-up completed after 8.99s ################################################################################ # Installation # Installing AcousticRayTracers... Resolving package versions... Updating `~/.julia/environments/v1.12/Project.toml` [4fc4fbda] + AcousticRayTracers v0.3.0 Updating `~/.julia/environments/v1.12/Manifest.toml` [47edcb42] + ADTypes v1.15.0 [621f4979] + AbstractFFTs v1.5.0 [7d9f7c33] + Accessors v0.1.42 [4fc4fbda] + AcousticRayTracers v0.3.0 [79e6a3ab] + Adapt v4.3.0 [66dad0bd] + AliasTables v1.1.3 [4fba245c] + ArrayInterface v7.19.0 [4c555306] + ArrayLayouts v1.11.1 [13072b0f] + AxisAlgorithms v1.1.0 [0e736298] + Bessels v0.2.8 [62783981] + BitTwiddlingConvenienceFunctions v0.1.6 [70df07ce] + BracketingNonlinearSolve v1.3.0 [e1450e63] + BufferedStreams v1.2.2 [2a0fbf3d] + CPUSummary v0.2.6 [d360d2e6] + ChainRulesCore v1.25.2 [fb6a15b2] + CloseOpenIntervals v0.1.13 [944b1d66] + CodecZlib v0.7.8 [3da002f7] + ColorTypes v0.12.1 [5ae59095] + Colors v0.13.1 [38540f10] + CommonSolve v0.2.4 [bbf7d656] + CommonSubexpressions v0.3.1 [f70d9fcc] + CommonWorldInvalidations v1.0.0 [34da2185] + Compat v4.17.0 [a33af91c] + CompositionsBase v0.1.2 [2569d6c7] + ConcreteStructs v0.2.3 [187b0558] + ConstructionBase v1.6.0 [adafc99b] + CpuId v0.3.1 [a8cc5b0e] + Crayons v4.1.1 [717857b8] + DSP v0.8.4 [9a962f9c] + DataAPI v1.16.0 [864edb3b] + DataStructures v0.18.22 [e2d170a0] + DataValueInterfaces v1.0.0 [2b5f629d] + DiffEqBase v6.177.2 [163ba53b] + DiffResults v1.1.0 [b552c78f] + DiffRules v1.15.1 [a0c0ee7d] + DifferentiationInterface v0.7.2 [31c24e10] + Distributions v0.25.120 [ffbed154] + DocStringExtensions v0.9.5 [4e289a0a] + EnumX v1.0.5 [f151be2c] + EnzymeCore v0.8.12 [d4d017d3] + ExponentialUtilities v1.27.0 [e2ba6199] + ExprTools v0.1.10 [55351af7] + ExproniconLite v0.10.14 [7a1cc6ca] + FFTW v1.9.0 [7034ab61] + FastBroadcast v0.3.5 [9aa1b823] + FastClosures v0.3.2 [442a2c76] + FastGaussQuadrature v1.0.2 [a4df4552] + FastPower v1.1.3 [5789e2e9] + FileIO v1.17.0 [1a297f60] + FillArrays v1.13.0 [6a86dc24] + FiniteDiff v2.27.0 [53c48c17] + FixedPointNumbers v0.8.5 [f6369f11] + ForwardDiff v1.0.1 [069b7b12] + FunctionWrappers v1.1.3 [77dc65aa] + FunctionWrappersWrappers v0.1.3 [46192b85] + GPUArraysCore v0.2.0 [c145ed77] + GenericSchur v0.5.5 [f67ccb44] + HDF5 v0.17.2 [34004b35] + HypergeometricFunctions v0.3.28 [615f187c] + IfElse v0.1.1 ⌅ [a98d9a8b] + Interpolations v0.15.1 [3587e190] + InverseFunctions v0.1.17 [92d709cd] + IrrationalConstants v0.2.4 [c8e1da08] + IterTools v1.10.0 [82899510] + IteratorInterfaceExtensions v1.0.0 [692b3bcd] + JLLWrappers v1.7.0 [ae98c720] + Jieko v0.2.1 [ba0b0d4f] + Krylov v0.10.1 [b964fa9f] + LaTeXStrings v1.4.0 [10f19ff3] + LayoutPointers v0.1.17 [5078a376] + LazyArrays v2.6.1 [87fe0de2] + LineSearch v0.1.4 [d3d80556] + LineSearches v7.4.0 [7ed4a6bd] + LinearSolve v3.18.2 [2ab3a3ac] + LogExpFunctions v0.3.29 [23992714] + MAT v0.10.7 [3da0fdf6] + MPIPreferences v0.1.11 [1914dd2f] + MacroTools v0.5.16 [d125e4d3] + ManualMemory v0.1.8 [bb5d69b7] + MaybeInplace v0.1.4 [36b8f3f0] + MetaArrays v0.2.10 [e1d29d7a] + Missings v1.2.0 [2e0e35c7] + Moshi v0.3.7 [46d2c3a1] + MuladdMacro v0.2.4 [d41bc354] + NLSolversBase v7.10.0 [77ba4419] + NaNMath v1.1.3 [8913a72c] + NonlinearSolve v4.9.0 [be0214bd] + NonlinearSolveBase v1.12.0 [5959db7a] + NonlinearSolveFirstOrder v1.5.0 [9a2c21bd] + NonlinearSolveQuasiNewton v1.6.0 [26075421] + NonlinearSolveSpectralMethods v1.2.0 [6fe1bfb0] + OffsetArrays v1.17.0 [429524aa] + Optim v1.13.2 [bac558e1] + OrderedCollections v1.8.1 [1dea7af3] + OrdinaryDiffEq v6.98.0 [89bda076] + OrdinaryDiffEqAdamsBashforthMoulton v1.2.0 [6ad6398a] + OrdinaryDiffEqBDF v1.6.0 [bbf590c4] + OrdinaryDiffEqCore v1.26.2 [50262376] + OrdinaryDiffEqDefault v1.5.0 [4302a76b] + OrdinaryDiffEqDifferentiation v1.10.0 [9286f039] + OrdinaryDiffEqExplicitRK v1.1.0 [e0540318] + OrdinaryDiffEqExponentialRK v1.4.0 [becaefa8] + OrdinaryDiffEqExtrapolation v1.5.0 [5960d6e9] + OrdinaryDiffEqFIRK v1.12.0 [101fe9f7] + OrdinaryDiffEqFeagin v1.1.0 [d3585ca7] + OrdinaryDiffEqFunctionMap v1.1.1 [d28bc4f8] + OrdinaryDiffEqHighOrderRK v1.1.0 [9f002381] + OrdinaryDiffEqIMEXMultistep v1.3.0 [521117fe] + OrdinaryDiffEqLinear v1.3.0 [1344f307] + OrdinaryDiffEqLowOrderRK v1.2.0 [b0944070] + OrdinaryDiffEqLowStorageRK v1.3.0 [127b3ac7] + OrdinaryDiffEqNonlinearSolve v1.10.0 [c9986a66] + OrdinaryDiffEqNordsieck v1.1.0 [5dd0a6cf] + OrdinaryDiffEqPDIRK v1.3.1 [5b33eab2] + OrdinaryDiffEqPRK v1.1.0 [04162be5] + OrdinaryDiffEqQPRK v1.1.0 [af6ede74] + OrdinaryDiffEqRKN v1.1.0 [43230ef6] + OrdinaryDiffEqRosenbrock v1.11.0 [2d112036] + OrdinaryDiffEqSDIRK v1.3.0 [669c94d9] + OrdinaryDiffEqSSPRK v1.3.0 [e3e12d00] + OrdinaryDiffEqStabilizedIRK v1.3.0 [358294b1] + OrdinaryDiffEqStabilizedRK v1.1.0 [fa646aed] + OrdinaryDiffEqSymplecticRK v1.3.0 [b1df2697] + OrdinaryDiffEqTsit5 v1.1.0 [79d7bb75] + OrdinaryDiffEqVerner v1.2.0 [90014a1f] + PDMats v0.11.35 [5432bcbf] + PaddedViews v0.5.12 [d96e819e] + Parameters v0.12.3 [18e31ff7] + Peaks v0.5.3 [f517fe37] + Polyester v0.7.18 [1d0040c9] + PolyesterWeave v0.2.2 [f27b6e38] + Polynomials v4.1.0 [85a6dd25] + PositiveFactorizations v0.2.4 [d236fae5] + PreallocationTools v0.4.28 [aea7be01] + PrecompileTools v1.3.2 [21216c6a] + Preferences v1.4.3 [08abe8d2] + PrettyTables v2.4.0 [43287f4e] + PtrArrays v1.3.0 [1fd47b50] + QuadGK v2.11.2 [c84ed2f1] + Ratios v0.4.5 [3cdcf5f2] + RecipesBase v1.3.4 [731186ca] + RecursiveArrayTools v3.34.1 [189a3867] + Reexport v1.2.2 [ae029012] + Requires v1.3.1 [79098fc4] + Rmath v0.8.0 [7e49a35a] + RuntimeGeneratedFunctions v0.5.15 [fdea26ae] + SIMD v3.7.1 [94e857df] + SIMDTypes v0.1.0 [0bca4576] + SciMLBase v2.103.0 [19f34311] + SciMLJacobianOperators v0.1.6 [c0aeaf25] + SciMLOperators v1.3.1 [53ae85a6] + SciMLStructures v1.7.0 [efcf1570] + Setfield v1.1.2 [df1fea92] + SignalAnalysis v0.10.4 [00c44e92] + SignalBase v0.1.2 [727e6d20] + SimpleNonlinearSolve v2.5.0 [ce78b400] + SimpleUnPack v1.1.0 [a2af1166] + SortingAlgorithms v1.2.1 [0a514795] + SparseMatrixColorings v0.4.21 [276daf66] + SpecialFunctions v2.5.1 [aedffcd0] + Static v1.2.0 [0d7ed370] + StaticArrayInterface v1.8.0 [90137ffa] + StaticArrays v1.9.13 [1e83bf80] + StaticArraysCore v1.4.3 [10745b16] + Statistics v1.11.1 [82ae8749] + StatsAPI v1.7.1 [2913bbd2] + StatsBase v0.34.5 [4c63d2b9] + StatsFuns v1.5.0 [7792a7ef] + StrideArraysCore v0.5.7 [892a3eda] + StringManipulation v0.4.1 [2efcf032] + SymbolicIndexingInterface v0.3.41 [3783bdb8] + TableTraits v1.0.1 [bd369af6] + Tables v1.12.1 [8290d209] + ThreadingUtilities v0.5.5 [a759f4b9] + TimerOutputs v0.5.29 [3bb67fe8] + TranscodingStreams v0.11.3 [781d530d] + TruncatedStacktraces v1.4.0 [3a884ed6] + UnPack v1.0.2 [0efb1f7a] + UnderwaterAcoustics v0.4.0 [1986cc42] + Unitful v1.23.1 [8149f6b0] + WAV v1.2.0 [efce3f68] + WoodburyMatrices v1.0.0 [f5851436] + FFTW_jll v3.3.11+0 [0234f1f7] + HDF5_jll v1.14.6+0 [e33a78d0] + Hwloc_jll v2.12.1+0 [1d5cc7b8] + IntelOpenMP_jll v2025.0.4+0 [856f044c] + MKL_jll v2025.0.1+1 [7cb0a576] + MPICH_jll v4.3.1+0 [f1f71cc9] + MPItrampoline_jll v5.5.4+0 [9237b28f] + MicrosoftMPI_jll v10.1.4+3 [fe0851c0] + OpenMPI_jll v5.0.8+0 [efe28fd5] + OpenSpecFun_jll v0.5.6+0 [f50d1b31] + Rmath_jll v0.5.1+0 [477f73a3] + libaec_jll v1.1.3+0 [1317d2d5] + oneTBB_jll v2022.0.0+0 [0dad84c5] + ArgTools v1.1.2 [56f22d72] + Artifacts v1.11.0 [2a0f44e3] + Base64 v1.11.0 [ade2ca70] + Dates v1.11.0 [8ba89e20] + Distributed v1.11.0 [f43a241f] + Downloads v1.6.0 [7b1f6079] + FileWatching v1.11.0 [9fa8497b] + Future v1.11.0 [b77e0a4c] + InteractiveUtils v1.11.0 [ac6e5ff7] + JuliaSyntaxHighlighting v1.12.0 [4af54fe1] + LazyArtifacts v1.11.0 [b27032c2] + LibCURL v0.6.4 [76f85450] + LibGit2 v1.11.0 [8f399da3] + Libdl v1.11.0 [37e2e46d] + LinearAlgebra v1.12.0 [56ddb016] + Logging v1.11.0 [d6f4376e] + Markdown v1.11.0 [a63ad114] + Mmap v1.11.0 [ca575930] + NetworkOptions v1.3.0 [44cfe95a] + Pkg v1.13.0 [de0858da] + Printf v1.11.0 [9a3f8284] + Random v1.11.0 [ea8e919c] + SHA v0.7.0 [9e88b42a] + Serialization v1.11.0 [1a1011a3] + SharedArrays v1.11.0 [6462fe0b] + Sockets v1.11.0 [2f01184e] + SparseArrays v1.12.0 [f489334b] + StyledStrings v1.11.0 [4607b0f0] + SuiteSparse [fa267f1f] + TOML v1.0.3 [a4e569a6] + Tar v1.10.0 [8dfed614] + Test v1.11.0 [cf7118a7] + UUIDs v1.11.0 [4ec0a83e] + Unicode v1.11.0 [e66e0078] + CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] + LibCURL_jll v8.11.1+1 [e37daf67] + LibGit2_jll v1.9.0+0 [29816b5a] + LibSSH2_jll v1.11.3+1 [14a3606d] + MozillaCACerts_jll v2025.5.20 [4536629a] + OpenBLAS_jll v0.3.29+0 [05823500] + OpenLibm_jll v0.8.5+0 [458c3c95] + OpenSSL_jll v3.5.1+0 [bea87d4a] + SuiteSparse_jll v7.8.3+2 [83775a58] + Zlib_jll v1.3.1+2 [8e850b90] + libblastrampoline_jll v5.13.1+0 [8e850ede] + nghttp2_jll v1.64.0+1 [3f19e933] + p7zip_jll v17.5.0+2 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. To see why use `status --outdated -m` Installation completed after 10.11s ################################################################################ # Precompilation # Precompiling PkgEval dependencies... Precompiling package dependencies... Precompilation completed after 793.07s ################################################################################ # Testing # Testing AcousticRayTracers Status `/tmp/jl_g96VXc/Project.toml` [4fc4fbda] AcousticRayTracers v0.3.0 [4c88cf16] Aqua v0.8.13 [a0c0ee7d] DifferentiationInterface v0.7.2 [26cc04aa] FiniteDifferences v0.12.32 [f6369f11] ForwardDiff v1.0.1 [f8b46487] TestItemRunner v1.1.0 [1c621080] TestItems v1.0.0 [0efb1f7a] UnderwaterAcoustics v0.4.0 [8dfed614] Test v1.11.0 Status `/tmp/jl_g96VXc/Manifest.toml` [47edcb42] ADTypes v1.15.0 [621f4979] AbstractFFTs v1.5.0 [7d9f7c33] Accessors v0.1.42 [4fc4fbda] AcousticRayTracers v0.3.0 [79e6a3ab] Adapt v4.3.0 [66dad0bd] AliasTables v1.1.3 [4c88cf16] Aqua v0.8.13 [4fba245c] ArrayInterface v7.19.0 [4c555306] ArrayLayouts v1.11.1 [13072b0f] AxisAlgorithms v1.1.0 [0e736298] Bessels v0.2.8 [62783981] BitTwiddlingConvenienceFunctions v0.1.6 [70df07ce] BracketingNonlinearSolve v1.3.0 [e1450e63] BufferedStreams v1.2.2 [2a0fbf3d] CPUSummary v0.2.6 [d360d2e6] ChainRulesCore v1.25.2 [fb6a15b2] CloseOpenIntervals v0.1.13 [944b1d66] CodecZlib v0.7.8 [3da002f7] ColorTypes v0.12.1 [5ae59095] Colors v0.13.1 [38540f10] CommonSolve v0.2.4 [bbf7d656] CommonSubexpressions v0.3.1 [f70d9fcc] CommonWorldInvalidations v1.0.0 [34da2185] Compat v4.17.0 [a33af91c] CompositionsBase v0.1.2 [2569d6c7] ConcreteStructs v0.2.3 [187b0558] ConstructionBase v1.6.0 [adafc99b] CpuId v0.3.1 [a8cc5b0e] Crayons v4.1.1 [717857b8] DSP v0.8.4 [9a962f9c] DataAPI v1.16.0 [864edb3b] DataStructures v0.18.22 [e2d170a0] DataValueInterfaces v1.0.0 [2b5f629d] DiffEqBase v6.177.2 [163ba53b] DiffResults v1.1.0 [b552c78f] DiffRules v1.15.1 [a0c0ee7d] DifferentiationInterface v0.7.2 [31c24e10] Distributions v0.25.120 [ffbed154] DocStringExtensions v0.9.5 [4e289a0a] EnumX v1.0.5 [f151be2c] EnzymeCore v0.8.12 [d4d017d3] ExponentialUtilities v1.27.0 [e2ba6199] ExprTools v0.1.10 [55351af7] ExproniconLite v0.10.14 [7a1cc6ca] FFTW v1.9.0 [7034ab61] FastBroadcast v0.3.5 [9aa1b823] FastClosures v0.3.2 [442a2c76] FastGaussQuadrature v1.0.2 [a4df4552] FastPower v1.1.3 [5789e2e9] FileIO v1.17.0 [1a297f60] FillArrays v1.13.0 [6a86dc24] FiniteDiff v2.27.0 [26cc04aa] FiniteDifferences v0.12.32 [53c48c17] FixedPointNumbers v0.8.5 [f6369f11] ForwardDiff v1.0.1 [069b7b12] FunctionWrappers v1.1.3 [77dc65aa] FunctionWrappersWrappers v0.1.3 [46192b85] GPUArraysCore v0.2.0 [c145ed77] GenericSchur v0.5.5 [f67ccb44] HDF5 v0.17.2 [34004b35] HypergeometricFunctions v0.3.28 [615f187c] IfElse v0.1.1 ⌅ [a98d9a8b] Interpolations v0.15.1 [3587e190] InverseFunctions v0.1.17 [92d709cd] IrrationalConstants v0.2.4 [c8e1da08] IterTools v1.10.0 [82899510] IteratorInterfaceExtensions v1.0.0 [692b3bcd] JLLWrappers v1.7.0 [ae98c720] Jieko v0.2.1 [ba0b0d4f] Krylov v0.10.1 [b964fa9f] LaTeXStrings v1.4.0 [10f19ff3] LayoutPointers v0.1.17 [5078a376] LazyArrays v2.6.1 [87fe0de2] LineSearch v0.1.4 [d3d80556] LineSearches v7.4.0 [7ed4a6bd] LinearSolve v3.18.2 [2ab3a3ac] LogExpFunctions v0.3.29 [23992714] MAT v0.10.7 [3da0fdf6] MPIPreferences v0.1.11 [1914dd2f] MacroTools v0.5.16 [d125e4d3] ManualMemory v0.1.8 [bb5d69b7] MaybeInplace v0.1.4 [36b8f3f0] MetaArrays v0.2.10 [e1d29d7a] Missings v1.2.0 [2e0e35c7] Moshi v0.3.7 [46d2c3a1] MuladdMacro v0.2.4 [d41bc354] NLSolversBase v7.10.0 [77ba4419] NaNMath v1.1.3 [8913a72c] NonlinearSolve v4.9.0 [be0214bd] NonlinearSolveBase v1.12.0 [5959db7a] NonlinearSolveFirstOrder v1.5.0 [9a2c21bd] NonlinearSolveQuasiNewton v1.6.0 [26075421] NonlinearSolveSpectralMethods v1.2.0 [6fe1bfb0] OffsetArrays v1.17.0 [429524aa] Optim v1.13.2 [bac558e1] OrderedCollections v1.8.1 [1dea7af3] OrdinaryDiffEq v6.98.0 [89bda076] OrdinaryDiffEqAdamsBashforthMoulton v1.2.0 [6ad6398a] OrdinaryDiffEqBDF v1.6.0 [bbf590c4] OrdinaryDiffEqCore v1.26.2 [50262376] OrdinaryDiffEqDefault v1.5.0 [4302a76b] OrdinaryDiffEqDifferentiation v1.10.0 [9286f039] OrdinaryDiffEqExplicitRK v1.1.0 [e0540318] OrdinaryDiffEqExponentialRK v1.4.0 [becaefa8] OrdinaryDiffEqExtrapolation v1.5.0 [5960d6e9] OrdinaryDiffEqFIRK v1.12.0 [101fe9f7] OrdinaryDiffEqFeagin v1.1.0 [d3585ca7] OrdinaryDiffEqFunctionMap v1.1.1 [d28bc4f8] OrdinaryDiffEqHighOrderRK v1.1.0 [9f002381] OrdinaryDiffEqIMEXMultistep v1.3.0 [521117fe] OrdinaryDiffEqLinear v1.3.0 [1344f307] OrdinaryDiffEqLowOrderRK v1.2.0 [b0944070] OrdinaryDiffEqLowStorageRK v1.3.0 [127b3ac7] OrdinaryDiffEqNonlinearSolve v1.10.0 [c9986a66] OrdinaryDiffEqNordsieck v1.1.0 [5dd0a6cf] OrdinaryDiffEqPDIRK v1.3.1 [5b33eab2] OrdinaryDiffEqPRK v1.1.0 [04162be5] OrdinaryDiffEqQPRK v1.1.0 [af6ede74] OrdinaryDiffEqRKN v1.1.0 [43230ef6] OrdinaryDiffEqRosenbrock v1.11.0 [2d112036] OrdinaryDiffEqSDIRK v1.3.0 [669c94d9] OrdinaryDiffEqSSPRK v1.3.0 [e3e12d00] OrdinaryDiffEqStabilizedIRK v1.3.0 [358294b1] OrdinaryDiffEqStabilizedRK v1.1.0 [fa646aed] OrdinaryDiffEqSymplecticRK v1.3.0 [b1df2697] OrdinaryDiffEqTsit5 v1.1.0 [79d7bb75] OrdinaryDiffEqVerner v1.2.0 [90014a1f] PDMats v0.11.35 [5432bcbf] PaddedViews v0.5.12 [d96e819e] Parameters v0.12.3 [18e31ff7] Peaks v0.5.3 [f517fe37] Polyester v0.7.18 [1d0040c9] PolyesterWeave v0.2.2 [f27b6e38] Polynomials v4.1.0 [85a6dd25] PositiveFactorizations v0.2.4 [d236fae5] PreallocationTools v0.4.28 [aea7be01] PrecompileTools v1.3.2 [21216c6a] Preferences v1.4.3 [08abe8d2] PrettyTables v2.4.0 [43287f4e] PtrArrays v1.3.0 [1fd47b50] QuadGK v2.11.2 [c84ed2f1] Ratios v0.4.5 [3cdcf5f2] RecipesBase v1.3.4 [731186ca] RecursiveArrayTools v3.34.1 [189a3867] Reexport v1.2.2 [ae029012] Requires v1.3.1 [708f8203] Richardson v1.4.2 [79098fc4] Rmath v0.8.0 [7e49a35a] RuntimeGeneratedFunctions v0.5.15 [fdea26ae] SIMD v3.7.1 [94e857df] SIMDTypes v0.1.0 [0bca4576] SciMLBase v2.103.0 [19f34311] SciMLJacobianOperators v0.1.6 [c0aeaf25] SciMLOperators v1.3.1 [53ae85a6] SciMLStructures v1.7.0 [efcf1570] Setfield v1.1.2 [df1fea92] SignalAnalysis v0.10.4 [00c44e92] SignalBase v0.1.2 [727e6d20] SimpleNonlinearSolve v2.5.0 [ce78b400] SimpleUnPack v1.1.0 [a2af1166] SortingAlgorithms v1.2.1 [0a514795] SparseMatrixColorings v0.4.21 [276daf66] SpecialFunctions v2.5.1 [aedffcd0] Static v1.2.0 [0d7ed370] StaticArrayInterface v1.8.0 [90137ffa] StaticArrays v1.9.13 [1e83bf80] StaticArraysCore v1.4.3 [10745b16] Statistics v1.11.1 [82ae8749] StatsAPI v1.7.1 [2913bbd2] StatsBase v0.34.5 [4c63d2b9] StatsFuns v1.5.0 [7792a7ef] StrideArraysCore v0.5.7 [892a3eda] StringManipulation v0.4.1 [2efcf032] SymbolicIndexingInterface v0.3.41 [3783bdb8] TableTraits v1.0.1 [bd369af6] Tables v1.12.1 [f8b46487] TestItemRunner v1.1.0 [1c621080] TestItems v1.0.0 [8290d209] ThreadingUtilities v0.5.5 [a759f4b9] TimerOutputs v0.5.29 [3bb67fe8] TranscodingStreams v0.11.3 [781d530d] TruncatedStacktraces v1.4.0 [3a884ed6] UnPack v1.0.2 [0efb1f7a] UnderwaterAcoustics v0.4.0 [1986cc42] Unitful v1.23.1 [8149f6b0] WAV v1.2.0 [efce3f68] WoodburyMatrices v1.0.0 [f5851436] FFTW_jll v3.3.11+0 [0234f1f7] HDF5_jll v1.14.6+0 [e33a78d0] Hwloc_jll v2.12.1+0 [1d5cc7b8] IntelOpenMP_jll v2025.0.4+0 [856f044c] MKL_jll v2025.0.1+1 [7cb0a576] MPICH_jll v4.3.1+0 [f1f71cc9] MPItrampoline_jll v5.5.4+0 [9237b28f] MicrosoftMPI_jll v10.1.4+3 [fe0851c0] OpenMPI_jll v5.0.8+0 [efe28fd5] OpenSpecFun_jll v0.5.6+0 [f50d1b31] Rmath_jll v0.5.1+0 [477f73a3] libaec_jll v1.1.3+0 [1317d2d5] oneTBB_jll v2022.0.0+0 [0dad84c5] ArgTools v1.1.2 [56f22d72] Artifacts v1.11.0 [2a0f44e3] Base64 v1.11.0 [ade2ca70] Dates v1.11.0 [8ba89e20] Distributed v1.11.0 [f43a241f] Downloads v1.6.0 [7b1f6079] FileWatching v1.11.0 [9fa8497b] Future v1.11.0 [b77e0a4c] InteractiveUtils v1.11.0 [ac6e5ff7] JuliaSyntaxHighlighting v1.12.0 [4af54fe1] LazyArtifacts v1.11.0 [b27032c2] LibCURL v0.6.4 [76f85450] LibGit2 v1.11.0 [8f399da3] Libdl v1.11.0 [37e2e46d] LinearAlgebra v1.12.0 [56ddb016] Logging v1.11.0 [d6f4376e] Markdown v1.11.0 [a63ad114] Mmap v1.11.0 [ca575930] NetworkOptions v1.3.0 [44cfe95a] Pkg v1.13.0 [de0858da] Printf v1.11.0 [9a3f8284] Random v1.11.0 [ea8e919c] SHA v0.7.0 [9e88b42a] Serialization v1.11.0 [1a1011a3] SharedArrays v1.11.0 [6462fe0b] Sockets v1.11.0 [2f01184e] SparseArrays v1.12.0 [f489334b] StyledStrings v1.11.0 [4607b0f0] SuiteSparse [fa267f1f] TOML v1.0.3 [a4e569a6] Tar v1.10.0 [8dfed614] Test v1.11.0 [cf7118a7] UUIDs v1.11.0 [4ec0a83e] Unicode v1.11.0 [e66e0078] CompilerSupportLibraries_jll v1.3.0+1 [deac9b47] LibCURL_jll v8.11.1+1 [e37daf67] LibGit2_jll v1.9.0+0 [29816b5a] LibSSH2_jll v1.11.3+1 [14a3606d] MozillaCACerts_jll v2025.5.20 [4536629a] OpenBLAS_jll v0.3.29+0 [05823500] OpenLibm_jll v0.8.5+0 [458c3c95] OpenSSL_jll v3.5.1+0 [bea87d4a] SuiteSparse_jll v7.8.3+2 [83775a58] Zlib_jll v1.3.1+2 [8e850b90] libblastrampoline_jll v5.13.1+0 [8e850ede] nghttp2_jll v1.64.0+1 [3f19e933] p7zip_jll v17.5.0+2 Info Packages marked with ⌅ have new versions available but compatibility constraints restrict them from upgrading. Testing Running tests... Precompiling packages... 10146.0 ms ✓ Distributions → DistributionsTestExt 1 dependency successfully precompiled in 14 seconds. 50 already precompiled. ERROR: LoadError: TaskFailedException nested task error: BoundsError: attempt to access 30-element interpolate((::Vector{Float64},), ::Vector{Float64}, Gridded(Linear())) with element type Float64 at index [Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}, Float64, 1}}}(Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}}(0.0,1.0),Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}}(0.0,0.0))] Stacktrace: [1] throw_boundserror(A::Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, I::Tuple{ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}, Float64, 1}}, ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}, Float64, 1}, 1}}) @ Base ./essentials.jl:15 [2] GriddedInterpolation @ ~/.julia/packages/Interpolations/91PhN/src/gridded/indexing.jl:3 [inlined] [3] Extrapolation @ ~/.julia/packages/Interpolations/91PhN/src/extrapolation/extrapolation.jl:49 [inlined] [4] (::UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}})(pos::@NamedTuple{x::ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}, Float64, 1}}, ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}, Float64, 1}, 1}, y::ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}, Float64, 1}}, ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}, Float64, 1}, 1}, z::ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}, Float64, 1}}, ForwardDiff.Dual{ForwardDiff.Tag{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, Float64}, Float64, 1}, 1}}) @ UnderwaterAcoustics ~/.julia/packages/UnderwaterAcoustics/N0FV5/src/stdlib.jl:223 [5] value @ ~/.julia/packages/UnderwaterAcoustics/N0FV5/src/utils.jl:130 [inlined] [6] #_trace1##0 @ ~/.julia/packages/AcousticRayTracers/dRAIy/src/RaySolver.jl:202 [inlined] [7] derivative @ ~/.julia/packages/ForwardDiff/Wq9Wb/src/derivative.jl:14 [inlined] [8] #_trace1##2 @ ~/.julia/packages/AcousticRayTracers/dRAIy/src/RaySolver.jl:203 [inlined] [9] derivative @ ~/.julia/packages/ForwardDiff/Wq9Wb/src/derivative.jl:14 [inlined] [10] #_trace1##4 @ ~/.julia/packages/AcousticRayTracers/dRAIy/src/RaySolver.jl:204 [inlined] [11] _∂u!(du::Vector{Float64}, ::Vector{Float64}, ::Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, s::Float64) @ AcousticRayTracers ~/.julia/packages/AcousticRayTracers/dRAIy/src/RaySolver.jl:182 [12] Void @ ~/.julia/packages/SciMLBase/THas4/src/utils.jl:486 [inlined] [13] (::FunctionWrappers.CallWrapper{Nothing})(f::SciMLBase.Void{typeof(AcousticRayTracers._∂u!)}, arg1::Vector{Float64}, arg2::Vector{Float64}, arg3::Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, arg4::Float64) @ FunctionWrappers ~/.julia/packages/FunctionWrappers/Q5cBx/src/FunctionWrappers.jl:65 [14] macro expansion @ ~/.julia/packages/FunctionWrappers/Q5cBx/src/FunctionWrappers.jl:137 [inlined] [15] do_ccall @ ~/.julia/packages/FunctionWrappers/Q5cBx/src/FunctionWrappers.jl:125 [inlined] [16] FunctionWrapper @ ~/.julia/packages/FunctionWrappers/Q5cBx/src/FunctionWrappers.jl:144 [inlined] [17] _call @ ~/.julia/packages/FunctionWrappersWrappers/9XR0m/src/FunctionWrappersWrappers.jl:12 [inlined] [18] FunctionWrappersWrapper @ ~/.julia/packages/FunctionWrappersWrappers/9XR0m/src/FunctionWrappersWrappers.jl:10 [inlined] [19] ODEFunction @ ~/.julia/packages/SciMLBase/THas4/src/scimlfunctions.jl:2591 [inlined] [20] _ode_addsteps!(k::Vector{Vector{Float64}}, t::Float64, uprev::Vector{Float64}, u::Vector{Float64}, dt::Float64, f::SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, p::Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, cache::OrdinaryDiffEqRosenbrock.RosenbrockCache{Vector{Float64}, Vector{Float64}, Float64, Vector{Float64}, Matrix{Float64}, Matrix{Float64}, OrdinaryDiffEqRosenbrock.RodasTableau{Float64, Float64}, SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.DefaultLinearSolver, LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Base.RefValue{Int64}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, LinearSolve.InvPreconditioner{LinearAlgebra.Diagonal{Float64, Vector{Float64}}}, LinearAlgebra.Diagonal{Float64, Vector{Float64}}, Float64, Bool, LinearSolve.LinearSolveAdjoint{Missing}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}}, Float64, OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, always_calc_begin::Bool, allow_calc_end::Bool, force_calc_end::Bool) @ OrdinaryDiffEqRosenbrock ~/.julia/packages/OrdinaryDiffEqRosenbrock/1cjFj/src/stiff_addsteps.jl:160 [21] ode_addsteps! @ ~/.julia/packages/OrdinaryDiffEqCore/zs1s7/src/dense/generic_dense.jl:124 [inlined] [22] ode_addsteps! @ ~/.julia/packages/OrdinaryDiffEqCore/zs1s7/src/dense/generic_dense.jl:61 [inlined] [23] #reeval_internals_due_to_modification!#29 @ ~/.julia/packages/OrdinaryDiffEqCore/zs1s7/src/integrators/integrator_interface.jl:55 [inlined] [24] reeval_internals_due_to_modification! (repeats 2 times) @ ~/.julia/packages/OrdinaryDiffEqCore/zs1s7/src/integrators/integrator_interface.jl:39 [inlined] [25] _change_t_via_interpolation!(integrator::OrdinaryDiffEqCore.ODEIntegrator{OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, true, Vector{Float64}, Nothing, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64, Float64, Float64, Float64, Vector{Vector{Float64}}, SciMLBase.ODESolution{Float64, 2, Vector{Vector{Float64}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{Vector{Float64}}}, Nothing, SciMLBase.ODEProblem{Vector{Float64}, Tuple{Float64, Float64}, true, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, OrdinaryDiffEqCore.InterpolationData{SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Vector{Float64}}, Vector{Float64}, Vector{Vector{Vector{Float64}}}, Nothing, OrdinaryDiffEqRosenbrock.RosenbrockCache{Vector{Float64}, Vector{Float64}, Float64, Vector{Float64}, Matrix{Float64}, Matrix{Float64}, OrdinaryDiffEqRosenbrock.RodasTableau{Float64, Float64}, SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.DefaultLinearSolver, LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Base.RefValue{Int64}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, LinearSolve.InvPreconditioner{LinearAlgebra.Diagonal{Float64, Vector{Float64}}}, LinearAlgebra.Diagonal{Float64, Vector{Float64}}, Float64, Bool, LinearSolve.LinearSolveAdjoint{Missing}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}}, Float64, OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, Nothing}, SciMLBase.DEStats, Nothing, Nothing, Nothing, Nothing}, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, OrdinaryDiffEqRosenbrock.RosenbrockCache{Vector{Float64}, Vector{Float64}, Float64, Vector{Float64}, Matrix{Float64}, Matrix{Float64}, OrdinaryDiffEqRosenbrock.RodasTableau{Float64, Float64}, SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.DefaultLinearSolver, LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Base.RefValue{Int64}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, LinearSolve.InvPreconditioner{LinearAlgebra.Diagonal{Float64, Vector{Float64}}}, LinearAlgebra.Diagonal{Float64, Vector{Float64}}, Float64, Bool, LinearSolve.LinearSolveAdjoint{Missing}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}}, Float64, OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, OrdinaryDiffEqCore.DEOptions{Float64, Float64, Float64, Float64, OrdinaryDiffEqCore.PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Nothing, SciMLBase.CallbackSet{Tuple{SciMLBase.VectorContinuousCallback{AcousticRayTracers.var"#_trace1##6#_trace1##7"{Float64, UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64}, AcousticRayTracers.var"#_trace1##8#_trace1##9", AcousticRayTracers.var"#_trace1##8#_trace1##9", typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Tuple{}, Float64, Tuple{}}, Nothing, Float64, DiffEqBase.CallbackCache{Vector{Float64}, Vector{Float64}}, OrdinaryDiffEqCore.DefaultInit, Nothing}, t::Float64, modify_save_endpoint::Type{Val{false}}, reinitialize_alg::Nothing) @ OrdinaryDiffEqCore ~/.julia/packages/OrdinaryDiffEqCore/zs1s7/src/integrators/integrator_interface.jl:20 [26] change_t_via_interpolation! @ ~/.julia/packages/OrdinaryDiffEqCore/zs1s7/src/integrators/integrator_interface.jl:35 [inlined] [27] apply_callback!(integrator::OrdinaryDiffEqCore.ODEIntegrator{OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, true, Vector{Float64}, Nothing, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64, Float64, Float64, Float64, Vector{Vector{Float64}}, SciMLBase.ODESolution{Float64, 2, Vector{Vector{Float64}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{Vector{Float64}}}, Nothing, SciMLBase.ODEProblem{Vector{Float64}, Tuple{Float64, Float64}, true, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, OrdinaryDiffEqCore.InterpolationData{SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Vector{Float64}}, Vector{Float64}, Vector{Vector{Vector{Float64}}}, Nothing, OrdinaryDiffEqRosenbrock.RosenbrockCache{Vector{Float64}, Vector{Float64}, Float64, Vector{Float64}, Matrix{Float64}, Matrix{Float64}, OrdinaryDiffEqRosenbrock.RodasTableau{Float64, Float64}, SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.DefaultLinearSolver, LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Base.RefValue{Int64}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, LinearSolve.InvPreconditioner{LinearAlgebra.Diagonal{Float64, Vector{Float64}}}, LinearAlgebra.Diagonal{Float64, Vector{Float64}}, Float64, Bool, LinearSolve.LinearSolveAdjoint{Missing}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}}, Float64, OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, Nothing}, SciMLBase.DEStats, Nothing, Nothing, Nothing, Nothing}, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, OrdinaryDiffEqRosenbrock.RosenbrockCache{Vector{Float64}, Vector{Float64}, Float64, Vector{Float64}, Matrix{Float64}, Matrix{Float64}, OrdinaryDiffEqRosenbrock.RodasTableau{Float64, Float64}, SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.DefaultLinearSolver, LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Base.RefValue{Int64}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, LinearSolve.InvPreconditioner{LinearAlgebra.Diagonal{Float64, Vector{Float64}}}, LinearAlgebra.Diagonal{Float64, Vector{Float64}}, Float64, Bool, LinearSolve.LinearSolveAdjoint{Missing}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}}, Float64, OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, OrdinaryDiffEqCore.DEOptions{Float64, Float64, Float64, Float64, OrdinaryDiffEqCore.PIController{Rational{Int64}}, typeof(DiffEqBase.ODE_DEFAULT_NORM), typeof(LinearAlgebra.opnorm), Nothing, SciMLBase.CallbackSet{Tuple{SciMLBase.VectorContinuousCallback{AcousticRayTracers.var"#_trace1##6#_trace1##7"{Float64, UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64}, AcousticRayTracers.var"#_trace1##8#_trace1##9", AcousticRayTracers.var"#_trace1##8#_trace1##9", typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}}, Tuple{}}, typeof(DiffEqBase.ODE_DEFAULT_ISOUTOFDOMAIN), typeof(DiffEqBase.ODE_DEFAULT_PROG_MESSAGE), typeof(DiffEqBase.ODE_DEFAULT_UNSTABLE_CHECK), DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, DataStructures.BinaryHeap{Float64, DataStructures.FasterForward}, Nothing, Nothing, Int64, Tuple{}, Float64, Tuple{}}, Nothing, Float64, DiffEqBase.CallbackCache{Vector{Float64}, Vector{Float64}}, OrdinaryDiffEqCore.DefaultInit, Nothing}, callback::SciMLBase.VectorContinuousCallback{AcousticRayTracers.var"#_trace1##6#_trace1##7"{Float64, UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64}, AcousticRayTracers.var"#_trace1##8#_trace1##9", AcousticRayTracers.var"#_trace1##8#_trace1##9", typeof(SciMLBase.INITIALIZE_DEFAULT), typeof(SciMLBase.FINALIZE_DEFAULT), Float64, Int64, Rational{Int64}, Nothing, Nothing, Int64}, cb_time::Float64, prev_sign::Float64, event_idx::Int64) @ DiffEqBase ~/.julia/packages/DiffEqBase/dZqFN/src/callbacks.jl:561 [28] macro expansion @ ~/.julia/packages/OrdinaryDiffEqCore/zs1s7/src/integrators/integrator_utils.jl:360 [inlined] [29] apply_ith_callback! @ ~/.julia/packages/OrdinaryDiffEqCore/zs1s7/src/integrators/integrator_utils.jl:346 [inlined] [30] handle_callbacks! @ ~/.julia/packages/OrdinaryDiffEqCore/zs1s7/src/integrators/integrator_utils.jl:385 [inlined] [31] _loopfooter!(integrator::OrdinaryDiffEqCore.ODEIntegrator{OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, true, Vector{Float64}, Nothing, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64, Float64, Float64, Float64, Vector{Vector{Float64}}, SciMLBase.ODESolution{Float64, 2, Vector{Vector{Float64}}, Nothing, Nothing, Vector{Float64}, Vector{Vector{Vector{Float64}}}, Nothing, SciMLBase.ODEProblem{Vector{Float64}, Tuple{Float64, Float64}, true, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, @Kwargs{}, SciMLBase.StandardODEProblem}, OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, OrdinaryDiffEqCore.InterpolationData{SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Vector{Float64}}, Vector{Float64}, Vector{Vector{Vector{Float64}}}, Nothing, OrdinaryDiffEqRosenbrock.RosenbrockCache{Vector{Float64}, Vector{Float64}, Float64, Vector{Float64}, Matrix{Float64}, Matrix{Float64}, OrdinaryDiffEqRosenbrock.RodasTableau{Float64, Float64}, SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, LinearSolve.LinearCache{Matrix{Float64}, Vector{Float64}, Vector{Float64}, SciMLBase.NullParameters, LinearSolve.DefaultLinearSolver, LinearSolve.DefaultLinearSolverInit{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, LinearAlgebra.QRCompactWY{Float64, Matrix{Float64}, Matrix{Float64}}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Vector{Int64}}, Nothing, Nothing, Nothing, LinearAlgebra.SVD{Float64, Float64, Matrix{Float64}, Vector{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, LinearAlgebra.Cholesky{Float64, Matrix{Float64}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int32}}, Base.RefValue{Int32}}, Tuple{LinearAlgebra.LU{Float64, Matrix{Float64}, Vector{Int64}}, Base.RefValue{Int64}}, LinearAlgebra.QRPivoted{Float64, Matrix{Float64}, Vector{Float64}, Vector{Int64}}, Nothing, Nothing}, LinearSolve.InvPreconditioner{LinearAlgebra.Diagonal{Float64, Vector{Float64}}}, LinearAlgebra.Diagonal{Float64, Vector{Float64}}, Float64, Bool, LinearSolve.LinearSolveAdjoint{Missing}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgJacobianPrep{Tuple{SciMLBase.UJacobianWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Float64, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Vector{Float64}, Tuple{}}, ForwardDiff.JacobianConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, Tuple{}}}, Tuple{DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}, DifferentiationInterfaceForwardDiffExt.ForwardDiffTwoArgDerivativePrep{Tuple{SciMLBase.TimeGradientWrapper{true, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}}, false}, LinearAlgebra.UniformScaling{Bool}, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, typeof(SciMLBase.DEFAULT_OBSERVED), Nothing, Nothing, Nothing, Nothing}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}}, Vector{Float64}, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Float64, Tuple{}}, ForwardDiff.DerivativeConfig{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}}, Tuple{}}}, Float64, OrdinaryDiffEqRosenbrock.Rodas5{1, ADTypes.AutoForwardDiff{1, ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}, Nothing}, SciMLBase.DEStats, Nothing, Nothing, Nothing, Nothing}, SciMLBase.ODEFunction{true, SciMLBase.AutoSpecialize, FunctionWrappersWrappers.FunctionWrappersWrapper{Tuple{FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{Float64}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}, AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}, AcousticRayTracers.var"#_trace1##4#_trace1##5"{AcousticRayTracers.var"#_trace1##2#_trace1##3"{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBoundary{Float64}, UnderwaterAcoustics.FluidBoundary{Float64}}, OrdinaryDiffEqRosenbrock.Rodas5{0, ADTypes.AutoForwardDiff{nothing, Nothing}, Nothing, typeof(OrdinaryDiffEqCore.DEFAULT_PRECS), Val{:forward}(), true, nothing, typeof(OrdinaryDiffEqCore.trivial_limiter!), typeof(OrdinaryDiffEqCore.trivial_limiter!)}}}}}}, Float64}}, FunctionWrappers.FunctionWrapper{Nothing, Tuple{Vector{ForwardDiff.Dual{ForwardDiff.Tag{DiffEqBase.OrdinaryDiffEqTag, Float64}, Float64, 1}}, Vector{Float64}, Tuple{AcousticRayTracers.var"#_trace1##0#_trace1##1"{AcousticRayTracers.RaySolver{UnderwaterAcoustics.UnderwaterEnvironment{UnderwaterAcoustics.SampledFieldX{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, Float64, Float64, UnderwaterAcoustics.SampledFieldZ{Interpolations.Extrapolation{Float64, 1, Interpolations.GriddedInterpolation{Float64, 1, Vector{Float64}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Tuple{Vector{Float64}}}, Interpolations.Gridded{Interpolations.Linear{Interpolations.Throw{Interpolations.OnGrid}}}, Interpolations.Flat{Nothing}}, Vector{Float64}}, Float64, UnderwaterAcoustics.FluidBo PkgEval terminated after 1323.54s: test log exceeded the size limit