From e03c2d171ee7c7f71cadb95155e038792b16a507 Mon Sep 17 00:00:00 2001 From: Charles Kawczynski Date: Sat, 5 Aug 2023 10:17:41 -0700 Subject: [PATCH 1/3] Remove dependence on DiffEqBase --- examples/Manifest.toml | 2 +- examples/Project.toml | 1 - examples/column/bb_fct_advection.jl | 1 - examples/column/zalesak_fct_advection.jl | 1 - examples/hybrid/box/limiters_advection.jl | 1 - examples/hybrid/driver.jl | 2 +- examples/hybrid/ode_config.jl | 6 +++--- examples/hybrid/sphere/hadley_circulation.jl | 1 - examples/plane/limiters_advection.jl | 1 - examples/sphere/shallow_water_cuda.jl | 2 +- perf/Manifest.toml | 2 +- perf/Project.toml | 1 - test/Project.toml | 1 - 13 files changed, 7 insertions(+), 15 deletions(-) diff --git a/examples/Manifest.toml b/examples/Manifest.toml index 46f06ebcfd..4b4cb0e272 100644 --- a/examples/Manifest.toml +++ b/examples/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.8.5" manifest_format = "2.0" -project_hash = "f83a9db1f18fcdbfe5617cfdec71fc6f7394c4c2" +project_hash = "037057f753be71d701aa4d6f94452110f8465205" [[deps.ADTypes]] git-tree-sha1 = "f5c25e8a5b29b5e941b7408bc8cc79fea4d9ef9a" diff --git a/examples/Project.toml b/examples/Project.toml index 4ba15938ea..40b412d190 100644 --- a/examples/Project.toml +++ b/examples/Project.toml @@ -9,7 +9,6 @@ ClimaCoreTempestRemap = "d934ef94-cdd4-4710-83d6-720549644b70" ClimaCoreVTK = "c8b6d40d-e815-466f-95ae-c48aefa668fa" ClimaTimeSteppers = "595c0a79-7f3d-439a-bc5a-b232dc3bde79" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" -DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e" DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def" DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" diff --git a/examples/column/bb_fct_advection.jl b/examples/column/bb_fct_advection.jl index 746ed3792e..fd3de087e9 100644 --- a/examples/column/bb_fct_advection.jl +++ b/examples/column/bb_fct_advection.jl @@ -1,7 +1,6 @@ using Test using LinearAlgebra using OrdinaryDiffEq: ODEProblem, solve -using DiffEqBase using ClimaTimeSteppers import ClimaCore: diff --git a/examples/column/zalesak_fct_advection.jl b/examples/column/zalesak_fct_advection.jl index efc20fbf44..f88749fed0 100644 --- a/examples/column/zalesak_fct_advection.jl +++ b/examples/column/zalesak_fct_advection.jl @@ -1,7 +1,6 @@ using Test using LinearAlgebra using OrdinaryDiffEq: ODEProblem, solve -using DiffEqBase using ClimaTimeSteppers import ClimaCore: diff --git a/examples/hybrid/box/limiters_advection.jl b/examples/hybrid/box/limiters_advection.jl index daaa8155a7..10ea8db729 100644 --- a/examples/hybrid/box/limiters_advection.jl +++ b/examples/hybrid/box/limiters_advection.jl @@ -13,7 +13,6 @@ import ClimaCore: slab import ClimaCore.Geometry: ⊗ using OrdinaryDiffEq: ODEProblem, solve -using DiffEqBase using ClimaTimeSteppers import Logging diff --git a/examples/hybrid/driver.jl b/examples/hybrid/driver.jl index 8e8f423eac..4b36269951 100644 --- a/examples/hybrid/driver.jl +++ b/examples/hybrid/driver.jl @@ -216,7 +216,7 @@ if is_distributed # replace sol.u on the root processor with the global sol.u end end if ClimaComms.iamroot(comms_ctx) - sol = DiffEqBase.sensitivity_solution(sol, global_sol_u, sol.t) + sol = SciMLBase.sensitivity_solution(sol, global_sol_u, sol.t) output_file = joinpath(output_dir, "scaling_data_$(nprocs)_processes.jld2") println("writing performance data to $output_file") diff --git a/examples/hybrid/ode_config.jl b/examples/hybrid/ode_config.jl index 20b6ac9e4b..c82b2264b8 100644 --- a/examples/hybrid/ode_config.jl +++ b/examples/hybrid/ode_config.jl @@ -1,4 +1,4 @@ -import DiffEqBase +import SciMLBase import OrdinaryDiffEq as ODE import ClimaTimeSteppers as CTS @@ -23,7 +23,7 @@ is_ordinary_diffeq_newton(alg_or_tableau) = } is_imex_CTS_algo(::CTS.IMEXAlgorithm) = true -is_imex_CTS_algo(::DiffEqBase.AbstractODEAlgorithm) = false +is_imex_CTS_algo(::SciMLBase.AbstractODEAlgorithm) = false is_implicit(::ODE.OrdinaryDiffEqImplicitAlgorithm) = true is_implicit(::ODE.OrdinaryDiffEqAdaptiveImplicitAlgorithm) = true @@ -31,7 +31,7 @@ is_implicit(ode_algo) = is_imex_CTS_algo(ode_algo) is_rosenbrock(::ODE.Rosenbrock23) = true is_rosenbrock(::ODE.Rosenbrock32) = true -is_rosenbrock(::DiffEqBase.AbstractODEAlgorithm) = false +is_rosenbrock(::SciMLBase.AbstractODEAlgorithm) = false use_transform(ode_algo) = !(is_imex_CTS_algo(ode_algo) || is_rosenbrock(ode_algo)) diff --git a/examples/hybrid/sphere/hadley_circulation.jl b/examples/hybrid/sphere/hadley_circulation.jl index 949b2bf9c5..441bcb326c 100644 --- a/examples/hybrid/sphere/hadley_circulation.jl +++ b/examples/hybrid/sphere/hadley_circulation.jl @@ -16,7 +16,6 @@ import ClimaCore: import ClimaCore.Utilities: half using OrdinaryDiffEq: ODEProblem, solve -using DiffEqBase using ClimaTimeSteppers using NCDatasets, ClimaCoreTempestRemap diff --git a/examples/plane/limiters_advection.jl b/examples/plane/limiters_advection.jl index 1b8c61d9fb..0bf3a490f0 100644 --- a/examples/plane/limiters_advection.jl +++ b/examples/plane/limiters_advection.jl @@ -5,7 +5,6 @@ import ClimaCore: Domains, Fields, Geometry, Meshes, Operators, Spaces, Topologies, Limiters using OrdinaryDiffEq: ODEProblem, solve -using DiffEqBase using ClimaTimeSteppers import Logging diff --git a/examples/sphere/shallow_water_cuda.jl b/examples/sphere/shallow_water_cuda.jl index 20d2dcd8fd..19b2e925d6 100644 --- a/examples/sphere/shallow_water_cuda.jl +++ b/examples/sphere/shallow_water_cuda.jl @@ -2,7 +2,7 @@ using CUDA using ClimaComms using DocStringExtensions using LinearAlgebra -using ClimaTimeSteppers, DiffEqBase +using ClimaTimeSteppers import OrdinaryDiffEq as ODE import ClimaTimeSteppers as CTS using DiffEqCallbacks diff --git a/perf/Manifest.toml b/perf/Manifest.toml index c924905aa7..cd344e1b77 100644 --- a/perf/Manifest.toml +++ b/perf/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.8.5" manifest_format = "2.0" -project_hash = "c54aa7d0b23478422bec08435ef844c918675b5c" +project_hash = "a0e6654ac8ff86eaa046a2da8cf5fbd3959ce466" [[deps.ADTypes]] git-tree-sha1 = "f5c25e8a5b29b5e941b7408bc8cc79fea4d9ef9a" diff --git a/perf/Project.toml b/perf/Project.toml index 2c35e9fdaf..411516a089 100644 --- a/perf/Project.toml +++ b/perf/Project.toml @@ -8,7 +8,6 @@ ClimaCoreTempestRemap = "d934ef94-cdd4-4710-83d6-720549644b70" ClimaCoreVTK = "c8b6d40d-e815-466f-95ae-c48aefa668fa" ClimaTimeSteppers = "595c0a79-7f3d-439a-bc5a-b232dc3bde79" Colors = "5ae59095-9a9b-59fe-a467-6f913c188581" -DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e" DiffEqCallbacks = "459566f4-90b8-5000-8ac3-15dfb0a30def" DiffEqOperators = "9fdde737-9c7f-55bf-ade8-46b3f136cc48" DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" diff --git a/test/Project.toml b/test/Project.toml index 9351af89f0..2e21b3681b 100644 --- a/test/Project.toml +++ b/test/Project.toml @@ -10,7 +10,6 @@ ClimaComms = "3a4d1b5c-c61d-41fd-a00a-5873ba7a1b0d" ClimaCore = "d414da3d-4745-48bb-8d80-42e94e092884" Combinatorics = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" CubedSphere = "7445602f-e544-4518-8976-18f8e8ae6cdb" -DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e" FastBroadcast = "7034ab61-46d4-4ed7-9d0f-46aef9175898" ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" GFlops = "2ea8233c-34d4-5acc-88b4-02f326385bcc" From c8f2a00103f3003dd1e23de6374bdf1aa4ef46cd Mon Sep 17 00:00:00 2001 From: Charles Kawczynski Date: Sat, 5 Aug 2023 10:19:42 -0700 Subject: [PATCH 2/3] Update manifests --- benchmarks/bickleyjet/Manifest.toml | 10 +++++----- docs/Manifest.toml | 10 +++++----- examples/Manifest.toml | 10 +++++----- perf/Manifest.toml | 10 +++++----- 4 files changed, 20 insertions(+), 20 deletions(-) diff --git a/benchmarks/bickleyjet/Manifest.toml b/benchmarks/bickleyjet/Manifest.toml index 9ce13e657f..413af859b4 100644 --- a/benchmarks/bickleyjet/Manifest.toml +++ b/benchmarks/bickleyjet/Manifest.toml @@ -381,10 +381,10 @@ uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" version = "0.72.9" [[deps.GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "f61f768bf090d97c532d24b64e07b237e9bb7b6b" +deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "1596bab77f4f073a14c62424283e7ebff3072eca" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.72.9+0" +version = "0.72.9+1" [[deps.GaussQuadrature]] deps = ["SpecialFunctions"] @@ -1092,9 +1092,9 @@ version = "0.4.1" [[deps.Unitful]] deps = ["ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "Random"] -git-tree-sha1 = "1cd9b6d3f637988ca788007b7466c132feebe263" +git-tree-sha1 = "64eb17acef1d9734cf09967539818f38093d9b35" uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.16.1" +version = "1.16.2" [[deps.UnitfulLatexify]] deps = ["LaTeXStrings", "Latexify", "Unitful"] diff --git a/docs/Manifest.toml b/docs/Manifest.toml index c59b70cabb..0fb61856c1 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -694,10 +694,10 @@ uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" version = "0.72.9" [[deps.GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "f61f768bf090d97c532d24b64e07b237e9bb7b6b" +deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "1596bab77f4f073a14c62424283e7ebff3072eca" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.72.9+0" +version = "0.72.9+1" [[deps.GaussQuadrature]] deps = ["SpecialFunctions"] @@ -2121,9 +2121,9 @@ version = "0.4.1" [[deps.Unitful]] deps = ["ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "Random"] -git-tree-sha1 = "1cd9b6d3f637988ca788007b7466c132feebe263" +git-tree-sha1 = "64eb17acef1d9734cf09967539818f38093d9b35" uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.16.1" +version = "1.16.2" [[deps.UnitfulLatexify]] deps = ["LaTeXStrings", "Latexify", "Unitful"] diff --git a/examples/Manifest.toml b/examples/Manifest.toml index 4b4cb0e272..5167b94c5f 100644 --- a/examples/Manifest.toml +++ b/examples/Manifest.toml @@ -591,10 +591,10 @@ uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" version = "0.72.9" [[deps.GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "f61f768bf090d97c532d24b64e07b237e9bb7b6b" +deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "1596bab77f4f073a14c62424283e7ebff3072eca" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.72.9+0" +version = "0.72.9+1" [[deps.GaussQuadrature]] deps = ["SpecialFunctions"] @@ -1719,9 +1719,9 @@ version = "0.4.1" [[deps.Unitful]] deps = ["ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "Random"] -git-tree-sha1 = "1cd9b6d3f637988ca788007b7466c132feebe263" +git-tree-sha1 = "64eb17acef1d9734cf09967539818f38093d9b35" uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.16.1" +version = "1.16.2" [[deps.UnitfulLatexify]] deps = ["LaTeXStrings", "Latexify", "Unitful"] diff --git a/perf/Manifest.toml b/perf/Manifest.toml index cd344e1b77..c7e5de7f2e 100644 --- a/perf/Manifest.toml +++ b/perf/Manifest.toml @@ -639,10 +639,10 @@ uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" version = "0.72.9" [[deps.GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "f61f768bf090d97c532d24b64e07b237e9bb7b6b" +deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "1596bab77f4f073a14c62424283e7ebff3072eca" uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.72.9+0" +version = "0.72.9+1" [[deps.GaussQuadrature]] deps = ["SpecialFunctions"] @@ -1883,9 +1883,9 @@ version = "0.4.1" [[deps.Unitful]] deps = ["ConstructionBase", "Dates", "InverseFunctions", "LinearAlgebra", "Random"] -git-tree-sha1 = "1cd9b6d3f637988ca788007b7466c132feebe263" +git-tree-sha1 = "64eb17acef1d9734cf09967539818f38093d9b35" uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.16.1" +version = "1.16.2" [[deps.UnitfulLatexify]] deps = ["LaTeXStrings", "Latexify", "Unitful"] From 49ef389fe1692cc06708fc4014e4b6d6e4c50740 Mon Sep 17 00:00:00 2001 From: Charles Kawczynski Date: Sat, 5 Aug 2023 11:10:19 -0700 Subject: [PATCH 3/3] Get CallbackSet from SciMLBase --- examples/hybrid/driver.jl | 8 ++++++-- examples/sphere/shallow_water_cuda.jl | 5 +++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/examples/hybrid/driver.jl b/examples/hybrid/driver.jl index 4b36269951..a6a62ab39f 100644 --- a/examples/hybrid/driver.jl +++ b/examples/hybrid/driver.jl @@ -26,6 +26,7 @@ postprocessing(sol, output_dir) = nothing import ClimaTimeSteppers as CTS using ClimaComms +import SciMLBase const comms_ctx = ClimaComms.context() is_distributed = comms_ctx isa ClimaComms.MPICommsContext @@ -143,8 +144,11 @@ else initial_affect = true, ) end -callback = - CallbackSet(dss_callback, save_to_disk_callback, additional_callbacks...) +callback = SciMLBase.CallbackSet( + dss_callback, + save_to_disk_callback, + additional_callbacks..., +) problem = ODE.ODEProblem( CTS.ClimaODEFunction(; diff --git a/examples/sphere/shallow_water_cuda.jl b/examples/sphere/shallow_water_cuda.jl index 19b2e925d6..329e1782cb 100644 --- a/examples/sphere/shallow_water_cuda.jl +++ b/examples/sphere/shallow_water_cuda.jl @@ -3,6 +3,7 @@ using ClimaComms using DocStringExtensions using LinearAlgebra using ClimaTimeSteppers +import SciMLBase import OrdinaryDiffEq as ODE import ClimaTimeSteppers as CTS using DiffEqCallbacks @@ -581,7 +582,7 @@ function shallow_water_driver_cuda(ARGS, ::Type{FT}) where {FT} adaptive = false, progress_message = (dt, u, p, t) -> t, internalnorm = (u, t) -> norm(parent(Y)), - callback = CallbackSet(save_callback), + callback = SciMLBase.CallbackSet(save_callback), ) return integrator @@ -590,5 +591,5 @@ end integrator = shallow_water_driver_cuda(ARGS, Float64) if !isinteractive() - solve!(integrator) + SciMLBase.solve!(integrator) end