From 7b4c4f16ea6c771ba608db4a0360f8fe0e03b74f Mon Sep 17 00:00:00 2001 From: Bart Date: Tue, 25 Aug 2026 14:59:55 +0200 Subject: [PATCH 1/7] Write KA orientations to SysState, keep KS inside the model KiteUtils 0.13 defines SysState quaternions as KA (aft-right-up against ENU). The model is unchanged: kite_ref_frame and calc_orient_quat stay KS, and update_sys_state! converts at the boundary. - roll, pitch and yaw are unchanged; they stay KS, against NED - turn_rates is KA, so its z component has the opposite sign to before - calc_heading(s) passes the quaternion instead of Euler angles, one round trip through quat2euler fewer, same angle Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 11 +++++++++++ Project.toml | 2 +- src/KiteModels.jl | 16 ++++++++++++---- 3 files changed, 24 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fd4ec6bcb..4e5ce85df 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,17 @@ SPDX-FileCopyrightText: 2025 Uwe Fechner, Bart van de Lint SPDX-License-Identifier: MIT --> +### Unreleased +#### Changed +- BREAKING: the quaternion written to `SysState` is `KA` (aft-right-up, against ENU), + the convention KiteUtils 0.13 stores. The model itself is unchanged: `kite_ref_frame` + and `calc_orient_quat` stay `KS`, and `update_sys_state!` converts at the boundary. +- `roll`, `pitch` and `yaw` are unchanged; they stay `KS`, against NED. +- `turn_rates` is `KA`, so the z component has the opposite sign to before. +- `calc_heading(s)` passes the quaternion rather than Euler angles, skipping a + round trip through `quat2euler`. The angle is unchanged. +- compat bound on KiteUtils raised to `0.13`. + ### KiteModels v0.11.14 2026-06-20 #### Added - Added function `reel_out_speed` to `KiteModels.jl`, `KPS3.jl`, and `KPS4.jl` diff --git a/Project.toml b/Project.toml index 7dfc5baa4..c8a3a0e83 100644 --- a/Project.toml +++ b/Project.toml @@ -44,7 +44,7 @@ DiscretePIDs = "0.1.5, 1.0" DocStringExtensions = "0.9.4" Interpolations = "0.15.1, 0.16" KitePodModels = "0.4.0" -KiteUtils = "0.11.8" +KiteUtils = "0.13" LinearAlgebra = "1.11, 1.12" LinearSolve = "3.59" Logging = "1.11, 1.12" diff --git a/src/KiteModels.jl b/src/KiteModels.jl index 6e3d3a8fe..b03756341 100644 --- a/src/KiteModels.jl +++ b/src/KiteModels.jl @@ -21,6 +21,7 @@ import Sundials using Pkg, Reexport import KiteUtils: init!, next_step!, update_sys_state! import KiteUtils: SysState, calc_course, calc_elevation, calc_heading +import KiteUtils: KS, KA, convert_body, convert_orientation @reexport using KitePodModels @reexport using WinchModels @reexport using AtmosphericModels @@ -370,6 +371,12 @@ function orient_euler(s::AKM; one_point=false) SVector(roll, pitch, yaw) end +""" + calc_orient_quat(s::AKM; viewer=false, one_point=false) + +Orientation of the kite as a quaternion in the `KS` convention, the frame the model +itself works in. `SysState` stores `KA`; `update_sys_state!` converts. +""" function calc_orient_quat(s::AKM; viewer=false, one_point=false) if viewer x, _, z = kite_ref_frame(s) @@ -450,7 +457,7 @@ end Determine the heading angle of the kite in radian. """ function calc_heading(s::AKM; upwind_dir_=upwind_dir(s), neg_azimuth=false, one_point=false, respos=true) - orientation = orient_euler(s; one_point) + orientation = calc_orient_quat(s; one_point) elevation = calc_elevation(s) # use azimuth in wind reference frame if neg_azimuth @@ -458,7 +465,7 @@ function calc_heading(s::AKM; upwind_dir_=upwind_dir(s), neg_azimuth=false, one_ else azimuth = calc_azimuth(s) end - calc_heading(orientation, elevation, azimuth; upwind_dir=upwind_dir_, respos) + calc_heading(orientation, elevation, azimuth; frame=KS, upwind_dir=upwind_dir_, respos) end """ @@ -583,7 +590,8 @@ function update_sys_state!(ss::SysState, s::AKM, zoom=1.0) ss.Y[i] = pos[i][2] * zoom ss.Z[i] = pos[i][3] * zoom end - ss.orient .= calc_orient_quat(s) + # KiteModels works in KS internally; SysState is KA, so the boundary is here. + ss.orient .= convert_orientation(calc_orient_quat(s); from=KS, to=KA) ss.elevation = calc_elevation(s) new_azimuth = calc_azimuth(s) # Use shortest-angle difference to avoid artificial spikes at wrap boundaries @@ -641,7 +649,7 @@ function update_sys_state!(ss::SysState, s::AKM, zoom=1.0) # psi_m = psi - phi_dot * cos(theta) # This removes the effect of roll on the heading measurement body_rate = ss.heading_rate - ss.azimuth_rate * sin(ss.elevation) - ss.turn_rates .= [0, 0, body_rate] + ss.turn_rates .= convert_body(SVec3(0, 0, body_rate); from=KS, to=KA) cl, cd = cl_cd(s) ss.CL2 = cl ss.CD2 = cd From 3f6bf466e6fde9623d81faafb03a2e819face063 Mon Sep 17 00:00:00 2001 From: Bart Date: Wed, 26 Aug 2026 14:09:50 +0200 Subject: [PATCH 2/7] Stop writing roll, pitch and yaw to SysState KiteUtils 0.13 dropped the fields: they were the same orientation the quaternion already holds, and keeping them kept a second convention in the state. euler_ks(ss.orient) reports them, still against NED. Co-Authored-By: Claude Opus 5 --- CHANGELOG.md | 4 +++- src/KiteModels.jl | 1 - 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e5ce85df..715b7d757 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,9 @@ SPDX-License-Identifier: MIT - BREAKING: the quaternion written to `SysState` is `KA` (aft-right-up, against ENU), the convention KiteUtils 0.13 stores. The model itself is unchanged: `kite_ref_frame` and `calc_orient_quat` stay `KS`, and `update_sys_state!` converts at the boundary. -- `roll`, `pitch` and `yaw` are unchanged; they stay `KS`, against NED. +- BREAKING: `roll`, `pitch` and `yaw` are no longer written to `SysState`, which + dropped them in KiteUtils 0.13. `orient_euler(s)` still reports them, against + NED, and `euler_ks(ss.orient)` recovers them from a state or a log. - `turn_rates` is `KA`, so the z component has the opposite sign to before. - `calc_heading(s)` passes the quaternion rather than Euler angles, skipping a round trip through `quat2euler`. The angle is unchanged. diff --git a/src/KiteModels.jl b/src/KiteModels.jl index b03756341..c7059a0a3 100644 --- a/src/KiteModels.jl +++ b/src/KiteModels.jl @@ -644,7 +644,6 @@ function update_sys_state!(ss::SysState, s::AKM, zoom=1.0) else ss.set_speed .= [s.sync_speed, 0, 0, 0] end - ss.roll, ss.pitch, ss.yaw = orient_euler(s) # Calculate body turn rate around z-axis using Erhard and Strauch (2013) formula # psi_m = psi - phi_dot * cos(theta) # This removes the effect of roll on the heading measurement From 52c96775309ccead3b93c8d405ebdcbf631d24d8 Mon Sep 17 00:00:00 2001 From: 1-Bort-1 <323661610+1-Bort-1@users.noreply.github.com> Date: Thu, 24 Sep 2026 11:29:47 +0200 Subject: [PATCH 3/7] Build SysState with the KiteUtils 0.12 constructor and one-slot winch fields Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 4 ++++ Manifest-v1.11.toml.default | 18 +++++++++--------- Manifest-v1.12.toml.default | 28 ++++++++++++++-------------- Manifest-v1.13.toml.default | 22 +++++++++++----------- Project.toml | 2 +- docs/Project.toml | 2 +- examples_3d/Project.toml | 2 +- src/KiteModels.jl | 26 +++++++------------------- test/test-update-sys-state.jl | 17 ++++++++--------- 9 files changed, 56 insertions(+), 65 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c14e792e6..44d86b0ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -3,6 +3,10 @@ SPDX-FileCopyrightText: 2025 Uwe Fechner, Bart van de Lint SPDX-License-Identifier: MIT --> ### KiteModels v0.11.17 2026-08-12 +#### Changed +- BREAKING: requires KiteUtils 0.12. `SysState(kps)` builds a single-winch, single-tether state, + so `winch_force`, `l_tether`, `v_reelout`, `set_force`, `set_torque` and `set_speed` hold one + value instead of four. #### Added - `next_step!` accepts the keyword argument `v_wind_vert` (default `0.0`, fully backward compatible) for injecting a constant vertical wind component (updraft/downdraft) at the kite. It is stored in diff --git a/Manifest-v1.11.toml.default b/Manifest-v1.11.toml.default index e8503e29e..2e941755b 100644 --- a/Manifest-v1.11.toml.default +++ b/Manifest-v1.11.toml.default @@ -154,9 +154,9 @@ version = "1.11.0" [[deps.AtmosphericModels]] deps = ["FFTW", "HypergeometricFunctions", "KiteUtils", "LinearAlgebra", "MeshGrid", "NPZ", "Printf", "Random", "SHA", "Scratch", "StableRNGs", "Statistics"] -git-tree-sha1 = "542e1acd424d4263392352bb6150934b6140b419" +git-tree-sha1 = "ce1c9e44453df1b092c08234acaf933b02fccc7c" uuid = "c59cac55-771d-4f45-b14d-1c681463a295" -version = "0.3.8" +version = "0.3.10" [[deps.Automa]] deps = ["PrecompileTools", "TranscodingStreams"] @@ -1272,19 +1272,19 @@ version = "0.6.12" deps = ["AtmosphericModels", "Dierckx", "DiffEqBase", "DiscretePIDs", "DocStringExtensions", "Interpolations", "KitePodModels", "KiteUtils", "LinearAlgebra", "LinearSolve", "Logging", "NLSolversBase", "NLsolve", "NonlinearSolve", "OrdinaryDiffEqBDF", "OrdinaryDiffEqCore", "OrdinaryDiffEqNonlinearSolve", "Parameters", "Pkg", "PrecompileTools", "REPL", "Reexport", "Rotations", "StaticArrays", "Statistics", "Sundials", "Suppressor", "WinchModels"] path = ".." uuid = "b94af626-7959-4878-9336-2adc27959007" -version = "0.11.16" +version = "0.11.17" [[deps.KitePodModels]] deps = ["DocStringExtensions", "KiteUtils", "Reexport"] -git-tree-sha1 = "57f6f71a75d2d26f199a64c03a03796139c540f4" +git-tree-sha1 = "a54b0d8d4e011b2c8e6135322b1e57d2f2d250be" uuid = "9de5dc81-f971-414a-927b-652b2f41c539" -version = "0.4.0" +version = "0.4.2" [[deps.KiteUtils]] deps = ["Arrow", "CSV", "DocStringExtensions", "LinearAlgebra", "OrderedCollections", "Parameters", "Parsers", "Pkg", "PrecompileTools", "RecursiveArrayTools", "ReferenceFrameRotations", "Rotations", "StaticArrays", "StructArrays", "StructTypes", "YAML"] -git-tree-sha1 = "0d7307b9656072383b235e7b4e6ca546bc3fd7ae" +git-tree-sha1 = "fbeb8355b4797ffc263320be2dc74dcdbe9310fc" uuid = "90980105-b163-44e5-ba9f-8b1c83bb0533" -version = "0.11.13" +version = "0.12.2" [[deps.Krylov]] deps = ["LinearAlgebra", "Printf", "SparseArrays"] @@ -2893,9 +2893,9 @@ version = "0.1.3" [[deps.WinchModels]] deps = ["DiscretePIDs", "KiteUtils", "Parameters"] -git-tree-sha1 = "f069217475c08e9dffc2a26457556efcc8e236f3" +git-tree-sha1 = "37639f176a3de26105bfdc0c0ce2233a3893160b" uuid = "7dcfa46b-7979-4771-bbf4-0aee0da42e1f" -version = "0.3.9" +version = "0.3.10" [[deps.WoodburyMatrices]] deps = ["LinearAlgebra", "SparseArrays"] diff --git a/Manifest-v1.12.toml.default b/Manifest-v1.12.toml.default index 06b5f3881..e85cacf19 100644 --- a/Manifest-v1.12.toml.default +++ b/Manifest-v1.12.toml.default @@ -1,8 +1,8 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.12.6" +julia_version = "1.12.7" manifest_format = "2.0" -project_hash = "8216fc8ce970c819a040617fca2b12c5a7abb01e" +project_hash = "068969a070b877bcfba45d0237bc7e757f7a854c" [[deps.ADTypes]] git-tree-sha1 = "5970c86505ae9c07bf5bc521ef2bbbb3849e8b7b" @@ -160,9 +160,9 @@ version = "1.11.0" [[deps.AtmosphericModels]] deps = ["FFTW", "HypergeometricFunctions", "KiteUtils", "LinearAlgebra", "MeshGrid", "NPZ", "Printf", "Random", "SHA", "Scratch", "StableRNGs", "Statistics"] -git-tree-sha1 = "542e1acd424d4263392352bb6150934b6140b419" +git-tree-sha1 = "0721e5ef33dd16ab35d124df3c75017b8e80a41f" uuid = "c59cac55-771d-4f45-b14d-1c681463a295" -version = "0.3.8" +version = "0.3.11" [[deps.Automa]] deps = ["PrecompileTools", "TranscodingStreams"] @@ -383,7 +383,7 @@ weakdeps = ["Dates", "LinearAlgebra"] [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.3.0+1" +version = "1.3.1+2" [[deps.CompositionsBase]] git-tree-sha1 = "802bb88cd69dfd1509f6670416bd4434015693ad" @@ -1357,21 +1357,21 @@ version = "0.11.17" [[deps.KitePodModels]] deps = ["DocStringExtensions", "KiteUtils", "Reexport"] -git-tree-sha1 = "57f6f71a75d2d26f199a64c03a03796139c540f4" +git-tree-sha1 = "a54b0d8d4e011b2c8e6135322b1e57d2f2d250be" uuid = "9de5dc81-f971-414a-927b-652b2f41c539" -version = "0.4.0" +version = "0.4.2" [[deps.KiteUtils]] deps = ["Arrow", "CSV", "DocStringExtensions", "LinearAlgebra", "OrderedCollections", "Parameters", "Parsers", "Pkg", "PrecompileTools", "RecursiveArrayTools", "ReferenceFrameRotations", "Rotations", "StaticArrays", "StructArrays", "StructTypes", "YAML"] -git-tree-sha1 = "0d7307b9656072383b235e7b4e6ca546bc3fd7ae" +git-tree-sha1 = "fbeb8355b4797ffc263320be2dc74dcdbe9310fc" uuid = "90980105-b163-44e5-ba9f-8b1c83bb0533" -version = "0.11.13" +version = "0.12.2" [[deps.KiteViewers]] deps = ["FileIO", "GLMakie", "GeometryBasics", "Joysticks", "KiteUtils", "LinearAlgebra", "Parameters", "Pkg", "PrecompileTools", "Printf", "Reexport", "Rotations", "StaticArrays", "StructArrays", "Timers"] -git-tree-sha1 = "cae633ece41d23e572fd5bce01440cee7912d45a" +git-tree-sha1 = "ba3472753e0fda3b2436936ad12c763c9fd660b7" uuid = "2e593061-95e7-45e4-95f4-df0491f2e601" -version = "0.5.2" +version = "0.6.0" [[deps.Krylov]] deps = ["LinearAlgebra", "Printf", "SparseArrays"] @@ -1990,7 +1990,7 @@ version = "1.6.1" [[deps.OpenSSL_jll]] deps = ["Artifacts", "Libdl"] uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.5.4+0" +version = "3.5.6+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] @@ -3045,9 +3045,9 @@ version = "0.1.3" [[deps.WinchModels]] deps = ["DiscretePIDs", "KiteUtils", "Parameters"] -git-tree-sha1 = "f069217475c08e9dffc2a26457556efcc8e236f3" +git-tree-sha1 = "37639f176a3de26105bfdc0c0ce2233a3893160b" uuid = "7dcfa46b-7979-4771-bbf4-0aee0da42e1f" -version = "0.3.9" +version = "0.3.10" [[deps.WoodburyMatrices]] deps = ["LinearAlgebra", "SparseArrays"] diff --git a/Manifest-v1.13.toml.default b/Manifest-v1.13.toml.default index 0938a420a..3822798c6 100644 --- a/Manifest-v1.13.toml.default +++ b/Manifest-v1.13.toml.default @@ -2,7 +2,7 @@ julia_version = "1.13.0" manifest_format = "2.1" -project_hash = "8216fc8ce970c819a040617fca2b12c5a7abb01e" +project_hash = "068969a070b877bcfba45d0237bc7e757f7a854c" [[deps.ADTypes]] git-tree-sha1 = "5970c86505ae9c07bf5bc521ef2bbbb3849e8b7b" @@ -174,10 +174,10 @@ version = "1.11.0" [[deps.AtmosphericModels]] deps = ["FFTW", "HypergeometricFunctions", "KiteUtils", "LinearAlgebra", "MeshGrid", "NPZ", "Printf", "Random", "SHA", "Scratch", "StableRNGs", "Statistics"] -git-tree-sha1 = "542e1acd424d4263392352bb6150934b6140b419" +git-tree-sha1 = "0721e5ef33dd16ab35d124df3c75017b8e80a41f" registries = "General" uuid = "c59cac55-771d-4f45-b14d-1c681463a295" -version = "0.3.8" +version = "0.3.11" [[deps.Automa]] deps = ["PrecompileTools", "TranscodingStreams"] @@ -1516,24 +1516,24 @@ version = "0.11.17" [[deps.KitePodModels]] deps = ["DocStringExtensions", "KiteUtils", "Reexport"] -git-tree-sha1 = "57f6f71a75d2d26f199a64c03a03796139c540f4" +git-tree-sha1 = "a54b0d8d4e011b2c8e6135322b1e57d2f2d250be" registries = "General" uuid = "9de5dc81-f971-414a-927b-652b2f41c539" -version = "0.4.0" +version = "0.4.2" [[deps.KiteUtils]] deps = ["Arrow", "CSV", "DocStringExtensions", "LinearAlgebra", "OrderedCollections", "Parameters", "Parsers", "Pkg", "PrecompileTools", "RecursiveArrayTools", "ReferenceFrameRotations", "Rotations", "StaticArrays", "StructArrays", "StructTypes", "YAML"] -git-tree-sha1 = "0d7307b9656072383b235e7b4e6ca546bc3fd7ae" +git-tree-sha1 = "fbeb8355b4797ffc263320be2dc74dcdbe9310fc" registries = "General" uuid = "90980105-b163-44e5-ba9f-8b1c83bb0533" -version = "0.11.13" +version = "0.12.2" [[deps.KiteViewers]] deps = ["FileIO", "GLMakie", "GeometryBasics", "Joysticks", "KiteUtils", "LinearAlgebra", "Parameters", "Pkg", "PrecompileTools", "Printf", "Reexport", "Rotations", "StaticArrays", "StructArrays", "Timers"] -git-tree-sha1 = "cae633ece41d23e572fd5bce01440cee7912d45a" +git-tree-sha1 = "ba3472753e0fda3b2436936ad12c763c9fd660b7" registries = "General" uuid = "2e593061-95e7-45e4-95f4-df0491f2e601" -version = "0.5.2" +version = "0.6.0" [[deps.Krylov]] deps = ["LinearAlgebra", "Printf", "SparseArrays"] @@ -3385,10 +3385,10 @@ version = "0.1.3" [[deps.WinchModels]] deps = ["DiscretePIDs", "KiteUtils", "Parameters"] -git-tree-sha1 = "f069217475c08e9dffc2a26457556efcc8e236f3" +git-tree-sha1 = "37639f176a3de26105bfdc0c0ce2233a3893160b" registries = "General" uuid = "7dcfa46b-7979-4771-bbf4-0aee0da42e1f" -version = "0.3.9" +version = "0.3.10" [[deps.WoodburyMatrices]] deps = ["LinearAlgebra", "SparseArrays"] diff --git a/Project.toml b/Project.toml index 00cd89f08..993707ee6 100644 --- a/Project.toml +++ b/Project.toml @@ -44,7 +44,7 @@ DiscretePIDs = "0.1.5, 1.0" DocStringExtensions = "0.9.4" Interpolations = "0.15.1, 0.16" KitePodModels = "0.4.0" -KiteUtils = "0.11.8" +KiteUtils = "0.12" LinearAlgebra = "1.11, 1.12" LinearSolve = "3.59" Logging = "1.11, 1.12" diff --git a/docs/Project.toml b/docs/Project.toml index 137a4aa89..6b715112a 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -13,6 +13,6 @@ KiteModels = {path = ".."} [compat] Documenter = "1.11" KitePodModels = "0.4" -KiteUtils = "0.7, 0.8, 0.9, 0.10, 0.11" +KiteUtils = "0.7, 0.8, 0.9, 0.10, 0.11, 0.12" OpenSSL_jll = "3.0.0" julia = "1.10, 1.11, 1.12, 1.13" diff --git a/examples_3d/Project.toml b/examples_3d/Project.toml index 5e235d81f..f6766aa61 100644 --- a/examples_3d/Project.toml +++ b/examples_3d/Project.toml @@ -25,5 +25,5 @@ KiteModels = {path = ".."} [compat] MakieControlPlots = "0.1.4" KiteModels = "0.11.0" -KiteViewers = "0.5.1" +KiteViewers = "0.5.1, 0.6" julia = "1.10, 1.11, 1.12, 1.13" diff --git a/src/KiteModels.jl b/src/KiteModels.jl index 38a782c6d..85a55b01d 100644 --- a/src/KiteModels.jl +++ b/src/KiteModels.jl @@ -534,7 +534,7 @@ function update_sys_state!(ss::SysState, s::AKM, zoom=1.0) d_az = atan(sin(new_azimuth - ss.azimuth), cos(new_azimuth - ss.azimuth)) ss.azimuth_rate = d_az / dt ss.azimuth = new_azimuth - ss.winch_force .= [winch_force(s); 0; 0; 0] + ss.winch_force[1] = winch_force(s) new_heading = calc_heading(s) # Use shortest-angle difference to avoid artificial spikes at wrap boundaries d_psi = atan(sin(new_heading - ss.heading), cos(new_heading - ss.heading)) @@ -542,8 +542,8 @@ function update_sys_state!(ss::SysState, s::AKM, zoom=1.0) ss.heading = new_heading ss.course = calc_course(s) ss.v_app = norm(s.v_apparent) - ss.l_tether .= [s.l_tether; 0; 0; 0] - ss.v_reelout .= [s.v_reel_out; 0; 0; 0] + ss.l_tether[1] = s.l_tether + ss.v_reelout[1] = s.v_reel_out ss.depower = s.depower ss.steering = s.steering/s.set.cs_4p ss.kcu_steering = s.kcu_steering/s.set.cs_4p @@ -553,11 +553,7 @@ function update_sys_state!(ss::SysState, s::AKM, zoom=1.0) if isa(s, KPS4) ss.alpha3 = deg2rad(s.alpha_3) ss.alpha4 = deg2rad(s.alpha_4) - if isnothing(s.set_force) - ss.set_force .= [NaN, 0, 0, 0] - else - ss.set_force .= [s.set_force, 0, 0, 0] - end + ss.set_force[1] = something(s.set_force, NaN) if isnothing(s.bearing) ss.bearing = NaN else @@ -570,16 +566,8 @@ function update_sys_state!(ss::SysState, s::AKM, zoom=1.0) end end ss.set_steering = s.kcu.set_steering - if isnothing(s.set_torque) - ss.set_torque .= [NaN, 0, 0, 0] - else - ss.set_torque .= [s.set_torque, 0, 0, 0] - end - if isnothing(s.sync_speed) - ss.set_speed .= [NaN, 0, 0, 0] - else - ss.set_speed .= [s.sync_speed, 0, 0, 0] - end + ss.set_torque[1] = something(s.set_torque, NaN) + ss.set_speed[1] = something(s.sync_speed, NaN) ss.roll, ss.pitch, ss.yaw = orient_euler(s) # Calculate body turn rate around z-axis using Erhard and Strauch (2013) formula # psi_m = psi - phi_dot * cos(theta) @@ -604,7 +592,7 @@ system state in a viewer. Optionally the position arrays can be zoomed according to the requirements of the viewer. """ function SysState(s::AKM, zoom=1.0) - ss = SysState{length(s.pos)}() + ss = SysState(length(s.pos)) update_sys_state!(ss, s, zoom) ss end diff --git a/test/test-update-sys-state.jl b/test/test-update-sys-state.jl index cb609534c..09d379bcc 100644 --- a/test/test-update-sys-state.jl +++ b/test/test-update-sys-state.jl @@ -56,10 +56,9 @@ end @test ss.v_wind_gnd ≈ kps4.v_wind_gnd @test ss.v_wind_kite ≈ kps4.v_wind @test ss.v_wind_200m ≈ kps4.v_wind_gnd * calc_wind_factor(kps4.am, 200.0) - # the winch quantities are scalars on a single-tether model, in slot 1 of a 4-tether vector - @test ss.winch_force ≈ [winch_force(kps4), 0, 0, 0] - @test ss.l_tether ≈ [kps4.l_tether, 0, 0, 0] - @test ss.v_reelout ≈ [kps4.v_reel_out, 0, 0, 0] + @test ss.winch_force ≈ [winch_force(kps4)] + @test ss.l_tether ≈ [kps4.l_tether] + @test ss.v_reelout ≈ [kps4.v_reel_out] end @testset "update_sys_state! zoom" begin @@ -75,7 +74,7 @@ end ss = SysState(kps4) next_step!(kps4, integrator; set_speed=0.5, dt=DT) update_sys_state!(ss, kps4) - @test ss.set_speed ≈ [0.5, 0, 0, 0] + @test ss.set_speed ≈ [0.5] # a set value of `nothing` is logged as NaN, not as zero @test isnan(ss.set_torque[1]) @test isnan(ss.set_force[1]) @@ -89,8 +88,8 @@ end kps4.attractor = SVector(0.1, 0.7) update_sys_state!(ss, kps4) @test isnan(ss.set_speed[1]) - @test ss.set_torque ≈ [-20.0, 0, 0, 0] - @test ss.set_force ≈ [1200.0, 0, 0, 0] + @test ss.set_torque ≈ [-20.0] + @test ss.set_force ≈ [1200.0] @test ss.bearing ≈ 0.3 @test ss.attractor ≈ [0.1, 0.7] end @@ -131,10 +130,10 @@ end @test ss.elevation ≈ calc_elevation(kps3) @test ss.azimuth ≈ calc_azimuth(kps3) @test ss.heading ≈ calc_heading(kps3) - @test ss.l_tether ≈ [kps3.l_tether, 0, 0, 0] + @test ss.l_tether ≈ [kps3.l_tether] # set_force, bearing and attractor are KPS4 only and keep their defaults here @test ss.bearing == 0 - @test ss.set_force ≈ [0, 0, 0, 0] + @test ss.set_force ≈ [0] @test ss.attractor ≈ [0, 0] azimuth_0, heading_0, time_0 = ss.azimuth, ss.heading, ss.time From abe946b19dabc57d64e9325beb7818cde244dd95 Mon Sep 17 00:00:00 2001 From: 1-Bort-1 <323661610+1-Bort-1@users.noreply.github.com> Date: Sat, 26 Sep 2026 11:50:01 +0200 Subject: [PATCH 4/7] Drop BREAKING from the KiteUtils 0.12 changelog entry Co-Authored-By: Claude Opus 5.5 --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 44d86b0ed..6e42b6063 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,7 @@ SPDX-License-Identifier: MIT --> ### KiteModels v0.11.17 2026-08-12 #### Changed -- BREAKING: requires KiteUtils 0.12. `SysState(kps)` builds a single-winch, single-tether state, +- Requires KiteUtils 0.12. `SysState(kps)` builds a single-winch, single-tether state, so `winch_force`, `l_tether`, `v_reelout`, `set_force`, `set_torque` and `set_speed` hold one value instead of four. #### Added From a8a9d8a7d3a0d216bb789e20da352992ec97b9c1 Mon Sep 17 00:00:00 2001 From: 1-Bort-1 <323661610+1-Bort-1@users.noreply.github.com> Date: Sun, 27 Sep 2026 13:35:43 +0200 Subject: [PATCH 5/7] Drop Julia 1.11 The WinchModels and AtmosphericModels releases that accept KiteUtils 0.13 (both 0.3.11) require Julia 1.12, so KiteModels on KiteUtils 0.13 cannot support 1.11. Removes its manifest, CI cell, install branch and docs. Co-Authored-By: Claude Opus 5.5 --- .github/workflows/Test.yml | 4 +- CONTRIBUTING.md | 2 +- Manifest-v1.11.toml.default | 3139 ----------------------------------- Project.toml | 2 +- README.md | 2 +- bin/install | 321 ++-- bin/update_default_manifest | 28 +- docs/src/index.md | 4 +- docs/src/open_source_awe.md | 2 +- docs/src/quickstart.md | 12 +- examples/Project.toml | 2 +- 11 files changed, 123 insertions(+), 3395 deletions(-) delete mode 100644 Manifest-v1.11.toml.default diff --git a/.github/workflows/Test.yml b/.github/workflows/Test.yml index 06d5b4eff..028319ccb 100644 --- a/.github/workflows/Test.yml +++ b/.github/workflows/Test.yml @@ -16,7 +16,7 @@ jobs: fail-fast: false matrix: version: - - '1.11' + - '1.12' - '1' os: - ubuntu-latest @@ -88,7 +88,7 @@ jobs: fail-fast: false matrix: julia_version: - - "1.11" + - "1.12" julia_arch: - x64 os: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 29878d03d..f75a16801 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -104,7 +104,7 @@ Before creating a new release, please check - test_installation5 work - execute `meld README.md docs/src/index.md` and make sure both are up-to-date - test the installation on Linux for all Julia versions listed in the `julia` compat entry of - `Project.toml` (currently 1.11 and 1.12) + `Project.toml` (currently 1.12 and 1.13) - test the installation on Windows after deleting the .julia folder - run `pipx run reuse lint` and make sure all files have a license attached; See: diff --git a/Manifest-v1.11.toml.default b/Manifest-v1.11.toml.default deleted file mode 100644 index 2e941755b..000000000 --- a/Manifest-v1.11.toml.default +++ /dev/null @@ -1,3139 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.11.9" -manifest_format = "2.0" -project_hash = "bc5f3655aebb92c8fd6758cdd93f591fe897f37a" - -[[deps.ADTypes]] -git-tree-sha1 = "5970c86505ae9c07bf5bc521ef2bbbb3849e8b7b" -uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" -version = "1.23.0" -weakdeps = ["ChainRulesCore", "ConstructionBase", "EnzymeCore"] - - [deps.ADTypes.extensions] - ADTypesChainRulesCoreExt = "ChainRulesCore" - ADTypesConstructionBaseExt = "ConstructionBase" - ADTypesEnzymeCoreExt = "EnzymeCore" - -[[deps.AMD]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse_jll"] -git-tree-sha1 = "45a1272e3f809d36431e57ab22703c6896b8908f" -uuid = "14f7f29c-3bd6-536c-9a0b-7339e30b5a3e" -version = "0.5.3" - -[[deps.ANSIColoredPrinters]] -git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" -uuid = "a4c015fc-c6ff-483c-b24f-f7ea428134e9" -version = "0.0.1" - -[[deps.AbstractFFTs]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" -uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" -version = "1.5.0" -weakdeps = ["ChainRulesCore", "Test"] - - [deps.AbstractFFTs.extensions] - AbstractFFTsChainRulesCoreExt = "ChainRulesCore" - AbstractFFTsTestExt = "Test" - -[[deps.AbstractTrees]] -git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177" -uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -version = "0.4.5" - -[[deps.Accessors]] -deps = ["CompositionsBase", "ConstructionBase", "Dates", "InverseFunctions", "MacroTools"] -git-tree-sha1 = "7063ad1083578215c7c4bf410368150abe8d5524" -uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" -version = "0.1.45" - - [deps.Accessors.extensions] - AxisKeysExt = "AxisKeys" - IntervalSetsExt = "IntervalSets" - LinearAlgebraExt = "LinearAlgebra" - StaticArraysExt = "StaticArrays" - StructArraysExt = "StructArrays" - TestExt = "Test" - UnitfulExt = "Unitful" - - [deps.Accessors.weakdeps] - AxisKeys = "94b1ba4f-4ee9-5380-92f1-94cde586c3c5" - IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" - LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" - Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" - -[[deps.Adapt]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "daa72978cd7a624246e894a4f4f067706d4e17e2" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "4.7.0" -weakdeps = ["SparseArrays", "StaticArrays"] - - [deps.Adapt.extensions] - AdaptSparseArraysExt = "SparseArrays" - AdaptStaticArraysExt = "StaticArrays" - -[[deps.AdaptivePredicates]] -git-tree-sha1 = "7e651ea8d262d2d74ce75fdf47c4d63c07dba7a6" -uuid = "35492f91-a3bd-45ad-95db-fcad7dcfedb7" -version = "1.2.0" - -[[deps.AliasTables]] -deps = ["PtrArrays", "Random"] -git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff" -uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8" -version = "1.1.3" - -[[deps.Animations]] -deps = ["Colors"] -git-tree-sha1 = "e092fa223bf66a3c41f9c022bd074d916dc303e7" -uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" -version = "0.4.2" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.2" - -[[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra"] -git-tree-sha1 = "60f11b38ebeabd984f5535838d91e197d97202f0" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.28.1" - - [deps.ArrayInterface.extensions] - ArrayInterfaceAMDGPUExt = "AMDGPU" - ArrayInterfaceBandedMatricesExt = "BandedMatrices" - ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" - ArrayInterfaceCUDAExt = "CUDA" - ArrayInterfaceCUDSSExt = ["CUDSS", "CUDA"] - ArrayInterfaceChainRulesCoreExt = "ChainRulesCore" - ArrayInterfaceChainRulesExt = "ChainRules" - ArrayInterfaceFillArraysExt = "FillArrays" - ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" - ArrayInterfaceMetalExt = "Metal" - ArrayInterfaceReverseDiffExt = "ReverseDiff" - ArrayInterfaceSparseArraysExt = "SparseArrays" - ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" - ArrayInterfaceTrackerExt = "Tracker" - - [deps.ArrayInterface.weakdeps] - AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" - ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b" - GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" - Metal = "dde4c033-4e86-420c-a63e-0dd931031962" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - -[[deps.Arrow]] -deps = ["ArrowTypes", "BitIntegers", "CodecLz4", "CodecZstd", "ConcurrentUtilities", "DataAPI", "Dates", "EnumX", "Mmap", "PooledArrays", "SentinelArrays", "StringViews", "Tables", "TimeZones", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "4a69a3eadc1f7da78d950d1ef270c3a62c1f7e01" -uuid = "69666777-d1a9-59fb-9406-91d4454c9d45" -version = "2.8.1" - -[[deps.ArrowTypes]] -deps = ["Sockets", "UUIDs"] -git-tree-sha1 = "404265cd8128a2515a81d5eae16de90fdef05101" -uuid = "31f734f8-188a-4ce0-8406-c8a06bd891cd" -version = "2.3.0" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" -version = "1.11.0" - -[[deps.AtmosphericModels]] -deps = ["FFTW", "HypergeometricFunctions", "KiteUtils", "LinearAlgebra", "MeshGrid", "NPZ", "Printf", "Random", "SHA", "Scratch", "StableRNGs", "Statistics"] -git-tree-sha1 = "ce1c9e44453df1b092c08234acaf933b02fccc7c" -uuid = "c59cac55-771d-4f45-b14d-1c681463a295" -version = "0.3.10" - -[[deps.Automa]] -deps = ["PrecompileTools", "TranscodingStreams"] -git-tree-sha1 = "94eab0b3ccdcac361188cc661daf69d4433c1818" -uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b" -version = "1.2.0" - -[[deps.AxisAlgorithms]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] -git-tree-sha1 = "01b8ccb13d68535d73d2b0c23e39bd23155fb712" -uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" -version = "1.1.0" - -[[deps.AxisArrays]] -deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] -git-tree-sha1 = "4126b08903b777c88edf1754288144a0492c05ad" -uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" -version = "0.4.8" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" -version = "1.11.0" - -[[deps.BaseDirs]] -git-tree-sha1 = "8c290a1b223deaeea9aea44b235d24546da8eb98" -uuid = "18cc8868-cbac-4acf-b575-c8ff214dc66f" -version = "1.4.0" - -[[deps.BenchmarkTools]] -deps = ["Compat", "JSON", "Logging", "PrecompileTools", "Printf", "Profile", "Statistics", "UUIDs"] -git-tree-sha1 = "9670d3febc2b6da60a0ae57846ba74670290653f" -uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "1.8.0" - -[[deps.BitIntegers]] -deps = ["Random"] -git-tree-sha1 = "091d591a060e43df1dd35faab3ca284925c48e46" -uuid = "c3b6d118-76ef-56ca-8cc7-ebb389d030a1" -version = "0.3.7" - -[[deps.BitTwiddlingConvenienceFunctions]] -deps = ["Static"] -git-tree-sha1 = "f21cfd4950cb9f0587d5067e69405ad2acd27b87" -uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" -version = "0.1.6" - -[[deps.BracketingNonlinearSolve]] -deps = ["CommonSolve", "ConcreteStructs", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase"] -git-tree-sha1 = "7ad7171d693ae5552ac43862e7f6b61df4471c2b" -uuid = "70df07ce-3d50-431d-a3e7-ca6ddb60ac1e" -version = "1.12.1" -weakdeps = ["ChainRulesCore", "ForwardDiff"] - - [deps.BracketingNonlinearSolve.extensions] - BracketingNonlinearSolveChainRulesCoreExt = ["ChainRulesCore", "ForwardDiff"] - BracketingNonlinearSolveForwardDiffExt = "ForwardDiff" - -[[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "1b96ea4a01afe0ea4090c5c8039690672dd13f2e" -uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.9+0" - -[[deps.CEnum]] -git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.5.0" - -[[deps.CPUSummary]] -deps = ["CpuId", "IfElse", "PrecompileTools", "Preferences", "Static"] -git-tree-sha1 = "f3a21d7fc84ba618a779d1ed2fcca2e682865bab" -uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -version = "0.2.7" - -[[deps.CRC32c]] -uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" -version = "1.11.0" - -[[deps.CRlibm]] -deps = ["CRlibm_jll"] -git-tree-sha1 = "66188d9d103b92b6cd705214242e27f5737a1e5e" -uuid = "96374032-68de-5a5b-8d9e-752f78720389" -version = "1.0.2" - -[[deps.CRlibm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" -uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" -version = "1.0.1+0" - -[[deps.CSV]] -deps = ["CodecZlib", "Dates", "FilePathsBase", "InlineStrings", "Mmap", "Parsers", "PooledArrays", "PrecompileTools", "SentinelArrays", "Tables", "Unicode", "WeakRefStrings", "WorkerUtilities"] -git-tree-sha1 = "8d8e0b0f350b8e1c91420b5e64e5de774c2f0f4d" -uuid = "336ed68f-0bac-5ca0-87d4-7b16caf5d00b" -version = "0.10.16" - -[[deps.Cairo]] -deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] -git-tree-sha1 = "71aa551c5c33f1a4415867fe06b7844faadb0ae9" -uuid = "159f3aea-2a34-519c-b102-8c37f9878175" -version = "1.1.1" - -[[deps.CairoMakie]] -deps = ["CRC32c", "Cairo", "Cairo_jll", "Colors", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools"] -git-tree-sha1 = "47142129b1777e21da58cff265050b10d8560588" -uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" -version = "0.15.13" - -[[deps.Cairo_jll]] -deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "Libdl", "Pixman_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "1fa950ebc3e37eccd51c6a8fe1f92f7d86263522" -uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.18.7+0" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra"] -git-tree-sha1 = "12177ad6b3cad7fd50c8b3825ce24a99ad61c18f" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.26.1" -weakdeps = ["SparseArrays"] - - [deps.ChainRulesCore.extensions] - ChainRulesCoreSparseArraysExt = "SparseArrays" - -[[deps.CloseOpenIntervals]] -deps = ["Static", "StaticArrayInterface"] -git-tree-sha1 = "05ba0d07cd4fd8b7a39541e31a7b0254704ea581" -uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" -version = "0.1.13" - -[[deps.CodecLz4]] -deps = ["Lz4_jll", "TranscodingStreams"] -git-tree-sha1 = "d58afcd2833601636b48ee8cbeb2edcb086522c2" -uuid = "5ba52731-8f18-5e0d-9241-30f10d1ec561" -version = "0.4.6" - -[[deps.CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "962834c22b66e32aa10f7611c08c8ca4e20749a9" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.8" - -[[deps.CodecZstd]] -deps = ["TranscodingStreams", "Zstd_jll"] -git-tree-sha1 = "da54a6cd93c54950c15adf1d336cfd7d71f51a56" -uuid = "6b39b394-51ab-5f42-8807-6242bab2b4c2" -version = "0.8.7" - -[[deps.ColorBrewer]] -deps = ["Colors", "JSON"] -git-tree-sha1 = "07da79661b919001e6863b81fc572497daa58349" -uuid = "a2cac450-b92f-5266-8821-25eda20663c8" -version = "0.4.2" - -[[deps.ColorSchemes]] -deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] -git-tree-sha1 = "b0fd3f56fa442f81e0a47815c92245acfaaa4e34" -uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.31.0" - -[[deps.ColorTypes]] -deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "67e11ee83a43eb71ddc950302c53bf33f0690dfe" -uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.12.1" -weakdeps = ["StyledStrings"] - - [deps.ColorTypes.extensions] - StyledStringsExt = "StyledStrings" - -[[deps.ColorVectorSpace]] -deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] -git-tree-sha1 = "8b3b6f87ce8f65a2b4f857528fd8d70086cd72b1" -uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.11.0" -weakdeps = ["SpecialFunctions"] - - [deps.ColorVectorSpace.extensions] - SpecialFunctionsExt = "SpecialFunctions" - -[[deps.Colors]] -deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "37ea44092930b1811e666c3bc38065d7d87fcc74" -uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.13.1" - -[[deps.CommonSolve]] -git-tree-sha1 = "cf963add2340ad9960e5eb22844e61ad8f931fe1" -uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" -version = "0.2.13" - -[[deps.CommonSubexpressions]] -deps = ["MacroTools"] -git-tree-sha1 = "cda2cfaebb4be89c9084adaca7dd7333369715c5" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.1" - -[[deps.CommonWorldInvalidations]] -git-tree-sha1 = "ef2022bff55342a8c9846cdf218f62e475f0444d" -uuid = "f70d9fcc-98c5-4d4a-abd7-e4cdeebd8ca8" -version = "1.1.2" - -[[deps.Compat]] -deps = ["TOML", "UUIDs"] -git-tree-sha1 = "9d8a54ce4b17aa5bdce0ea5c34bc5e7c340d16ad" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.18.1" -weakdeps = ["Dates", "LinearAlgebra"] - - [deps.Compat.extensions] - CompatLinearAlgebraExt = "LinearAlgebra" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.1.1+0" - -[[deps.CompositionsBase]] -git-tree-sha1 = "802bb88cd69dfd1509f6670416bd4434015693ad" -uuid = "a33af91c-f02d-484b-be07-31d278c5ca2b" -version = "0.1.2" -weakdeps = ["InverseFunctions"] - - [deps.CompositionsBase.extensions] - CompositionsBaseInverseFunctionsExt = "InverseFunctions" - -[[deps.ComputePipeline]] -deps = ["Observables", "Preferences"] -git-tree-sha1 = "7bc84b769c1d384315e7b5c4ac03a6c303e6cf35" -uuid = "95dc2771-c249-4cd0-9c9f-1f3b4330693c" -version = "0.1.8" - -[[deps.ConcreteStructs]] -git-tree-sha1 = "804fc3ca1cbfdd5aa52ae3149c0cb0555f875eec" -uuid = "2569d6c7-a4a2-43d3-a901-331e8e4be471" -version = "0.2.7" - -[[deps.ConcurrentUtilities]] -deps = ["Serialization", "Sockets"] -git-tree-sha1 = "3c9be947934c38475bafe822c6d61aaed17f0738" -uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.6.0" - -[[deps.ConstructionBase]] -git-tree-sha1 = "b4b092499347b18a015186eae3042f72267106cb" -uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.6.0" -weakdeps = ["IntervalSets", "LinearAlgebra", "StaticArrays"] - - [deps.ConstructionBase.extensions] - ConstructionBaseIntervalSetsExt = "IntervalSets" - ConstructionBaseLinearAlgebraExt = "LinearAlgebra" - ConstructionBaseStaticArraysExt = "StaticArrays" - -[[deps.Contour]] -git-tree-sha1 = "439e35b0b36e2e5881738abc8857bd92ad6ff9a8" -uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.6.3" - -[[deps.ControlSystemsBase]] -deps = ["ForwardDiff", "Hungarian", "LinearAlgebra", "MacroTools", "MatrixEquations", "MatrixPencils", "Polynomials", "PrecompileTools", "Printf", "Random", "RecipesBase", "StaticArraysCore", "UUIDs"] -git-tree-sha1 = "bb5f5913b3a8a092ac723d4683a20709d7f36dc8" -uuid = "aaaaaaaa-a6ca-5380-bf3e-84a91bcd477e" -version = "1.21.0" - - [deps.ControlSystemsBase.extensions] - ControlSystemsBaseDSPExt = ["DSP"] - ControlSystemsBaseImplicitDifferentiationExt = ["ImplicitDifferentiation", "ComponentArrays"] - ControlSystemsBaseMakieExt = ["Makie"] - - [deps.ControlSystemsBase.weakdeps] - ComponentArrays = "b0b7db55-cfe3-40fc-9ded-d10e2dbeff66" - DSP = "717857b8-e6f2-59f4-9121-6e50c889abd2" - ImplicitDifferentiation = "57b37032-215b-411a-8a7c-41a003a55207" - Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" - -[[deps.CoreMath]] -deps = ["CoreMath_jll"] -git-tree-sha1 = "8c0480f92b1b1796239156a1b9b1bfb1b39499b4" -uuid = "b7a15901-be09-4a0e-87d2-2e66b0e09b5a" -version = "0.1.0" - -[[deps.CoreMath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "a692a4c1dc59a4b8bc0b6403876eb3250fde2bc3" -uuid = "a38c48d9-6df1-5ac9-9223-b6ada3b5572b" -version = "0.1.0+0" - -[[deps.CpuId]] -deps = ["Markdown"] -git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" -uuid = "adafc99b-e345-5852-983c-f28acb93d879" -version = "0.3.1" - -[[deps.Crayons]] -git-tree-sha1 = "54b76cbb40d9a0f5368c880725b2f141da77c94f" -uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" -version = "4.2.0" - -[[deps.DSP]] -deps = ["Compat", "FFTW", "IterTools", "LinearAlgebra", "Polynomials", "Random", "Reexport", "SpecialFunctions", "Statistics"] -git-tree-sha1 = "0df00546373af8eee1598fb4b2ba480b1ebe895c" -uuid = "717857b8-e6f2-59f4-9121-6e50c889abd2" -version = "0.7.10" - -[[deps.DataAPI]] -git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.16.0" - -[[deps.DataStructures]] -deps = ["OrderedCollections"] -git-tree-sha1 = "b0bc6d2cad1fed8b7fd59a1551a991cb3d2809e6" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.19.6" - -[[deps.DataValueInterfaces]] -git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" -uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" -version = "1.0.0" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" -version = "1.11.0" - -[[deps.Dbus_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "473e9afc9cf30814eb67ffa5f2db7df82c3ad9fd" -uuid = "ee1fde0b-3d02-5ea6-8484-8dfef6360eab" -version = "1.16.2+0" - -[[deps.DelaunayTriangulation]] -deps = ["AdaptivePredicates", "EnumX", "ExactPredicates", "Random"] -git-tree-sha1 = "c55f5a9fd67bdbc8e089b5a3111fe4292986a8e8" -uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" -version = "1.6.6" - -[[deps.Dierckx]] -deps = ["Dierckx_jll"] -git-tree-sha1 = "7da4b14cc4c3443a1afc64abee17f4fcb45ad837" -uuid = "39dd38d3-220a-591b-8e3c-4c3a8c710a94" -version = "0.5.4" - -[[deps.Dierckx_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "3251f44b3cac6fec4cec8db45d3ab0bfed51c4d8" -uuid = "cd4c43a9-7502-52ba-aa6d-59fb2a88580b" -version = "0.2.0+0" - -[[deps.DiffEqBase]] -deps = ["ArrayInterface", "BracketingNonlinearSolve", "ConcreteStructs", "DocStringExtensions", "FastBroadcast", "FastClosures", "FastPower", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Setfield", "Static", "StaticArraysCore", "SymbolicIndexingInterface", "TruncatedStacktraces"] -git-tree-sha1 = "9d333db14895e8c7d4857ed228eb1e72d3b302ec" -uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" -version = "6.218.0" - - [deps.DiffEqBase.extensions] - DiffEqBaseCUDAExt = "CUDA" - DiffEqBaseChainRulesCoreExt = "ChainRulesCore" - DiffEqBaseDynamicQuantitiesExt = "DynamicQuantities" - DiffEqBaseEnzymeExt = ["ChainRulesCore", "Enzyme"] - DiffEqBaseFlexUnitsExt = "FlexUnits" - DiffEqBaseForwardDiffExt = ["ForwardDiff"] - DiffEqBaseGTPSAExt = "GTPSA" - DiffEqBaseGeneralizedGeneratedExt = "GeneralizedGenerated" - DiffEqBaseMPIExt = "MPI" - DiffEqBaseMeasurementsExt = "Measurements" - DiffEqBaseMonteCarloMeasurementsExt = "MonteCarloMeasurements" - DiffEqBaseMooncakeExt = "Mooncake" - DiffEqBaseReverseDiffExt = "ReverseDiff" - DiffEqBaseSparseArraysExt = "SparseArrays" - DiffEqBaseTrackerExt = "Tracker" - DiffEqBaseUnitfulExt = "Unitful" - - [deps.DiffEqBase.weakdeps] - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" - DynamicQuantities = "06fc5a27-2a28-4c7c-a15d-362465fb6821" - Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" - FlexUnits = "76e01b6b-c995-4ce6-8559-91e72a3d4e95" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - GTPSA = "b27dd330-f138-47c5-815b-40db9dd9b6e8" - GeneralizedGenerated = "6b9d7cbe-bcb9-11e9-073f-15a7a543e2eb" - MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" - Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" - MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" - Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" - -[[deps.DiffResults]] -deps = ["StaticArraysCore"] -git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" -uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "1.1.0" - -[[deps.DiffRules]] -deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "79a2aca180a85c690c58a020d47b426954b590f8" -uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.16.0" - -[[deps.DifferentiationInterface]] -deps = ["ADTypes", "LinearAlgebra"] -git-tree-sha1 = "dbd46a5cd0e79a97438b0ebbec42e744e8f436fe" -uuid = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63" -version = "0.7.20" - - [deps.DifferentiationInterface.extensions] - DifferentiationInterfaceChainRulesCoreExt = "ChainRulesCore" - DifferentiationInterfaceDiffractorExt = "Diffractor" - DifferentiationInterfaceEnzymeExt = ["EnzymeCore", "Enzyme"] - DifferentiationInterfaceFastDifferentiationExt = "FastDifferentiation" - DifferentiationInterfaceFiniteDiffExt = "FiniteDiff" - DifferentiationInterfaceFiniteDifferencesExt = "FiniteDifferences" - DifferentiationInterfaceForwardDiffExt = ["ForwardDiff", "DiffResults"] - DifferentiationInterfaceGPUArraysCoreExt = ["GPUArraysCore", "Adapt"] - DifferentiationInterfaceGTPSAExt = "GTPSA" - DifferentiationInterfaceHyperHessiansExt = "HyperHessians" - DifferentiationInterfaceMooncakeExt = "Mooncake" - DifferentiationInterfacePolyesterForwardDiffExt = ["PolyesterForwardDiff", "ForwardDiff", "DiffResults"] - DifferentiationInterfaceReverseDiffExt = ["ReverseDiff", "DiffResults"] - DifferentiationInterfaceSparseArraysExt = "SparseArrays" - DifferentiationInterfaceSparseConnectivityTracerExt = "SparseConnectivityTracer" - DifferentiationInterfaceSparseMatrixColoringsExt = "SparseMatrixColorings" - DifferentiationInterfaceStaticArraysExt = "StaticArrays" - DifferentiationInterfaceSymbolicsExt = "Symbolics" - DifferentiationInterfaceTrackerExt = "Tracker" - DifferentiationInterfaceZygoteExt = ["Zygote", "ForwardDiff"] - - [deps.DifferentiationInterface.weakdeps] - Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - DiffResults = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" - Diffractor = "9f5e2b26-1114-432f-b630-d3fe2085c51c" - Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" - EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" - FastDifferentiation = "eb9bf01b-bf85-4b60-bf87-ee5de06c00be" - FiniteDiff = "6a86dc24-6348-571c-b903-95158fe2bd41" - FiniteDifferences = "26cc04aa-876d-5657-8c51-4c34ba976000" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" - GTPSA = "b27dd330-f138-47c5-815b-40db9dd9b6e8" - HyperHessians = "06b494a0-c8e0-40cc-ad32-d99506a00a6c" - Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" - PolyesterForwardDiff = "98d1487c-24ca-40b6-b7ab-df2af84e126b" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5" - SparseMatrixColorings = "0a514795-09f3-496d-8182-132a7b665d35" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.DiscretePIDs]] -deps = ["Printf"] -git-tree-sha1 = "48220aac3474ee9371c731644bfddc46cb841d4b" -uuid = "c1363496-6848-4723-8758-079b737f6baf" -version = "1.0.0" - -[[deps.Distances]] -deps = ["LinearAlgebra", "Statistics", "StatsAPI"] -git-tree-sha1 = "c7e3a542b999843086e2f29dac96a618c105be1d" -uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.12" -weakdeps = ["ChainRulesCore", "SparseArrays"] - - [deps.Distances.extensions] - DistancesChainRulesCoreExt = "ChainRulesCore" - DistancesSparseArraysExt = "SparseArrays" - -[[deps.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" -version = "1.11.0" - -[[deps.Distributions]] -deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "Roots", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] -git-tree-sha1 = "d2facc77c08c1c2bfb1a77c148edd05b3db5410b" -uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.130" - - [deps.Distributions.extensions] - DistributionsChainRulesCoreExt = "ChainRulesCore" - DistributionsDensityInterfaceExt = "DensityInterface" - DistributionsSparseConnectivityTracerExt = "SparseConnectivityTracer" - DistributionsTestExt = "Test" - - [deps.Distributions.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" - SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5" - Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.DocStringExtensions]] -git-tree-sha1 = "7442a5dfe1ebb773c29cc2962a8980f47221d76c" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.9.5" - -[[deps.Documenter]] -deps = ["ANSIColoredPrinters", "AbstractTrees", "Base64", "CodecZlib", "Dates", "DocStringExtensions", "Downloads", "Git", "IOCapture", "InteractiveUtils", "JSON", "Logging", "Markdown", "MarkdownAST", "Pkg", "PrecompileTools", "REPL", "RegistryInstances", "SHA", "TOML", "Test", "Unicode"] -git-tree-sha1 = "56e9c37b5e7c3b4f080ab1da18d72d5c290e184a" -uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -version = "1.17.0" - -[[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.6.0" - -[[deps.EarCut_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053" -uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" -version = "2.2.4+0" - -[[deps.EnumX]] -git-tree-sha1 = "c49898e8438c828577f04b92fc9368c388ac783c" -uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" -version = "1.0.7" - -[[deps.EnzymeCore]] -git-tree-sha1 = "971d7831cc85f43bc9f51d615a3f7f21270c2f1d" -uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" -version = "0.8.21" -weakdeps = ["Adapt", "ChainRulesCore"] - - [deps.EnzymeCore.extensions] - AdaptExt = "Adapt" - EnzymeCoreChainRulesCoreExt = "ChainRulesCore" - -[[deps.EpollShim_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8a4be429317c42cfae6a7fc03c31bad1970c310d" -uuid = "2702e6a9-849d-5ed8-8c21-79e8b8f9ee43" -version = "0.0.20230411+1" - -[[deps.ExactPredicates]] -deps = ["IntervalArithmetic", "Random", "StaticArrays"] -git-tree-sha1 = "83231673ea4d3d6008ac74dc5079e77ab2209d8f" -uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" -version = "2.2.9" - -[[deps.Expat_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e6c4a6407a949e79a9d3f249bf49e6987c80e01f" -uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.8.2+0" - -[[deps.ExprTools]] -git-tree-sha1 = "d2e49e7efd29719d6f28b891b0e0e159daa9d2b4" -uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.11" - -[[deps.ExproniconLite]] -git-tree-sha1 = "c13f0b150373771b0fdc1713c97860f8df12e6c2" -uuid = "55351af7-c7e9-48d6-89ff-24e801d99491" -version = "0.10.14" - -[[deps.FFMPEG_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libva_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "7a58e45171b63ed4782f2d36fdee8713a469e6e0" -uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "8.1.2+0" - -[[deps.FFTA]] -deps = ["AbstractFFTs", "DocStringExtensions", "LinearAlgebra", "MuladdMacro", "Primes", "Random", "Reexport"] -git-tree-sha1 = "65e55303b72f4a567a51b174dd2c47496efeb95a" -uuid = "b86e33f2-c0db-4aa1-a6e0-ab43e668529e" -version = "0.3.1" - -[[deps.FFTW]] -deps = ["AbstractFFTs", "FFTW_jll", "Libdl", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] -git-tree-sha1 = "97f08406df914023af55ade2f843c39e99c5d969" -uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.10.0" - -[[deps.FFTW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6866aec60ef98e3164cd8d6855225684207e9dff" -uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" -version = "3.3.12+0" - -[[deps.FastBroadcast]] -deps = ["ArrayInterface", "LinearAlgebra"] -git-tree-sha1 = "6a97f3e08655ea9df1a946e378770c4d3fb3c4e9" -uuid = "7034ab61-46d4-4ed7-9d0f-46aef9175898" -version = "1.3.6" -weakdeps = ["Polyester", "Static"] - - [deps.FastBroadcast.extensions] - FastBroadcastPolyesterExt = "Polyester" - FastBroadcastStaticExt = "Static" - -[[deps.FastClosures]] -git-tree-sha1 = "acebe244d53ee1b461970f8910c235b259e772ef" -uuid = "9aa1b823-49e4-5ca5-8b0f-3971ec8bab6a" -version = "0.3.2" - -[[deps.FastPower]] -git-tree-sha1 = "eb92a563909f2d4cb2911e0e2cb247ad17c6e9ae" -uuid = "a4df4552-cc26-4903-aec0-212e50a0e84b" -version = "1.4.1" - - [deps.FastPower.extensions] - FastPowerEnzymeExt = "Enzyme" - FastPowerForwardDiffExt = "ForwardDiff" - FastPowerMeasurementsExt = "Measurements" - FastPowerMonteCarloMeasurementsExt = "MonteCarloMeasurements" - FastPowerMooncakeExt = "Mooncake" - FastPowerReverseDiffExt = "ReverseDiff" - FastPowerTrackerExt = "Tracker" - - [deps.FastPower.weakdeps] - Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" - MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" - Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - -[[deps.FileIO]] -deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "6621fef488e496356c9c9625d0562c12a6070819" -uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.20.0" - - [deps.FileIO.extensions] - HTTPExt = "HTTP" - - [deps.FileIO.weakdeps] - HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" - -[[deps.FilePaths]] -deps = ["FilePathsBase", "MacroTools", "Reexport"] -git-tree-sha1 = "a1b2fbfe98503f15b665ed45b3d149e5d8895e4c" -uuid = "8fc22ac5-c921-52a6-82fd-178b2807b824" -version = "0.9.0" - - [deps.FilePaths.extensions] - FilePathsGlobExt = "Glob" - FilePathsURIParserExt = "URIParser" - FilePathsURIsExt = "URIs" - - [deps.FilePaths.weakdeps] - Glob = "c27321d9-0574-5035-807b-f59d2c89b15c" - URIParser = "30578b45-9adc-5946-b283-645ec420af67" - URIs = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" - -[[deps.FilePathsBase]] -deps = ["Compat", "Dates"] -git-tree-sha1 = "3bab2c5aa25e7840a4b065805c0cdfc01f3068d2" -uuid = "48062228-2e41-5def-b9a4-89aafe57970f" -version = "0.9.24" -weakdeps = ["Mmap", "Test"] - - [deps.FilePathsBase.extensions] - FilePathsBaseMmapExt = "Mmap" - FilePathsBaseTestExt = "Test" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" -version = "1.11.0" - -[[deps.FillArrays]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "5bad39456d9f0166184fce2248783dd9862645c1" -uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "1.17.0" -weakdeps = ["PDMats", "SparseArrays", "StaticArrays", "Statistics"] - - [deps.FillArrays.extensions] - FillArraysPDMatsExt = "PDMats" - FillArraysSparseArraysExt = "SparseArrays" - FillArraysStaticArraysExt = "StaticArrays" - FillArraysStatisticsExt = "Statistics" - -[[deps.FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Setfield"] -git-tree-sha1 = "5031f23e040bf17082e5b52422d77b5e844eefb1" -uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.33.0" - - [deps.FiniteDiff.extensions] - FiniteDiffBandedMatricesExt = "BandedMatrices" - FiniteDiffBlockBandedMatricesExt = "BlockBandedMatrices" - FiniteDiffSparseArraysExt = "SparseArrays" - FiniteDiffStaticArraysExt = "StaticArrays" - - [deps.FiniteDiff.weakdeps] - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.FixedPointNumbers]] -deps = ["Random", "Statistics"] -git-tree-sha1 = "59af96b98217c6ef4ae0dfe065ac7c20831d1a84" -uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.6" - -[[deps.Fontconfig_jll]] -deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Zlib_jll"] -git-tree-sha1 = "f85dac9a96a01087df6e3a749840015a0ca3817d" -uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.17.1+0" - -[[deps.Format]] -git-tree-sha1 = "9c68794ef81b08086aeb32eeaf33531668d5f5fc" -uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8" -version = "1.3.7" - -[[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] -git-tree-sha1 = "1b86cca764a61dcac4fef4c5e16e378e5ed6953c" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "1.4.5" -weakdeps = ["StaticArrays"] - - [deps.ForwardDiff.extensions] - ForwardDiffStaticArraysExt = "StaticArrays" - -[[deps.FreeType]] -deps = ["CEnum", "FreeType2_jll"] -git-tree-sha1 = "907369da0f8e80728ab49c1c7e09327bf0d6d999" -uuid = "b38be410-82b0-50bf-ab77-7b57e271db43" -version = "4.1.1" - -[[deps.FreeType2_jll]] -deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "70329abc09b886fd2c5d94ad2d9527639c421e3e" -uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.14.3+1" - -[[deps.FreeTypeAbstraction]] -deps = ["BaseDirs", "ColorVectorSpace", "Colors", "FreeType", "GeometryBasics", "Mmap"] -git-tree-sha1 = "4ebb930ef4a43817991ba35db6317a05e59abd11" -uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" -version = "0.10.8" - -[[deps.FriBidi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "7a214fdac5ed5f59a22c2d9a885a16da1c74bbc7" -uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.17+0" - -[[deps.FunctionWrappers]] -git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" -uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" -version = "1.1.3" - -[[deps.FunctionWrappersWrappers]] -deps = ["FunctionWrappers", "PrecompileTools", "SciMLPublic"] -git-tree-sha1 = "daced009d54a7cf502a9b5ed2f615c341f78af6f" -uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf" -version = "1.12.1" - - [deps.FunctionWrappersWrappers.extensions] - FunctionWrappersWrappersEnzymeExt = ["Enzyme", "EnzymeCore"] - FunctionWrappersWrappersMooncakeExt = "Mooncake" - - [deps.FunctionWrappersWrappers.weakdeps] - Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" - EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" - Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" - -[[deps.Future]] -deps = ["Random"] -uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" -version = "1.11.0" - -[[deps.GLFW]] -deps = ["GLFW_jll"] -git-tree-sha1 = "af06f66cca2b698ab9c482de55977ff8178d025e" -uuid = "f7f18e0c-5ee9-5ccd-a5bf-e8befd85ed98" -version = "3.4.6" - -[[deps.GLFW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll", "libdecor_jll", "xkbcommon_jll"] -git-tree-sha1 = "9e0fb9e54594c47f278d75063980e43066e26e20" -uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.4.1+1" - -[[deps.GLMakie]] -deps = ["ColorTypes", "Colors", "FileIO", "FixedPointNumbers", "FreeTypeAbstraction", "GLFW", "GeometryBasics", "LinearAlgebra", "Makie", "Markdown", "MeshIO", "ModernGL", "Observables", "PrecompileTools", "Printf", "ShaderAbstractions", "StaticArrays"] -git-tree-sha1 = "3e1770a9d85b8bd1767431b959d657dc8825d78d" -uuid = "e9467ef8-e4e7-5192-8a1a-b1aee30e663a" -version = "0.13.13" - -[[deps.GPUArraysCore]] -deps = ["Adapt"] -git-tree-sha1 = "83cf05ab16a73219e5f6bd1bdfa9848fa24ac627" -uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.2.0" - -[[deps.Gamma]] -deps = ["LogExpFunctions"] -git-tree-sha1 = "becc397f7cfb06e343496ae6ffb04818a851da51" -uuid = "a0844989-3bd2-4988-8bea-c9407ab0941b" -version = "1.2.0" - -[[deps.GeometryBasics]] -deps = ["EarCut_jll", "LinearAlgebra", "PrecompileTools", "Random", "StaticArrays"] -git-tree-sha1 = "364685f5ffde25deb1bbcfd5bb278a5c6b7a9b37" -uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" -version = "0.5.11" - - [deps.GeometryBasics.extensions] - ExtentsExt = "Extents" - GeometryBasicsGeoInterfaceExt = "GeoInterface" - IntervalSetsExt = "IntervalSets" - - [deps.GeometryBasics.weakdeps] - Extents = "411431e0-e8b7-467b-b5e0-f676ba4f2910" - GeoInterface = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" - IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" - -[[deps.GettextRuntime_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll"] -git-tree-sha1 = "45288942190db7c5f760f59c04495064eedf9340" -uuid = "b0724c58-0f36-5564-988d-3bb0596ebc4a" -version = "0.22.4+0" - -[[deps.Giflib_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6570366d757b50fabae9f4315ad74d2e40c0560a" -uuid = "59f7168a-df46-5410-90c8-f2779963d0ec" -version = "5.2.3+0" - -[[deps.Git]] -deps = ["Git_LFS_jll", "Git_jll", "JLLWrappers", "OpenSSH_jll"] -git-tree-sha1 = "824a1890086880696fc908fe12a17bcf61738bd8" -uuid = "d7ba0133-e1db-5d97-8f8c-041e4b3a1eb2" -version = "1.5.0" - -[[deps.Git_LFS_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8c66e385d631bb934ff05e76d4a566c640c8df69" -uuid = "020c3dae-16b3-5ae5-87b3-4cb189e250b2" -version = "3.7.1+0" - -[[deps.Git_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Libiconv_jll", "OpenSSL_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "7b16700f9e313c0d972d1222ede50a2076aa0770" -uuid = "f8c6e375-362e-5223-8a59-34ff63f689eb" -version = "2.55.0+0" - -[[deps.Glib_jll]] -deps = ["Artifacts", "GettextRuntime_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "090526e65de8f69648ac156daae153de8b56df62" -uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.88.3+0" - -[[deps.Graphics]] -deps = ["Colors", "LinearAlgebra", "NaNMath"] -git-tree-sha1 = "a641238db938fff9b2f60d08ed9030387daf428c" -uuid = "a2bd30eb-e257-5431-a919-1863eab51364" -version = "1.1.3" - -[[deps.Graphite2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "69ffb934a5c5b7e086a0b4fee3427db2556fba6e" -uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.16+0" - -[[deps.GridLayoutBase]] -deps = ["GeometryBasics", "InteractiveUtils", "Observables"] -git-tree-sha1 = "93d5c27c8de51687a2c70ec0716e6e76f298416f" -uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" -version = "0.11.2" - -[[deps.HarfBuzz_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll"] -git-tree-sha1 = "f923f9a774fcf3f5cb761bfa43aeadd689714813" -uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "8.5.1+0" - -[[deps.HashArrayMappedTries]] -git-tree-sha1 = "2eaa69a7cab70a52b9687c8bf950a5a93ec895ae" -uuid = "076d061b-32b6-4027-95e0-9a2c6f6d7e74" -version = "0.2.0" - -[[deps.Hungarian]] -deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "4f84db415ccb0ea750b10738bfecdd55388fd1b6" -uuid = "e91730f6-4275-51fb-a7a0-7064cfbd3b39" -version = "0.7.0" - -[[deps.HypergeometricFunctions]] -deps = ["Gamma", "LinearAlgebra"] -git-tree-sha1 = "31bb6c92405c084617facc1d7ed9eb6c402d061e" -uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.30" - -[[deps.IOCapture]] -deps = ["Logging", "Random"] -git-tree-sha1 = "0ee181ec08df7d7c911901ea38baf16f755114dc" -uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" -version = "1.0.0" - -[[deps.IfElse]] -git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.1" - -[[deps.ImageAxes]] -deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] -git-tree-sha1 = "e12629406c6c4442539436581041d372d69c55ba" -uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" -version = "0.6.12" - -[[deps.ImageBase]] -deps = ["ImageCore", "Reexport"] -git-tree-sha1 = "eb49b82c172811fd2c86759fa0553a2221feb909" -uuid = "c817782e-172a-44cc-b673-b171935fbb9e" -version = "0.1.7" - -[[deps.ImageCore]] -deps = ["ColorVectorSpace", "Colors", "FixedPointNumbers", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "PrecompileTools", "Reexport"] -git-tree-sha1 = "8c193230235bbcee22c8066b0374f63b5683c2d3" -uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" -version = "0.10.5" - -[[deps.ImageIO]] -deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs", "WebP"] -git-tree-sha1 = "696144904b76e1ca433b886b4e7edd067d76cbf7" -uuid = "82e4d734-157c-48bb-816b-45c225c6df19" -version = "0.6.9" - -[[deps.ImageMetadata]] -deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] -git-tree-sha1 = "2a81c3897be6fbcde0802a0ebe6796d0562f63ec" -uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" -version = "0.9.10" - -[[deps.Imath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "dcc8d0cd653e55213df9b75ebc6fe4a8d3254c65" -uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" -version = "3.2.2+0" - -[[deps.IndirectArrays]] -git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" -uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" -version = "1.0.0" - -[[deps.Inflate]] -git-tree-sha1 = "d1b1b796e47d94588b3757fe84fbf65a5ec4a80d" -uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" -version = "0.1.5" - -[[deps.InlineStrings]] -git-tree-sha1 = "8f3d257792a522b4601c24a577954b0a8cd7334d" -uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" -version = "1.4.5" -weakdeps = ["ArrowTypes", "Parsers"] - - [deps.InlineStrings.extensions] - ArrowTypesExt = "ArrowTypes" - ParsersExt = "Parsers" - -[[deps.IntegerMathUtils]] -git-tree-sha1 = "c72458f1962faeb003bf23cbdb75164fe6280906" -uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" -version = "0.1.4" - -[[deps.IntelOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] -git-tree-sha1 = "ec1debd61c300961f98064cfb21287613ad7f303" -uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" -version = "2025.2.0+0" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" -version = "1.11.0" - -[[deps.Interpolations]] -deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] -git-tree-sha1 = "48922d06068130f87e43edef52382e6a94305ae6" -uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" -version = "0.16.3" -weakdeps = ["ForwardDiff", "Unitful"] - - [deps.Interpolations.extensions] - InterpolationsForwardDiffExt = "ForwardDiff" - InterpolationsUnitfulExt = "Unitful" - -[[deps.IntervalArithmetic]] -deps = ["CRlibm", "CoreMath", "MacroTools", "OpenBLASConsistentFPCSR_jll", "Printf", "Random", "RoundingEmulator"] -git-tree-sha1 = "c3ee408ae340565f41699e3a3fa1053698c7626e" -uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" -version = "1.0.10" - - [deps.IntervalArithmetic.extensions] - IntervalArithmeticArblibExt = "Arblib" - IntervalArithmeticDiffRulesExt = "DiffRules" - IntervalArithmeticForwardDiffExt = "ForwardDiff" - IntervalArithmeticIntervalSetsExt = "IntervalSets" - IntervalArithmeticIrrationalConstantsExt = "IrrationalConstants" - IntervalArithmeticLinearAlgebraExt = "LinearAlgebra" - IntervalArithmeticRecipesBaseExt = "RecipesBase" - IntervalArithmeticSparseArraysExt = "SparseArrays" - - [deps.IntervalArithmetic.weakdeps] - Arblib = "fb37089c-8514-4489-9461-98f9c8763369" - DiffRules = "b552c78f-8df3-52c6-915a-8e097449b14b" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" - IrrationalConstants = "92d709cd-6900-40b7-9082-c6be49f344b6" - LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[deps.IntervalSets]] -git-tree-sha1 = "79d6bd28c8d9bccc2229784f1bd637689b256377" -uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.7.14" -weakdeps = ["Random", "RecipesBase", "Statistics"] - - [deps.IntervalSets.extensions] - IntervalSetsRandomExt = "Random" - IntervalSetsRecipesBaseExt = "RecipesBase" - IntervalSetsStatisticsExt = "Statistics" - -[[deps.InverseFunctions]] -git-tree-sha1 = "a779299d77cd080bf77b97535acecd73e1c5e5cb" -uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.17" -weakdeps = ["Dates", "Test"] - - [deps.InverseFunctions.extensions] - InverseFunctionsDatesExt = "Dates" - InverseFunctionsTestExt = "Test" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "b2d91fe939cae05960e760110b328288867b5758" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.2.6" - -[[deps.Isoband]] -deps = ["isoband_jll"] -git-tree-sha1 = "f9b6d97355599074dc867318950adaa6f9946137" -uuid = "f1662d9f-8043-43de-a69a-05efc1cc6ff4" -version = "0.1.1" - -[[deps.IterTools]] -git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" -uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" -version = "1.10.0" - -[[deps.IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "ScopedValues", "TranscodingStreams"] -git-tree-sha1 = "d97791feefda45729613fafeccc4fbef3f539151" -uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.5.15" -weakdeps = ["UnPack"] - - [deps.JLD2.extensions] - UnPackExt = "UnPack" - -[[deps.JLLWrappers]] -deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "7204148362dafe5fe6a273f855b8ccbe4df8173e" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.8.0" - -[[deps.JSON]] -deps = ["Dates", "Logging", "Parsers", "PrecompileTools", "StructUtils", "UUIDs", "Unicode"] -git-tree-sha1 = "c7345ab1a7ca4dc8a02c9f6510da0d9857bbe513" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "1.7.1" -weakdeps = ["ArrowTypes"] - - [deps.JSON.extensions] - JSONArrowExt = ["ArrowTypes"] - -[[deps.Jieko]] -deps = ["ExproniconLite"] -git-tree-sha1 = "2f05ed29618da60c06a87e9c033982d4f71d0b6c" -uuid = "ae98c720-c025-4a4a-838c-29b094483192" -version = "0.2.1" - -[[deps.JpegTurbo]] -deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] -git-tree-sha1 = "9496de8fb52c224a2e3f9ff403947674517317d9" -uuid = "b835a17e-a41a-41e7-81f0-2f016b05efe0" -version = "0.1.6" - -[[deps.JpegTurbo_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "037babc10853eeb8e585418922246cb97b8e5b74" -uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "3.2.0+1" - -[[deps.KernelDensity]] -deps = ["Distributions", "DocStringExtensions", "FFTA", "Interpolations", "StatsBase"] -git-tree-sha1 = "9eda8292dd3268b3b7ec9df21bbfac24e177ec52" -uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" -version = "0.6.12" - -[[deps.KiteModels]] -deps = ["AtmosphericModels", "Dierckx", "DiffEqBase", "DiscretePIDs", "DocStringExtensions", "Interpolations", "KitePodModels", "KiteUtils", "LinearAlgebra", "LinearSolve", "Logging", "NLSolversBase", "NLsolve", "NonlinearSolve", "OrdinaryDiffEqBDF", "OrdinaryDiffEqCore", "OrdinaryDiffEqNonlinearSolve", "Parameters", "Pkg", "PrecompileTools", "REPL", "Reexport", "Rotations", "StaticArrays", "Statistics", "Sundials", "Suppressor", "WinchModels"] -path = ".." -uuid = "b94af626-7959-4878-9336-2adc27959007" -version = "0.11.17" - -[[deps.KitePodModels]] -deps = ["DocStringExtensions", "KiteUtils", "Reexport"] -git-tree-sha1 = "a54b0d8d4e011b2c8e6135322b1e57d2f2d250be" -uuid = "9de5dc81-f971-414a-927b-652b2f41c539" -version = "0.4.2" - -[[deps.KiteUtils]] -deps = ["Arrow", "CSV", "DocStringExtensions", "LinearAlgebra", "OrderedCollections", "Parameters", "Parsers", "Pkg", "PrecompileTools", "RecursiveArrayTools", "ReferenceFrameRotations", "Rotations", "StaticArrays", "StructArrays", "StructTypes", "YAML"] -git-tree-sha1 = "fbeb8355b4797ffc263320be2dc74dcdbe9310fc" -uuid = "90980105-b163-44e5-ba9f-8b1c83bb0533" -version = "0.12.2" - -[[deps.Krylov]] -deps = ["LinearAlgebra", "Printf", "SparseArrays"] -git-tree-sha1 = "71e740d00d71cdb15145d7fe0d6000ec70534598" -uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" -version = "0.10.9" - -[[deps.LAME_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "059aabebaa7c82ccb853dd4a0ee9d17796f7e1bc" -uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.3+0" - -[[deps.LERC_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "17b94ecafcfa45e8360a4fc9ca6b583b049e4e37" -uuid = "88015f11-f218-50d7-93a8-a6af411a945d" -version = "4.1.0+0" - -[[deps.LLVMOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "b7970cef8ae1c990ba0c09cd8bdc1145e006632f" -uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" -version = "22.1.7+0" - -[[deps.LaTeXStrings]] -git-tree-sha1 = "dda21b8cbd6a6c40d9d02a73230f9d70fed6918c" -uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.4.0" - -[[deps.LayoutPointers]] -deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "a9eaadb366f5493a5654e843864c13d8b107548c" -uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.17" - -[[deps.LazilyInitializedFields]] -git-tree-sha1 = "0f2da712350b020bc3957f269c9caad516383ee0" -uuid = "0e77f7df-68c5-4e49-93ce-4cd80f5598bf" -version = "1.3.0" - -[[deps.LazyArtifacts]] -deps = ["Artifacts", "Pkg"] -uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" -version = "1.11.0" - -[[deps.LazyModules]] -git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e" -uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e" -version = "0.3.1" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.4" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "8.6.0+0" - -[[deps.LibGit2]] -deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" -version = "1.11.0" - -[[deps.LibGit2_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] -uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" -version = "1.7.2+0" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.11.0+1" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" -version = "1.11.0" - -[[deps.Libffi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "c8da7e6a91781c41a863611c7e966098d783c57a" -uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.4.7+0" - -[[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "d36c21b9e7c172a44a10484125024495e2625ac0" -uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.7.1+1" - -[[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "be484f5c92fad0bd8acfef35fe017900b0b73809" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.18.0+0" - -[[deps.Libmount_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cc3ad4faf30015a3e8094c9b5b7f19e85bdf2386" -uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.42.0+0" - -[[deps.Libtiff_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "aebd334d06cee9f24cea70bd19a39749daf73881" -uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.7.3+0" - -[[deps.Libuuid_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "d620582b1f0cbe2c72dd1d5bd195a9ce73370ab1" -uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.42.0+0" - -[[deps.LineSearch]] -deps = ["ADTypes", "CommonSolve", "ConcreteStructs", "FastClosures", "LinearAlgebra", "MaybeInplace", "PrecompileTools", "SciMLBase", "SciMLJacobianOperators", "StaticArraysCore"] -git-tree-sha1 = "36d9ea45f400b185d291528dd2e7659ace2da2c7" -uuid = "87fe0de2-c867-4266-b59a-2f0a94fc965b" -version = "0.1.13" -weakdeps = ["LineSearches"] - - [deps.LineSearch.extensions] - LineSearchLineSearchesExt = "LineSearches" - -[[deps.LineSearches]] -deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Printf"] -git-tree-sha1 = "9ea3422d03222c6de679934d1c08f0a99405aa03" -uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -version = "7.5.1" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -version = "1.11.0" - -[[deps.LinearMaps]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "7f6be2e4cdaaf558623d93113d6ddade7b916209" -uuid = "7a12625a-238d-50fd-b39a-03d52299707e" -version = "3.11.4" -weakdeps = ["ChainRulesCore", "SparseArrays", "Statistics"] - - [deps.LinearMaps.extensions] - LinearMapsChainRulesCoreExt = "ChainRulesCore" - LinearMapsSparseArraysExt = "SparseArrays" - LinearMapsStatisticsExt = "Statistics" - -[[deps.LinearSolve]] -deps = ["AMD", "ArrayInterface", "ConcreteStructs", "DocStringExtensions", "EnumX", "GPUArraysCore", "InteractiveUtils", "Krylov", "Libdl", "LinearAlgebra", "MKL_jll", "Markdown", "OpenBLAS_jll", "PrecompileTools", "Preferences", "PureKLU", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "Setfield", "SparseArrays", "SparseColumnPivotedQR", "StaticArraysCore"] -git-tree-sha1 = "ec49ed72f6024be2f9833fe630fbd72f6048f8ad" -uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" -version = "3.87.0" - - [deps.LinearSolve.extensions] - LinearSolveAMDGPUExt = "AMDGPU" - LinearSolveAlgebraicMultigridExt = "AlgebraicMultigrid" - LinearSolveBLISExt = ["blis_jll", "LAPACK_jll"] - LinearSolveBandedMatricesExt = "BandedMatrices" - LinearSolveBlockDiagonalsExt = "BlockDiagonals" - LinearSolveCUDAExt = ["cuSOLVER"] - LinearSolveCUDSSExt = "CUDSS" - LinearSolveCUSOLVERRFExt = ["CUSOLVERRF", "SparseArrays"] - LinearSolveChainRulesCoreExt = "ChainRulesCore" - LinearSolveCliqueTreesExt = ["CliqueTrees", "SparseArrays"] - LinearSolveElementalExt = "Elemental" - LinearSolveEnzymeExt = ["EnzymeCore", "SparseArrays"] - LinearSolveFastAlmostBandedMatricesExt = "FastAlmostBandedMatrices" - LinearSolveFastLapackInterfaceExt = "FastLapackInterface" - LinearSolveForwardDiffExt = "ForwardDiff" - LinearSolveGinkgoExt = ["Ginkgo", "SparseArrays"] - LinearSolveHSLExt = ["HSL", "SparseArrays"] - LinearSolveHYPREExt = "HYPRE" - LinearSolveIterativeSolversExt = "IterativeSolvers" - LinearSolveKernelAbstractionsExt = "KernelAbstractions" - LinearSolveKrylovKitExt = "KrylovKit" - LinearSolveMUMPSExt = ["MUMPS", "SparseArrays"] - LinearSolveMetalExt = "Metal" - LinearSolveMooncakeExt = "Mooncake" - LinearSolvePETScExt = ["PETSc", "SparseArrays", "SparseMatricesCSR"] - LinearSolvePETScMPIExt = ["PETSc", "PartitionedArrays", "SparseArrays", "SparseMatricesCSR"] - LinearSolveParUExt = ["ParU_jll", "SparseArrays"] - LinearSolvePardisoExt = ["Pardiso", "SparseArrays"] - LinearSolvePartitionedSolversExt = ["PartitionedArrays", "PartitionedSolvers"] - LinearSolvePureUMFPACKExt = ["PureUMFPACK", "SparseArrays"] - LinearSolveRecursiveFactorizationExt = "RecursiveFactorization" - LinearSolveSTRUMPACKExt = ["SparseArrays", "STRUMPACK_jll"] - LinearSolveSparseArraysExt = "SparseArrays" - LinearSolveSparspakExt = ["SparseArrays", "Sparspak"] - LinearSolveSpecializingFactorizationsExt = "SpecializingFactorizations" - LinearSolveSuperLUDISTExt = ["SparseArrays", "SuperLUDIST"] - - [deps.LinearSolve.weakdeps] - AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" - AlgebraicMultigrid = "2169fc97-5a83-5252-b627-83903c6c433c" - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - BlockDiagonals = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0" - CUDSS = "45b445bb-4962-46a0-9369-b4df9d0f772e" - CUSOLVERRF = "a8cc9031-bad2-4722-94f5-40deabb4245c" - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - CliqueTrees = "60701a23-6482-424a-84db-faee86b9b1f8" - Elemental = "902c3f28-d1ec-5e7e-8399-a24c3845ee38" - EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" - FastAlmostBandedMatrices = "9d29842c-ecb8-4973-b1e9-a27b1157504e" - FastLapackInterface = "29a986be-02c6-4525-aec4-84b980013641" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - Ginkgo = "4c8bd3c9-ead9-4b5e-a625-08f1338ba0ec" - HSL = "34c5aeac-e683-54a6-a0e9-6e0fdc586c50" - HYPRE = "b5ffcf37-a2bd-41ab-a3da-4bd9bc8ad771" - IterativeSolvers = "42fd0dbc-a981-5370-80f2-aaf504508153" - KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" - KrylovKit = "0b1a1467-8014-51b9-945f-bf0ae24f4b77" - LAPACK_jll = "51474c39-65e3-53ba-86ba-03b1b862ec14" - MUMPS = "55d2b088-9f4e-11e9-26c0-150b02ea6a46" - Metal = "dde4c033-4e86-420c-a63e-0dd931031962" - Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" - PETSc = "ace2c81b-2b5f-4b1e-a30d-d662738edfe0" - ParU_jll = "9e0b026c-e8ce-559c-a2c4-6a3d5c955bc9" - Pardiso = "46dd5b70-b6fb-5a00-ae2d-e8fea33afaf2" - PartitionedArrays = "5a9dfac6-5c52-46f7-8278-5e2210713be9" - PartitionedSolvers = "11b65f7f-80ac-401b-9ef2-3db765482d62" - PureUMFPACK = "b7e1f0a2-3c4d-4e5f-9a0b-1c2d3e4f5a6b" - RecursiveFactorization = "f2c3362d-daeb-58d1-803e-2bc74f2840b4" - STRUMPACK_jll = "86fbd0b9-476f-557c-b766-62c724b42d8c" - SparseMatricesCSR = "a0a7dd2c-ebf4-11e9-1f05-cf50bc540ca1" - Sparspak = "e56a9233-b9d6-4f03-8d0f-1825330902ac" - SpecializingFactorizations = "fa08b7a1-13d3-4faf-875d-5cbc1520e3f3" - SuperLUDIST = "4cd002a6-0da4-410d-a012-232df062f478" - blis_jll = "6136c539-28a5-5bf0-87cc-b183200dce32" - cuSOLVER = "887afef0-6a32-4de5-add4-7827692ba8fc" - -[[deps.LogExpFunctions]] -deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "bba2d9aa057d8f126415de240573e86a8f39d2a1" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "1.0.1" - - [deps.LogExpFunctions.extensions] - LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" - LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" - LogExpFunctionsInverseFunctionsExt = "InverseFunctions" - - [deps.LogExpFunctions.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" - InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" -version = "1.11.0" - -[[deps.LoggingExtras]] -deps = ["Dates", "Logging"] -git-tree-sha1 = "f00544d95982ea270145636c181ceda21c4e2575" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.2.0" - -[[deps.Lz4_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "191686b1ac1ea9c89fc52e996ad15d1d241d1e33" -uuid = "5ced341a-0733-55b8-9ab6-a4889d929147" -version = "1.10.1+0" - -[[deps.MKL_jll]] -deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"] -git-tree-sha1 = "282cadc186e7b2ae0eeadbd7a4dffed4196ae2aa" -uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" -version = "2025.2.0+0" - -[[deps.MacroTools]] -git-tree-sha1 = "1e0228a030642014fe5cfe68c2c0a818f9e3f522" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.16" - -[[deps.Makie]] -deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "ComputePipeline", "Contour", "Dates", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Format", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageBase", "ImageIO", "InteractiveUtils", "Interpolations", "IntervalSets", "InverseFunctions", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "PNGFiles", "Packing", "Pkg", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "SignedDistanceFields", "SparseArrays", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun", "Unitful"] -git-tree-sha1 = "f2c8715d05bf10f9d4dc354e69dee30b6be53239" -uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" -version = "0.24.13" - - [deps.Makie.extensions] - MakieDynamicQuantitiesExt = "DynamicQuantities" - - [deps.Makie.weakdeps] - DynamicQuantities = "06fc5a27-2a28-4c7c-a15d-362465fb6821" - -[[deps.MakieControlPlots]] -deps = ["CairoMakie", "GLMakie", "GridLayoutBase", "JLD2", "LaTeXStrings", "Makie", "Pkg", "PrecompileTools", "Printf", "StaticArraysCore"] -git-tree-sha1 = "cadab346083c6c924cc896f3d631719feb37f853" -uuid = "6d616b69-6563-4f6e-8472-6f6c706c6f74" -version = "0.1.12" -weakdeps = ["ControlSystemsBase"] - - [deps.MakieControlPlots.extensions] - MakieControlPlotsControlSystemsBaseExt = "ControlSystemsBase" - -[[deps.ManualMemory]] -git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" -uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" -version = "0.1.8" - -[[deps.MappedArrays]] -git-tree-sha1 = "0ee4497a4e80dbd29c058fcee6493f5219556f40" -uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" -version = "0.4.3" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" -version = "1.11.0" - -[[deps.MarkdownAST]] -deps = ["AbstractTrees", "Markdown"] -git-tree-sha1 = "93c718d892e73931841089cdc0e982d6dd9cc87b" -uuid = "d0879d2d-cac2-40c8-9cee-1863dc0c7391" -version = "0.1.3" - -[[deps.MathTeXEngine]] -deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "UnicodeFun"] -git-tree-sha1 = "aa1078778be5a8e5259ff04fbc3d258b3e78d464" -uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" -version = "0.6.9" - -[[deps.MatrixEquations]] -deps = ["LinearAlgebra", "LinearMaps"] -git-tree-sha1 = "e357e9f4cf3b1306ba6119e49e4d94cd57816835" -uuid = "99c1a7ee-ab34-5fd5-8076-27c950a045f4" -version = "2.6.3" - -[[deps.MatrixPencils]] -deps = ["LinearAlgebra", "MatrixEquations", "Polynomials", "Random"] -git-tree-sha1 = "d852fb5efe6eea8f764d44a3e6a559664fa88e20" -uuid = "48965c70-4690-11ea-1f13-43a2532b2fa8" -version = "1.9.1" - -[[deps.MaybeInplace]] -deps = ["ArrayInterface", "LinearAlgebra", "MacroTools"] -git-tree-sha1 = "69ad9ad584510f04f0ce75841253aa4b7c83e6f2" -uuid = "bb5d69b7-63fc-4a16-80bd-7e42200c7bdb" -version = "0.1.7" -weakdeps = ["SparseArrays"] - - [deps.MaybeInplace.extensions] - MaybeInplaceSparseArraysExt = "SparseArrays" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.6+0" - -[[deps.MeshGrid]] -git-tree-sha1 = "0a7fe9ae5a02fe24e9f041d0200f6173606ce02a" -uuid = "ebf956a0-ef5e-43be-9fb1-27952996e635" -version = "1.0.4" - -[[deps.MeshIO]] -deps = ["ColorTypes", "FileIO", "GeometryBasics", "Printf"] -git-tree-sha1 = "c009236e222df68e554c7ce5c720e4a33cc0c23f" -uuid = "7269a6da-0436-5bbc-96c2-40638cbb6118" -version = "0.5.3" - -[[deps.Missings]] -deps = ["DataAPI"] -git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" -uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.2.0" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" -version = "1.11.0" - -[[deps.Mocking]] -deps = ["Compat", "ExprTools"] -git-tree-sha1 = "2c140d60d7cb82badf06d8783800d0bcd1a7daa2" -uuid = "78c3b35d-d492-501b-9361-3d52fe80e533" -version = "0.8.1" - -[[deps.ModernGL]] -deps = ["Libdl"] -git-tree-sha1 = "ac6cb1d8807a05cf1acc9680e09d2294f9d33956" -uuid = "66fc600b-dfda-50eb-8b99-91cfa97b1301" -version = "1.1.8" - -[[deps.MosaicViews]] -deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] -git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" -uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" -version = "0.3.4" - -[[deps.Moshi]] -deps = ["ExproniconLite", "Jieko"] -git-tree-sha1 = "60beb0717782a3bbe0f7df56decad0ef89048c23" -uuid = "2e0e35c7-a2e4-4343-998d-7ef72827ed2d" -version = "0.3.12" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2023.12.12" - -[[deps.MuladdMacro]] -deps = ["PrecompileTools"] -git-tree-sha1 = "283bf85d4a767481dd924dff0eee1735e95f449e" -uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" -version = "0.2.7" - -[[deps.NLSolversBase]] -deps = ["ADTypes", "DifferentiationInterface", "Distributed", "FiniteDiff", "ForwardDiff"] -git-tree-sha1 = "25a6638571a902ecfb1ae2a18fc1575f86b1d4df" -uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" -version = "7.10.0" - -[[deps.NLsolve]] -deps = ["Distances", "LineSearches", "LinearAlgebra", "NLSolversBase", "Printf", "Reexport"] -git-tree-sha1 = "019f12e9a1a7880459d0173c182e6a99365d7ac1" -uuid = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" -version = "4.5.1" - -[[deps.NPZ]] -deps = ["FileIO", "ZipFile"] -git-tree-sha1 = "60a8e272fe0c5079363b28b0953831e2dd7b7e6f" -uuid = "15e1cf62-19b3-5cfa-8e77-841668bca605" -version = "0.4.3" - -[[deps.NaNMath]] -deps = ["OpenLibm_jll"] -git-tree-sha1 = "dbd2e8cd2c1c27f0b584f6661b4309609c5a685e" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.1.4" - -[[deps.Netpbm]] -deps = ["FileIO", "ImageCore", "ImageMetadata"] -git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd" -uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" -version = "1.1.1" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" - -[[deps.NonlinearSolve]] -deps = ["ADTypes", "ArrayInterface", "BracketingNonlinearSolve", "CommonSolve", "ConcreteStructs", "DifferentiationInterface", "FastClosures", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "LinearSolve", "NonlinearSolveBase", "NonlinearSolveFirstOrder", "NonlinearSolveQuasiNewton", "NonlinearSolveSpectralMethods", "PrecompileTools", "Preferences", "Reexport", "SciMLBase", "Setfield", "SimpleNonlinearSolve", "StaticArraysCore", "SymbolicIndexingInterface"] -git-tree-sha1 = "a6c5719bbb42985c72f4cacbfa49e86bab850d66" -uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" -version = "4.19.1" - - [deps.NonlinearSolve.extensions] - NonlinearSolveFastLevenbergMarquardtExt = "FastLevenbergMarquardt" - NonlinearSolveFixedPointAccelerationExt = "FixedPointAcceleration" - NonlinearSolveLeastSquaresOptimExt = "LeastSquaresOptim" - NonlinearSolveMINPACKExt = "MINPACK" - NonlinearSolveNLSolversExt = "NLSolvers" - NonlinearSolveNLsolveExt = ["NLsolve", "LineSearches"] - NonlinearSolvePETScExt = ["PETSc", "MPI", "SparseArrays"] - NonlinearSolveSIAMFANLEquationsExt = "SIAMFANLEquations" - NonlinearSolveSpeedMappingExt = "SpeedMapping" - NonlinearSolveSundialsExt = "Sundials" - - [deps.NonlinearSolve.weakdeps] - FastLevenbergMarquardt = "7a0df574-e128-4d35-8cbd-3d84502bf7ce" - FixedPointAcceleration = "817d07cb-a79a-5c30-9a31-890123675176" - LeastSquaresOptim = "0fc2ff8b-aaa3-5acd-a817-1944a5e08891" - LineSearches = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" - MINPACK = "4854310b-de5a-5eb6-a2a5-c1dee2bd17f9" - MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" - NLSolvers = "337daf1e-9722-11e9-073e-8b9effe078ba" - NLsolve = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" - PETSc = "ace2c81b-2b5f-4b1e-a30d-d662738edfe0" - SIAMFANLEquations = "084e46ad-d928-497d-ad5e-07fa361a48c4" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - SpeedMapping = "f1835b91-879b-4a3f-a438-e4baacf14412" - Sundials = "c3572dad-4567-51f8-b174-8c6c989267f4" - -[[deps.NonlinearSolveBase]] -deps = ["ADTypes", "Adapt", "ArrayInterface", "CommonSolve", "Compat", "ConcreteStructs", "DifferentiationInterface", "EnzymeCore", "FastClosures", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "LogExpFunctions", "Markdown", "MaybeInplace", "PreallocationTools", "PrecompileTools", "Preferences", "Printf", "RecursiveArrayTools", "SciMLBase", "SciMLJacobianOperators", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Setfield", "StaticArraysCore", "SymbolicIndexingInterface", "TimerOutputs"] -git-tree-sha1 = "cb824030a0d5769555704db95ee3cbe0f76ed53d" -uuid = "be0214bd-f91f-a760-ac4e-3421ce2b2da0" -version = "2.30.3" - - [deps.NonlinearSolveBase.extensions] - NonlinearSolveBaseBandedMatricesExt = "BandedMatrices" - NonlinearSolveBaseChainRulesCoreExt = "ChainRulesCore" - NonlinearSolveBaseEnzymeExt = ["ChainRulesCore", "Enzyme"] - NonlinearSolveBaseForwardDiffExt = "ForwardDiff" - NonlinearSolveBaseLineSearchExt = "LineSearch" - NonlinearSolveBaseLinearSolveExt = "LinearSolve" - NonlinearSolveBaseMooncakeExt = "Mooncake" - NonlinearSolveBaseReverseDiffExt = "ReverseDiff" - NonlinearSolveBaseSparseArraysExt = "SparseArrays" - NonlinearSolveBaseSparseMatrixColoringsExt = "SparseMatrixColorings" - NonlinearSolveBaseTrackerExt = "Tracker" - - [deps.NonlinearSolveBase.weakdeps] - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - LineSearch = "87fe0de2-c867-4266-b59a-2f0a94fc965b" - LinearSolve = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" - Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - SparseMatrixColorings = "0a514795-09f3-496d-8182-132a7b665d35" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - -[[deps.NonlinearSolveFirstOrder]] -deps = ["ADTypes", "ArrayInterface", "CommonSolve", "ConcreteStructs", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "LinearSolve", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLJacobianOperators", "Setfield", "StaticArraysCore"] -git-tree-sha1 = "ce68820a4f421fb5bee7ec4dcf875aff33886bfb" -uuid = "5959db7a-ea39-4486-b5fe-2dd0bf03d60d" -version = "2.1.1" - -[[deps.NonlinearSolveQuasiNewton]] -deps = ["ArrayInterface", "CommonSolve", "ConcreteStructs", "LinearAlgebra", "LinearSolve", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLOperators", "StaticArraysCore"] -git-tree-sha1 = "538432ca1aea8bf63db02929bf870501f8a7c64c" -uuid = "9a2c21bd-3a47-402d-9113-8faf9a0ee114" -version = "1.13.1" -weakdeps = ["ForwardDiff"] - - [deps.NonlinearSolveQuasiNewton.extensions] - NonlinearSolveQuasiNewtonForwardDiffExt = "ForwardDiff" - -[[deps.NonlinearSolveSpectralMethods]] -deps = ["CommonSolve", "ConcreteStructs", "LineSearch", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase"] -git-tree-sha1 = "a3781e12becdf0ce5520bd97ec617e879bf4e9f2" -uuid = "26075421-4e9a-44e1-8bd1-420ed7ad02b2" -version = "1.7.1" -weakdeps = ["ForwardDiff"] - - [deps.NonlinearSolveSpectralMethods.extensions] - NonlinearSolveSpectralMethodsForwardDiffExt = "ForwardDiff" - -[[deps.Observables]] -git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225" -uuid = "510215fc-4207-5dde-b226-833fc4488ee2" -version = "0.5.5" - -[[deps.OffsetArrays]] -git-tree-sha1 = "117432e406b5c023f665fa73dc26e79ec3630151" -uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.17.0" -weakdeps = ["Adapt"] - - [deps.OffsetArrays.extensions] - OffsetArraysAdaptExt = "Adapt" - -[[deps.Ogg_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "b6aa4566bb7ae78498a5e68943863fa8b5231b59" -uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" -version = "1.3.6+0" - -[[deps.OpenBLAS32_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "libblastrampoline_jll"] -git-tree-sha1 = "30870d0f2dc0b2dba76b10df1c58c7f018413e56" -uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" -version = "0.3.34+0" - -[[deps.OpenBLASConsistentFPCSR_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "38a93f17e431141c6470bb67a88952a7c4f0e928" -uuid = "6cdc7f73-28fd-5e50-80fb-958a8875b1af" -version = "0.3.34+0" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.27+1" - -[[deps.OpenEXR]] -deps = ["Colors", "FileIO", "OpenEXR_jll"] -git-tree-sha1 = "97db9e07fe2091882c765380ef58ec553074e9c7" -uuid = "52e1d378-f018-4a11-a4be-720524705ac7" -version = "0.3.3" - -[[deps.OpenEXR_jll]] -deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "0d621a4beb5e48d195f907c3c5b0bea285d9ff9d" -uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" -version = "3.4.13+0" - -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.5+0" - -[[deps.OpenSSH_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenSSL_jll", "Zlib_jll"] -git-tree-sha1 = "b862f484cf659efabffd601c5c920e981c942b63" -uuid = "9bd350c2-7e96-507f-8002-3f2e150b4e1b" -version = "10.4.1+0" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "d8cce34295c55f47be683580f44791716045b8fe" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.5.7+0" - -[[deps.OpenSpecFun_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "1346c9208249809840c91b26703912dff463d335" -uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.6+0" - -[[deps.Opus_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e2bb57a313a74b8104064b7efd01406c0a50d2ff" -uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.6.1+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "94ba93778373a53bfd5a0caaf7d809c445292ff4" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.8.2" - -[[deps.OrdinaryDiffEqBDF]] -deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "OrdinaryDiffEqSDIRK", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"] -git-tree-sha1 = "d7f69947e070a6a89aaf583e8aa2fada199fc292" -uuid = "6ad6398a-0878-4a85-9266-38940aa047c8" -version = "1.26.0" - -[[deps.OrdinaryDiffEqCore]] -deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "ConcreteStructs", "DataStructures", "DiffEqBase", "DocStringExtensions", "EnumX", "EnzymeCore", "FastBroadcast", "FastClosures", "FastPower", "FunctionWrappersWrappers", "InteractiveUtils", "LinearAlgebra", "Logging", "MacroTools", "MuladdMacro", "Polyester", "PrecompileTools", "Preferences", "Random", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLLogging", "SciMLOperators", "SciMLStructures", "Static", "SymbolicIndexingInterface", "TruncatedStacktraces"] -git-tree-sha1 = "c0a22f012d3e98fd78afafe8e5152ace7a2276bc" -uuid = "bbf590c4-e513-4bbe-9b18-05decba2e5d8" -version = "3.33.1" - - [deps.OrdinaryDiffEqCore.extensions] - OrdinaryDiffEqCoreMooncakeExt = "Mooncake" - OrdinaryDiffEqCoreSparseArraysExt = "SparseArrays" - - [deps.OrdinaryDiffEqCore.weakdeps] - Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[deps.OrdinaryDiffEqDifferentiation]] -deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DiffEqBase", "DifferentiationInterface", "FastBroadcast", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "LinearAlgebra", "LinearSolve", "OrdinaryDiffEqCore", "SciMLBase", "SciMLOperators", "SparseMatrixColorings", "StaticArraysCore"] -git-tree-sha1 = "f3976b6baeb64051f41ed461a1933b7501a4f38e" -uuid = "4302a76b-040a-498a-8c04-15b101fed76b" -version = "2.9.0" -weakdeps = ["SparseArrays"] - - [deps.OrdinaryDiffEqDifferentiation.extensions] - OrdinaryDiffEqDifferentiationSparseArraysExt = "SparseArrays" - -[[deps.OrdinaryDiffEqNonlinearSolve]] -deps = ["ADTypes", "ArrayInterface", "DiffEqBase", "FastBroadcast", "FastClosures", "ForwardDiff", "LinearAlgebra", "LinearSolve", "MuladdMacro", "NonlinearSolve", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "PreallocationTools", "RecursiveArrayTools", "SciMLBase", "SciMLOperators", "SciMLStructures", "SimpleNonlinearSolve", "SparseArrays", "StaticArraysCore"] -git-tree-sha1 = "82dde00dc43d5a4762cf50fa070b654cc38a2e87" -uuid = "127b3ac7-2247-4354-8eb6-78cf4e7c58e8" -version = "1.28.0" - -[[deps.OrdinaryDiffEqSDIRK]] -deps = ["ADTypes", "DiffEqBase", "FastBroadcast", "LinearAlgebra", "MacroTools", "MuladdMacro", "OrdinaryDiffEqCore", "OrdinaryDiffEqDifferentiation", "OrdinaryDiffEqNonlinearSolve", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "TruncatedStacktraces"] -git-tree-sha1 = "c5e26fbadbad137fa2b7e3161a290a1becfec502" -uuid = "2d112036-d095-4a1e-ab9a-08536f3ecdbf" -version = "1.14.0" - -[[deps.PCRE2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.42.0+1" - -[[deps.PDMats]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "123266c25174ef6c8d4718920abc206452cf8de6" -uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.41" -weakdeps = ["StatsBase"] - - [deps.PDMats.extensions] - StatsBaseExt = "StatsBase" - -[[deps.PNGFiles]] -deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] -git-tree-sha1 = "32b657a0d57c310a1a172bfc8c8cf68c5e674323" -uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" -version = "0.4.5" - -[[deps.Packing]] -deps = ["GeometryBasics"] -git-tree-sha1 = "bc5bf2ea3d5351edf285a06b0016788a121ce92c" -uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566" -version = "0.5.1" - -[[deps.PaddedViews]] -deps = ["OffsetArrays"] -git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f" -uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" -version = "0.5.12" - -[[deps.Pango_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl"] -git-tree-sha1 = "7126b66b721a605a2fec966a2874c5ed53258eb3" -uuid = "36c8627f-9965-5494-a995-c6b170f724f3" -version = "1.58.0+0" - -[[deps.Parameters]] -deps = ["OrderedCollections", "UnPack"] -git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" -uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" -version = "0.12.3" - -[[deps.Parsers]] -deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "3de8f5e6e90ebfa8d6d1f86997d6cdcd6a912ff3" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.8.7" - -[[deps.Pixman_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] -git-tree-sha1 = "e4a6721aa89e62e5d4217c0b21bd714263779dda" -uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.46.4+0" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "Random", "SHA", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.11.0" -weakdeps = ["REPL"] - - [deps.Pkg.extensions] - REPLExt = "REPL" - -[[deps.PkgVersion]] -deps = ["Pkg"] -git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" -uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" -version = "0.3.3" - -[[deps.PlotUtils]] -deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "StableRNGs", "Statistics"] -git-tree-sha1 = "26ca162858917496748aad52bb5d3be4d26a228a" -uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.4.4" - -[[deps.Polyester]] -deps = ["ArrayInterface", "BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "ManualMemory", "PolyesterWeave", "Static", "StaticArrayInterface", "StrideArraysCore", "ThreadingUtilities"] -git-tree-sha1 = "16bbc30b5ebea91e9ce1671adc03de2832cff552" -uuid = "f517fe37-dbe3-4b94-8317-1923a5111588" -version = "0.7.19" - -[[deps.PolyesterWeave]] -deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] -git-tree-sha1 = "645bed98cd47f72f67316fd42fc47dee771aefcd" -uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" -version = "0.2.2" - -[[deps.PolygonOps]] -git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6" -uuid = "647866c9-e3ac-4575-94e7-e3d426903924" -version = "0.1.2" - -[[deps.Polynomials]] -deps = ["LinearAlgebra", "OrderedCollections", "Setfield", "SparseArrays"] -git-tree-sha1 = "2d99b4c8a7845ab1342921733fa29366dae28b24" -uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" -version = "4.1.1" - - [deps.Polynomials.extensions] - PolynomialsChainRulesCoreExt = "ChainRulesCore" - PolynomialsFFTWExt = "FFTW" - PolynomialsMakieExt = "Makie" - PolynomialsMutableArithmeticsExt = "MutableArithmetics" - PolynomialsRecipesBaseExt = "RecipesBase" - - [deps.Polynomials.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - FFTW = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" - Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" - MutableArithmetics = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" - RecipesBase = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" - -[[deps.PooledArrays]] -deps = ["DataAPI", "Future"] -git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3" -uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" -version = "1.4.3" - -[[deps.PreallocationTools]] -deps = ["Adapt", "ArrayInterface", "PrecompileTools", "SciMLPublic"] -git-tree-sha1 = "315eb21a0da58dccdbd29e3c617e3a9fbdd768a8" -uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" -version = "1.4.1" - - [deps.PreallocationTools.extensions] - PreallocationToolsEnzymeCoreExt = "EnzymeCore" - PreallocationToolsForwardDiffExt = "ForwardDiff" - PreallocationToolsReverseDiffExt = "ReverseDiff" - PreallocationToolsSparseConnectivityTracerExt = "SparseConnectivityTracer" - - [deps.PreallocationTools.weakdeps] - EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - SparseConnectivityTracer = "9f842d2f-2579-4b1d-911e-f412cf18a3f5" - -[[deps.PrecompileTools]] -deps = ["Preferences"] -git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" -uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.2.1" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "8b770b60760d4451834fe79dd483e318eee709c4" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.5.2" - -[[deps.Primes]] -deps = ["IntegerMathUtils"] -git-tree-sha1 = "25cdd1d20cd005b52fc12cb6be3f75faaf59bb9b" -uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" -version = "0.5.7" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" -version = "1.11.0" - -[[deps.Profile]] -uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" -version = "1.11.0" - -[[deps.ProgressMeter]] -deps = ["Distributed", "Printf"] -git-tree-sha1 = "fbb92c6c56b34e1a2c4c36058f68f332bec840e7" -uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.11.0" - -[[deps.PtrArrays]] -git-tree-sha1 = "4fbbafbc6251b883f4d2705356f3641f3652a7fe" -uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" -version = "1.4.0" - -[[deps.PureKLU]] -deps = ["LinearAlgebra", "PrecompileTools", "SparseArrays"] -git-tree-sha1 = "762c7006b147e31fc7dd272b5e4714aae648e05b" -uuid = "0c0d3e7f-3a8b-4f7e-b6f1-9a4d2e7c1f01" -version = "1.4.0" -weakdeps = ["ForwardDiff"] - - [deps.PureKLU.extensions] - PureKLUForwardDiffExt = "ForwardDiff" - -[[deps.QOI]] -deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] -git-tree-sha1 = "472daaa816895cb7aee81658d4e7aec901fa1106" -uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" -version = "1.0.2" - -[[deps.QuadGK]] -deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "5e8e8b0ab68215d7a2b14b9921a946fee794749e" -uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.11.3" - - [deps.QuadGK.extensions] - QuadGKEnzymeExt = "Enzyme" - - [deps.QuadGK.weakdeps] - Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" - -[[deps.Quaternions]] -deps = ["LinearAlgebra", "Random", "RealDot"] -git-tree-sha1 = "4d8c1b7c3329c1885b857abb50d08fa3f4d9e3c8" -uuid = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" -version = "0.7.7" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "StyledStrings", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" -version = "1.11.0" - -[[deps.Random]] -deps = ["SHA"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" -version = "1.11.0" - -[[deps.RangeArrays]] -git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" -uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" -version = "0.3.2" - -[[deps.Ratios]] -deps = ["Requires"] -git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b" -uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" -version = "0.4.5" -weakdeps = ["FixedPointNumbers"] - - [deps.Ratios.extensions] - RatiosFixedPointNumbersExt = "FixedPointNumbers" - -[[deps.RealDot]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "9f0a1b71baaf7650f4fa8a1d168c7fb6ee41f0c9" -uuid = "c1ae055f-0cd5-4b69-90a6-9a35b1a98df9" -version = "0.1.0" - -[[deps.RecipesBase]] -deps = ["PrecompileTools"] -git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" -uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.3.4" - -[[deps.RecursiveArrayTools]] -deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "LinearAlgebra", "PrecompileTools", "RecipesBase", "StaticArraysCore", "SymbolicIndexingInterface"] -git-tree-sha1 = "d0282d612f22dcad7b81cf487b746e63aa2a6709" -uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "3.54.0" - - [deps.RecursiveArrayTools.extensions] - RecursiveArrayToolsFastBroadcastExt = "FastBroadcast" - RecursiveArrayToolsFastBroadcastPolyesterExt = ["FastBroadcast", "Polyester"] - RecursiveArrayToolsForwardDiffExt = "ForwardDiff" - RecursiveArrayToolsKernelAbstractionsExt = "KernelAbstractions" - RecursiveArrayToolsMeasurementsExt = "Measurements" - RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements" - RecursiveArrayToolsReverseDiffExt = ["ReverseDiff", "Zygote"] - RecursiveArrayToolsSparseArraysExt = ["SparseArrays"] - RecursiveArrayToolsStatisticsExt = "Statistics" - RecursiveArrayToolsStructArraysExt = "StructArrays" - RecursiveArrayToolsTablesExt = ["Tables"] - RecursiveArrayToolsTrackerExt = "Tracker" - RecursiveArrayToolsZygoteExt = "Zygote" - - [deps.RecursiveArrayTools.weakdeps] - FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" - Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" - MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" - Polyester = "f517fe37-dbe3-4b94-8317-1923a5111588" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" - Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[deps.ReferenceFrameRotations]] -deps = ["Crayons", "LinearAlgebra", "PrecompileTools", "Printf", "Random", "StaticArrays"] -git-tree-sha1 = "1ddb588d4dcaa8587cd20f9a4e273a071071016f" -uuid = "74f56ac7-18b3-5285-802d-d4bd4f104033" -version = "3.5.0" - - [deps.ReferenceFrameRotations.extensions] - ReferenceFrameRotationsZygoteExt = "Zygote" - - [deps.ReferenceFrameRotations.weakdeps] - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.RegistryInstances]] -deps = ["LazilyInitializedFields", "Pkg", "TOML", "Tar"] -git-tree-sha1 = "ffd19052caf598b8653b99404058fce14828be51" -uuid = "2792f1a3-b283-48e8-9a74-f99dce5104f3" -version = "0.1.0" - -[[deps.RelocatableFolders]] -deps = ["SHA", "Scratch"] -git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" -uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "1.0.1" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "62389eeff14780bfe55195b7204c0d8738436d64" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.1" - -[[deps.Rmath]] -deps = ["Random", "Rmath_jll"] -git-tree-sha1 = "5b3d50eb374cea306873b371d3f8d3915a018f0b" -uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" -version = "0.9.0" - -[[deps.Rmath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6d40b2fe70437b01397d2a4d5b020008da4e7019" -uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" -version = "0.5.2+0" - -[[deps.Roots]] -deps = ["Accessors", "CommonSolve", "Printf"] -git-tree-sha1 = "7fb25a964849d90a0446366cdefca822e0e84900" -uuid = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" -version = "3.0.6" - - [deps.Roots.extensions] - RootsChainRulesCoreExt = "ChainRulesCore" - RootsForwardDiffExt = "ForwardDiff" - RootsIntervalRootFindingExt = "IntervalRootFinding" - RootsSymPyExt = "SymPy" - RootsSymPyPythonCallExt = "SymPyPythonCall" - RootsUnitfulExt = "Unitful" - - [deps.Roots.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - IntervalRootFinding = "d2bf35a9-74e0-55ec-b149-d360ff49b807" - SymPy = "24249f21-da20-56a4-8eb1-6a02cf4ae2e6" - SymPyPythonCall = "bc8888f7-b21e-4b7c-a06a-5d9c9496438c" - Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" - -[[deps.Rotations]] -deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays"] -git-tree-sha1 = "5680a9276685d392c87407df00d57c9924d9f11e" -uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" -version = "1.7.1" -weakdeps = ["RecipesBase"] - - [deps.Rotations.extensions] - RotationsRecipesBaseExt = "RecipesBase" - -[[deps.RoundingEmulator]] -git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" -uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" -version = "0.2.1" - -[[deps.RuntimeGeneratedFunctions]] -deps = ["ExprTools", "SHA", "Serialization"] -git-tree-sha1 = "65c9e1142f0372bfc16ba14b9edd57737fe0039f" -uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" -version = "0.5.24" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.0" - -[[deps.SIMD]] -deps = ["PrecompileTools"] -git-tree-sha1 = "e24dc23107d426a096d3eae6c165b921e74c18e4" -uuid = "fdea26ae-647d-5447-a871-4b548cad5224" -version = "3.7.2" - -[[deps.SIMDTypes]] -git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" -uuid = "94e857df-77ce-4151-89e5-788b33177be4" -version = "0.1.0" - -[[deps.SciMLBase]] -deps = ["ADTypes", "Accessors", "Adapt", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "Moshi", "PreallocationTools", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLLogging", "SciMLOperators", "SciMLPublic", "SciMLStructures", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface"] -git-tree-sha1 = "d56cb3b924cdf9297c171113e6a6ae9694e370eb" -uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "2.155.2" - - [deps.SciMLBase.extensions] - SciMLBaseChainRulesCoreExt = "ChainRulesCore" - SciMLBaseDifferentiationInterfaceExt = "DifferentiationInterface" - SciMLBaseDistributionsExt = "Distributions" - SciMLBaseEnzymeExt = "Enzyme" - SciMLBaseForwardDiffExt = "ForwardDiff" - SciMLBaseMLStyleExt = "MLStyle" - SciMLBaseMakieExt = "Makie" - SciMLBaseMeasurementsExt = "Measurements" - SciMLBaseMonteCarloMeasurementsExt = "MonteCarloMeasurements" - SciMLBaseMooncakeExt = "Mooncake" - SciMLBasePartialFunctionsExt = "PartialFunctions" - SciMLBasePyCallExt = "PyCall" - SciMLBasePythonCallExt = "PythonCall" - SciMLBaseRCallExt = "RCall" - SciMLBaseReverseDiffExt = "ReverseDiff" - SciMLBaseTrackerExt = "Tracker" - SciMLBaseZygoteExt = ["Zygote", "ChainRulesCore"] - - [deps.SciMLBase.weakdeps] - ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - DifferentiationInterface = "a0c0ee7d-e4b9-4e03-894e-1c5f64a51d63" - Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" - Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - MLStyle = "d8e11817-5142-5d16-987a-aa16d5891078" - Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" - Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" - MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" - Mooncake = "da2b9cff-9c12-43a0-ae48-6db2b0edb7d6" - PartialFunctions = "570af359-4316-4cb7-8c74-252c00c2016b" - PyCall = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" - PythonCall = "6099a3de-0909-46bc-b1f4-468b9a2dfc0d" - RCall = "6f49c342-dc21-5d91-9882-a32aef131414" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.SciMLJacobianOperators]] -deps = ["ADTypes", "ArrayInterface", "ConcreteStructs", "ConstructionBase", "DifferentiationInterface", "FastClosures", "LinearAlgebra", "SciMLBase", "SciMLOperators"] -git-tree-sha1 = "ad167d716fc134c0873c76ba0469ede56a678732" -uuid = "19f34311-ddf3-4b8b-af20-060888a46c0e" -version = "0.1.17" - -[[deps.SciMLLogging]] -deps = ["Logging", "LoggingExtras", "Preferences"] -git-tree-sha1 = "4e1e21f14a284f892eb62923a356c70a2a0c68e1" -uuid = "a6db7da4-7206-11f0-1eab-35f2a5dbe1d1" -version = "1.10.1" - - [deps.SciMLLogging.extensions] - SciMLLoggingTracyExt = "Tracy" - - [deps.SciMLLogging.weakdeps] - Tracy = "e689c965-62c8-4b79-b2c5-8359227902fd" - -[[deps.SciMLOperators]] -deps = ["Accessors", "Adapt", "ArrayInterface", "DocStringExtensions", "LinearAlgebra", "SciMLPublic"] -git-tree-sha1 = "54333a8ba01ff383643b44d5a97a4bc2c07d4d2f" -uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" -version = "1.26.1" - - [deps.SciMLOperators.extensions] - SciMLOperatorsLoopVectorizationExt = "LoopVectorization" - SciMLOperatorsSparseArraysExt = "SparseArrays" - - [deps.SciMLOperators.weakdeps] - LoopVectorization = "bdcacae8-1622-11e9-2a5c-532679323890" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[deps.SciMLPublic]] -git-tree-sha1 = "cf9aaf8b9ed5db993259ea8b24cf2b7ba9bd3b79" -uuid = "431bcebd-1456-4ced-9d72-93c2757fff0b" -version = "1.2.4" - -[[deps.SciMLStructures]] -deps = ["ArrayInterface", "PrecompileTools"] -git-tree-sha1 = "53bf620cb2c3763d41495b2a145611c6ca400dcd" -uuid = "53ae85a6-f571-4167-b2af-e1d143709226" -version = "1.10.4" - -[[deps.ScopedValues]] -deps = ["HashArrayMappedTries", "Logging"] -git-tree-sha1 = "67a144433c4ce877ee6d1ada69a124d6b1ecf7be" -uuid = "7e506255-f358-4e82-b7e4-beb19740aa63" -version = "1.6.2" - -[[deps.Scratch]] -deps = ["Dates"] -git-tree-sha1 = "9b81b8393e50b7d4e6d0a9f14e192294d3b7c109" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.3.0" - -[[deps.SentinelArrays]] -deps = ["Dates", "Random"] -git-tree-sha1 = "084c47c7c5ce5cfecefa0a98dff69eb3646b5a80" -uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" -version = "1.4.10" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" -version = "1.11.0" - -[[deps.Setfield]] -deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] -git-tree-sha1 = "c5391c6ace3bc430ca630251d02ea9687169ca68" -uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" -version = "1.1.2" - -[[deps.ShaderAbstractions]] -deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays"] -git-tree-sha1 = "818554664a2e01fc3784becb2eb3a82326a604b6" -uuid = "65257c39-d410-5151-9873-9b3e5be5013e" -version = "0.5.0" - -[[deps.SharedArrays]] -deps = ["Distributed", "Mmap", "Random", "Serialization"] -uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" -version = "1.11.0" - -[[deps.SignedDistanceFields]] -deps = ["Statistics"] -git-tree-sha1 = "3949ad92e1c9d2ff0cd4a1317d5ecbba682f4b92" -uuid = "73760f76-fbc4-59ce-8f25-708e95d2df96" -version = "0.4.1" - -[[deps.SimpleNonlinearSolve]] -deps = ["ADTypes", "ArrayInterface", "BracketingNonlinearSolve", "CommonSolve", "ConcreteStructs", "DifferentiationInterface", "FastClosures", "FiniteDiff", "ForwardDiff", "LineSearch", "LinearAlgebra", "MaybeInplace", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "Setfield", "StaticArraysCore"] -git-tree-sha1 = "08d8bafd57b7ea16dc1f69a8bd57db23a2ceb686" -uuid = "727e6d20-b764-4bd8-a329-72de5adea6c7" -version = "2.12.0" - - [deps.SimpleNonlinearSolve.extensions] - SimpleNonlinearSolveChainRulesCoreExt = "ChainRulesCore" - SimpleNonlinearSolveReverseDiffExt = "ReverseDiff" - SimpleNonlinearSolveTrackerExt = "Tracker" - - [deps.SimpleNonlinearSolve.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - -[[deps.SimpleTraits]] -deps = ["InteractiveUtils", "MacroTools"] -git-tree-sha1 = "7ddb0b49c109481b046972c0e4ab02b2127d6a75" -uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" -version = "0.9.6" - -[[deps.Sixel]] -deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] -git-tree-sha1 = "0494aed9501e7fb65daba895fb7fd57cc38bc743" -uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" -version = "0.1.5" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" -version = "1.11.0" - -[[deps.SortingAlgorithms]] -deps = ["DataStructures"] -git-tree-sha1 = "13cd91cc9be159e3f4d95b857fa2aa383b53772a" -uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.2.3" - -[[deps.SparseArrays]] -deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" -version = "1.11.0" - -[[deps.SparseColumnPivotedQR]] -deps = ["LinearAlgebra", "PrecompileTools", "SparseArrays"] -git-tree-sha1 = "ee8155fd93f0efc510e4523850bd9e0bb6e03199" -uuid = "a57abbd0-fea5-4d57-96be-5e525945e8e4" -version = "2.1.6" -weakdeps = ["AMD"] - - [deps.SparseColumnPivotedQR.extensions] - SparseColumnPivotedQRAMDExt = "AMD" - -[[deps.SparseMatrixColorings]] -deps = ["ADTypes", "DocStringExtensions", "LinearAlgebra", "PrecompileTools", "Random", "SparseArrays"] -git-tree-sha1 = "f63d76c7b7c329cf11badd564fd8ba877b09c3fe" -uuid = "0a514795-09f3-496d-8182-132a7b665d35" -version = "0.4.27" - - [deps.SparseMatrixColorings.extensions] - SparseMatrixColoringsCUDAExt = ["CUDA", "cuSPARSE"] - SparseMatrixColoringsCliqueTreesExt = "CliqueTrees" - SparseMatrixColoringsColorsExt = "Colors" - SparseMatrixColoringsGPUArraysExt = "GPUArrays" - SparseMatrixColoringsJuMPExt = ["JuMP", "MathOptInterface"] - - [deps.SparseMatrixColorings.weakdeps] - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - CliqueTrees = "60701a23-6482-424a-84db-faee86b9b1f8" - Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" - GPUArrays = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" - JuMP = "4076af6c-e467-56ae-b986-b466b2749572" - MathOptInterface = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" - cuSPARSE = "b26da814-b3bc-49ef-b0ee-c816305aa060" - -[[deps.SpecialFunctions]] -deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "c3ac026e735264e9bdc6a9bcbd1b1e781b36e3bc" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.8.3" -weakdeps = ["ChainRulesCore"] - - [deps.SpecialFunctions.extensions] - SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" - -[[deps.StableRNGs]] -deps = ["Random"] -git-tree-sha1 = "4f96c596b8c8258cc7d3b19797854d368f243ddc" -uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" -version = "1.0.4" - -[[deps.StackViews]] -deps = ["OffsetArrays"] -git-tree-sha1 = "be1cf4eb0ac528d96f5115b4ed80c26a8d8ae621" -uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" -version = "0.1.2" - -[[deps.Static]] -deps = ["CommonWorldInvalidations", "IfElse", "PrecompileTools", "SciMLPublic"] -git-tree-sha1 = "474a5283ad435618090122872eea6a8165ea6bcf" -uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "1.4.6" - -[[deps.StaticArrayInterface]] -deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "SciMLPublic", "Static"] -git-tree-sha1 = "2a635e15d5035c53b345077c947f31ff91744078" -uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.10.0" -weakdeps = ["OffsetArrays", "StaticArrays"] - - [deps.StaticArrayInterface.extensions] - StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" - StaticArrayInterfaceStaticArraysExt = "StaticArrays" - -[[deps.StaticArrays]] -deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "246a8bb2e6667f832eea063c3a56aef96429a3db" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.18" -weakdeps = ["ChainRulesCore", "Statistics"] - - [deps.StaticArrays.extensions] - StaticArraysChainRulesCoreExt = "ChainRulesCore" - StaticArraysStatisticsExt = "Statistics" - -[[deps.StaticArraysCore]] -git-tree-sha1 = "6ab403037779dae8c514bad259f32a447262455a" -uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.4" - -[[deps.Statistics]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "ae3bb1eb3bba077cd276bc5cfc337cc65c3075c0" -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -version = "1.11.1" -weakdeps = ["SparseArrays"] - - [deps.Statistics.extensions] - SparseArraysExt = ["SparseArrays"] - -[[deps.StatsAPI]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "178ed29fd5b2a2cfc3bd31c13375ae925623ff36" -uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.8.0" - -[[deps.StatsBase]] -deps = ["AliasTables", "DataAPI", "DataStructures", "IrrationalConstants", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "e4d7a1a0edc20af42689ea6f4f3587a2175d50ee" -uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.34.12" - -[[deps.StatsFuns]] -deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "91a5737baed20ee31f3faea0e51f57461f6a689e" -uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "2.2.1" -weakdeps = ["ChainRulesCore", "InverseFunctions"] - - [deps.StatsFuns.extensions] - StatsFunsChainRulesCoreExt = "ChainRulesCore" - StatsFunsInverseFunctionsExt = "InverseFunctions" - -[[deps.StrideArraysCore]] -deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"] -git-tree-sha1 = "5316097111523c9a970596a5b33cfea5f92e8581" -uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" -version = "0.5.9" - -[[deps.StringEncodings]] -deps = ["Libiconv_jll"] -git-tree-sha1 = "b765e46ba27ecf6b44faf70df40c57aa3a547dcb" -uuid = "69024149-9ee7-55f6-a4c4-859efe599b68" -version = "0.3.7" - -[[deps.StringViews]] -git-tree-sha1 = "f2dcb92855b31ad92fe8f079d4f75ac57c93e4b8" -uuid = "354b36f9-a18e-4713-926e-db85100087ba" -version = "1.3.7" - -[[deps.StructArrays]] -deps = ["ConstructionBase", "DataAPI", "Tables"] -git-tree-sha1 = "ad8002667372439f2e3611cfd14097e03fa4bccd" -uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.7.3" - - [deps.StructArrays.extensions] - StructArraysAdaptExt = "Adapt" - StructArraysGPUArraysCoreExt = ["GPUArraysCore", "KernelAbstractions"] - StructArraysLinearAlgebraExt = "LinearAlgebra" - StructArraysSparseArraysExt = "SparseArrays" - StructArraysStaticArraysExt = "StaticArrays" - - [deps.StructArrays.weakdeps] - Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" - GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" - KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" - LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.StructTypes]] -deps = ["Dates", "UUIDs"] -git-tree-sha1 = "159331b30e94d7b11379037feeb9b690950cace8" -uuid = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" -version = "1.11.0" - -[[deps.StructUtils]] -deps = ["Dates", "UUIDs"] -git-tree-sha1 = "2d0fc55c61321ba245c47be599570d11bac50303" -uuid = "ec057cc2-7a8d-4b58-b3b3-92acb9f63b42" -version = "2.8.5" - - [deps.StructUtils.extensions] - StructUtilsMeasurementsExt = ["Measurements"] - StructUtilsStaticArraysCoreExt = ["StaticArraysCore"] - StructUtilsTablesExt = ["Tables"] - - [deps.StructUtils.weakdeps] - Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" - StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" - Tables = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" - -[[deps.StyledStrings]] -uuid = "f489334b-da3d-4c2e-b8f0-e476e12c162b" -version = "1.11.0" - -[[deps.SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] -uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" - -[[deps.SuiteSparse32_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "libblastrampoline_jll"] -git-tree-sha1 = "1d43a4874b879f381b8a3a978f0ebe837cfd0922" -uuid = "ca45d3f4-326b-53b0-9957-23b75aacb3f2" -version = "7.12.1+0" - -[[deps.SuiteSparse_jll]] -deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] -uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "7.7.0+0" - -[[deps.Sundials]] -deps = ["Accessors", "ArrayInterface", "CEnum", "DataStructures", "DiffEqBase", "Libdl", "LinearAlgebra", "LinearSolve", "Logging", "NonlinearSolveBase", "PrecompileTools", "Reexport", "SciMLBase", "SciMLLogging", "SparseArrays", "Sundials_jll", "SymbolicIndexingInterface"] -git-tree-sha1 = "b2bdc0fe9e7987ae15c9b9507dc26ea048ece9f3" -uuid = "c3572dad-4567-51f8-b174-8c6c989267f4" -version = "5.3.0" - -[[deps.Sundials_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "SuiteSparse32_jll"] -git-tree-sha1 = "a872f379c836e9cb5734485ca0681b192a59b98b" -uuid = "fb77eaff-e24c-56d4-86b1-d163f2edb164" -version = "7.5.0+0" - -[[deps.Suppressor]] -deps = ["Logging"] -git-tree-sha1 = "6dbb5b635c5437c68c28c2ac9e39b87138f37c0a" -uuid = "fd094767-a336-5f1f-9728-57cf17d0bbfb" -version = "0.2.8" - -[[deps.SymbolicIndexingInterface]] -deps = ["Accessors", "ArrayInterface", "RuntimeGeneratedFunctions", "StaticArraysCore"] -git-tree-sha1 = "2167b9913f3013a1485bdc9bb249123eb8b53cb0" -uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" -version = "0.3.54" - - [deps.SymbolicIndexingInterface.extensions] - SymbolicIndexingInterfacePrettyTablesExt = "PrettyTables" - - [deps.SymbolicIndexingInterface.weakdeps] - PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.3" - -[[deps.TZJData]] -deps = ["Artifacts"] -git-tree-sha1 = "d3b30a9f29a898e21fb4bdf280101b7a12e1f39c" -uuid = "dc5dba14-91b3-4cab-a142-028a31da12f7" -version = "1.5.1+2025b" - -[[deps.TableTraits]] -deps = ["IteratorInterfaceExtensions"] -git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" -uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" -version = "1.0.1" - -[[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"] -git-tree-sha1 = "0f38a06c83f0007bbab3cf911262841c9a0f07e0" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.13.0" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.0" - -[[deps.TensorCore]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" -uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" -version = "0.1.1" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -version = "1.11.0" - -[[deps.ThreadingUtilities]] -deps = ["ManualMemory"] -git-tree-sha1 = "7c73336785b21f723f5b143f6e99cf6c43b37dc1" -uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" -version = "0.5.6" - -[[deps.TiffImages]] -deps = ["CodecZstd", "ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "Mmap", "OffsetArrays", "PkgVersion", "PrecompileTools", "ProgressMeter", "SIMD", "UUIDs"] -git-tree-sha1 = "9ca5f1f2d42f80df4b8c9f6ab5a64f438bbd9976" -uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" -version = "0.11.9" - -[[deps.TimeZones]] -deps = ["Artifacts", "Dates", "Downloads", "InlineStrings", "Mocking", "Printf", "Scratch", "TZJData", "Unicode", "p7zip_jll"] -git-tree-sha1 = "d422301b2a1e294e3e4214061e44f338cafe18a2" -uuid = "f269a46b-ccf7-5d73-abea-4c690281aa53" -version = "1.22.2" -weakdeps = ["RecipesBase"] - - [deps.TimeZones.extensions] - TimeZonesRecipesBaseExt = "RecipesBase" - -[[deps.TimerOutputs]] -deps = ["ExprTools", "Printf"] -git-tree-sha1 = "3748bd928e68c7c346b52125cf41fff0de6937d0" -uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.29" - - [deps.TimerOutputs.extensions] - FlameGraphsExt = "FlameGraphs" - - [deps.TimerOutputs.weakdeps] - FlameGraphs = "08572546-2f56-4bcf-ba4e-bab62c3a3f89" - -[[deps.Timers]] -deps = ["Pkg"] -git-tree-sha1 = "5fd4c9197fb72dd74ca0530e5835624e242e8f61" -uuid = "21f18d07-b854-4dab-86f0-c15a3821819a" -version = "0.1.6" - -[[deps.TranscodingStreams]] -git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.11.3" - -[[deps.TriplotBase]] -git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" -uuid = "981d1d27-644d-49a2-9326-4793e63143c3" -version = "0.1.0" - -[[deps.TruncatedStacktraces]] -deps = ["InteractiveUtils", "MacroTools", "Preferences"] -git-tree-sha1 = "ea3e54c2bdde39062abf5a9758a23735558705e1" -uuid = "781d530d-4396-4725-bb49-402e4bee1e77" -version = "1.4.0" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" -version = "1.11.0" - -[[deps.UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" -version = "1.11.0" - -[[deps.UnicodeFun]] -deps = ["REPL"] -git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" -uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" -version = "0.4.1" - -[[deps.Unitful]] -deps = ["Dates", "LinearAlgebra", "Random"] -git-tree-sha1 = "57e1b2c9de4bd6f40ecb9de4ac1797b81970d008" -uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.28.0" - - [deps.Unitful.extensions] - ConstructionBaseUnitfulExt = "ConstructionBase" - ForwardDiffExt = "ForwardDiff" - InverseFunctionsUnitfulExt = "InverseFunctions" - LatexifyExt = ["Latexify", "LaTeXStrings"] - NaNMathExt = "NaNMath" - PrintfExt = "Printf" - - [deps.Unitful.weakdeps] - ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" - LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" - Latexify = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" - NaNMath = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" - Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.Wayland_jll]] -deps = ["Artifacts", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll"] -git-tree-sha1 = "96478df35bbc2f3e1e791bc7a3d0eeee559e60e9" -uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" -version = "1.24.0+0" - -[[deps.WeakRefStrings]] -deps = ["DataAPI", "InlineStrings", "Parsers"] -git-tree-sha1 = "0716e01c3b40413de5dedbc9c5c69f27cddfddfc" -uuid = "ea10d353-3f73-51f8-a26c-33c1cb351aa5" -version = "1.4.3" - -[[deps.WebP]] -deps = ["CEnum", "ColorTypes", "FileIO", "FixedPointNumbers", "ImageCore", "libwebp_jll"] -git-tree-sha1 = "aa1ca3c47f119fbdae8770c29820e5e6119b83f2" -uuid = "e3aaa7dc-3e4b-44e0-be63-ffb868ccd7c1" -version = "0.1.3" - -[[deps.WinchModels]] -deps = ["DiscretePIDs", "KiteUtils", "Parameters"] -git-tree-sha1 = "37639f176a3de26105bfdc0c0ce2233a3893160b" -uuid = "7dcfa46b-7979-4771-bbf4-0aee0da42e1f" -version = "0.3.10" - -[[deps.WoodburyMatrices]] -deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "248a7031b3da79a127f14e5dc5f417e26f9f6db7" -uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" -version = "1.1.0" - -[[deps.WorkerUtilities]] -git-tree-sha1 = "cd1659ba0d57b71a464a29e64dbc67cfe83d54e7" -uuid = "76eceee3-57b5-4d4a-8e66-0e911cebbf60" -version = "1.6.1" - -[[deps.XZ_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "b29c22e245d092b8b4e8d3c09ad7baa586d9f573" -uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.8.3+0" - -[[deps.Xorg_libX11_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "808090ede1d41644447dd5cbafced4731c56bd2f" -uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.8.13+0" - -[[deps.Xorg_libXau_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "aa1261ebbac3ccc8d16558ae6799524c450ed16b" -uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.13+0" - -[[deps.Xorg_libXcursor_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "6c74ca84bbabc18c4547014765d194ff0b4dc9da" -uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" -version = "1.2.4+0" - -[[deps.Xorg_libXdmcp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "52858d64353db33a56e13c341d7bf44cd0d7b309" -uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.6+0" - -[[deps.Xorg_libXext_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "1a4a26870bf1e5d26cd585e38038d399d7e65706" -uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.8+0" - -[[deps.Xorg_libXfixes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "75e00946e43621e09d431d9b95818ee751e6b2ef" -uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" -version = "6.0.2+0" - -[[deps.Xorg_libXi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] -git-tree-sha1 = "dcb316b3ce0941f195537dda56bea4517fcd3ff5" -uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" -version = "1.8.4+0" - -[[deps.Xorg_libXinerama_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll"] -git-tree-sha1 = "0ba01bc7396896a4ace8aab67db31403c71628f4" -uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" -version = "1.1.7+0" - -[[deps.Xorg_libXrandr_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXext_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "6c174ef70c96c76f4c3f4d3cfbe09d018bcd1b53" -uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" -version = "1.5.6+0" - -[[deps.Xorg_libXrender_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "7ed9347888fac59a618302ee38216dd0379c480d" -uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.12+0" - -[[deps.Xorg_libpciaccess_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "58972370b81423fc546c56a60ed1a009450177c3" -uuid = "a65dc6b1-eb27-53a1-bb3e-dea574b5389e" -version = "0.19.0+0" - -[[deps.Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libXau_jll", "Xorg_libXdmcp_jll"] -git-tree-sha1 = "bfcaf7ec088eaba362093393fe11aa141fa15422" -uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.17.1+0" - -[[deps.Xorg_libxkbfile_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "ed756a03e95fff88d8f738ebc2849431bdd4fd1a" -uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" -version = "1.2.0+0" - -[[deps.Xorg_xkbcomp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"] -git-tree-sha1 = "801a858fc9fb90c11ffddee1801bb06a738bda9b" -uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" -version = "1.4.7+0" - -[[deps.Xorg_xkeyboard_config_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "2e59214e017a55cb87474a00fa76035c82ac0e17" -uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.47.0+2" - -[[deps.Xorg_xtrans_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "a63799ff68005991f9d9491b6e95bd3478d783cb" -uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.6.0+0" - -[[deps.YAML]] -deps = ["Base64", "Dates", "Printf", "StringEncodings"] -git-tree-sha1 = "a1c0c7585346251353cddede21f180b96388c403" -uuid = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6" -version = "0.4.16" - -[[deps.ZipFile]] -deps = ["Libdl", "Printf", "Zlib_jll"] -git-tree-sha1 = "f492b7fe1698e623024e873244f10d89c95c340a" -uuid = "a5390f91-8eb1-5f08-bee0-b1d1ffed6cea" -version = "0.10.1" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.13+1" - -[[deps.Zstd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "446b23e73536f84e8037f5dce465e92275f6a308" -uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.7+1" - -[[deps.isoband_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c" -uuid = "9a68df92-36a6-505f-a73e-abb412b6bfb4" -version = "0.2.3+0" - -[[deps.libaom_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "852795ceb802e0f375e749d07ae97ba1179ebfcb" -uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" -version = "3.13.3+1" - -[[deps.libass_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "125eedcb0a4a0bba65b657251ce1d27c8714e9d6" -uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.17.4+0" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.11.0+0" - -[[deps.libdecor_jll]] -deps = ["Artifacts", "Dbus_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pango_jll", "Wayland_jll", "xkbcommon_jll"] -git-tree-sha1 = "9bf7903af251d2050b467f76bdbe57ce541f7f4f" -uuid = "1183f4f0-6f2a-5f1a-908b-139f9cdfea6f" -version = "0.2.2+0" - -[[deps.libdrm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libpciaccess_jll"] -git-tree-sha1 = "28e57478e8a160d346a19c28b3fffb9273bcc9c2" -uuid = "8e53e030-5e6c-5a89-a30b-be5b7263a166" -version = "2.4.134+0" - -[[deps.libfdk_aac_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "646634dd19587a56ee2f1199563ec056c5f228df" -uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.4+0" - -[[deps.libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "e51150d5ab85cee6fc36726850f0e627ad2e4aba" -uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.58+0" - -[[deps.libsixel_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "libpng_jll"] -git-tree-sha1 = "c1733e347283df07689d71d61e14be986e49e47a" -uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" -version = "1.10.5+0" - -[[deps.libva_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll", "Xorg_libXfixes_jll", "libdrm_jll"] -git-tree-sha1 = "7dbf96baae3310fe2fa0df0ccbb3c6288d5816c9" -uuid = "9a156e7d-b971-5f62-b2c9-67348b8fb97c" -version = "2.23.0+0" - -[[deps.libvorbis_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll"] -git-tree-sha1 = "11e1772e7f3cc987e9d3de991dd4f6b2602663a5" -uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.8+0" - -[[deps.libwebp_jll]] -deps = ["Artifacts", "Giflib_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libglvnd_jll", "Libtiff_jll", "libpng_jll"] -git-tree-sha1 = "4e4282c4d846e11dce56d74fa8040130b7a95cb3" -uuid = "c5f90fcd-3b7e-5836-afba-fc50a0988cb2" -version = "1.6.0+0" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.59.0+0" - -[[deps.oneTBB_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl"] -git-tree-sha1 = "da8c1f6eee04831f14edcfa5dae611d309807e57" -uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e" -version = "2022.3.0+0" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+2" - -[[deps.x264_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "14cc7083fc6dff3cc44f2bc435ee96d06ed79aa7" -uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "10164.0.1+0" - -[[deps.x265_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e7b67590c14d487e734dcb925924c5dc43ec85f3" -uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" -version = "4.1.0+0" - -[[deps.xkbcommon_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] -git-tree-sha1 = "a1fc6507a40bf504527d0d4067d718f8e179b2b8" -uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" -version = "1.13.0+0" diff --git a/Project.toml b/Project.toml index 10e79dc6c..b082aade5 100644 --- a/Project.toml +++ b/Project.toml @@ -65,4 +65,4 @@ Statistics = "1" Sundials = "4.24, 5.1" Suppressor = "0.2.8" WinchModels = "0.3.9" -julia = "1.11, 1.12, 1.13" +julia = "1.12, 1.13" diff --git a/README.md b/README.md index 72de2c4e7..1271f9f5f 100644 --- a/README.md +++ b/README.md @@ -109,7 +109,7 @@ If you now launch Julia with `./bin/run_julia` and then run the above example ag ## Installation from git -Install [Julia 1.11](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html), if you haven't already. Julia 1.10 and 1.12 are also supported, but the performance is worse. On Linux, make sure that Python3 and Matplotlib are installed: +Install [Julia 1.12](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html), if you haven't already. Julia 1.13 is also supported. On Linux, make sure that Python3 and Matplotlib are installed: ```bash sudo apt install python3-matplotlib diff --git a/bin/install b/bin/install index e14ff2e51..b0b3cd9d7 100755 --- a/bin/install +++ b/bin/install @@ -48,7 +48,7 @@ if ! command -v juliaup &> /dev/null; then echo "Error: juliaup is not installed. Please install it first." case "$(uname -s)" in Linux|Darwin) - echo " curl -fsSL https://install.julialang.org | sh -s -- --default-channel 1.11" + echo " curl -fsSL https://install.julialang.org | sh -s -- --default-channel 1.12" ;; MINGW*|MSYS*|CYGWIN*) echo " winget install --name Julia --id 9NJNWW8PVKMN -e -s msstore" @@ -76,17 +76,13 @@ fi unset _required_kb _available_kb _available_gb # Ask which Julia version to use -# Default to the newest of 1.13/1.12 if it is already installed and is the current default, -# otherwise fall back to 1.11 +# Default to 1.13 if it is already installed and is the current default, otherwise 1.12 if juliaup status 2>/dev/null | grep '^\s*\*' | grep -q '1\.13'; then - _default_choice=3 - _default_julia="1.13" -elif juliaup status 2>/dev/null | grep '^\s*\*' | grep -q '1\.12'; then _default_choice=2 - _default_julia="1.12" + _default_julia="1.13" else _default_choice=1 - _default_julia="1.11" + _default_julia="1.12" fi if [[ $_yes_to_all == true ]]; then @@ -94,27 +90,23 @@ if [[ $_yes_to_all == true ]]; then echo "Using Julia version: ${_default_julia}" else echo "Which Julia version do you want to use?" - echo " 1) Julia 1.11" - echo " 2) Julia 1.12" - echo " 3) Julia 1.13" - read -rp "Enter 1, 2 or 3 [default: ${_default_choice}]: " _julia_choice + echo " 1) Julia 1.12" + echo " 2) Julia 1.13" + read -rp "Enter 1 or 2 [default: ${_default_choice}]: " _julia_choice fi case "${_julia_choice}" in 1) - _desired_julia="1.11" - ;; - 2) _desired_julia="1.12" ;; - 3) + 2) _desired_julia="1.13" ;; "") _desired_julia="${_default_julia}" ;; *) - echo "Invalid choice: '${_julia_choice}'. Please enter 1, 2 or 3." + echo "Invalid choice: '${_julia_choice}'. Please enter 1 or 2." exit 1 ;; esac @@ -169,12 +161,12 @@ if test -f "$SOFILE"; then rm -f "$SOFILE" fi -# Only accept Julia 1.11, 1.12 and 1.13 -if [[ $julia_major != "1.11" ]] && [[ $julia_major != "1.12" ]] && [[ $julia_major != "1.13" ]]; then - echo "Error: Julia $julia_major is not supported. Only Julia 1.11, 1.12 and 1.13 are supported." - echo "You can install Julia 1.11 with the following commands:" - echo "juliaup add 1.11" - echo "juliaup default 1.11" +# Only accept Julia 1.12 and 1.13 +if [[ $julia_major != "1.12" ]] && [[ $julia_major != "1.13" ]]; then + echo "Error: Julia $julia_major is not supported. Only Julia 1.12 and 1.13 are supported." + echo "You can install Julia 1.12 with the following commands:" + echo "juliaup add 1.12" + echo "juliaup default 1.12" exit 1 fi @@ -302,235 +294,116 @@ echo "Precompiling main project..." run_precompile "--project" # Instantiate all sub-projects: examples, test, examples_3d, docs -if [[ $julia_major == "1.11" ]]; then - echo "Instantiating examples and test project for Julia $julia_major..." - # Resolve sub-projects independently to avoid version conflicts when the main - # manifest contains versions newer than the local registry snapshot. - rm -f examples/Manifest*.toml test/Manifest*.toml examples_3d/Manifest*.toml - cp Manifest-v1.11.toml examples/Manifest-v1.11.toml - cp Manifest-v1.11.toml test/Manifest-v1.11.toml - cp Manifest-v1.11.toml examples_3d/Manifest-v1.11.toml - _ec=0; julia --project=examples -e ' +echo "Julia $julia_major: instantiating all sub-projects..." +# Resolve sub-projects independently to avoid version conflicts when the main +# manifest contains versions newer than the local registry snapshot. +rm -f examples/Manifest*.toml test/Manifest*.toml examples_3d/Manifest*.toml +_ec=0; julia --project=examples -e ' using Pkg try - Pkg.resolve() - Pkg.instantiate() +Pkg.resolve() +Pkg.instantiate() catch e - @warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e - proj_dir = dirname(Base.active_project()) - for f in readdir(proj_dir) - if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") - rm(joinpath(proj_dir, f), force=true) - end +@warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e +proj_dir = dirname(Base.active_project()) +for f in readdir(proj_dir) + if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") + rm(joinpath(proj_dir, f), force=true) end - Pkg.resolve() - Pkg.instantiate() - exit(2) end -' || _ec=$? - if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("examples (1.11)") - elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("examples (1.11)"); fi - echo "Precompiling examples project..." - run_precompile "--project=examples" - _ec=0; julia --project=test -e ' -using Pkg -try - Pkg.resolve() - Pkg.instantiate() -catch e - @warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e - proj_dir = dirname(Base.active_project()) - for f in readdir(proj_dir) - if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") - rm(joinpath(proj_dir, f), force=true) - end - end - Pkg.resolve() - Pkg.instantiate() - exit(2) +Pkg.resolve() +Pkg.instantiate() +exit(2) end ' || _ec=$? - if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("test (1.11)") - elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("test (1.11)"); fi - echo "Precompiling test project and running the tests..." - run_precompile "--project=test" - julia --project -e 'using Pkg; Pkg.test()' - _ec=0; julia --project=examples_3d -e ' +if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("examples (1.12)") +elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("examples (1.12)"); fi +echo "Precompiling examples project..." +run_precompile "--project=examples" +_ec=0; julia --project=test -e ' using Pkg try - Pkg.resolve() - Pkg.instantiate() +Pkg.resolve() +Pkg.instantiate() catch e - @warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e - proj_dir = dirname(Base.active_project()) - for f in readdir(proj_dir) - if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") - rm(joinpath(proj_dir, f), force=true) - end +@warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e +proj_dir = dirname(Base.active_project()) +for f in readdir(proj_dir) + if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") + rm(joinpath(proj_dir, f), force=true) end - Pkg.resolve() - Pkg.instantiate() - exit(2) end -' || _ec=$? - if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("examples_3d (1.11)") - elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("examples_3d (1.11)"); fi - echo "Precompiling examples_3d project..." - run_precompile "--project=examples_3d" - - # Rename the manifest file to version-specific name - if [ -f "examples/Manifest.toml" ]; then - mv examples/Manifest.toml examples/Manifest-v${julia_major}.toml - echo "Renamed examples/Manifest.toml to examples/Manifest-v${julia_major}.toml" - fi - if [ -f "test/Manifest.toml" ]; then - mv test/Manifest.toml test/Manifest-v${julia_major}.toml - echo "Renamed test/Manifest.toml to test/Manifest-v${julia_major}.toml" - fi - if [ -f "examples_3d/Manifest.toml" ]; then - mv examples_3d/Manifest.toml examples_3d/Manifest-v${julia_major}.toml - echo "Renamed examples_3d/Manifest.toml to examples_3d/Manifest-v${julia_major}.toml" - fi - # Docs resolves independently (different dep tree; seeding from main causes missing extensions) - rm -f docs/Manifest*.toml - _ec=0; julia --project=docs -e ' -using Pkg -try - Pkg.resolve() - Pkg.instantiate() -catch e - @warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e - proj_dir = dirname(Base.active_project()) - for f in readdir(proj_dir) - if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") - rm(joinpath(proj_dir, f), force=true) - end - end - Pkg.resolve() - Pkg.instantiate() - exit(2) +Pkg.resolve() +Pkg.instantiate() +exit(2) end ' || _ec=$? - if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("docs (1.11)") - elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("docs (1.11)"); fi - echo "Precompiling docs project..." - run_precompile "--project=docs" - if [ -f "docs/Manifest.toml" ]; then - mv docs/Manifest.toml docs/Manifest-v${julia_major}.toml - echo "Renamed docs/Manifest.toml to docs/Manifest-v${julia_major}.toml" - fi -else - echo "Julia $julia_major: instantiating all sub-projects..." - # Resolve sub-projects independently to avoid version conflicts when the main - # manifest contains versions newer than the local registry snapshot. - rm -f examples/Manifest*.toml test/Manifest*.toml examples_3d/Manifest*.toml - _ec=0; julia --project=examples -e ' +if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("test (1.12)") +elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("test (1.12)"); fi +echo "Precompiling test project and running the tests..." +run_precompile "--project=test" +julia --project -e 'using Pkg; Pkg.test()' +echo "Precompiling examples_3d project..." +_ec=0; julia --project=examples_3d -e ' using Pkg try - Pkg.resolve() - Pkg.instantiate() +Pkg.resolve() +Pkg.instantiate() catch e - @warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e - proj_dir = dirname(Base.active_project()) - for f in readdir(proj_dir) - if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") - rm(joinpath(proj_dir, f), force=true) - end +@warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e +proj_dir = dirname(Base.active_project()) +for f in readdir(proj_dir) + if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") + rm(joinpath(proj_dir, f), force=true) end - Pkg.resolve() - Pkg.instantiate() - exit(2) end -' || _ec=$? - if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("examples (1.12)") - elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("examples (1.12)"); fi - echo "Precompiling examples project..." - run_precompile "--project=examples" - _ec=0; julia --project=test -e ' -using Pkg -try - Pkg.resolve() - Pkg.instantiate() -catch e - @warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e - proj_dir = dirname(Base.active_project()) - for f in readdir(proj_dir) - if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") - rm(joinpath(proj_dir, f), force=true) - end - end - Pkg.resolve() - Pkg.instantiate() - exit(2) +Pkg.resolve() +Pkg.instantiate() +exit(2) end ' || _ec=$? - if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("test (1.12)") - elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("test (1.12)"); fi - echo "Precompiling test project and running the tests..." - run_precompile "--project=test" - julia --project -e 'using Pkg; Pkg.test()' - echo "Precompiling examples_3d project..." - _ec=0; julia --project=examples_3d -e ' +if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("examples_3d (1.12)") +elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("examples_3d (1.12)"); fi +run_precompile "--project=examples_3d" +# Docs resolves independently (different dep tree; seeding from main causes missing extensions) +rm -f docs/Manifest*.toml +_ec=0; julia --project=docs -e ' using Pkg try - Pkg.resolve() - Pkg.instantiate() +Pkg.resolve() +Pkg.instantiate() catch e - @warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e - proj_dir = dirname(Base.active_project()) - for f in readdir(proj_dir) - if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") - rm(joinpath(proj_dir, f), force=true) - end +@warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e +proj_dir = dirname(Base.active_project()) +for f in readdir(proj_dir) + if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") + rm(joinpath(proj_dir, f), force=true) end - Pkg.resolve() - Pkg.instantiate() - exit(2) end -' || _ec=$? - if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("examples_3d (1.12)") - elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("examples_3d (1.12)"); fi - run_precompile "--project=examples_3d" - # Docs resolves independently (different dep tree; seeding from main causes missing extensions) - rm -f docs/Manifest*.toml - _ec=0; julia --project=docs -e ' -using Pkg -try - Pkg.resolve() - Pkg.instantiate() -catch e - @warn "Pkg.resolve()/instantiate() failed, attempting clean resolve..." exception=e - proj_dir = dirname(Base.active_project()) - for f in readdir(proj_dir) - if startswith(f, "Manifest") && endswith(f, ".toml") && !endswith(f, ".default") - rm(joinpath(proj_dir, f), force=true) - end - end - Pkg.resolve() - Pkg.instantiate() - exit(2) +Pkg.resolve() +Pkg.instantiate() +exit(2) end ' || _ec=$? - if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("docs (1.12)") - elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("docs (1.12)"); fi - echo "Precompiling docs project..." - run_precompile "--project=docs" - if [ -f "examples/Manifest.toml" ]; then - mv examples/Manifest.toml examples/Manifest-v${julia_major}.toml - echo "Renamed examples/Manifest.toml to examples/Manifest-v${julia_major}.toml" - fi - if [ -f "test/Manifest.toml" ]; then - mv test/Manifest.toml test/Manifest-v${julia_major}.toml - echo "Renamed test/Manifest.toml to test/Manifest-v${julia_major}.toml" - fi - if [ -f "examples_3d/Manifest.toml" ]; then - mv examples_3d/Manifest.toml examples_3d/Manifest-v${julia_major}.toml - echo "Renamed examples_3d/Manifest.toml to examples_3d/Manifest-v${julia_major}.toml" - fi - if [ -f "docs/Manifest.toml" ]; then - mv docs/Manifest.toml docs/Manifest-v${julia_major}.toml - echo "Renamed docs/Manifest.toml to docs/Manifest-v${julia_major}.toml" - fi +if [[ $_ec -eq 2 ]]; then RETRIED_RESOLVES+=("docs (1.12)") +elif [[ $_ec -ne 0 ]]; then FAILED_RESOLVES+=("docs (1.12)"); fi +echo "Precompiling docs project..." +run_precompile "--project=docs" +if [ -f "examples/Manifest.toml" ]; then + mv examples/Manifest.toml examples/Manifest-v${julia_major}.toml + echo "Renamed examples/Manifest.toml to examples/Manifest-v${julia_major}.toml" +fi +if [ -f "test/Manifest.toml" ]; then + mv test/Manifest.toml test/Manifest-v${julia_major}.toml + echo "Renamed test/Manifest.toml to test/Manifest-v${julia_major}.toml" +fi +if [ -f "examples_3d/Manifest.toml" ]; then + mv examples_3d/Manifest.toml examples_3d/Manifest-v${julia_major}.toml + echo "Renamed examples_3d/Manifest.toml to examples_3d/Manifest-v${julia_major}.toml" +fi +if [ -f "docs/Manifest.toml" ]; then + mv docs/Manifest.toml docs/Manifest-v${julia_major}.toml + echo "Renamed docs/Manifest.toml to docs/Manifest-v${julia_major}.toml" fi julia --project=examples -e 'using MakieControlPlots, DSP' || true julia --project=examples_3d -e 'using MakieControlPlots' || true diff --git a/bin/update_default_manifest b/bin/update_default_manifest index 73258f9f2..f72fae1cd 100755 --- a/bin/update_default_manifest +++ b/bin/update_default_manifest @@ -7,26 +7,26 @@ if [[ $(basename $(pwd)) == "bin" ]]; then fi # Ask which Julia version to use -# Default to 1.12 if it is already installed and is the current default, otherwise 1.11 -if juliaup status 2>/dev/null | grep '^\s*\*' | grep -q '1\.12'; then +# Default to 1.13 if it is already installed and is the current default, otherwise 1.12 +if juliaup status 2>/dev/null | grep '^\s*\*' | grep -q '1\.13'; then _default_choice=2 - _default_julia="1.12" + _default_julia="1.13" else _default_choice=1 - _default_julia="1.11" + _default_julia="1.12" fi echo "Which Julia version do you want to update the manifest for?" -echo " 1) Julia 1.11" -echo " 2) Julia 1.12" +echo " 1) Julia 1.12" +echo " 2) Julia 1.13" read -rp "Enter 1 or 2 [default: ${_default_choice}]: " _julia_choice case "${_julia_choice}" in 1) - _desired_julia="1.11" + _desired_julia="1.12" ;; 2) - _desired_julia="1.12" + _desired_julia="1.13" ;; "") _desired_julia="${_default_julia}" @@ -53,12 +53,6 @@ if [[ $julia_major == "1.1" ]]; then fi cd .. -if [[ $julia_major == "1.11" ]]; then - cp examples/Manifest-v1.11.toml Manifest-v1.11.toml.default - rm -rf ~/.julia/compiled/v1.11/KiteModels/ - echo "Updated Manifest-v1.11.toml.default !" -else - cp Manifest-v1.12.toml Manifest-v1.12.toml.default - rm -rf ~/.julia/compiled/v1.12/KiteModels/ - echo "Updated Manifest-v1.12.toml.default !" -fi \ No newline at end of file +cp Manifest-v${julia_major}.toml Manifest-v${julia_major}.toml.default +rm -rf ~/.julia/compiled/v${julia_major}/KiteModels/ +echo "Updated Manifest-v${julia_major}.toml.default !" \ No newline at end of file diff --git a/docs/src/index.md b/docs/src/index.md index 3a66b57c8..9b94be2a6 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -22,7 +22,7 @@ If you want to run simulations and see the results in 3D, please install the met ## Installation as package -Install [Julia 1.12](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html), if you haven't already. Julia 1.10 and 1.12 are also supported, but the performance is worse. On Linux, make sure that Python3 and Matplotlib are installed: +Install [Julia 1.12](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html), if you haven't already. Julia 1.13 is also supported. On Linux, make sure that Python3 and Matplotlib are installed: Make sure that `MakieControlPlots.jl` works as explained in the [installation instructions](https://github.com/OpenSourceAWE/MakieControlPlots.jl#installation). @@ -74,7 +74,7 @@ times faster. ## Installation from git -Install [Julia 1.11](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html), if you haven't already. Julia 1.10 and 1.12 are also supported, but the performance is worse. On Linux, make sure that Python3 and Matplotlib are installed: +Install [Julia 1.12](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html), if you haven't already. Julia 1.13 is also supported. On Linux, make sure that Python3 and Matplotlib are installed: ```bash sudo apt install python3-matplotlib diff --git a/docs/src/open_source_awe.md b/docs/src/open_source_awe.md index 0cf874499..bad7dc575 100644 --- a/docs/src/open_source_awe.md +++ b/docs/src/open_source_awe.md @@ -14,7 +14,7 @@ The goal of the workshop is, that you get an overview which open source software If possible, try to do the following steps before attending the workshop: - Make sure you have the software "Git" installed. You can download it from the [Git website](https://git-scm.com/install/windows). During installation, select VSCode (or your preferred editor) as editor and select bash as your preferred terminal. -- Install [Julia 1.11 and VSCode](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html). VSCode is optional, but it is nice to read the examples and the configuration files. You can also use any other IDE or editor if you prefer something else. +- Install [Julia 1.12 and VSCode](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html). VSCode is optional, but it is nice to read the examples and the configuration files. You can also use any other IDE or editor if you prefer something else. Linux, Windows and MacOS are supported. diff --git a/docs/src/quickstart.md b/docs/src/quickstart.md index ae5b8d9f4..bea618ad9 100644 --- a/docs/src/quickstart.md +++ b/docs/src/quickstart.md @@ -19,8 +19,8 @@ Please download and install Julia using `juliaup`. Launch the `Command Prompt` a ```bash winget install julia -s msstore -juliaup add 1.11 -juliaup default 1.11 +juliaup add 1.12 +juliaup default 1.12 juliaup update ``` @@ -50,8 +50,8 @@ curl -fsSL https://install.julialang.org | sh Restart your terminal, and then execute: ```bash -juliaup add 1.11 -juliaup default 1.11 +juliaup add 1.12 +juliaup default 1.12 juliaup update ``` @@ -79,9 +79,9 @@ Please download and install `juliaup` as explained at Date: Sun, 27 Sep 2026 13:35:43 +0200 Subject: [PATCH 6/7] Build on KiteUtils 0.13: fromKS2KA names, KiteViewers from #56's branch MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - fromKS2KA / fromKS2KA_body / fromENU2NED replace the names KiteUtils 0.13 did not ship; calc_heading(s) hands it a KA attitude. - examples_3d and test take KiteViewers from OpenSourceAWE/KiteViewers.jl#56's branch until a release accepts KiteUtils 0.13. - Minimal resolve on 1.12 and 1.13: KiteUtils 0.12.2 -> 0.13.1, WinchModels 0.3.10 -> 0.3.11, nothing else. - Tests assert the KA orientation, euler_KS round trip and KA turn rate; the parking examples stop overwriting sys_state.orient with KS and plot the KS body rate next to heading_rate. - test-kps3: heading at azimuth 0 is checked modulo 2π; ≈ 0 had no absolute tolerance and failed on 2.8e-17. - calc_orient_quat is on the functions page. Co-Authored-By: Claude Opus 5.5 --- Manifest-v1.12.toml.default | 14 ++++++++------ Manifest-v1.13.toml.default | 15 ++++++++------- changelog.d/frame-unification.md | 16 ++++++++++++++++ docs/Project.toml | 4 ++-- docs/src/functions.md | 1 + examples_3d/Project.toml | 3 ++- examples_3d/parking_4p.jl | 2 +- examples_3d/parking_wind_dir.jl | 3 +-- src/KiteModels.jl | 15 +++++++-------- test/Project.toml | 1 + test/test-kps3.jl | 2 +- test/test-update-sys-state.jl | 7 ++++--- 12 files changed, 52 insertions(+), 31 deletions(-) create mode 100644 changelog.d/frame-unification.md diff --git a/Manifest-v1.12.toml.default b/Manifest-v1.12.toml.default index e85cacf19..db6dd2dc9 100644 --- a/Manifest-v1.12.toml.default +++ b/Manifest-v1.12.toml.default @@ -2,7 +2,7 @@ julia_version = "1.12.7" manifest_format = "2.0" -project_hash = "068969a070b877bcfba45d0237bc7e757f7a854c" +project_hash = "7fa68248091909e6b258f24b10b79a5fa3ba472d" [[deps.ADTypes]] git-tree-sha1 = "5970c86505ae9c07bf5bc521ef2bbbb3849e8b7b" @@ -1363,13 +1363,15 @@ version = "0.4.2" [[deps.KiteUtils]] deps = ["Arrow", "CSV", "DocStringExtensions", "LinearAlgebra", "OrderedCollections", "Parameters", "Parsers", "Pkg", "PrecompileTools", "RecursiveArrayTools", "ReferenceFrameRotations", "Rotations", "StaticArrays", "StructArrays", "StructTypes", "YAML"] -git-tree-sha1 = "fbeb8355b4797ffc263320be2dc74dcdbe9310fc" +git-tree-sha1 = "85b4f730bf098b5afc796daa11dd8fde66a1db2c" uuid = "90980105-b163-44e5-ba9f-8b1c83bb0533" -version = "0.12.2" +version = "0.13.1" [[deps.KiteViewers]] deps = ["FileIO", "GLMakie", "GeometryBasics", "Joysticks", "KiteUtils", "LinearAlgebra", "Parameters", "Pkg", "PrecompileTools", "Printf", "Reexport", "Rotations", "StaticArrays", "StructArrays", "Timers"] -git-tree-sha1 = "ba3472753e0fda3b2436936ad12c763c9fd660b7" +git-tree-sha1 = "503f9eaaaae53811443a59a88f5bfd472bd6a66c" +repo-rev = "agent/54-update-kiteutils" +repo-url = "https://github.com/OpenSourceAWE/KiteViewers.jl" uuid = "2e593061-95e7-45e4-95f4-df0491f2e601" version = "0.6.0" @@ -3045,9 +3047,9 @@ version = "0.1.3" [[deps.WinchModels]] deps = ["DiscretePIDs", "KiteUtils", "Parameters"] -git-tree-sha1 = "37639f176a3de26105bfdc0c0ce2233a3893160b" +git-tree-sha1 = "f05155fcc1f1daa48442277021464b24988970a5" uuid = "7dcfa46b-7979-4771-bbf4-0aee0da42e1f" -version = "0.3.10" +version = "0.3.11" [[deps.WoodburyMatrices]] deps = ["LinearAlgebra", "SparseArrays"] diff --git a/Manifest-v1.13.toml.default b/Manifest-v1.13.toml.default index 3822798c6..f8e9a64b3 100644 --- a/Manifest-v1.13.toml.default +++ b/Manifest-v1.13.toml.default @@ -2,7 +2,7 @@ julia_version = "1.13.0" manifest_format = "2.1" -project_hash = "068969a070b877bcfba45d0237bc7e757f7a854c" +project_hash = "7fa68248091909e6b258f24b10b79a5fa3ba472d" [[deps.ADTypes]] git-tree-sha1 = "5970c86505ae9c07bf5bc521ef2bbbb3849e8b7b" @@ -1523,15 +1523,16 @@ version = "0.4.2" [[deps.KiteUtils]] deps = ["Arrow", "CSV", "DocStringExtensions", "LinearAlgebra", "OrderedCollections", "Parameters", "Parsers", "Pkg", "PrecompileTools", "RecursiveArrayTools", "ReferenceFrameRotations", "Rotations", "StaticArrays", "StructArrays", "StructTypes", "YAML"] -git-tree-sha1 = "fbeb8355b4797ffc263320be2dc74dcdbe9310fc" +git-tree-sha1 = "85b4f730bf098b5afc796daa11dd8fde66a1db2c" registries = "General" uuid = "90980105-b163-44e5-ba9f-8b1c83bb0533" -version = "0.12.2" +version = "0.13.1" [[deps.KiteViewers]] deps = ["FileIO", "GLMakie", "GeometryBasics", "Joysticks", "KiteUtils", "LinearAlgebra", "Parameters", "Pkg", "PrecompileTools", "Printf", "Reexport", "Rotations", "StaticArrays", "StructArrays", "Timers"] -git-tree-sha1 = "ba3472753e0fda3b2436936ad12c763c9fd660b7" -registries = "General" +git-tree-sha1 = "503f9eaaaae53811443a59a88f5bfd472bd6a66c" +repo-rev = "agent/54-update-kiteutils" +repo-url = "https://github.com/OpenSourceAWE/KiteViewers.jl" uuid = "2e593061-95e7-45e4-95f4-df0491f2e601" version = "0.6.0" @@ -3385,10 +3386,10 @@ version = "0.1.3" [[deps.WinchModels]] deps = ["DiscretePIDs", "KiteUtils", "Parameters"] -git-tree-sha1 = "37639f176a3de26105bfdc0c0ce2233a3893160b" +git-tree-sha1 = "f05155fcc1f1daa48442277021464b24988970a5" registries = "General" uuid = "7dcfa46b-7979-4771-bbf4-0aee0da42e1f" -version = "0.3.10" +version = "0.3.11" [[deps.WoodburyMatrices]] deps = ["LinearAlgebra", "SparseArrays"] diff --git a/changelog.d/frame-unification.md b/changelog.d/frame-unification.md new file mode 100644 index 000000000..e0b6a9b9b --- /dev/null +++ b/changelog.d/frame-unification.md @@ -0,0 +1,16 @@ + +### Changed +- BREAKING: the quaternion written to `SysState` is `KA` (aft-right-up, against ENU), + the convention KiteUtils 0.13 stores. The model itself is unchanged: `kite_ref_frame` + and `calc_orient_quat` stay `KS`, and `update_sys_state!` converts at the boundary. +- BREAKING: `roll`, `pitch` and `yaw` are no longer written to `SysState`, which + dropped them in KiteUtils 0.13. `orient_euler(s)` still reports them, against + NED, and `euler_KS(ss.orient)` recovers them from a state or a log. +- `turn_rates` is `KA`, so the z component has the opposite sign to before. +- `calc_heading(s)` passes the quaternion rather than Euler angles, skipping a + round trip through `quat2euler`. The angle is unchanged. +- Requires KiteUtils 0.13 and Julia 1.12 or 1.13: the WinchModels and AtmosphericModels + releases that accept KiteUtils 0.13 no longer support Julia 1.11. diff --git a/docs/Project.toml b/docs/Project.toml index 6b715112a..3fb478188 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -13,6 +13,6 @@ KiteModels = {path = ".."} [compat] Documenter = "1.11" KitePodModels = "0.4" -KiteUtils = "0.7, 0.8, 0.9, 0.10, 0.11, 0.12" +KiteUtils = "0.7, 0.8, 0.9, 0.10, 0.11, 0.12, 0.13" OpenSSL_jll = "3.0.0" -julia = "1.10, 1.11, 1.12, 1.13" +julia = "1.12, 1.13" diff --git a/docs/src/functions.md b/docs/src/functions.md index 29ebae857..6c9900010 100644 --- a/docs/src/functions.md +++ b/docs/src/functions.md @@ -56,6 +56,7 @@ lift_over_drag v_wind_kite kite_ref_frame orient_euler +calc_orient_quat states SysState ``` diff --git a/examples_3d/Project.toml b/examples_3d/Project.toml index f6766aa61..b7bad1d84 100644 --- a/examples_3d/Project.toml +++ b/examples_3d/Project.toml @@ -21,9 +21,10 @@ Timers = "21f18d07-b854-4dab-86f0-c15a3821819a" [sources] KiteModels = {path = ".."} +KiteViewers = {url = "https://github.com/OpenSourceAWE/KiteViewers.jl", rev = "agent/54-update-kiteutils"} [compat] MakieControlPlots = "0.1.4" KiteModels = "0.11.0" KiteViewers = "0.5.1, 0.6" -julia = "1.10, 1.11, 1.12, 1.13" +julia = "1.12, 1.13" diff --git a/examples_3d/parking_4p.jl b/examples_3d/parking_4p.jl index c6691be86..a995234ec 100644 --- a/examples_3d/parking_4p.jl +++ b/examples_3d/parking_4p.jl @@ -88,7 +88,7 @@ function simulate(integrator, steps, plot = PLOT) end update_sys_state!(sys_state, kps4) heading_rate[i] = sys_state.heading_rate - body_rate[i] = sys_state.turn_rates[3] + body_rate[i] = fromKA2KS_body(sys_state.turn_rates)[3] KiteViewers.update_system(viewer, sys_state; scale = 0.08, kite_scale = 3) if i == 1 bring_viewer_to_front() diff --git a/examples_3d/parking_wind_dir.jl b/examples_3d/parking_wind_dir.jl index 795f31a91..23c8d1a41 100644 --- a/examples_3d/parking_wind_dir.jl +++ b/examples_3d/parking_wind_dir.jl @@ -146,13 +146,12 @@ function sim_parking(integrator) t_gc_tot += @elapsed GC.gc(false) end update_sys_state!(sys_state, kps4) - sys_state.orient .= calc_orient_quat(kps4) T[i] = dt * i AZIMUTH[i] = sys_state.azimuth AZIMUTH_EAST[i] = calc_azimuth_east(kps4) HEADING[i] = wrap2pi(sys_state.heading) HEADING_RATE[i] = sys_state.heading_rate - BODY_RATE[i] = sys_state.turn_rates[3] + BODY_RATE[i] = fromKA2KS_body(sys_state.turn_rates)[3] if mod(i, TIME_LAPSE_RATIO) == 0 if KiteUtils.PROJECT == "system.yaml" KiteViewers.update_system(viewer, sys_state; scale = 0.08, kite_scale=3) diff --git a/src/KiteModels.jl b/src/KiteModels.jl index a28a27e2a..f1b37a8d5 100644 --- a/src/KiteModels.jl +++ b/src/KiteModels.jl @@ -21,7 +21,6 @@ import Sundials using Pkg, Reexport import KiteUtils: init!, next_step!, update_sys_state! import KiteUtils: SysState, calc_course, calc_elevation, calc_heading -import KiteUtils: KS, KA, convert_body, convert_orientation @reexport using KitePodModels @reexport using WinchModels @reexport using AtmosphericModels @@ -330,9 +329,9 @@ function calc_orient_quat(s::AKM; viewer=false, one_point=false) rotation = rot(pos_kite_, pos_before, -x) else x, y, z = kite_ref_frame(s; one_point) # in ENU reference - x = enu2ned(x) - y = enu2ned(y) - z = enu2ned(z) + x = fromENU2NED(x) + y = fromENU2NED(y) + z = fromENU2NED(z) # reference frame for the orientation: NED (north, east, down) ax = @SVector [1, 0, 0] @@ -401,7 +400,7 @@ end Determine the heading angle of the kite in radian. """ function calc_heading(s::AKM; upwind_dir_=upwind_dir(s), neg_azimuth=false, one_point=false, respos=true) - orientation = calc_orient_quat(s; one_point) + attitude = fromKS2KA(calc_orient_quat(s; one_point)) elevation = calc_elevation(s) # use azimuth in wind reference frame if neg_azimuth @@ -409,7 +408,7 @@ function calc_heading(s::AKM; upwind_dir_=upwind_dir(s), neg_azimuth=false, one_ else azimuth = calc_azimuth(s) end - calc_heading(orientation, elevation, azimuth; frame=KS, upwind_dir=upwind_dir_, respos) + calc_heading(attitude, elevation, azimuth; upwind_dir=upwind_dir_, respos) end """ @@ -535,7 +534,7 @@ function update_sys_state!(ss::SysState, s::AKM, zoom=1.0) ss.Z[i] = pos[i][3] * zoom end # KiteModels works in KS internally; SysState is KA, so the boundary is here. - ss.orient .= convert_orientation(calc_orient_quat(s); from=KS, to=KA) + ss.orient .= fromKS2KA(calc_orient_quat(s)) ss.elevation = calc_elevation(s) new_azimuth = calc_azimuth(s) # Use shortest-angle difference to avoid artificial spikes at wrap boundaries @@ -580,7 +579,7 @@ function update_sys_state!(ss::SysState, s::AKM, zoom=1.0) # psi_m = psi - phi_dot * cos(theta) # This removes the effect of roll on the heading measurement body_rate = ss.heading_rate - ss.azimuth_rate * sin(ss.elevation) - ss.turn_rates .= convert_body(SVec3(0, 0, body_rate); from=KS, to=KA) + ss.turn_rates .= fromKS2KA_body(SVec3(0, 0, body_rate)) cl, cd = cl_cd(s) ss.CL2 = cl ss.CD2 = cd diff --git a/test/Project.toml b/test/Project.toml index d8e71ae29..743bcecb5 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -35,6 +35,7 @@ WinchModels = "7dcfa46b-7979-4771-bbf4-0aee0da42e1f" [sources] KiteModels = {path = ".."} +KiteViewers = {url = "https://github.com/OpenSourceAWE/KiteViewers.jl", rev = "agent/54-update-kiteutils"} [compat] Aqua = "0.8.11" diff --git a/test/test-kps3.jl b/test/test-kps3.jl index fd1a2232a..af3c91622 100644 --- a/test/test-kps3.jl +++ b/test/test-kps3.jl @@ -382,7 +382,7 @@ const SEGMENTS = load_settings("system.yaml").segments @test all(pos_kite(kps) .≈ [134.97402018366216, 0.0, 366.8418273480761]) @test calc_elevation(kps) .≈ 1.2182337959242815 # 69.8 deg @test calc_azimuth(kps) ≈ 0 - @test calc_heading(kps) ≈ 0 || calc_heading(kps) ≈ 2π + @test mod2pi(calc_heading(kps) + π) ≈ π calc_course(kps) # the course for vel_kite=zero is undefined, so we cannot test it end diff --git a/test/test-update-sys-state.jl b/test/test-update-sys-state.jl index 09d379bcc..ed3323987 100644 --- a/test/test-update-sys-state.jl +++ b/test/test-update-sys-state.jl @@ -50,8 +50,8 @@ end @test ss.X ≈ [pos[1] for pos in kps4.pos] @test ss.Y ≈ [pos[2] for pos in kps4.pos] @test ss.Z ≈ [pos[3] for pos in kps4.pos] - @test ss.orient ≈ calc_orient_quat(kps4) - @test [ss.roll, ss.pitch, ss.yaw] ≈ orient_euler(kps4) + @test ss.orient ≈ fromKS2KA(calc_orient_quat(kps4)) + @test SVector(euler_KS(ss.orient)) ≈ orient_euler(kps4) @test ss.vel_kite ≈ kps4.vel_kite @test ss.v_wind_gnd ≈ kps4.v_wind_gnd @test ss.v_wind_kite ≈ kps4.v_wind @@ -106,7 +106,8 @@ end @test ss.azimuth_rate ≈ wrap(azimuth_1 - azimuth_0) / dt @test ss.heading_rate ≈ wrap(heading_1 - heading_0) / dt # Erhard and Strauch (2013): the roll contribution is removed from the heading rate - @test ss.turn_rates ≈ [0, 0, ss.heading_rate - ss.azimuth_rate * sin(ss.elevation)] + @test fromKA2KS_body(ss.turn_rates) ≈ + [0, 0, ss.heading_rate - ss.azimuth_rate * sin(ss.elevation)] end @testset "update_sys_state! rates at the wrap boundary" begin From 6bf76f942b74a5709c380030f31d4a500cc96e0b Mon Sep 17 00:00:00 2001 From: 1-Bort-1 <323661610+1-Bort-1@users.noreply.github.com> Date: Mon, 28 Sep 2026 18:21:01 +0200 Subject: [PATCH 7/7] Address review: stdlib compat for 1.13, trim calc_orient_quat docstring LinearAlgebra and Pkg compat move to "1.12, 1.13" (1.13 ships 1.13.0 of both); minimal resolve moves only the project hash in each .default. Drop the inline comment that repeated the docstring, the docstring's mention of its callers, a dangling clause in docs/src/index.md and a trailing space in README.md. Co-Authored-By: Claude Opus 5.5 --- Manifest-v1.12.toml.default | 2 +- Manifest-v1.13.toml.default | 2 +- Project.toml | 4 ++-- README.md | 2 +- docs/src/index.md | 2 +- src/KiteModels.jl | 4 +--- 6 files changed, 7 insertions(+), 9 deletions(-) diff --git a/Manifest-v1.12.toml.default b/Manifest-v1.12.toml.default index db6dd2dc9..e18b79e95 100644 --- a/Manifest-v1.12.toml.default +++ b/Manifest-v1.12.toml.default @@ -2,7 +2,7 @@ julia_version = "1.12.7" manifest_format = "2.0" -project_hash = "7fa68248091909e6b258f24b10b79a5fa3ba472d" +project_hash = "6de6b155cdb5306e95f6473c3831e0dad053db33" [[deps.ADTypes]] git-tree-sha1 = "5970c86505ae9c07bf5bc521ef2bbbb3849e8b7b" diff --git a/Manifest-v1.13.toml.default b/Manifest-v1.13.toml.default index f8e9a64b3..ca9994483 100644 --- a/Manifest-v1.13.toml.default +++ b/Manifest-v1.13.toml.default @@ -2,7 +2,7 @@ julia_version = "1.13.0" manifest_format = "2.1" -project_hash = "7fa68248091909e6b258f24b10b79a5fa3ba472d" +project_hash = "6de6b155cdb5306e95f6473c3831e0dad053db33" [[deps.ADTypes]] git-tree-sha1 = "5970c86505ae9c07bf5bc521ef2bbbb3849e8b7b" diff --git a/Project.toml b/Project.toml index b082aade5..60fe071f6 100644 --- a/Project.toml +++ b/Project.toml @@ -45,7 +45,7 @@ DocStringExtensions = "0.9.4" Interpolations = "0.15.1, 0.16" KitePodModels = "0.4.0" KiteUtils = "0.13" -LinearAlgebra = "1.11, 1.12" +LinearAlgebra = "1.12, 1.13" LinearSolve = "3.59" Logging = "1.11, 1.12" NLSolversBase = "7.10.0, 8.0" @@ -55,7 +55,7 @@ OrdinaryDiffEqBDF = "1.18.0" OrdinaryDiffEqCore = "1.23.0, 3.6.0" OrdinaryDiffEqNonlinearSolve = "1.6.1" Parameters = "0.12, 0.13" -Pkg = "1.11, 1.12" +Pkg = "1.12, 1.13" PrecompileTools = "1.2, 1.3" REPL = "1.11.0, 1.12.0" Reexport = "1.1, 1.2" diff --git a/README.md b/README.md index 1271f9f5f..8e9e387e5 100644 --- a/README.md +++ b/README.md @@ -58,7 +58,7 @@ If you want to run simulations and see the results in 3D, please install the met ## Installation as package -If possible, install [Julia 1.12](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html), if you haven't already. +If possible, install [Julia 1.12](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html), if you haven't already. Make sure that `MakieControlPlots.jl` works as explained in the [MakieControlPlots.jl installation instructions](https://github.com/OpenSourceAWE/MakieControlPlots.jl#installation). diff --git a/docs/src/index.md b/docs/src/index.md index 9b94be2a6..d48a26902 100644 --- a/docs/src/index.md +++ b/docs/src/index.md @@ -22,7 +22,7 @@ If you want to run simulations and see the results in 3D, please install the met ## Installation as package -Install [Julia 1.12](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html), if you haven't already. Julia 1.13 is also supported. On Linux, make sure that Python3 and Matplotlib are installed: +Install [Julia 1.12](https://ufechner7.github.io/2024/08/09/installing-julia-with-juliaup.html), if you haven't already. Julia 1.13 is also supported. Make sure that `MakieControlPlots.jl` works as explained in the [installation instructions](https://github.com/OpenSourceAWE/MakieControlPlots.jl#installation). diff --git a/src/KiteModels.jl b/src/KiteModels.jl index f1b37a8d5..0c21b19b8 100644 --- a/src/KiteModels.jl +++ b/src/KiteModels.jl @@ -317,8 +317,7 @@ end """ calc_orient_quat(s::AKM; viewer=false, one_point=false) -Orientation of the kite as a quaternion in the `KS` convention, the frame the model -itself works in. `SysState` stores `KA`; `update_sys_state!` converts. +Orientation of the kite as a quaternion in the `KS` convention (against NED). """ function calc_orient_quat(s::AKM; viewer=false, one_point=false) if viewer @@ -533,7 +532,6 @@ function update_sys_state!(ss::SysState, s::AKM, zoom=1.0) ss.Y[i] = pos[i][2] * zoom ss.Z[i] = pos[i][3] * zoom end - # KiteModels works in KS internally; SysState is KA, so the boundary is here. ss.orient .= fromKS2KA(calc_orient_quat(s)) ss.elevation = calc_elevation(s) new_azimuth = calc_azimuth(s)