From 7e2a6e338ba8379ba7301123722fb636780ea278 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 14 Dec 2023 14:57:26 +0200 Subject: [PATCH 01/51] use julia v1.9.4 --- .buildkite/distributed/pipeline.yml | 2 +- .buildkite/pipeline.yml | 2 +- Dockerfile | 2 +- Manifest.toml | 10 +++++----- docs/Manifest.toml | 10 +++++----- 5 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.buildkite/distributed/pipeline.yml b/.buildkite/distributed/pipeline.yml index c50ee29731..34b923f18b 100644 --- a/.buildkite/distributed/pipeline.yml +++ b/.buildkite/distributed/pipeline.yml @@ -1,7 +1,7 @@ agents: queue: central slurm_mem: 8G - modules: julia/1.9.3 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 hdf5/1.12.2-ompi415 nsight-systems/2023.2.1 + modules: julia/1.9.4 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 hdf5/1.12.2-ompi415 nsight-systems/2023.2.1 env: JULIA_LOAD_PATH: "${JULIA_LOAD_PATH}:${BUILDKITE_BUILD_CHECKOUT_PATH}/.buildkite/distributed" diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 0d1f504b8a..0fe59629b4 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,5 +1,5 @@ env: - JULIA_VERSION: "1.9.3" + JULIA_VERSION: "1.9.4" JULIA_MINOR_VERSION: "1.9" SVERDRUP_HOME: "/data5/glwagner" TARTARUS_HOME: "/storage5/buildkite-agent" diff --git a/Dockerfile b/Dockerfile index 0e5f76d56a..599f5821a5 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM julia:1.9.3 +FROM julia:1.9.4 LABEL maintainer="Ali Ramadhan " RUN apt-get update && apt-get install -y hdf5-tools diff --git a/Manifest.toml b/Manifest.toml index a596e1df16..089bd5ec25 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.9.3" +julia_version = "1.9.4" manifest_format = "2.0" project_hash = "72ed8b1b7715053c6d7b675f75dd867b9f153685" @@ -420,12 +420,12 @@ uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.3" +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 = "7.84.0+0" +version = "8.4.0+0" [[deps.LibGit2]] deps = ["Base64", "NetworkOptions", "Printf", "SHA"] @@ -434,7 +434,7 @@ uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.10.2+0" +version = "1.11.0+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" @@ -988,7 +988,7 @@ version = "5.8.0+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.48.0+0" +version = "1.52.0+1" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] diff --git a/docs/Manifest.toml b/docs/Manifest.toml index ad24049ba2..32d336c1e1 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.9.3" +julia_version = "1.9.4" manifest_format = "2.0" project_hash = "2ddaf14401639803ae6324c28b9c55435bb8ed6e" @@ -779,12 +779,12 @@ version = "0.3.1" [[deps.LibCURL]] deps = ["LibCURL_jll", "MozillaCACerts_jll"] uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.3" +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 = "7.84.0+0" +version = "8.4.0+0" [[deps.LibGit2]] deps = ["Base64", "NetworkOptions", "Printf", "SHA"] @@ -793,7 +793,7 @@ uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.10.2+0" +version = "1.11.0+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" @@ -1756,7 +1756,7 @@ version = "1.3.7+1" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.48.0+0" +version = "1.52.0+1" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] From 286d428835d304cf38e22f7e8eac52d57f806365 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Wed, 27 Dec 2023 16:22:27 +0200 Subject: [PATCH 02/51] use julia v1.10 for CI --- .buildkite/distributed/pipeline.yml | 2 +- .buildkite/pipeline.yml | 4 +-- Manifest.toml | 36 +++++++++++++++------------ docs/Manifest.toml | 38 +++++++++++++++++------------ 4 files changed, 46 insertions(+), 34 deletions(-) diff --git a/.buildkite/distributed/pipeline.yml b/.buildkite/distributed/pipeline.yml index 34b923f18b..7607dd13d8 100644 --- a/.buildkite/distributed/pipeline.yml +++ b/.buildkite/distributed/pipeline.yml @@ -1,7 +1,7 @@ agents: queue: central slurm_mem: 8G - modules: julia/1.9.4 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 hdf5/1.12.2-ompi415 nsight-systems/2023.2.1 + modules: julia/1.10.0 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 hdf5/1.12.2-ompi415 nsight-systems/2023.2.1 env: JULIA_LOAD_PATH: "${JULIA_LOAD_PATH}:${BUILDKITE_BUILD_CHECKOUT_PATH}/.buildkite/distributed" diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 0fe59629b4..a5e75b71fa 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,6 +1,6 @@ env: - JULIA_VERSION: "1.9.4" - JULIA_MINOR_VERSION: "1.9" + JULIA_VERSION: "1.10.0" + JULIA_MINOR_VERSION: "1.10" SVERDRUP_HOME: "/data5/glwagner" TARTARUS_HOME: "/storage5/buildkite-agent" GKSwstype: "100" # See: https://github.com/jheinen/GR.jl/issues/278 diff --git a/Manifest.toml b/Manifest.toml index 089bd5ec25..4cf1ef5ac2 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.9.4" +julia_version = "1.10.0" manifest_format = "2.0" project_hash = "72ed8b1b7715053c6d7b675f75dd867b9f153685" @@ -148,7 +148,7 @@ weakdeps = ["Dates", "LinearAlgebra"] [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.5+0" +version = "1.0.5+1" [[deps.ConstructionBase]] deps = ["LinearAlgebra"] @@ -428,9 +428,14 @@ uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" version = "8.4.0+0" [[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" +[[deps.LibGit2_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] +uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" +version = "1.6.4+0" + [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" @@ -519,7 +524,7 @@ uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.2+0" +version = "2.28.2+1" [[deps.MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -538,7 +543,7 @@ uuid = "a63ad114-7e13-5084-954f-fe012c677804" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.10.11" +version = "2023.1.10" [[deps.NCDatasets]] deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "DiskArrays", "NetCDF_jll", "NetworkOptions", "Printf"] @@ -577,12 +582,12 @@ version = "1.12.10" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.21+4" +version = "0.3.23+2" [[deps.OpenLibm_jll]] deps = ["Artifacts", "Libdl"] uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.1+0" +version = "0.8.1+2" [[deps.OpenMPI_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] @@ -642,7 +647,7 @@ version = "0.15.1" [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.9.2" +version = "1.10.0" [[deps.PkgVersion]] deps = ["Pkg"] @@ -695,7 +700,7 @@ deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" [[deps.Random]] -deps = ["SHA", "Serialization"] +deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.Random123]] @@ -775,6 +780,7 @@ version = "1.1.1" [[deps.SparseArrays]] deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +version = "1.10.0" [[deps.SpecialFunctions]] deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] @@ -828,7 +834,7 @@ version = "0.3.0" [[deps.Statistics]] deps = ["LinearAlgebra", "SparseArrays"] uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -version = "1.9.0" +version = "1.10.0" [[deps.StatsAPI]] deps = ["LinearAlgebra"] @@ -875,9 +881,9 @@ deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" [[deps.SuiteSparse_jll]] -deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] +deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "5.10.1+6" +version = "7.2.1+1" [[deps.TOML]] deps = ["Dates"] @@ -966,7 +972,7 @@ version = "2.11.5+0" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.13+0" +version = "1.2.13+1" [[deps.Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -983,7 +989,7 @@ version = "1.0.6+1" [[deps.libblastrampoline_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.8.0+0" +version = "5.8.0+1" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] @@ -993,4 +999,4 @@ version = "1.52.0+1" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+0" +version = "17.4.0+2" diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 32d336c1e1..b2f9985c69 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.9.4" +julia_version = "1.10.0" manifest_format = "2.0" project_hash = "2ddaf14401639803ae6324c28b9c55435bb8ed6e" @@ -235,7 +235,7 @@ weakdeps = ["Dates", "LinearAlgebra"] [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.5+0" +version = "1.0.5+1" [[deps.CompoundPeriods]] deps = ["Dates"] @@ -787,9 +787,14 @@ uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" version = "8.4.0+0" [[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" +[[deps.LibGit2_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll"] +uuid = "e37daf67-58a4-590a-8e99-b0245dd2ffc5" +version = "1.6.4+0" + [[deps.LibSSH2_jll]] deps = ["Artifacts", "Libdl", "MbedTLS_jll"] uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" @@ -952,7 +957,7 @@ version = "0.5.6" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.2+0" +version = "2.28.2+1" [[deps.Measures]] git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" @@ -993,7 +998,7 @@ version = "0.3.4" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.10.11" +version = "2023.1.10" [[deps.Multisets]] git-tree-sha1 = "8d852646862c96e226367ad10c8af56099b4047e" @@ -1054,7 +1059,7 @@ version = "1.3.5+1" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.21+4" +version = "0.3.23+2" [[deps.OpenEXR]] deps = ["Colors", "FileIO", "OpenEXR_jll"] @@ -1071,7 +1076,7 @@ version = "3.1.4+0" [[deps.OpenLibm_jll]] deps = ["Artifacts", "Libdl"] uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.1+0" +version = "0.8.1+2" [[deps.OpenMPI_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] @@ -1111,7 +1116,7 @@ version = "1.6.2" [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.42.0+0" +version = "10.42.0+1" [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] @@ -1170,7 +1175,7 @@ version = "0.42.2+0" [[deps.Pkg]] deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.9.2" +version = "1.10.0" [[deps.PkgVersion]] deps = ["Pkg"] @@ -1258,7 +1263,7 @@ deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" [[deps.Random]] -deps = ["SHA", "Serialization"] +deps = ["SHA"] uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.RangeArrays]] @@ -1422,6 +1427,7 @@ version = "1.1.1" [[deps.SparseArrays]] deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +version = "1.10.0" [[deps.SpecialFunctions]] deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] @@ -1463,7 +1469,7 @@ version = "1.4.2" [[deps.Statistics]] deps = ["LinearAlgebra", "SparseArrays"] uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -version = "1.9.0" +version = "1.10.0" [[deps.StatsAPI]] deps = ["LinearAlgebra"] @@ -1514,9 +1520,9 @@ deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" [[deps.SuiteSparse_jll]] -deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] +deps = ["Artifacts", "Libdl", "libblastrampoline_jll"] uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "5.10.1+6" +version = "7.2.1+1" [[deps.TOML]] deps = ["Dates"] @@ -1692,7 +1698,7 @@ version = "0.4.9" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.13+0" +version = "1.2.13+1" [[deps.Zstd_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1727,7 +1733,7 @@ version = "0.15.1+0" [[deps.libblastrampoline_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.8.0+0" +version = "5.8.0+1" [[deps.libfdk_aac_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -1761,7 +1767,7 @@ version = "1.52.0+1" [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+0" +version = "17.4.0+2" [[deps.x264_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] From acbb7a386dcc9d4e4796a4f2426fa66288a0cd56 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Wed, 27 Dec 2023 16:31:50 +0200 Subject: [PATCH 03/51] use julia v1.10 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 599f5821a5..bf8ac42f23 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM julia:1.9.4 +FROM julia:1.10.0 LABEL maintainer="Ali Ramadhan " RUN apt-get update && apt-get install -y hdf5-tools From dfceb0989258dea6a300ef4e841579b73df946e0 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Fri, 29 Dec 2023 16:46:22 +0200 Subject: [PATCH 04/51] use julia v1.9.4 for distributed ci --- .buildkite/distributed/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/distributed/pipeline.yml b/.buildkite/distributed/pipeline.yml index 7607dd13d8..34b923f18b 100644 --- a/.buildkite/distributed/pipeline.yml +++ b/.buildkite/distributed/pipeline.yml @@ -1,7 +1,7 @@ agents: queue: central slurm_mem: 8G - modules: julia/1.10.0 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 hdf5/1.12.2-ompi415 nsight-systems/2023.2.1 + modules: julia/1.9.4 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 hdf5/1.12.2-ompi415 nsight-systems/2023.2.1 env: JULIA_LOAD_PATH: "${JULIA_LOAD_PATH}:${BUILDKITE_BUILD_CHECKOUT_PATH}/.buildkite/distributed" From fea481a20a058473f34f88da381e12dd4d7feb5d Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Fri, 29 Dec 2023 16:56:04 +0200 Subject: [PATCH 05/51] update manifest --- Manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Manifest.toml b/Manifest.toml index 4cf1ef5ac2..2edd28a1c2 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.10.0" manifest_format = "2.0" -project_hash = "72ed8b1b7715053c6d7b675f75dd867b9f153685" +project_hash = "33687d05431bf3d1e78492740cfe911a5657601c" [[deps.AbstractFFTs]] deps = ["LinearAlgebra"] From ff903fc86c984b7537e4ccad57bbfb9b84673d87 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 2 Jan 2024 22:34:31 +0200 Subject: [PATCH 06/51] use julia v1.10.0 --- .buildkite/distributed/pipeline.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.buildkite/distributed/pipeline.yml b/.buildkite/distributed/pipeline.yml index 34b923f18b..0f35e48580 100644 --- a/.buildkite/distributed/pipeline.yml +++ b/.buildkite/distributed/pipeline.yml @@ -1,7 +1,7 @@ agents: queue: central slurm_mem: 8G - modules: julia/1.9.4 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 hdf5/1.12.2-ompi415 nsight-systems/2023.2.1 + modules: julia/1.10.0 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 hdf5/1.12.2-ompi415 nsight-systems/2023.2.1 env: JULIA_LOAD_PATH: "${JULIA_LOAD_PATH}:${BUILDKITE_BUILD_CHECKOUT_PATH}/.buildkite/distributed" @@ -94,4 +94,4 @@ steps: command: - "build_history staging" artifact_paths: - - "build_history.html" \ No newline at end of file + - "build_history.html" From 36e43e584939824e630771d74e29026e392814fa Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 8 Jan 2024 12:37:37 +0200 Subject: [PATCH 07/51] remove various unroll for test --- src/Fields/regridding_fields.jl | 13 ++++++------- .../compute_w_from_continuity.jl | 2 +- .../split_explicit_free_surface_kernels.jl | 17 ++++++++++------- .../update_hydrostatic_pressure.jl | 2 +- src/Solvers/batched_tridiagonal_solver.jl | 12 ++++++------ .../fourier_tridiagonal_poisson_solver.jl | 6 +++--- ..._plankton_continuous_form_biogeochemistry.jl | 3 +-- 7 files changed, 28 insertions(+), 27 deletions(-) diff --git a/src/Fields/regridding_fields.jl b/src/Fields/regridding_fields.jl index c42be8daca..2c6d4c5984 100644 --- a/src/Fields/regridding_fields.jl +++ b/src/Fields/regridding_fields.jl @@ -1,5 +1,4 @@ using KernelAbstractions: @kernel, @index -using KernelAbstractions.Extras.LoopInfo: @unroll using Oceananigans.Architectures: arch_array, architecture using Oceananigans.Operators: Δzᶜᶜᶜ, Δyᶜᶜᶜ, Δxᶜᶜᶜ, Azᶜᶜᶜ @@ -141,7 +140,7 @@ end fo = ForwardOrdering() - @inbounds @unroll for k = 1:target_grid.Nz + @inbounds for k = 1:target_grid.Nz target_field[i, j, k] = 0 z₋ = znode(i, j, k, target_grid, c, c, f) @@ -160,7 +159,7 @@ end target_field[i, j, k] = source_field[i_src, j_src, k₊_src] else # Add contribution from all full cells in the integration range - @unroll for k_src = k₋_src:k₊_src-1 + for k_src = k₋_src:k₊_src-1 target_field[i, j, k] += source_field[i_src, j_src, k_src] * Δzᶜᶜᶜ(i_src, j_src, k_src, source_grid) end @@ -196,7 +195,7 @@ end fo = ForwardOrdering() - @inbounds @unroll for j = 1:target_grid.Ny + @inbounds for j = 1:target_grid.Ny target_field[i, j, k] = 0 y₋ = ηnode(i, j, k, target_grid, c, f, c) @@ -215,7 +214,7 @@ end target_field[i, j, k] = source_field[i_src, j₊_src, k_src] else # Add contribution from all full cells in the integration range - @unroll for j_src = j₋_src:j₊_src-1 + for j_src = j₋_src:j₊_src-1 target_field[i, j, k] += source_field[i_src, j_src, k_src] * Azᶜᶜᶜ(i_src, j_src, k_src, source_grid) end @@ -263,7 +262,7 @@ end fo = ForwardOrdering() - @inbounds @unroll for i = 1:target_grid.Nx + @inbounds for i = 1:target_grid.Nx target_field[i, j, k] = 0 # Integrate source field from ξ₋ to ξ₊ @@ -288,7 +287,7 @@ end # sum up all the contributions from the source field to the target cell. # First we add up all the contributions from all source cells that lie entirely within the target cell. - @unroll for i_src = i₋_src:i₊_src-1 + for i_src = i₋_src:i₊_src-1 target_field[i, j, k] += source_field[i_src, j_src, k_src] * Azᶜᶜᶜ(i_src, j_src, k_src, source_grid) end diff --git a/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl b/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl index 8e8f2cc43a..111410b988 100644 --- a/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl +++ b/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl @@ -21,7 +21,7 @@ compute_w_from_continuity!(velocities, arch, grid; parameters = w_kernel_paramet i, j = @index(Global, NTuple) U.w[i, j, 1] = 0 - @unroll for k in 2:grid.Nz+1 + for k in 2:grid.Nz+1 @inbounds U.w[i, j, k] = U.w[i, j, k-1] - Δzᶜᶜᶜ(i, j, k-1, grid) * div_xyᶜᶜᶜ(i, j, k-1, grid, U.u, U.v) end end diff --git a/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl b/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl index 1062cd43c9..ef7a6bf7b2 100644 --- a/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl +++ b/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl @@ -1,5 +1,4 @@ using KernelAbstractions: @index, @kernel -using KernelAbstractions.Extras.LoopInfo: @unroll using Oceananigans.Grids: topology using Oceananigans.Utils using Oceananigans.AbstractOperations: Δz @@ -206,11 +205,10 @@ end @kernel function _barotropic_mode_kernel!(U, V, grid, u, v) i, j = @index(Global, NTuple) - # hand unroll first loop @inbounds U[i, j, 1] = Δzᶠᶜᶜ(i, j, 1, grid) * u[i, j, 1] @inbounds V[i, j, 1] = Δzᶜᶠᶜ(i, j, 1, grid) * v[i, j, 1] - @unroll for k in 2:grid.Nz + for k in 2:grid.Nz @inbounds U[i, j, 1] += Δzᶠᶜᶜ(i, j, k, grid) * u[i, j, k] @inbounds V[i, j, 1] += Δzᶜᶠᶜ(i, j, k, grid) * v[i, j, k] end @@ -352,18 +350,23 @@ end @kernel function _compute_integrated_ab2_tendencies!(Gᵁ, Gⱽ, grid, Gu⁻, Gv⁻, Guⁿ, Gvⁿ, χ) i, j = @index(Global, NTuple) - # hand unroll first loop @inbounds Gᵁ[i, j, 1] = Δzᶠᶜᶜ(i, j, 1, grid) * ab2_step_Gu(i, j, 1, grid, Gu⁻, Guⁿ, χ) @inbounds Gⱽ[i, j, 1] = Δzᶜᶠᶜ(i, j, 1, grid) * ab2_step_Gv(i, j, 1, grid, Gv⁻, Gvⁿ, χ) - @unroll for k in 2:grid.Nz + for k in 2:grid.Nz @inbounds Gᵁ[i, j, 1] += Δzᶠᶜᶜ(i, j, k, grid) * ab2_step_Gu(i, j, k, grid, Gu⁻, Guⁿ, χ) @inbounds Gⱽ[i, j, 1] += Δzᶜᶠᶜ(i, j, k, grid) * ab2_step_Gv(i, j, k, grid, Gv⁻, Gvⁿ, χ) end end -@inline ab2_step_Gu(i, j, k, grid, G⁻, Gⁿ, χ::FT) where FT = ifelse(peripheral_node(i, j, k, grid, f, c, c), zero(grid), (convert(FT, 1.5) + χ) * Gⁿ[i, j, k] - G⁻[i, j, k] * (convert(FT, 0.5) + χ)) -@inline ab2_step_Gv(i, j, k, grid, G⁻, Gⁿ, χ::FT) where FT = ifelse(peripheral_node(i, j, k, grid, c, f, c), zero(grid), (convert(FT, 1.5) + χ) * Gⁿ[i, j, k] - G⁻[i, j, k] * (convert(FT, 0.5) + χ)) +@inline function ab2_step_Gu(i, j, k, grid, G⁻, Gⁿ, χ::FT) where FT + return @inbounds ifelse(peripheral_node(i, j, k, grid, f, c, c), zero(grid), (convert(FT, 1.5) + χ) * Gⁿ[i, j, k] - G⁻[i, j, k] * (convert(FT, 0.5) + χ)) +end + +@inline function ab2_step_Gv(i, j, k, grid, G⁻, Gⁿ, χ::FT) where FT + return @inbounds ifelse(peripheral_node(i, j, k, grid, c, f, c), zero(grid), (convert(FT, 1.5) + χ) * Gⁿ[i, j, k] - G⁻[i, j, k] * (convert(FT, 0.5) + χ)) +end + # Setting up the RHS for the barotropic step (tendencies of the barotopic velocity components) # This function is called after `calculate_tendency` and before `ab2_step_velocities!` diff --git a/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl b/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl index b589596374..fc62805c1d 100644 --- a/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl +++ b/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl @@ -14,7 +14,7 @@ the `buoyancy_perturbationᶜᶜᶜ` downwards: @inbounds pHY′[i, j, grid.Nz] = - z_dot_g_bᶜᶜᶠ(i, j, grid.Nz+1, grid, buoyancy, C) * Δzᶜᶜᶠ(i, j, grid.Nz+1, grid) - @unroll for k in grid.Nz-1 : -1 : 1 + for k in grid.Nz-1 : -1 : 1 @inbounds pHY′[i, j, k] = pHY′[i, j, k+1] - z_dot_g_bᶜᶜᶠ(i, j, k+1, grid, buoyancy, C) * Δzᶜᶜᶠ(i, j, k+1, grid) end end diff --git a/src/Solvers/batched_tridiagonal_solver.jl b/src/Solvers/batched_tridiagonal_solver.jl index a188d0fc89..fd8175cc22 100644 --- a/src/Solvers/batched_tridiagonal_solver.jl +++ b/src/Solvers/batched_tridiagonal_solver.jl @@ -130,7 +130,7 @@ end f₁ = get_coefficient(1, j, k, grid, f, p, tridiagonal_direction, args...) ϕ[1, j, k] = f₁ / β - @unroll for i = 2:Nx + for i = 2:Nx cᵏ⁻¹ = get_coefficient(i-1, j, k, grid, c, p, tridiagonal_direction, args...) bᵏ = get_coefficient(i, j, k, grid, b, p, tridiagonal_direction, args...) aᵏ⁻¹ = get_coefficient(i-1, j, k, grid, a, p, tridiagonal_direction, args...) @@ -147,7 +147,7 @@ end ϕ[i, j, k] = (fᵏ - aᵏ⁻¹ * ϕ[i-1, j, k]) / β end - @unroll for i = Nx-1:-1:1 + for i = Nx-1:-1:1 ϕ[i, j, k] -= t[i+1, j, k] * ϕ[i+1, j, k] end end @@ -162,7 +162,7 @@ end f₁ = get_coefficient(i, 1, k, grid, f, p, tridiagonal_direction, args...) ϕ[i, 1, k] = f₁ / β - @unroll for j = 2:Ny + for j = 2:Ny cᵏ⁻¹ = get_coefficient(i, j-1, k, grid, c, p, tridiagonal_direction, args...) bᵏ = get_coefficient(i, j, k, grid, b, p, tridiagonal_direction, args...) aᵏ⁻¹ = get_coefficient(i, j-1, k, grid, a, p, tridiagonal_direction, args...) @@ -179,7 +179,7 @@ end ϕ[i, j, k] = (fᵏ - aᵏ⁻¹ * ϕ[i, j-1, k]) / β end - @unroll for j = Ny-1:-1:1 + for j = Ny-1:-1:1 ϕ[i, j, k] -= t[i, j+1, k] * ϕ[i, j+1, k] end end @@ -194,7 +194,7 @@ end f₁ = get_coefficient(i, j, 1, grid, f, p, tridiagonal_direction, args...) ϕ[i, j, 1] = f₁ / β - @unroll for k = 2:Nz + for k = 2:Nz cᵏ⁻¹ = get_coefficient(i, j, k-1, grid, c, p, tridiagonal_direction, args...) bᵏ = get_coefficient(i, j, k, grid, b, p, tridiagonal_direction, args...) aᵏ⁻¹ = get_coefficient(i, j, k-1, grid, a, p, tridiagonal_direction, args...) @@ -210,7 +210,7 @@ end ϕ[i, j, k] = (fᵏ - aᵏ⁻¹ * ϕ[i, j, k-1]) / β end - @unroll for k = Nz-1:-1:1 + for k = Nz-1:-1:1 ϕ[i, j, k] -= t[i, j, k+1] * ϕ[i, j, k+1] end end diff --git a/src/Solvers/fourier_tridiagonal_poisson_solver.jl b/src/Solvers/fourier_tridiagonal_poisson_solver.jl index db837735a7..2f93f2f51a 100644 --- a/src/Solvers/fourier_tridiagonal_poisson_solver.jl +++ b/src/Solvers/fourier_tridiagonal_poisson_solver.jl @@ -20,7 +20,7 @@ architecture(solver::FourierTridiagonalPoissonSolver) = architecture(solver.grid # Using a homogeneous Neumann (zero Gradient) boundary condition: @inbounds D[1, j, k] = -1 / Δxᶠᵃᵃ(2, j, k, grid) - Δxᶜᵃᵃ(1, j, k, grid) * (λy[j] + λz[k]) - @unroll for i in 2:Nx-1 + for i in 2:Nx-1 @inbounds D[i, j, k] = - (1 / Δxᶠᵃᵃ(i+1, j, k, grid) + 1 / Δxᶠᵃᵃ(i, j, k, grid)) - Δxᶜᵃᵃ(i, j, k, grid) * (λy[j] + λz[k]) end @inbounds D[Nx, j, k] = -1 / Δxᶠᵃᵃ(Nx, j, k, grid) - Δxᶜᵃᵃ(Nx, j, k, grid) * (λy[j] + λz[k]) @@ -32,7 +32,7 @@ end # Using a homogeneous Neumann (zero Gradient) boundary condition: @inbounds D[i, 1, k] = -1 / Δyᵃᶠᵃ(i, 2, k, grid) - Δyᵃᶜᵃ(i, 1, k, grid) * (λx[i] + λz[k]) - @unroll for j in 2:Ny-1 + for j in 2:Ny-1 @inbounds D[i, j, k] = - (1 / Δyᵃᶠᵃ(i, j+1, k, grid) + 1 / Δyᵃᶠᵃ(i, j, k, grid)) - Δyᵃᶜᵃ(i, j, k, grid) * (λx[i] + λz[k]) end @inbounds D[i, Ny, k] = -1 / Δyᵃᶠᵃ(i, Ny, k, grid) - Δyᵃᶜᵃ(i, Ny, k, grid) * (λx[i] + λz[k]) @@ -44,7 +44,7 @@ end # Using a homogeneous Neumann (zero Gradient) boundary condition: @inbounds D[i, j, 1] = -1 / Δzᵃᵃᶠ(i, j, 2, grid) - Δzᵃᵃᶜ(i, j, 1, grid) * (λx[i] + λy[j]) - @unroll for k in 2:Nz-1 + for k in 2:Nz-1 @inbounds D[i, j, k] = - (1 / Δzᵃᵃᶠ(i, j, k+1, grid) + 1 / Δzᵃᵃᶠ(i, j, k, grid)) - Δzᵃᵃᶜ(i, j, k, grid) * (λx[i] + λy[j]) end @inbounds D[i, j, Nz] = -1 / Δzᵃᵃᶠ(i, j, Nz, grid) - Δzᵃᵃᶜ(i, j, Nz, grid) * (λx[i] + λy[j]) diff --git a/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl b/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl index aee105fede..5650278c50 100644 --- a/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl +++ b/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl @@ -104,7 +104,7 @@ end ∫chl = @inbounds - (zᶜ[grid.Nz] - zᶠ[grid.Nz]) * P[i, j, grid.Nz] ^ e @inbounds PAR[i, j, grid.Nz] = PAR⁰ * exp(kʷ * zᶜ[grid.Nz] - χ * ∫chl) - @unroll for k in grid.Nz-1:-1:1 + for k in grid.Nz-1:-1:1 @inbounds begin ∫chl += (zᶜ[k + 1] - zᶠ[k])*P[i, j, k + 1]^e + (zᶠ[k] - zᶜ[k])*P[i, j, k]^e PAR[i, j, k] = PAR⁰*exp(kʷ * zᶜ[k] - χ * ∫chl) @@ -179,4 +179,3 @@ simulation.output_writers[:simple_output] = JLD2OutputWriter(model, outputs; fil overwrite_existing = true) run!(simulation) - From 1a163cb69c6ec114cf569cca6f29691c312ee8e0 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Wed, 10 Jan 2024 09:38:39 +0200 Subject: [PATCH 08/51] fix doctests with updated namedtuple show method --- docs/src/model_setup/background_fields.md | 2 +- docs/src/model_setup/forcing_functions.md | 2 +- src/Forcings/forcing.jl | 11 +++++------ .../scalar_diffusivity.jl | 14 +++++++------- 4 files changed, 14 insertions(+), 15 deletions(-) diff --git a/docs/src/model_setup/background_fields.md b/docs/src/model_setup/background_fields.md index 11d6279d91..44bec466e3 100644 --- a/docs/src/model_setup/background_fields.md +++ b/docs/src/model_setup/background_fields.md @@ -80,7 +80,7 @@ U_field = BackgroundField(U, parameters=parameters.α) B_field = BackgroundField(B, parameters=parameters) # output -BackgroundField{typeof(B), NamedTuple{(:α, :N, :f), Tuple{Float64, Float64, Float64}}} +BackgroundField{typeof(B), @NamedTuple{α::Float64, N::Float64, f::Float64}} ├── func: B (generic function with 1 method) └── parameters: (α = 3.14, N = 1.0, f = 0.1) ``` diff --git a/docs/src/model_setup/forcing_functions.md b/docs/src/model_setup/forcing_functions.md index e853f8c880..4e18480b3a 100644 --- a/docs/src/model_setup/forcing_functions.md +++ b/docs/src/model_setup/forcing_functions.md @@ -72,7 +72,7 @@ model = NonhydrostaticModel(grid=grid, forcing=(u=u_forcing, T=T_forcing), buoya model.forcing.T # output -ContinuousForcing{NamedTuple{(:μ, :λ, :k, :ω), Tuple{Int64, Float64, Float64, Float64}}} at (Center, Center, Center) +ContinuousForcing{@NamedTuple{μ::Int64, λ::Float64, k::Float64, ω::Float64}} at (Center, Center, Center) ├── func: T_forcing_func (generic function with 1 method) ├── parameters: (μ = 1, λ = 0.5, k = 6.283185307179586, ω = 12.566370614359172) └── field dependencies: () diff --git a/src/Forcings/forcing.jl b/src/Forcings/forcing.jl index 6e58ff9e5a..5225adba1c 100644 --- a/src/Forcings/forcing.jl +++ b/src/Forcings/forcing.jl @@ -19,7 +19,7 @@ the signature of `func` must include them. For example, if `field_dependencies=( (and `parameters` are _not_ provided), then `func` must be callable with the signature ``` -func(x, y, z, t, u, S)` +func(x, y, z, t, u, S) ``` where `u` is assumed to be the `u`-velocity component, and `S` is a tracer. Note that any field @@ -74,7 +74,7 @@ parameterized_func(x, y, z, t, p) = p.μ * exp(z / p.λ) * cos(p.ω * t) v_forcing = Forcing(parameterized_func, parameters = (μ=42, λ=0.1, ω=π)) # output -ContinuousForcing{NamedTuple{(:μ, :λ, :ω), Tuple{Int64, Float64, Irrational{:π}}}} +ContinuousForcing{@NamedTuple{μ::Int64, λ::Float64, ω::Irrational{:π}}} ├── func: parameterized_func (generic function with 1 method) ├── parameters: (μ = 42, λ = 0.1, ω = π) └── field dependencies: () @@ -90,7 +90,7 @@ model = NonhydrostaticModel(grid=grid, forcing=(v=v_forcing,)) model.forcing.v # output -ContinuousForcing{NamedTuple{(:μ, :λ, :ω), Tuple{Int64, Float64, Irrational{:π}}}} at (Center, Face, Center) +ContinuousForcing{@NamedTuple{μ::Int64, λ::Float64, ω::Irrational{:π}}} at (Center, Face, Center) ├── func: parameterized_func (generic function with 1 method) ├── parameters: (μ = 42, λ = 0.1, ω = π) └── field dependencies: () @@ -121,7 +121,7 @@ c_forcing = Forcing(tracer_relaxation, parameters = (μ=1/60, λ=10, H=1000, dCdz=1)) # output -ContinuousForcing{NamedTuple{(:μ, :λ, :H, :dCdz), Tuple{Float64, Int64, Int64, Int64}}} +ContinuousForcing{@NamedTuple{μ::Float64, λ::Int64, H::Int64, dCdz::Int64}} ├── func: tracer_relaxation (generic function with 1 method) ├── parameters: (μ = 0.016666666666666666, λ = 10, H = 1000, dCdz = 1) └── field dependencies: (:c,) @@ -148,7 +148,7 @@ masked_damping(i, j, k, grid, clock, model_fields, parameters) = masked_damping_forcing = Forcing(masked_damping, parameters=(μ=42, λ=π), discrete_form=true) # output -DiscreteForcing{NamedTuple{(:μ, :λ), Tuple{Int64, Irrational{:π}}}} +DiscreteForcing{@NamedTuple{μ::Int64, λ::Irrational{:π}}} ├── func: masked_damping (generic function with 1 method) └── parameters: (μ = 42, λ = π) ``` @@ -160,4 +160,3 @@ function Forcing(func; parameters=nothing, field_dependencies=(), discrete_form= return ContinuousForcing(func; parameters=parameters, field_dependencies=field_dependencies) end end - diff --git a/src/TurbulenceClosures/turbulence_closure_implementations/scalar_diffusivity.jl b/src/TurbulenceClosures/turbulence_closure_implementations/scalar_diffusivity.jl index 66fb6d40e6..878a54db60 100644 --- a/src/TurbulenceClosures/turbulence_closure_implementations/scalar_diffusivity.jl +++ b/src/TurbulenceClosures/turbulence_closure_implementations/scalar_diffusivity.jl @@ -1,6 +1,7 @@ +using Oceananigans.Utils: prettysummary + import Adapt import Oceananigans.Grids: required_halo_size -using Oceananigans.Utils: prettysummary struct ScalarDiffusivity{TD, F, V, K, N} <: AbstractScalarDiffusivity{TD, F, N} ν :: V @@ -67,7 +68,7 @@ Examples ```jldoctest ScalarDiffusivity julia> using Oceananigans -julia> ScalarDiffusivity(ν = 1000, κ=2000) +julia> ScalarDiffusivity(ν=1000, κ=2000) ScalarDiffusivity{ExplicitTimeDiscretization}(ν=1000.0, κ=2000.0) ``` @@ -77,7 +78,7 @@ julia> const depth_scale = 100; julia> @inline ν(x, y, z) = 1000 * exp(z / depth_scale) ν (generic function with 1 method) -julia> ScalarDiffusivity(ν = ν) +julia> ScalarDiffusivity(ν=ν) ScalarDiffusivity{ExplicitTimeDiscretization}(ν=ν (generic function with 1 method), κ=0.0) ``` @@ -90,7 +91,7 @@ julia> @inline function κ(i, j, k, grid, ℓx, ℓy, ℓz) end κ (generic function with 1 method) -julia> ScalarDiffusivity(κ = κ, discrete_form = true) +julia> ScalarDiffusivity(κ=κ, discrete_form=true) ScalarDiffusivity{ExplicitTimeDiscretization}(ν=0.0, κ=Oceananigans.TurbulenceClosures.DiscreteDiffusionFunction{Nothing, Nothing, Nothing, Nothing, typeof(κ)}) ``` @@ -101,8 +102,8 @@ julia> @inline function another_κ(i, j, k, grid, p) end another_κ (generic function with 1 method) -julia> ScalarDiffusivity(κ = another_κ, discrete_form = true, loc = (Center, Center, Face), parameters = (; depth_scale = 120.0)) -ScalarDiffusivity{ExplicitTimeDiscretization}(ν=0.0, κ=Oceananigans.TurbulenceClosures.DiscreteDiffusionFunction{Center, Center, Face, NamedTuple{(:depth_scale,), Tuple{Float64}}, typeof(another_κ)}) +julia> ScalarDiffusivity(κ=another_κ, discrete_form=true, loc=(Center, Center, Face), parameters=(; depth_scale = 120.0)) +ScalarDiffusivity{ExplicitTimeDiscretization}(ν=0.0, κ=Oceananigans.TurbulenceClosures.DiscreteDiffusionFunction{Center, Center, Face, @NamedTuple{depth_scale::Float64}, typeof(another_κ)}) ``` """ function ScalarDiffusivity(time_discretization=ExplicitTimeDiscretization(), @@ -208,4 +209,3 @@ function Adapt.adapt_structure(to, closure::ScalarDiffusivity{TD, F, <:Any, <:An κ = Adapt.adapt(to, closure.κ) return ScalarDiffusivity{TD, F, N}(ν, κ) end - From c83f795526a9adc7530fb83598e632f2954be81a Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Fri, 12 Jan 2024 11:56:24 +0200 Subject: [PATCH 09/51] fix docstring rendering --- .../scalar_diffusivity.jl | 55 +++++++++---------- 1 file changed, 27 insertions(+), 28 deletions(-) diff --git a/src/TurbulenceClosures/turbulence_closure_implementations/scalar_diffusivity.jl b/src/TurbulenceClosures/turbulence_closure_implementations/scalar_diffusivity.jl index 878a54db60..5695669c75 100644 --- a/src/TurbulenceClosures/turbulence_closure_implementations/scalar_diffusivity.jl +++ b/src/TurbulenceClosures/turbulence_closure_implementations/scalar_diffusivity.jl @@ -25,42 +25,41 @@ Otherwise `κ` must be a `NamedTuple` with values for every tracer individually. Arguments ========= - * `time_discretization`: either `ExplicitTimeDiscretization()` (default) - or `VerticallyImplicitTimeDiscretization()`. - - * `formulation`: - - `HorizontalFormulation()` for diffusivity applied in the horizontal direction(s) - - `VerticalFormulation()` for diffusivity applied in the vertical direction, - - `ThreeDimensionalFormulation()` (default) for diffusivity applied isotropically to all directions - - * `FT`: the float datatype (default: `Float64`) +* `time_discretization`: either `ExplicitTimeDiscretization()` (default) + or `VerticallyImplicitTimeDiscretization()`. + +* `formulation`: + - `HorizontalFormulation()` for diffusivity applied in the horizontal direction(s) + - `VerticalFormulation()` for diffusivity applied in the vertical direction, + - `ThreeDimensionalFormulation()` (default) for diffusivity applied isotropically to all directions + +* `FT`: the float datatype (default: `Float64`) Keyword arguments ================= - * `ν`: Viscosity. `Number`, three-dimensional `AbstractArray`, `Field`, or `Function`. - - * `κ`: Diffusivity. `Number`, `AbstractArray`, `Field`, `Function`, or - `NamedTuple` of diffusivities with entries for each tracer. - - * `discrete_form`: `Boolean`; default: `False`. +* `ν`: Viscosity. `Number`, three-dimensional `AbstractArray`, `Field`, or `Function`. + +* `κ`: Diffusivity. `Number`, `AbstractArray`, `Field`, `Function`, or + `NamedTuple` of diffusivities with entries for each tracer. + +* `discrete_form`: `Boolean`; default: `false`. When prescribing the viscosities or diffusivities as functions, depending on the value of keyword argument `discrete_form`, the constructor expects: - * `discrete_form = false` (default): functions of the grid's native coordinates - and time, e.g., `(x, y, z, t)` for a `RectilinearGrid` or - `(λ, φ, z, t)` for a `LatitudeLongitudeGrid`. - - * `discrete_form = true`: - - with `loc = (nothing, nothing, nothing)` (default): - functions of `(i, j, k, grid, ℓx, ℓy, ℓz)` with `ℓx`, `ℓy` - and `ℓz` either `Face()` or `Center()`. - - with `loc = (ℓx, ℓy, ℓz)` with `ℓx`, `ℓy` - and `ℓz` either `Face()` or `Center()`: functions of `(i, j, k, grid)`. - - * `parameters`: `NamedTuple` with parameters used by the functions - that compute viscosity and/or diffusivity; default: `nothing`. +* `discrete_form = false` (default): functions of the grid's native coordinates + and time, e.g., `(x, y, z, t)` for a `RectilinearGrid` or `(λ, φ, z, t)` for + a `LatitudeLongitudeGrid`. + +* `discrete_form = true`: + - with `loc = (nothing, nothing, nothing)` (default): + functions of `(i, j, k, grid, ℓx, ℓy, ℓz)` with `ℓx`, `ℓy` + and `ℓz` either `Face()` or `Center()`. + - with `loc = (ℓx, ℓy, ℓz)` with `ℓx`, `ℓy` + and `ℓz` either `Face()` or `Center()`: functions of `(i, j, k, grid)`. +* `parameters`: `NamedTuple` with parameters used by the functions + that compute viscosity and/or diffusivity; default: `nothing`. Examples ======== From 5340c177d2696f6f837cd8e2f3c8d6aebc9ea387 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Fri, 12 Jan 2024 13:10:34 +0200 Subject: [PATCH 10/51] remove stray spaces --- .../split_explicit_free_surface_kernels.jl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl b/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl index 81279dc4e5..2cb82760bc 100644 --- a/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl +++ b/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl @@ -203,7 +203,7 @@ end # Barotropic Model Kernels # u_Δz = u * Δz @kernel function _barotropic_mode_kernel!(U, V, grid, u, v) - i, j = @index(Global, NTuple) + i, j = @index(Global, NTuple) @inbounds U[i, j, 1] = Δzᶠᶜᶜ(i, j, 1, grid) * u[i, j, 1] @inbounds V[i, j, 1] = Δzᶜᶠᶜ(i, j, 1, grid) * v[i, j, 1] @@ -245,7 +245,7 @@ end i, j, k = @index(Global, NTuple) @inbounds begin - u[i, j, k] = u[i, j, k] + (U̅[i, j] - U[i, j]) / Hᶠᶜ[i, j] + u[i, j, k] = u[i, j, k] + (U̅[i, j] - U[i, j]) / Hᶠᶜ[i, j] v[i, j, k] = v[i, j, k] + (V̅[i, j] - V[i, j]) / Hᶜᶠ[i, j] end end @@ -349,7 +349,7 @@ end # Calculate RHS for the barotopic time step. @kernel function _compute_integrated_ab2_tendencies!(Gᵁ, Gⱽ, grid, Gu⁻, Gv⁻, Guⁿ, Gvⁿ, χ) - i, j = @index(Global, NTuple) + i, j = @index(Global, NTuple) @inbounds Gᵁ[i, j, 1] = Δzᶠᶜᶜ(i, j, 1, grid) * ab2_step_Gu(i, j, 1, grid, Gu⁻, Guⁿ, χ) @inbounds Gⱽ[i, j, 1] = Δzᶜᶠᶜ(i, j, 1, grid) * ab2_step_Gv(i, j, 1, grid, Gv⁻, Gvⁿ, χ) From 92a7f76226cefc69e463388ff33b56d284f220de Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 15 Jan 2024 13:38:29 +0200 Subject: [PATCH 11/51] use CairoMakie v0.11 + latest syntax: Figure(size=(..)) --- docs/Manifest.toml | 458 ++++++++++-------- docs/Project.toml | 2 +- docs/src/model_setup/grids.md | 2 +- examples/baroclinic_adjustment.jl | 4 +- examples/convecting_plankton.jl | 4 +- examples/horizontal_convection.jl | 4 +- examples/internal_wave.jl | 2 +- examples/kelvin_helmholtz_instability.jl | 8 +- examples/langmuir_turbulence.jl | 2 +- examples/ocean_wind_mixing_and_convection.jl | 4 +- examples/shallow_water_Bickley_jet.jl | 2 +- examples/tilted_bottom_boundary_layer.jl | 2 +- examples/two_dimensional_turbulence.jl | 2 +- .../visualize_barotropic_gyre.jl | 2 +- validation/bickley_jet/bickley_jet.jl | 2 +- .../biogeochemistry/sediment_entrainment.jl | 4 +- .../longitudinal_tracer_diffusion.jl | 2 +- .../meridional_diffusion.jl | 2 +- .../spot_tracer_diffusion.jl | 2 +- .../distributed_shallow_water_turbulence.jl | 2 +- .../seasonal_baroclinic_channel.jl | 2 +- .../bumpy_baroclinic_adjustment.jl | 2 +- .../immersed_boundaries/flow_over_hills.jl | 2 +- .../resting_stratified_bumpy_ocean.jl | 2 +- .../geostrophic_adjustment_test.jl | 2 +- .../baroclinic_adjustment.jl | 2 +- .../coarse_baroclinic_adjustment.jl | 2 +- .../coarse_lat_lon_baroclinic_adjustment.jl | 2 +- .../mesoscale_turbulence/eddying_channel.jl | 2 +- .../modified_baroclinic_adjustment.jl | 2 +- .../zonally_averaged_baroclinic_adjustment.jl | 2 +- .../cubed_sphere_tracer_advection.jl | 2 +- .../multi_region/multi_region_cubed_sphere.jl | 6 +- .../orthogonal_spherical_shell_grid/splash.jl | 2 +- .../shallow_water_model/make_animation.jl | 2 +- .../shallow_water_model/vortex_merger.jl | 2 +- .../solid_body_rotation.jl | 2 +- .../solid_body_tracer_advection.jl | 2 +- .../solid_body_rotation/visualization.jl | 6 +- .../Langmuir_with_Stokes_x_jet.jl | 2 +- .../Langmuir_with_Stokes_y_jet.jl | 2 +- .../stokes_drift/surface_wave_induced_flow.jl | 2 +- .../surface_wave_quasi_geostrophic_flow.jl | 2 +- .../column_windy_convection.jl | 2 +- .../heterogeneous_windy_convection.jl | 2 +- 45 files changed, 304 insertions(+), 266 deletions(-) diff --git a/docs/Manifest.toml b/docs/Manifest.toml index b2f9985c69..c332a0b806 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.10.0" manifest_format = "2.0" -project_hash = "2ddaf14401639803ae6324c28b9c55435bb8ed6e" +project_hash = "4b9ba180306d20903ca52cb796478a1e64f7b079" [[deps.ANSIColoredPrinters]] git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" @@ -21,9 +21,9 @@ weakdeps = ["ChainRulesCore", "Test"] AbstractFFTsTestExt = "Test" [[deps.AbstractLattices]] -git-tree-sha1 = "f35684b7349da49fcc8a9e520e30e45dbb077166" +git-tree-sha1 = "222ee9e50b98f51b5d78feb93dd928880df35f06" uuid = "398f06c4-4d28-53ec-89ca-5b2656b7603d" -version = "0.2.1" +version = "0.3.0" [[deps.AbstractTrees]] git-tree-sha1 = "faa260e4cb5aba097a73fab382dd4b5819d8ec8c" @@ -32,9 +32,9 @@ version = "0.4.4" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "76289dc51920fdc6e0013c872ba9551d54961c24" +git-tree-sha1 = "cde29ddf7e5726c9fb511f340244ea3481267608" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.2" +version = "3.7.2" weakdeps = ["StaticArrays"] [deps.Adapt.extensions] @@ -52,9 +52,9 @@ version = "1.1.1" [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "f83ec24f76d4c8f525099b2ac475fc098138ec31" +git-tree-sha1 = "bbec08a37f8722786d87bedf84eae19c020c4efa" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.4.11" +version = "7.7.0" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" @@ -76,16 +76,16 @@ version = "7.4.11" uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" [[deps.Automa]] -deps = ["TranscodingStreams"] -git-tree-sha1 = "ef9997b3d5547c48b41c7bd8899e812a917b409d" +deps = ["PrecompileTools", "TranscodingStreams"] +git-tree-sha1 = "0da671c730d79b8f9a88a391556ec695ea921040" uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b" -version = "0.8.4" +version = "1.0.2" [[deps.AxisAlgorithms]] deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] -git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" +git-tree-sha1 = "01b8ccb13d68535d73d2b0c23e39bd23155fb712" uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" -version = "1.0.1" +version = "1.1.0" [[deps.AxisArrays]] deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] @@ -97,9 +97,9 @@ version = "0.4.7" uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[deps.BibInternal]] -git-tree-sha1 = "3a760b38ba8da19e64d29244f06104823ff26f25" +git-tree-sha1 = "0c62b284a52ec39ee831e10bf62c17d587dde75f" uuid = "2027ae74-3657-4b95-ae00-e2f7d55c3e64" -version = "0.3.4" +version = "0.3.5" [[deps.BibParser]] deps = ["BibInternal", "DataStructures", "Dates", "JSONSchema", "YAML"] @@ -109,20 +109,20 @@ version = "0.2.1" [[deps.Bibliography]] deps = ["BibInternal", "BibParser", "DataStructures", "Dates", "FileIO", "YAML"] -git-tree-sha1 = "b506db2482a8e110622ddf1fd0f78bce381af032" +git-tree-sha1 = "520c679daed011ce835d9efa7778863aad6687ed" uuid = "f1be7e48-bf82-45af-a471-ae754a193061" -version = "0.2.19" +version = "0.2.20" [[deps.Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" +git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+0" +version = "1.0.8+1" [[deps.CEnum]] -git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" +git-tree-sha1 = "389ad5c84de1ae7cf0e28e381131c98ea87d54fc" uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.2" +version = "0.5.0" [[deps.CFTime]] deps = ["Dates", "Printf"] @@ -152,10 +152,10 @@ uuid = "159f3aea-2a34-519c-b102-8c37f9878175" version = "1.0.5" [[deps.CairoMakie]] -deps = ["Base64", "Cairo", "Colors", "FFTW", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools", "SHA"] -git-tree-sha1 = "74384dc4aba2b377e22703e849154252930c434d" +deps = ["CRC32c", "Cairo", "Colors", "FFTW", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools"] +git-tree-sha1 = "ec7c21818710774e72195bda25c70fd6c56bc005" uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" -version = "0.10.11" +version = "0.11.5" [[deps.Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] @@ -170,10 +170,14 @@ uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" version = "0.5.1" [[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "b66b8f8e3db5d7835fb8cbe2589ffd1cd456e491" +deps = ["Compat", "LinearAlgebra"] +git-tree-sha1 = "c1deebd76f7a443d527fc0430d5758b8b2112ed8" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.17.0" +version = "1.19.1" +weakdeps = ["SparseArrays"] + + [deps.ChainRulesCore.extensions] + ChainRulesCoreSparseArraysExt = "SparseArrays" [[deps.ColorBrewer]] deps = ["Colors", "JSON", "Test"] @@ -194,10 +198,14 @@ uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" version = "0.11.4" [[deps.ColorVectorSpace]] -deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] -git-tree-sha1 = "600cc5508d66b78aae350f7accdb58763ac18589" +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] +git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249" uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.9.10" +version = "0.10.0" +weakdeps = ["SpecialFunctions"] + + [deps.ColorVectorSpace.extensions] + SpecialFunctionsExt = "SpecialFunctions" [[deps.Colors]] deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] @@ -223,10 +231,10 @@ uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" version = "0.3.0" [[deps.Compat]] -deps = ["UUIDs"] -git-tree-sha1 = "8a62af3e248a8c4bad6b32cbbe663ae02275e32c" +deps = ["TOML", "UUIDs"] +git-tree-sha1 = "75bd5b6fc5089df449b5d35fa501c846c9b6549b" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.10.0" +version = "4.12.0" weakdeps = ["Dates", "LinearAlgebra"] [deps.Compat.extensions] @@ -266,9 +274,9 @@ version = "1.15.0" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "3dbd312d370723b6bb43ba9d02fc36abade4518d" +git-tree-sha1 = "ac67408d9ddf207de5cfa9a97e114352430f01ed" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.15" +version = "0.18.16" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" @@ -281,9 +289,9 @@ uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[deps.DelaunayTriangulation]] deps = ["DataStructures", "EnumX", "ExactPredicates", "Random", "SimpleGraphs"] -git-tree-sha1 = "bea7984f7e09aeb28a3b071c420a0186cb4fabad" +git-tree-sha1 = "26eb8e2331b55735c3d305d949aabd7363f07ba7" uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" -version = "0.8.8" +version = "0.8.11" [[deps.DiffResults]] deps = ["StaticArraysCore"] @@ -308,18 +316,20 @@ deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[deps.Distributions]] -deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns", "Test"] -git-tree-sha1 = "3d5873f811f582873bb9871fc9c451784d5dc8c7" +deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "7c302d7a5fec5214eb8a5a4c466dcf7a51fcf169" uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.102" +version = "0.25.107" [deps.Distributions.extensions] DistributionsChainRulesCoreExt = "ChainRulesCore" DistributionsDensityInterfaceExt = "DensityInterface" + DistributionsTestExt = "Test" [deps.Distributions.weakdeps] ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" + Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.DocStringExtensions]] deps = ["LibGit2"] @@ -328,16 +338,16 @@ uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" version = "0.9.3" [[deps.Documenter]] -deps = ["ANSIColoredPrinters", "AbstractTrees", "Base64", "Dates", "DocStringExtensions", "Downloads", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "MarkdownAST", "Pkg", "PrecompileTools", "REPL", "RegistryInstances", "SHA", "Test", "Unicode"] -git-tree-sha1 = "147a3cbb6ddcd9448fe5e6c426b347efc68f9c86" +deps = ["ANSIColoredPrinters", "AbstractTrees", "Base64", "Dates", "DocStringExtensions", "Downloads", "Git", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "MarkdownAST", "Pkg", "PrecompileTools", "REPL", "RegistryInstances", "SHA", "Test", "Unicode"] +git-tree-sha1 = "2613dbec8f4748273bbe30ba71fd5cb369966bac" uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -version = "1.1.1" +version = "1.2.1" [[deps.DocumenterCitations]] -deps = ["AbstractTrees", "Bibliography", "Documenter", "Markdown", "MarkdownAST", "OrderedCollections", "Unicode"] -git-tree-sha1 = "0c5c141a66807796d580ef4fe592647132832f39" +deps = ["AbstractTrees", "Bibliography", "Dates", "Documenter", "Logging", "Markdown", "MarkdownAST", "OrderedCollections", "Unicode"] +git-tree-sha1 = "848c180c853afcfed0604b9cc1204a723957ee74" uuid = "daee34ce-89f3-4625-b898-19384cb65244" -version = "1.2.1" +version = "1.3.2" [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] @@ -361,16 +371,11 @@ git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" version = "1.0.4" -[[deps.ErrorfreeArithmetic]] -git-tree-sha1 = "d6863c556f1142a061532e79f611aa46be201686" -uuid = "90fa49ef-747e-5e6f-a989-263ba693cf1a" -version = "0.5.2" - [[deps.ExactPredicates]] -deps = ["IntervalArithmetic", "Random", "StaticArraysCore", "Test"] -git-tree-sha1 = "276e83bc8b21589b79303b9985c321024ffdf59c" +deps = ["IntervalArithmetic", "Random", "StaticArrays"] +git-tree-sha1 = "e8b8c949551f417e040f16e5c431b6e83e306e54" uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" -version = "2.2.5" +version = "2.2.7" [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -384,9 +389,9 @@ uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" version = "0.1.10" [[deps.Extents]] -git-tree-sha1 = "5e1e4c53fa39afe63a7d356e30452249365fba99" +git-tree-sha1 = "2140cd04483da90b2da7f99b2add0750504fc39c" uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" -version = "0.1.1" +version = "0.1.2" [[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", "libvorbis_jll", "x264_jll", "x265_jll"] @@ -396,9 +401,9 @@ version = "4.4.4+1" [[deps.FFTW]] deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] -git-tree-sha1 = "b4fbdd20c889804969571cc589900803edda16b7" +git-tree-sha1 = "ec22cbbcd01cba8f41eecd7d44aac1f23ee985e3" uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.7.1" +version = "1.7.2" [[deps.FFTW_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -406,37 +411,44 @@ git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" version = "3.3.10+0" -[[deps.FastRounding]] -deps = ["ErrorfreeArithmetic", "LinearAlgebra"] -git-tree-sha1 = "6344aa18f654196be82e62816935225b3b9abe44" -uuid = "fa42c844-2597-5d31-933b-ebd51ab2693f" -version = "0.3.1" - [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "299dc33549f68299137e51e6d49a13b5b1da9673" +git-tree-sha1 = "c5c28c245101bd59154f649e19b038d15901b5dc" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.1" +version = "1.16.2" + +[[deps.FilePaths]] +deps = ["FilePathsBase", "MacroTools", "Reexport", "Requires"] +git-tree-sha1 = "919d9412dbf53a2e6fe74af62a73ceed0bce0629" +uuid = "8fc22ac5-c921-52a6-82fd-178b2807b824" +version = "0.8.3" + +[[deps.FilePathsBase]] +deps = ["Compat", "Dates", "Mmap", "Printf", "Test", "UUIDs"] +git-tree-sha1 = "9f00e42f8d99fdde64d40c8ea5d14269a2e2c1aa" +uuid = "48062228-2e41-5def-b9a4-89aafe57970f" +version = "0.9.21" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.FillArrays]] deps = ["LinearAlgebra", "Random"] -git-tree-sha1 = "a20eaa3ad64254c61eeb5f230d9306e937405434" +git-tree-sha1 = "5b93957f6dcd33fc343044af3d48c215be2562f1" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "1.6.1" -weakdeps = ["SparseArrays", "Statistics"] +version = "1.9.3" +weakdeps = ["PDMats", "SparseArrays", "Statistics"] [deps.FillArrays.extensions] + FillArraysPDMatsExt = "PDMats" FillArraysSparseArraysExt = "SparseArrays" FillArraysStatisticsExt = "Statistics" [[deps.FiniteDiff]] deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays"] -git-tree-sha1 = "c6e4a1fbe73b31a3dea94b1da449503b8830c306" +git-tree-sha1 = "73d1214fec245096717847c62d389a5d2ac86504" uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.21.1" +version = "2.22.0" [deps.FiniteDiff.extensions] FiniteDiffBandedMatricesExt = "BandedMatrices" @@ -478,9 +490,9 @@ weakdeps = ["StaticArrays"] [[deps.FreeType]] deps = ["CEnum", "FreeType2_jll"] -git-tree-sha1 = "50351f83f95282cf903e968d7c6e8d44a5f83d0b" +git-tree-sha1 = "907369da0f8e80728ab49c1c7e09327bf0d6d999" uuid = "b38be410-82b0-50bf-ab77-7b57e271db43" -version = "4.1.0" +version = "4.1.1" [[deps.FreeType2_jll]] deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] @@ -490,9 +502,9 @@ version = "2.13.1+0" [[deps.FreeTypeAbstraction]] deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] -git-tree-sha1 = "38a92e40157100e796690421e34a11c107205c86" +git-tree-sha1 = "055626e1a35f6771fe99060e835b72ca61a52621" uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" -version = "0.10.0" +version = "0.10.1" [[deps.FriBidi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -512,9 +524,9 @@ version = "0.1.5" [[deps.GeoInterface]] deps = ["Extents"] -git-tree-sha1 = "d53480c0793b13341c40199190f92c611aa2e93c" +git-tree-sha1 = "d4f85701f569584f2cff7ba67a137d03f0cfb7d0" uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" -version = "1.3.2" +version = "1.3.3" [[deps.GeometryBasics]] deps = ["EarCut_jll", "Extents", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] @@ -528,6 +540,18 @@ git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" version = "0.21.0+0" +[[deps.Git]] +deps = ["Git_jll"] +git-tree-sha1 = "51764e6c2e84c37055e846c516e9015b4a291c7d" +uuid = "d7ba0133-e1db-5d97-8f8c-041e4b3a1eb2" +version = "1.3.0" + +[[deps.Git_jll]] +deps = ["Artifacts", "Expat_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Libiconv_jll", "OpenSSL_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "b30c473c97fcc1e1e44fab8f3e88fd1b89c9e9d1" +uuid = "f8c6e375-362e-5223-8a59-34ff63f689eb" +version = "2.43.0+0" + [[deps.Glib_jll]] deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] git-tree-sha1 = "e94c92c7bf4819685eb80186d51c43e71d4afa17" @@ -548,9 +572,9 @@ version = "1.3.14+0" [[deps.GridLayoutBase]] deps = ["GeometryBasics", "InteractiveUtils", "Observables"] -git-tree-sha1 = "f57a64794b336d4990d90f80b147474b869b1bc4" +git-tree-sha1 = "af13a277efd8a6e716d79ef635d5342ccb75be61" uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" -version = "0.9.2" +version = "0.10.0" [[deps.Grisu]] git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" @@ -558,10 +582,10 @@ uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" version = "1.0.2" [[deps.HDF5_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] -git-tree-sha1 = "38c8874692d48d5440d5752d6c74b0c6b0b60739" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] +git-tree-sha1 = "8156325170d6763b5494c072ac4754214db3e669" uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" -version = "1.14.2+1" +version = "1.14.3+0" [[deps.HarfBuzz_jll]] deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] @@ -589,15 +613,15 @@ version = "0.6.11" [[deps.ImageBase]] deps = ["ImageCore", "Reexport"] -git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" +git-tree-sha1 = "eb49b82c172811fd2c86759fa0553a2221feb909" uuid = "c817782e-172a-44cc-b673-b171935fbb9e" -version = "0.1.5" +version = "0.1.7" [[deps.ImageCore]] -deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] -git-tree-sha1 = "acf614720ef026d38400b3817614c45882d75500" +deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "PrecompileTools", "Reexport"] +git-tree-sha1 = "fc5d1d3443a124fde6e92d0260cd9e064eba69f8" uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" -version = "0.9.4" +version = "0.10.1" [[deps.ImageIO]] deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] @@ -639,10 +663,10 @@ uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" version = "0.1.2" [[deps.IntelOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "5fdf2fe6724d8caabf43b557b84ce53f3b7e2f6b" uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" -version = "2023.2.0+0" +version = "2024.0.2+0" [[deps.InteractiveUtils]] deps = ["Markdown"] @@ -650,21 +674,32 @@ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[deps.Interpolations]] deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] -git-tree-sha1 = "721ec2cf720536ad005cb38f50dbba7b02419a15" +git-tree-sha1 = "88a101217d7cb38a7b481ccd50d21876e1d1b0e0" uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" -version = "0.14.7" +version = "0.15.1" + + [deps.Interpolations.extensions] + InterpolationsUnitfulExt = "Unitful" + + [deps.Interpolations.weakdeps] + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" [[deps.IntervalArithmetic]] -deps = ["CRlibm", "FastRounding", "LinearAlgebra", "Markdown", "Random", "RecipesBase", "RoundingEmulator", "SetRounding", "StaticArrays"] -git-tree-sha1 = "5ab7744289be503d76a944784bac3f2df7b809af" +deps = ["CRlibm", "RoundingEmulator"] +git-tree-sha1 = "c274ec586ea58eb7b42afd0c5d67e50ff50229b5" uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" -version = "0.20.9" +version = "0.22.5" +weakdeps = ["DiffRules", "RecipesBase"] + + [deps.IntervalArithmetic.extensions] + IntervalArithmeticDiffRulesExt = "DiffRules" + IntervalArithmeticRecipesBaseExt = "RecipesBase" [[deps.IntervalSets]] deps = ["Dates", "Random"] -git-tree-sha1 = "8e59ea773deee525c99a8018409f64f19fb719e6" +git-tree-sha1 = "3d8866c029dd6b16e69e0d4a939c4dfcb98fac47" uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.7.7" +version = "0.7.8" weakdeps = ["Statistics"] [deps.IntervalSets.extensions] @@ -682,9 +717,9 @@ uuid = "f1662d9f-8043-43de-a69a-05efc1cc6ff4" version = "0.1.1" [[deps.IterTools]] -git-tree-sha1 = "4ced6667f9974fc5c5943fa5e2ef1ca43ea9e450" +git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" -version = "1.8.0" +version = "1.10.0" [[deps.IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" @@ -692,10 +727,10 @@ uuid = "82899510-4779-5014-852e-03e436cf321d" version = "1.0.0" [[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "c11d691a0dc8e90acfa4740d293ade57f68bfdbb" +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "PrecompileTools", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] +git-tree-sha1 = "853b9e0b876e8c7093a824c4f83c619d23525e64" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.35" +version = "0.4.43" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] @@ -711,9 +746,15 @@ version = "0.21.4" [[deps.JSON3]] deps = ["Dates", "Mmap", "Parsers", "PrecompileTools", "StructTypes", "UUIDs"] -git-tree-sha1 = "95220473901735a0f4df9d1ca5b171b568b2daa3" +git-tree-sha1 = "eb3edce0ed4fa32f75a0a11217433c31d56bd48b" uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" -version = "1.13.2" +version = "1.14.0" + + [deps.JSON3.extensions] + JSON3ArrowExt = ["ArrowTypes"] + + [deps.JSON3.weakdeps] + ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" [[deps.JSONSchema]] deps = ["Downloads", "JSON", "JSON3", "URIs"] @@ -723,21 +764,21 @@ version = "1.3.0" [[deps.JpegTurbo]] deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] -git-tree-sha1 = "d65930fa2bc96b07d7691c652d701dcbe7d9cf0b" +git-tree-sha1 = "fa6d0bcff8583bac20f1ffa708c3913ca605c611" uuid = "b835a17e-a41a-41e7-81f0-2f016b05efe0" -version = "0.1.4" +version = "0.1.5" [[deps.JpegTurbo_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6f2675ef130a300a112286de91973805fcc5ffbc" +git-tree-sha1 = "60b1194df0a3298f460063de985eae7b01bc011a" uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "2.1.91+0" +version = "3.0.1+0" [[deps.KernelDensity]] deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] -git-tree-sha1 = "90442c50e202a5cdf21a7899c66b240fdef14035" +git-tree-sha1 = "fee018a29b60733876eb557804b5b109dd3dd8a7" uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" -version = "0.6.7" +version = "0.6.8" [[deps.LAME_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -746,10 +787,10 @@ uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" version = "3.100.1+0" [[deps.LLVMOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713" uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" -version = "15.0.4+0" +version = "15.0.7+0" [[deps.LZO_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -758,14 +799,14 @@ uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" version = "2.10.1+0" [[deps.LaTeXStrings]] -git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" +git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.0" +version = "1.3.1" [[deps.LazilyInitializedFields]] -git-tree-sha1 = "410fe4739a4b092f2ffe36fcb0dcc3ab12648ce1" +git-tree-sha1 = "8f7f3cabab0fd1800699663533b6d5cb3fc0e612" uuid = "0e77f7df-68c5-4e49-93ce-4cd80f5598bf" -version = "1.2.1" +version = "1.2.2" [[deps.LazyArtifacts]] deps = ["Artifacts", "Pkg"] @@ -841,9 +882,9 @@ version = "2.36.0+0" [[deps.LightXML]] deps = ["Libdl", "XML2_jll"] -git-tree-sha1 = "e129d9391168c677cd4800f5c0abb1ed8cb3794f" +git-tree-sha1 = "3a994404d3f6709610701c7dabfc03fed87a81f8" uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" -version = "0.9.0" +version = "0.9.1" [[deps.LineSearches]] deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] @@ -857,15 +898,15 @@ uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[deps.LinearAlgebraX]] deps = ["LinearAlgebra", "Mods", "Permutations", "Primes", "SimplePolynomials"] -git-tree-sha1 = "558a338f1eeabe933f9c2d4052aa7c2c707c3d52" +git-tree-sha1 = "1cb349a6a7656c2cbe2d288baabe863a208e46e3" uuid = "9b3f67b0-2d00-526e-9884-9e4938f8fb88" -version = "0.1.12" +version = "0.2.6" [[deps.Literate]] deps = ["Base64", "IOCapture", "JSON", "REPL"] -git-tree-sha1 = "ae5703dde29228490f03cbd64c47be8131819485" +git-tree-sha1 = "bad26f1ccd99c553886ec0725e99a509589dcd11" uuid = "98b081ad-f1c9-55d3-8b20-4c87d4299306" -version = "2.15.0" +version = "2.16.1" [[deps.LogExpFunctions]] deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] @@ -887,46 +928,46 @@ version = "0.3.26" uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" [[deps.MKL_jll]] -deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "eb006abbd7041c28e0d16260e50a24f8f9104913" +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl"] +git-tree-sha1 = "72dc3cf284559eb8f53aa593fe62cb33f83ed0c0" uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" -version = "2023.2.0+0" +version = "2024.0.0+0" [[deps.MPICH_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "8a5b4d2220377d1ece13f49438d71ad20cf1ba83" +git-tree-sha1 = "2ee75365ca243c1a39d467e35ffd3d4d32eef11e" uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" -version = "4.1.2+0" +version = "4.1.2+1" [[deps.MPIPreferences]] deps = ["Libdl", "Preferences"] -git-tree-sha1 = "781916a2ebf2841467cda03b6f1af43e23839d85" +git-tree-sha1 = "8f6af051b9e8ec597fa09d8885ed79fd582f33c9" uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" -version = "0.1.9" +version = "0.1.10" [[deps.MPItrampoline_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "6979eccb6a9edbbb62681e158443e79ecc0d056a" +git-tree-sha1 = "8eeb3c73bbc0ca203d0dc8dad4008350bbe5797b" uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" -version = "5.3.1+0" +version = "5.3.1+1" [[deps.MacroTools]] deps = ["Markdown", "Random"] -git-tree-sha1 = "9ee1618cbf5240e6d4e0371d6f24065083f60c48" +git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.11" +version = "0.5.13" [[deps.Makie]] -deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "Match", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Setfield", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] -git-tree-sha1 = "1d16d20279a145119899b4205258332f0fbeaa94" +deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "Setfield", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] +git-tree-sha1 = "a37c6610dd20425b131caf65d52abdf859da5ab1" uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" -version = "0.19.11" +version = "0.20.4" [[deps.MakieCore]] deps = ["Observables", "REPL"] -git-tree-sha1 = "a94bf3fef9c690a2a4ac1d09d86a59ab89c7f8e4" +git-tree-sha1 = "ec5db7bb2dc9b85072658dcb2d3ad09569b09ac9" uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" -version = "0.6.8" +version = "0.7.2" [[deps.MappedArrays]] git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e" @@ -943,16 +984,11 @@ git-tree-sha1 = "465a70f0fc7d443a00dcdc3267a497397b8a3899" uuid = "d0879d2d-cac2-40c8-9cee-1863dc0c7391" version = "0.1.2" -[[deps.Match]] -git-tree-sha1 = "1d9bc5c1a6e7ee24effb93f175c9342f9154d97f" -uuid = "7eb4fadd-790c-5f42-8a69-bfa0b872bfbf" -version = "1.2.0" - [[deps.MathTeXEngine]] -deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "Test", "UnicodeFun"] -git-tree-sha1 = "8f52dbaa1351ce4cb847d95568cb29e62a307d93" +deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "UnicodeFun"] +git-tree-sha1 = "96ca8a313eb6437db5ffe946c457a401bbb8ce1d" uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" -version = "0.5.6" +version = "0.5.7" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] @@ -966,9 +1002,9 @@ version = "0.3.2" [[deps.MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "a7023883872e52bc29bcaac74f19adf39347d2d5" +git-tree-sha1 = "b01beb91d20b0d1312a9471a36017b5b339d26de" uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.4+0" +version = "10.1.4+1" [[deps.Missings]] deps = ["DataAPI"] @@ -986,9 +1022,9 @@ uuid = "78c3b35d-d492-501b-9361-3d52fe80e533" version = "0.7.7" [[deps.Mods]] -git-tree-sha1 = "61be59e4daffff43a8cec04b5e0dc773cbb5db3a" +git-tree-sha1 = "434092e0ad802727bc144c90f13764c7b31ad2f5" uuid = "7475f97c-0381-53b1-977b-4c60186c8d62" -version = "1.3.3" +version = "2.2.3" [[deps.MosaicViews]] deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] @@ -1007,9 +1043,9 @@ version = "0.4.4" [[deps.NCDatasets]] deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "DiskArrays", "NetCDF_jll", "NetworkOptions", "Printf"] -git-tree-sha1 = "7fcb4378f9c648a186bcb996fa29acc929a179ed" +git-tree-sha1 = "173a378f357e9bb24b22019efb5e4778223ce8cf" uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.13.1" +version = "0.13.2" [[deps.NLSolversBase]] deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] @@ -1040,15 +1076,18 @@ uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.Observables]] -git-tree-sha1 = "6862738f9796b3edc1c09d0890afce4eca9e7e93" +git-tree-sha1 = "7438a59546cf62428fc9d1bc94729146d37a7225" uuid = "510215fc-4207-5dde-b226-833fc4488ee2" -version = "0.5.4" +version = "0.5.5" [[deps.OffsetArrays]] -deps = ["Adapt"] -git-tree-sha1 = "2ac17d29c523ce1cd38e27785a7d23024853a4bb" +git-tree-sha1 = "6a731f2b5c03157418a20c12195eb4b74c8f8621" uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.12.10" +version = "1.13.0" +weakdeps = ["Adapt"] + + [deps.OffsetArrays.extensions] + OffsetArraysAdaptExt = "Adapt" [[deps.Ogg_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -1086,9 +1125,9 @@ version = "4.1.6+0" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "ceeda72c9fd6bbebc4f4f598560789145a8b6c4c" +git-tree-sha1 = "cc6e1927ac521b659af340e0ca45828a3ffc748f" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.11+0" +version = "3.0.12+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] @@ -1109,9 +1148,9 @@ uuid = "91d4177d-7536-5919-b921-800302f37372" version = "1.3.2+0" [[deps.OrderedCollections]] -git-tree-sha1 = "2e73fe17cac3c62ad1aebe70d44c963c3cfdc3e3" +git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.2" +version = "1.6.3" [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] @@ -1120,15 +1159,15 @@ version = "10.42.0+1" [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "3d8af7d689bd228a3a6c2298a4e6d5f5944accb8" +git-tree-sha1 = "949347156c25054de2db3b166c52ac4728cbad65" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.26" +version = "0.11.31" [[deps.PNGFiles]] deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] -git-tree-sha1 = "9b02b27ac477cad98114584ff964e3052f656a0f" +git-tree-sha1 = "67186a2bc9a90f9f85ff3cc8277868961fb57cbd" uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" -version = "0.4.0" +version = "0.4.3" [[deps.Packing]] deps = ["GeometryBasics"] @@ -1156,15 +1195,15 @@ version = "0.12.3" [[deps.Parsers]] deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "716e24b21538abc91f6205fd1d8363f39b442851" +git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.7.2" +version = "2.8.1" [[deps.Permutations]] deps = ["Combinatorics", "LinearAlgebra", "Random"] -git-tree-sha1 = "25e2bb0973689836bf164ecb960762f1bb8794dd" +git-tree-sha1 = "c7745750b8a829bc6039b7f1f0981bcda526a946" uuid = "2ae35dd2-176d-5d53-8349-f30d82d94d4f" -version = "0.4.17" +version = "0.4.19" [[deps.Pixman_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] @@ -1185,9 +1224,9 @@ version = "0.3.3" [[deps.PlotUtils]] deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] -git-tree-sha1 = "f92e1315dadf8c46561fb9396e525f7200cdc227" +git-tree-sha1 = "862942baf5663da528f66d24996eb6da85218e76" uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.3.5" +version = "1.4.0" [[deps.PolygonOps]] git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6" @@ -1196,9 +1235,9 @@ version = "0.1.2" [[deps.Polynomials]] deps = ["LinearAlgebra", "RecipesBase", "Setfield", "SparseArrays"] -git-tree-sha1 = "ea78a2764f31715093de7ab495e12c0187f231d1" +git-tree-sha1 = "a9c7a523d5ed375be3983db190f6a5874ae9286d" uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" -version = "4.0.4" +version = "4.0.6" [deps.Polynomials.extensions] PolynomialsChainRulesCoreExt = "ChainRulesCore" @@ -1232,9 +1271,9 @@ version = "1.4.1" [[deps.Primes]] deps = ["IntegerMathUtils"] -git-tree-sha1 = "4c9f306e5d6603ae203c2000dd460d81a5251489" +git-tree-sha1 = "1d05623b5952aed1307bf8b43bec8b8d1ef94b6e" uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" -version = "0.5.4" +version = "0.5.5" [[deps.Printf]] deps = ["Unicode"] @@ -1254,9 +1293,9 @@ version = "1.0.0" [[deps.QuadGK]] deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "9ebcd48c498668c7fa0e97a9cae873fbee7bfee1" +git-tree-sha1 = "9b23c31e76e333e6fb4c1595ae6afa74966a729e" uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.9.1" +version = "2.9.4" [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] @@ -1339,18 +1378,13 @@ version = "0.7.0" [[deps.Scratch]] deps = ["Dates"] -git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.0" +version = "1.2.1" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" -[[deps.SetRounding]] -git-tree-sha1 = "d7a25e439d07a17b7cdf97eecee504c50fedf5f6" -uuid = "3cc68bcd-71a2-5612-b932-767ffbe40ab0" -version = "0.2.1" - [[deps.Setfield]] deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" @@ -1381,21 +1415,21 @@ version = "0.4.0" [[deps.SimpleGraphs]] deps = ["AbstractLattices", "Combinatorics", "DataStructures", "IterTools", "LightXML", "LinearAlgebra", "LinearAlgebraX", "Optim", "Primes", "Random", "RingLists", "SimplePartitions", "SimplePolynomials", "SimpleRandom", "SparseArrays", "Statistics"] -git-tree-sha1 = "b608903049d11cc557c45e03b3a53e9260579c19" +git-tree-sha1 = "f65caa24a622f985cc341de81d3f9744435d0d0f" uuid = "55797a34-41de-5266-9ec1-32ac4eb504d3" -version = "0.8.4" +version = "0.8.6" [[deps.SimplePartitions]] deps = ["AbstractLattices", "DataStructures", "Permutations"] -git-tree-sha1 = "dcc02923a53f316ab97da8ef3136e80b4543dbf1" +git-tree-sha1 = "e9330391d04241eafdc358713b48396619c83bcb" uuid = "ec83eff0-a5b5-5643-ae32-5cbf6eedec9d" -version = "0.3.0" +version = "0.3.1" [[deps.SimplePolynomials]] deps = ["Mods", "Multisets", "Polynomials", "Primes"] -git-tree-sha1 = "d537c31cf9995236166e3e9afc424a5a1c59ff9d" +git-tree-sha1 = "7063828369cafa93f3187b3d0159f05582011405" uuid = "cc47b68c-3164-5771-a705-2bc0097375a0" -version = "0.2.14" +version = "0.2.17" [[deps.SimpleRandom]] deps = ["Distributions", "LinearAlgebra", "Random"] @@ -1420,9 +1454,9 @@ uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[deps.SortingAlgorithms]] deps = ["DataStructures"] -git-tree-sha1 = "c60ec5c62180f27efea3ba2908480f8055e17cee" +git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.1.1" +version = "1.2.1" [[deps.SparseArrays]] deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] @@ -1441,9 +1475,9 @@ weakdeps = ["ChainRulesCore"] [[deps.StableHashTraits]] deps = ["Compat", "SHA", "Tables", "TupleTools"] -git-tree-sha1 = "19df33ca14f24a3ad2df9e89124bd5f5cc8467a2" +git-tree-sha1 = "6fc838a7713795681907a7e749d72d12a81a43ea" uuid = "c5dd0088-6c3f-4803-b00e-f31a60c170fa" -version = "1.0.1" +version = "1.1.4" [[deps.StackViews]] deps = ["OffsetArrays"] @@ -1452,13 +1486,14 @@ uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" version = "0.1.1" [[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "StaticArraysCore"] -git-tree-sha1 = "0adf069a2a490c47273727e029371b31d44b72b2" +deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] +git-tree-sha1 = "f68dd04d131d9a8a8eb836173ee8f105c360b0c5" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.6.5" -weakdeps = ["Statistics"] +version = "1.9.1" +weakdeps = ["ChainRulesCore", "Statistics"] [deps.StaticArrays.extensions] + StaticArraysChainRulesCoreExt = "ChainRulesCore" StaticArraysStatisticsExt = "Statistics" [[deps.StaticArraysCore]] @@ -1543,9 +1578,9 @@ version = "1.0.1" [[deps.Tables]] deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits"] -git-tree-sha1 = "a1f34829d5ac0ef499f6d84428bd6b4c71f02ead" +git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.11.0" +version = "1.11.1" [[deps.Tar]] deps = ["ArgTools", "SHA"] @@ -1585,10 +1620,13 @@ uuid = "bdfc003b-8df8-5c39-adcd-3a9087f5df4a" version = "0.3.1" [[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "9a6ae7ed916312b41236fcef7e0af564ef934769" +git-tree-sha1 = "1fbeaaca45801b4ba17c251dd8603ef24801dd84" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.13" +version = "0.10.2" +weakdeps = ["Random", "Test"] + + [deps.TranscodingStreams.extensions] + TestExt = ["Test", "Random"] [[deps.TriplotBase]] git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" @@ -1625,15 +1663,15 @@ version = "0.4.1" [[deps.WoodburyMatrices]] deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" +git-tree-sha1 = "c1a7aa6219628fcd757dede0ca95e245c5cd9511" uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" -version = "0.5.5" +version = "1.0.0" [[deps.XML2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "24b81b59bd35b3c42ab84fa589086e19be919916" +git-tree-sha1 = "801cbe47eae69adc50f36c3caec4758d2650741b" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.11.5+0" +version = "2.12.2+0" [[deps.XSLT_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] @@ -1742,10 +1780,10 @@ uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" version = "2.0.2+0" [[deps.libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "93284c28274d9e75218a416c65ec49d0e0fcdf3d" uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.38+0" +version = "1.6.40+0" [[deps.libsixel_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"] diff --git a/docs/Project.toml b/docs/Project.toml index 488cdd8ae5..1f9bd5848c 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -11,7 +11,7 @@ Polynomials = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" TimesDates = "bdfc003b-8df8-5c39-adcd-3a9087f5df4a" [compat] -CairoMakie = "0.10.11" +CairoMakie = "0.11" Documenter = "1" DocumenterCitations = "1" Literate = "≥2.9.0" diff --git a/docs/src/model_setup/grids.md b/docs/src/model_setup/grids.md index 619b92f476..b4041c5eff 100644 --- a/docs/src/model_setup/grids.md +++ b/docs/src/model_setup/grids.md @@ -144,7 +144,7 @@ We can easily visualize the spacing of ``y`` and ``z`` directions. ```@example 1 using CairoMakie -fig = Figure(resolution=(800, 900)) +fig = Figure(size=(800, 900)) ax1 = Axis(fig[1, 1]; xlabel = "y (m)", ylabel = "y-spacing (m)", limits = (nothing, (0, 250))) lines!(ax1, grid.yᵃᶜᵃ[1:Ny], grid.Δyᵃᶜᵃ[1:Ny]) diff --git a/examples/baroclinic_adjustment.jl b/examples/baroclinic_adjustment.jl index adaf010298..848b9075ce 100644 --- a/examples/baroclinic_adjustment.jl +++ b/examples/baroclinic_adjustment.jl @@ -221,7 +221,7 @@ nothing #hide # Then we create a 3D axis. We use `zonal_slice_displacement` to control where the plot of the instantaneous # zonal average flow is located. -fig = Figure(resolution = (1600, 800)) +fig = Figure(size=(1600, 800)) zonal_slice_displacement = 1.2 @@ -309,7 +309,7 @@ yv = yv ./ 1e3 # convert m -> km set_theme!(Theme(fontsize=24)) -fig = Figure(resolution=(1800, 1000)) +fig = Figure(size=(1800, 1000)) axb = Axis(fig[1, 2], xlabel="x (km)", ylabel="y (km)", aspect=1) axζ = Axis(fig[1, 3], xlabel="x (km)", ylabel="y (km)", aspect=1, yaxisposition=:right) diff --git a/examples/convecting_plankton.jl b/examples/convecting_plankton.jl index be84b7102a..cf6f431013 100644 --- a/examples/convecting_plankton.jl +++ b/examples/convecting_plankton.jl @@ -70,7 +70,7 @@ set_theme!(Theme(fontsize = 24, linewidth=2)) times = range(0, 12hours, length=100) -fig = Figure(resolution = (800, 300)) +fig = Figure(size=(800, 300)) ax = Axis(fig[1, 1]; xlabel = "Time (hours)", ylabel = "Surface buoyancy flux (m² s⁻³)") flux_time_series = [buoyancy_flux(0, t, buoyancy_flux_parameters) for t in times] @@ -239,7 +239,7 @@ w_lims = (-w_lim, w_lim) P_lims = (0.95, 1.1) -fig = Figure(resolution = (1200, 1000)) +fig = Figure(size=(1200, 1000)) ax_w = Axis(fig[2, 2]; xlabel = "x (m)", ylabel = "z (m)", aspect = 1) ax_P = Axis(fig[3, 2]; xlabel = "x (m)", ylabel = "z (m)", aspect = 1) diff --git a/examples/horizontal_convection.jl b/examples/horizontal_convection.jl index c4e78048c3..10ceb7fc56 100644 --- a/examples/horizontal_convection.jl +++ b/examples/horizontal_convection.jl @@ -222,7 +222,7 @@ axis_kwargs = (xlabel = L"x / H", aspect = Lx / H, titlesize = 20) -fig = Figure(resolution = (600, 1100)) +fig = Figure(size=(600, 1100)) ax_s = Axis(fig[2, 1]; title = L"speed, $(u^2+w^2)^{1/2} / (L_x b_*) ^{1/2}", axis_kwargs...) @@ -336,7 +336,7 @@ for i = 1:length(t) Nu[i] = χ[1, 1, 1] / χ_diff end -fig = Figure(resolution = (850, 450)) +fig = Figure(size=(850, 450)) ax_KE = Axis(fig[1, 1], xlabel = L"t \, (b_* / L_x)^{1/2}", ylabel = L"KE $ / (L_x b_*)$") lines!(ax_KE, t, kinetic_energy; linewidth = 3) diff --git a/examples/internal_wave.jl b/examples/internal_wave.jl index bcc74d4a25..43909738e9 100644 --- a/examples/internal_wave.jl +++ b/examples/internal_wave.jl @@ -138,7 +138,7 @@ run!(simulation) using CairoMakie set_theme!(Theme(fontsize = 24)) -fig = Figure(resolution = (600, 600)) +fig = Figure(size=(600, 600)) ax = Axis(fig[2, 1]; xlabel = "x", ylabel = "z", limits = ((-π, π), (-π, π)), aspect = AxisAspect(1)) diff --git a/examples/kelvin_helmholtz_instability.jl b/examples/kelvin_helmholtz_instability.jl index c8ca846502..92dad20704 100644 --- a/examples/kelvin_helmholtz_instability.jl +++ b/examples/kelvin_helmholtz_instability.jl @@ -48,7 +48,7 @@ zC = znodes(grid, Center()) Ri, h = B.parameters -fig = Figure(resolution = (850, 450)) +fig = Figure(size=(850, 450)) ax = Axis(fig[1, 1], xlabel = "U(z)", ylabel = "z") lines!(ax, shear_flow.(0, zC, 0), zC; linewidth = 3) @@ -307,7 +307,7 @@ growth_rates, power_method_data = estimate_growth_rate(simulation, mean_perturba n = Observable(1) -fig = Figure(resolution=(800, 600)) +fig = Figure(size=(800, 600)) kwargs = (xlabel="x", ylabel="z", limits = ((xω[1], xω[end]), (zω[1], zω[end])), aspect=1,) @@ -415,7 +415,7 @@ n = Observable(1) ωₙ = @lift interior(ω_timeseries, :, 1, :, $n) bₙ = @lift interior(b_timeseries, :, 1, :, $n) -fig = Figure(resolution=(800, 600)) +fig = Figure(size=(800, 600)) kwargs = (xlabel="x", ylabel="z", limits = ((xω[1], xω[end]), (zω[1], zω[end])), aspect=1,) @@ -474,7 +474,7 @@ n = Observable(1) Ωₙ = @lift interior(Ω_timeseries, :, 1, :, $n) Bₙ = @lift interior(B_timeseries, :, 1, :, $n) -fig = Figure(resolution=(800, 600)) +fig = Figure(size=(800, 600)) kwargs = (xlabel="x", ylabel="z", limits = ((xω[1], xω[end]), (zω[1], zω[end])), aspect=1,) diff --git a/examples/langmuir_turbulence.jl b/examples/langmuir_turbulence.jl index 3ac1acdd1e..a1061eb17a 100644 --- a/examples/langmuir_turbulence.jl +++ b/examples/langmuir_turbulence.jl @@ -269,7 +269,7 @@ wxy_title = @lift string("w(x, y, t) at z=-8 m and t = ", prettytime(times[$n])) wxz_title = @lift string("w(x, z, t) at y=0 m and t = ", prettytime(times[$n])) uxz_title = @lift string("u(x, z, t) at y=0 m and t = ", prettytime(times[$n])) -fig = Figure(resolution = (850, 850)) +fig = Figure(size=(850, 850)) ax_B = Axis(fig[1, 4]; xlabel = "Buoyancy (m s⁻²)", diff --git a/examples/ocean_wind_mixing_and_convection.jl b/examples/ocean_wind_mixing_and_convection.jl index d316f2a756..fdd370f3d1 100644 --- a/examples/ocean_wind_mixing_and_convection.jl +++ b/examples/ocean_wind_mixing_and_convection.jl @@ -63,7 +63,7 @@ grid = RectilinearGrid(size = (Nx, Nx, Nz), # We plot vertical spacing versus depth to inspect the prescribed grid stretching: -fig = Figure(resolution=(1200, 800)) +fig = Figure(size=(1200, 800)) ax = Axis(fig[1, 1], ylabel = "Depth (m)", xlabel = "Vertical spacing (m)") lines!(ax, zspacings(grid, Center()), znodes(grid, Center())) @@ -258,7 +258,7 @@ n = Observable(intro) Sₙ = @lift interior(time_series.S[$n], :, 1, :) νₑₙ = @lift interior(time_series.νₑ[$n], :, 1, :) -fig = Figure(resolution = (1000, 500)) +fig = Figure(size=(1000, 500)) axis_kwargs = (xlabel="x (m)", ylabel="z (m)", diff --git a/examples/shallow_water_Bickley_jet.jl b/examples/shallow_water_Bickley_jet.jl index d162f9cca3..793906e2ab 100644 --- a/examples/shallow_water_Bickley_jet.jl +++ b/examples/shallow_water_Bickley_jet.jl @@ -166,7 +166,7 @@ nothing #hide # Read in the `output_writer` for the two-dimensional fields and then create an animation # showing both the total and perturbation vorticities. -fig = Figure(resolution = (1200, 660)) +fig = Figure(size=(1200, 660)) axis_kwargs = (xlabel = "x", ylabel = "y") ax_ω = Axis(fig[2, 1]; title = "Total vorticity, ω", axis_kwargs...) diff --git a/examples/tilted_bottom_boundary_layer.jl b/examples/tilted_bottom_boundary_layer.jl index b28579aa4b..ac44e77260 100644 --- a/examples/tilted_bottom_boundary_layer.jl +++ b/examples/tilted_bottom_boundary_layer.jl @@ -207,7 +207,7 @@ xv, yv, zv = nodes(V) ds = NCDataset(simulation.output_writers[:fields].filepath, "r") -fig = Figure(resolution = (800, 600)) +fig = Figure(size=(800, 600)) axis_kwargs = (xlabel = "Across-slope distance (m)", ylabel = "Slope-normal\ndistance (m)", diff --git a/examples/two_dimensional_turbulence.jl b/examples/two_dimensional_turbulence.jl index c242ab9677..0ebb1f0c42 100644 --- a/examples/two_dimensional_turbulence.jl +++ b/examples/two_dimensional_turbulence.jl @@ -120,7 +120,7 @@ set_theme!(Theme(fontsize = 24)) @info "Making a neat movie of vorticity and speed..." -fig = Figure(resolution = (800, 500)) +fig = Figure(size=(800, 500)) axis_kwargs = (xlabel = "x", ylabel = "y", diff --git a/validation/barotropic_gyre/visualize_barotropic_gyre.jl b/validation/barotropic_gyre/visualize_barotropic_gyre.jl index 70f2875f08..2c6de5377e 100644 --- a/validation/barotropic_gyre/visualize_barotropic_gyre.jl +++ b/validation/barotropic_gyre/visualize_barotropic_gyre.jl @@ -52,7 +52,7 @@ function visualize_barotropic_gyre(filepath) v = @lift file["timeseries/v/" * string($iter)][:, :, 1] η = @lift file["timeseries/η/" * string($iter)][:, :, 1] - fig = Figure(resolution = (2160, 1080)) + fig = Figure(size=(2160, 1080)) x = (xu, xv, xc) y = (yu, yv, yc) diff --git a/validation/bickley_jet/bickley_jet.jl b/validation/bickley_jet/bickley_jet.jl index ad95dce4f0..d29d00ab72 100644 --- a/validation/bickley_jet/bickley_jet.jl +++ b/validation/bickley_jet/bickley_jet.jl @@ -82,7 +82,7 @@ function visualize_bickley_jet(name) t = ζt.times Nt = length(t) - fig = Figure(resolution=(1400, 800)) + fig = Figure(size=(1400, 800)) slider = Slider(fig[2, 1:2], range=1:Nt, startvalue=1) n = slider.value diff --git a/validation/biogeochemistry/sediment_entrainment.jl b/validation/biogeochemistry/sediment_entrainment.jl index 91a9effa51..5e53c747da 100644 --- a/validation/biogeochemistry/sediment_entrainment.jl +++ b/validation/biogeochemistry/sediment_entrainment.jl @@ -60,7 +60,7 @@ end simulation.callbacks[:progress] = Callback(progress, IterationInterval(100)) -fig = Figure(resolution=(1600, 600)) +fig = Figure(size=(1600, 600)) ax_ξ = Axis(fig[1, 1]) ax_w = Axis(fig[1, 2]) ax_s = Axis(fig[1, 3]) @@ -118,7 +118,7 @@ st = FieldTimeSeries(filepath, "sediment") wt = FieldTimeSeries(filepath, "w") Nt = length(wt.times) -fig = Figure(resolution=(1600, 600)) +fig = Figure(size=(1600, 600)) ax_ξ = Axis(fig[1, 1], xlabel="x (m)", ylabel="z (m)", title="Vorticity", aspect=2) ax_w = Axis(fig[1, 2], xlabel="x (m)", ylabel="z (m)", title="Vertical velocity", aspect=2) ax_s = Axis(fig[1, 3], xlabel="x (m)", ylabel="z (m)", title="Sediment concentration", aspect=2) diff --git a/validation/curvilinear_diffusion/longitudinal_tracer_diffusion.jl b/validation/curvilinear_diffusion/longitudinal_tracer_diffusion.jl index 52baf67f9b..5542ccc386 100644 --- a/validation/curvilinear_diffusion/longitudinal_tracer_diffusion.jl +++ b/validation/curvilinear_diffusion/longitudinal_tracer_diffusion.jl @@ -84,7 +84,7 @@ title = @lift "Tracer diffusion on a parallel, t = $(file["timeseries/t/" * stri c = @lift file["timeseries/c/" * string($iter)][:, 1, 1] -fig = Figure(resolution = (1080, 540)) +fig = Figure(size=(1080, 540)) ax = fig[1, 1] = Axis(fig, ylabel = "c(λ)", xlabel = "λ") diff --git a/validation/curvilinear_diffusion/meridional_diffusion.jl b/validation/curvilinear_diffusion/meridional_diffusion.jl index af984df941..7a48019107 100644 --- a/validation/curvilinear_diffusion/meridional_diffusion.jl +++ b/validation/curvilinear_diffusion/meridional_diffusion.jl @@ -87,7 +87,7 @@ c = @lift file["timeseries/c/" * string($iter)][1, :, 1] set_theme!(Theme(fontsize = 30)) -fig = Figure(resolution = (1920, 1080)) +fig = Figure(size=(1920, 1080)) c_title = @lift @sprintf("Tracer diffusion on a meridian, t = %.2e", file["timeseries/t/" * string($iter)]) u_title = @lift @sprintf("Momentum diffusion on a meridian, t = %.2e", file["timeseries/t/" * string($iter)]) diff --git a/validation/curvilinear_diffusion/spot_tracer_diffusion.jl b/validation/curvilinear_diffusion/spot_tracer_diffusion.jl index dd9c9127a6..c6395af442 100644 --- a/validation/curvilinear_diffusion/spot_tracer_diffusion.jl +++ b/validation/curvilinear_diffusion/spot_tracer_diffusion.jl @@ -89,7 +89,7 @@ c = @lift file["timeseries/c/" * string($iter)][:, :, 1] set_theme!(Theme(fontsize = 30)) -fig = Figure(resolution = (1920, 1080)) +fig = Figure(size=(1920, 1080)) title = @lift "Tracer spot on a sphere, t = $(file["timeseries/t/" * string($iter)])" diff --git a/validation/distributed_simulations/distributed_shallow_water_turbulence.jl b/validation/distributed_simulations/distributed_shallow_water_turbulence.jl index 8af73b84fc..343671a312 100644 --- a/validation/distributed_simulations/distributed_shallow_water_turbulence.jl +++ b/validation/distributed_simulations/distributed_shallow_water_turbulence.jl @@ -51,7 +51,7 @@ if local_rank == 0 plot_title = @lift @sprintf("Oceananigans.jl + MPI: 2D turbulence t = %.2f", ds[1]["time"][$frame]) ζ = [@lift ds[r]["ζ"][:, :, 1, $frame] for r in 1:Nranks] - fig = Figure(resolution=(1600, 1200)) + fig = Figure(size=(1600, 1200)) for rx in 1:ranks[1], ry in 1:ranks[2] ax = fig[rx, ry] = Axis(fig) diff --git a/validation/field_time_series_boundary_conditions/seasonal_baroclinic_channel.jl b/validation/field_time_series_boundary_conditions/seasonal_baroclinic_channel.jl index 751e4f0a17..fb90a9307a 100644 --- a/validation/field_time_series_boundary_conditions/seasonal_baroclinic_channel.jl +++ b/validation/field_time_series_boundary_conditions/seasonal_baroclinic_channel.jl @@ -54,7 +54,7 @@ iter = Observable(1) Q = @lift(interior(Qˢ[$iter], :, :, 1)) τ = @lift(interior(τₓ[$iter], :, :, 1)) -fig = Figure(resolution = (800, 300)) +fig = Figure(size=(800, 300)) ax = Axis(fig[1, 1], title = "Surface heat flux") heatmap!(ax, Q, colormap = :thermal, colorrange = (-5e-5, 5e-5)) ax = Axis(fig[1, 2], title = "Surface wind stress") diff --git a/validation/immersed_boundaries/bumpy_baroclinic_adjustment.jl b/validation/immersed_boundaries/bumpy_baroclinic_adjustment.jl index c41e8a3ad9..bc073e20c0 100644 --- a/validation/immersed_boundaries/bumpy_baroclinic_adjustment.jl +++ b/validation/immersed_boundaries/bumpy_baroclinic_adjustment.jl @@ -132,7 +132,7 @@ ct = FieldTimeSeries(filepath, "c") t = ζt.times Nt = length(t) -fig = Figure(resolution=(1800, 600)) +fig = Figure(size=(1800, 600)) axζ = Axis(fig[1, 1], xlabel="x (km)", ylabel="y (km)") #, title="Vorticity at surface") axb = Axis(fig[1, 2], xlabel="x (km)", ylabel="y (km)") #, title="Buoyancy at surface") diff --git a/validation/immersed_boundaries/flow_over_hills.jl b/validation/immersed_boundaries/flow_over_hills.jl index 62efbaa494..4a2d9d2016 100644 --- a/validation/immersed_boundaries/flow_over_hills.jl +++ b/validation/immersed_boundaries/flow_over_hills.jl @@ -162,7 +162,7 @@ t = ξ["reference"].times[1:Nt] δU = Dict(exp => δU_series(u) for (exp, u) in U) δKE = Dict(exp => δK_series(k) for (exp, k) in KE) -fig = Figure(resolution=(1800, 1200)) +fig = Figure(size=(1800, 1200)) ax = Dict(exp => Axis(fig[i+1, 2:4], aspect=2π, xlabel="x", ylabel="z", title=exp) for (i, exp) in enumerate(experiments)) diff --git a/validation/immersed_boundaries/resting_stratified_bumpy_ocean.jl b/validation/immersed_boundaries/resting_stratified_bumpy_ocean.jl index 639bb73628..892b942951 100644 --- a/validation/immersed_boundaries/resting_stratified_bumpy_ocean.jl +++ b/validation/immersed_boundaries/resting_stratified_bumpy_ocean.jl @@ -72,7 +72,7 @@ v_partial = v[1] v_full = v[2] Δv = v_full .- v_partial -fig = Figure(resolution=(1200, 1800)) +fig = Figure(size=(1200, 1800)) partial_cell_title = @sprintf("PartialCellBottom with ϵ = %.1f", minimum_fractional_Δz) ax_bp = Axis(fig[1, 2], title=partial_cell_title) diff --git a/validation/implicit_free_surface/geostrophic_adjustment_test.jl b/validation/implicit_free_surface/geostrophic_adjustment_test.jl index bb6f7a904c..bedc84db7e 100644 --- a/validation/implicit_free_surface/geostrophic_adjustment_test.jl +++ b/validation/implicit_free_surface/geostrophic_adjustment_test.jl @@ -177,7 +177,7 @@ u1 = @lift(interior(data[1][3][$iter], :, mid, 1)) u2 = @lift(interior(data[2][3][$iter], :, mid, 1)) u3 = @lift(interior(data[3][3][$iter], :, mid, 1)) -fig = Figure(resolution = (1400, 1000)) +fig = Figure(size=(1400, 1000)) options = (; ylabelsize = 22, xlabelsize = 22, xgridstyle = :dash, ygridstyle = :dash, xtickalign = 1, xticksize = 10, ytickalign = 1, yticksize = 10, xlabel = "y [m]") diff --git a/validation/mesoscale_turbulence/baroclinic_adjustment.jl b/validation/mesoscale_turbulence/baroclinic_adjustment.jl index b6b5126cf2..f994fa843c 100644 --- a/validation/mesoscale_turbulence/baroclinic_adjustment.jl +++ b/validation/mesoscale_turbulence/baroclinic_adjustment.jl @@ -188,7 +188,7 @@ end using CairoMakie -fig = Figure(resolution = (1400, 700)) +fig = Figure(size=(1400, 700)) ax_b = fig[1:5, 1] = LScene(fig) ax_c = fig[1:5, 2] = LScene(fig) diff --git a/validation/mesoscale_turbulence/coarse_baroclinic_adjustment.jl b/validation/mesoscale_turbulence/coarse_baroclinic_adjustment.jl index 278f386486..cd26a180dc 100644 --- a/validation/mesoscale_turbulence/coarse_baroclinic_adjustment.jl +++ b/validation/mesoscale_turbulence/coarse_baroclinic_adjustment.jl @@ -131,7 +131,7 @@ run!(simulation) ##### Visualize ##### -fig = Figure(resolution = (1400, 700)) +fig = Figure(size=(1400, 700)) filepath = filename * "_fields.jld2" diff --git a/validation/mesoscale_turbulence/coarse_lat_lon_baroclinic_adjustment.jl b/validation/mesoscale_turbulence/coarse_lat_lon_baroclinic_adjustment.jl index 3e263e0133..3b32a6d74b 100644 --- a/validation/mesoscale_turbulence/coarse_lat_lon_baroclinic_adjustment.jl +++ b/validation/mesoscale_turbulence/coarse_lat_lon_baroclinic_adjustment.jl @@ -132,7 +132,7 @@ run!(simulation) ##### Visualize ##### -fig = Figure(resolution = (1400, 700)) +fig = Figure(size=(1400, 700)) filepath = filename * "_fields.jld2" diff --git a/validation/mesoscale_turbulence/eddying_channel.jl b/validation/mesoscale_turbulence/eddying_channel.jl index c3c468cad0..9fa11cf38c 100644 --- a/validation/mesoscale_turbulence/eddying_channel.jl +++ b/validation/mesoscale_turbulence/eddying_channel.jl @@ -315,7 +315,7 @@ end using CairoMakie -fig = Figure(resolution = (2000, 1000)) +fig = Figure(size=(2000, 1000)) ax_b = fig[1:5, 1] = LScene(fig) ax_ζ = fig[1:5, 2] = LScene(fig) diff --git a/validation/mesoscale_turbulence/modified_baroclinic_adjustment.jl b/validation/mesoscale_turbulence/modified_baroclinic_adjustment.jl index 78057986bf..0a65de89a8 100644 --- a/validation/mesoscale_turbulence/modified_baroclinic_adjustment.jl +++ b/validation/mesoscale_turbulence/modified_baroclinic_adjustment.jl @@ -141,7 +141,7 @@ println("done with gradient in ", gradient) ##### Visualize ##### -fig = Figure(resolution=(1400, 700)) +fig = Figure(size=(1400, 700)) filepath = filename * "_fields.jld2" diff --git a/validation/mesoscale_turbulence/zonally_averaged_baroclinic_adjustment.jl b/validation/mesoscale_turbulence/zonally_averaged_baroclinic_adjustment.jl index 0695712599..fa4f0b33dc 100644 --- a/validation/mesoscale_turbulence/zonally_averaged_baroclinic_adjustment.jl +++ b/validation/mesoscale_turbulence/zonally_averaged_baroclinic_adjustment.jl @@ -135,7 +135,7 @@ filename = "zonally_averaged_baroclinic_adjustment" using GLMakie using Oceananigans -fig = Figure(resolution = (2800, 1600)) +fig = Figure(size=(2800, 1600)) filepath = filename * ".jld2" diff --git a/validation/multi_region/cubed_sphere_tracer_advection.jl b/validation/multi_region/cubed_sphere_tracer_advection.jl index aa9d89fa43..d8d6959c61 100644 --- a/validation/multi_region/cubed_sphere_tracer_advection.jl +++ b/validation/multi_region/cubed_sphere_tracer_advection.jl @@ -157,7 +157,7 @@ n = Observable(1) Θₙ = @lift tracer_fields[$n] -fig = Figure(resolution = (1600, 1200), fontsize=30) +fig = Figure(size=(1600, 1200), fontsize=30) ax = GeoAxis(fig[1, 1], coastlines = true, lonlims = automatic) heatlatlon!(ax, Θₙ, colorrange=(-θ₀, θ₀), colormap = :balance) diff --git a/validation/multi_region/multi_region_cubed_sphere.jl b/validation/multi_region/multi_region_cubed_sphere.jl index 72d3cb2fde..69bc942a9f 100644 --- a/validation/multi_region/multi_region_cubed_sphere.jl +++ b/validation/multi_region/multi_region_cubed_sphere.jl @@ -67,7 +67,7 @@ fig save("multi_region_cubed_sphere_c_heatlatlon.png", fig) -fig = Figure(resolution = (1200, 600)) +fig = Figure(size=(1200, 600)) ax = GeoAxis(fig[1, 1], coastlines = true, lonlims = automatic) heatlatlon!(ax, c; colorrange, colormap) fig @@ -99,7 +99,7 @@ heatlatlon!(ax, u; colorrange, colormap) fig save("multi_region_cubed_sphere_u_heatlatlon.png", fig) -# fig = Figure(resolution = (1200, 600)) +# fig = Figure(size=(1200, 600)) # ax = GeoAxis(fig[1, 1], coastlines = true, lonlims = automatic) # heatlatlon!(ax, u; colorrange, colormap) # fig @@ -119,7 +119,7 @@ fig save("multi_region_cubed_sphere_v_heatlatlon.png", fig) -# fig = Figure(resolution = (1200, 600)) +# fig = Figure(size=(1200, 600)) # ax = GeoAxis(fig[1, 1], coastlines = true, lonlims = automatic) # heatlatlon!(ax, v; colorrange, colormap) # fig diff --git a/validation/orthogonal_spherical_shell_grid/splash.jl b/validation/orthogonal_spherical_shell_grid/splash.jl index 57c769c898..6583761fc7 100644 --- a/validation/orthogonal_spherical_shell_grid/splash.jl +++ b/validation/orthogonal_spherical_shell_grid/splash.jl @@ -80,7 +80,7 @@ sₙ = @lift interior(s_timeseries[$n], :, :, grid.Nz) s_lim = maximum(abs, interior(s_timeseries)) -fig = Figure(resolution = (800, 800)) +fig = Figure(size=(800, 800)) ax_u = Axis(fig[1, 1]) ax_v = Axis(fig[1, 3]) diff --git a/validation/shallow_water_model/make_animation.jl b/validation/shallow_water_model/make_animation.jl index 00e8ea1860..0c0413ffd6 100644 --- a/validation/shallow_water_model/make_animation.jl +++ b/validation/shallow_water_model/make_animation.jl @@ -57,7 +57,7 @@ h′ = @lift(file["timeseries/h/" * string($iter)][:, :, 1] .- bat2) clims_ζ = @lift 1.1 .* extrema(file["timeseries/ζ/" * string($iter)][:]) title1 = @lift(@sprintf("Vorticity in Shallow Water Model at time = %s", prettytime(file["timeseries/t/" * string($iter)]))) -fig = Figure(resolution = (2000, 600)) +fig = Figure(size=(2000, 600)) ax = Axis(fig[1,1], xlabel = "longitude", ylabel = "latitude", title=title1) heatmap_plot = heatmap!(ax, x, y, ζ′, colormap=:blues, nan_color = :black, colorrange=(-1e-5, 1e-5)) Colorbar(fig[1,2], heatmap_plot, width=25) diff --git a/validation/shallow_water_model/vortex_merger.jl b/validation/shallow_water_model/vortex_merger.jl index 2de36a2630..8fc162ad99 100644 --- a/validation/shallow_water_model/vortex_merger.jl +++ b/validation/shallow_water_model/vortex_merger.jl @@ -129,7 +129,7 @@ for Nh in [100, 200, 400, 800, 1600], stencil in [VorticityStencil, VelocitySten xh, yh, z = nodes((Center, Center, Center), grid) title = @lift(@sprintf("Vorticity in Shallow Water Model at time = %s", prettytime(file["timeseries/t/" * string($iter)]))) - fig = CairoMakie.Figure(resolution = (1000, 600)) + fig = CairoMakie.Figure(size=(1000, 600)) ax = CairoMakie.Axis(fig[1,1], xlabel = "longitude", ylabel = "latitude", title=title) heatmap_plot = CairoMakie.heatmap!(ax, yζ, xζ, PV, colormap=Reverse(:balance), colorrange = (-9.0, 9.0)) diff --git a/validation/solid_body_rotation/solid_body_rotation.jl b/validation/solid_body_rotation/solid_body_rotation.jl index 48b791979a..98e52ed16f 100644 --- a/validation/solid_body_rotation/solid_body_rotation.jl +++ b/validation/solid_body_rotation/solid_body_rotation.jl @@ -162,7 +162,7 @@ function plot_zonal_average_solid_body_rotation(filepath) zonal_average_u = @lift dropdims(mean(file["timeseries/u/" * string($iter)][2:Nx+1, 2:Ny+1, 1], dims=1), dims=1) - fig = Figure(resolution = (1080, 1080)) + fig = Figure(size=(1080, 1080)) ax = fig[1, 1] = Axis(fig, xlabel = "U(φ)", ylabel = "φ") diff --git a/validation/solid_body_rotation/solid_body_tracer_advection.jl b/validation/solid_body_rotation/solid_body_tracer_advection.jl index fa289e0b67..397aaccc54 100644 --- a/validation/solid_body_rotation/solid_body_tracer_advection.jl +++ b/validation/solid_body_rotation/solid_body_tracer_advection.jl @@ -163,7 +163,7 @@ function visualize_solid_body_tracer_advection(filepath) y = @. sind(λ_azimuthal) * sind(ϕ_azimuthal) z = @. cosd(ϕ_azimuthal) - fig = Figure(resolution = (1080, 1080)) + fig = Figure(size=(1080, 1080)) titles = ["c", "d", "e"] diff --git a/validation/solid_body_rotation/visualization.jl b/validation/solid_body_rotation/visualization.jl index 0f40145677..49b1df039d 100644 --- a/validation/solid_body_rotation/visualization.jl +++ b/validation/solid_body_rotation/visualization.jl @@ -53,7 +53,7 @@ function visualize_spherical_field(filepath, variable, range = nothing) y = @. sind(λ_azimuthal) * sind(φ_azimuthal) z = @. cosd(φ_azimuthal) - fig = Figure(resolution = (2000, 2000)) + fig = Figure(size=(2000, 2000)) fontsize_theme = Theme(fontsize = 25) set_theme!(fontsize_theme) @@ -106,7 +106,7 @@ function visualize_cartesian_field(filepath, variable, range = nothing) var = @lift file["timeseries/$(variable)/" * string($iter)][:, :, 1] - fig = Figure(resolution = (2000, 2000)) + fig = Figure(size=(2000, 2000)) fontsize_theme = Theme(fontsize = 25) set_theme!(fontsize_theme) @@ -145,7 +145,7 @@ function visualize_cartesian_comparison(filepath1, filepath2, title1, title2, va var1 = @lift file1["timeseries/$(variable)/" * string(it1[$iter])][:, :, 1] var2 = @lift file2["timeseries/$(variable)/" * string(it2[$iter])][:, :, 1] - fig = Figure(resolution = (3500, 1000)) + fig = Figure(size=(3500, 1000)) ax = Axis(fig[1, 1], title = title1) hm = heatmap!(ax, var1, colormap=:balance, colorrange=(-10, 10)) diff --git a/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl b/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl index 098b13a204..640c65b7ab 100644 --- a/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl +++ b/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl @@ -318,7 +318,7 @@ wxy_title = @lift string("w(x, y, t) at z=-8 m and t = ", prettytime(times[$n])) wyz_title = @lift string("w(y, z, t) at x=0 m and t = ", prettytime(times[$n])) uyz_title = @lift string("u(y, z, t) at x=0 m and t = ", prettytime(times[$n])) -fig = Figure(resolution = (1.2*850, 1.2*1100)) +fig = Figure(size=(1.2*850, 1.2*1100)) ax_x_stokes = Axis(fig[2, 4]; xlabel = "x (m)", diff --git a/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl b/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl index c3a8bf8734..cbb905a69c 100644 --- a/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl +++ b/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl @@ -318,7 +318,7 @@ wxy_title = @lift string("w(x, y, t) at z=-8 m and t = ", prettytime(times[$n])) wyz_title = @lift string("w(y, z, t) at x=0 m and t = ", prettytime(times[$n])) uyz_title = @lift string("u(y, z, t) at x=0 m and t = ", prettytime(times[$n])) -fig = Figure(resolution = (1.2*850, 1.2*1100)) +fig = Figure(size=(1.2*850, 1.2*1100)) ax_x_stokes = Axis(fig[2, 4]; xlabel = "y (m)", diff --git a/validation/stokes_drift/surface_wave_induced_flow.jl b/validation/stokes_drift/surface_wave_induced_flow.jl index 1f950c94c8..d129bc26dd 100644 --- a/validation/stokes_drift/surface_wave_induced_flow.jl +++ b/validation/stokes_drift/surface_wave_induced_flow.jl @@ -95,7 +95,7 @@ wn = @lift interior(wt[$n], :, 1, :) xu, yu, zu = nodes(ut) xw, yw, zw = nodes(wt) -fig = Figure(resolution=(800, 300)) +fig = Figure(size=(800, 300)) axu = Axis(fig[1, 1], xlabel="x (m)", ylabel="z (m)") axw = Axis(fig[1, 2], xlabel="x (m)", ylabel="z (m)") diff --git a/validation/stokes_drift/surface_wave_quasi_geostrophic_flow.jl b/validation/stokes_drift/surface_wave_quasi_geostrophic_flow.jl index 689d83b94f..865828819b 100644 --- a/validation/stokes_drift/surface_wave_quasi_geostrophic_flow.jl +++ b/validation/stokes_drift/surface_wave_quasi_geostrophic_flow.jl @@ -102,7 +102,7 @@ wn = @lift interior(wt[$n], :, :, Nz) xu, yu, zu = nodes(ut) xw, yw, zw = nodes(wt) -fig = Figure(resolution=(800, 400)) +fig = Figure(size=(800, 400)) axu = Axis(fig[1, 1], xlabel="x (m)", ylabel="z (m)", aspect=1) axw = Axis(fig[1, 2], xlabel="x (m)", ylabel="z (m)", aspect=1) diff --git a/validation/vertical_mixing_closures/column_windy_convection.jl b/validation/vertical_mixing_closures/column_windy_convection.jl index adc118c98c..9394f1e5e6 100644 --- a/validation/vertical_mixing_closures/column_windy_convection.jl +++ b/validation/vertical_mixing_closures/column_windy_convection.jl @@ -97,7 +97,7 @@ zc = znodes(b1) zf = znodes(κ1) Nt = length(b1.times) -fig = Figure(resolution=(1800, 600)) +fig = Figure(size=(1800, 600)) slider = Slider(fig[2, 1:4], range=1:Nt, startvalue=1) n = slider.value diff --git a/validation/vertical_mixing_closures/heterogeneous_windy_convection.jl b/validation/vertical_mixing_closures/heterogeneous_windy_convection.jl index 140f9a26e1..6faf2950d0 100644 --- a/validation/vertical_mixing_closures/heterogeneous_windy_convection.jl +++ b/validation/vertical_mixing_closures/heterogeneous_windy_convection.jl @@ -126,7 +126,7 @@ for ψ in (b_ts, e_ts, u_ts, v_ts, w_ts, κ_ts) #, N_ts) ψp[ψp .== 0] .= NaN end -fig = Figure(resolution=(1600, 800)) +fig = Figure(size=(1600, 800)) ax_uyz = Axis(fig[1, 1], title="u(y, z) - ") #ax_vyz = Axis(fig[1, 2], title="v(y, z)") From c41ac34941bc97419420e4e735c9a4c9fc1b4299 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 15 Jan 2024 13:46:17 +0200 Subject: [PATCH 12/51] fix typo --- examples/tilted_bottom_boundary_layer.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/tilted_bottom_boundary_layer.jl b/examples/tilted_bottom_boundary_layer.jl index ac44e77260..9dafe0ead6 100644 --- a/examples/tilted_bottom_boundary_layer.jl +++ b/examples/tilted_bottom_boundary_layer.jl @@ -72,7 +72,7 @@ current_figure() #hide θ = 3 # degrees -# so that ``x`` is the along-slope direction, ``z`` is the across-sloce direction that +# so that ``x`` is the along-slope direction, ``z`` is the across-slope direction that # is perpendicular to the bottom, and the unit vector anti-aligned with gravity is ĝ = [sind(θ), 0, cosd(θ)] From 19c79c910fdd206d94bc0b8656fa07ea2b65d86b Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 16 Jan 2024 17:34:09 +0200 Subject: [PATCH 13/51] Revert "remove various unroll for test" This reverts commit 36e43e584939824e630771d74e29026e392814fa. --- src/Fields/regridding_fields.jl | 13 +++++++------ .../compute_w_from_continuity.jl | 2 +- .../split_explicit_free_surface_kernels.jl | 7 +++++-- .../update_hydrostatic_pressure.jl | 2 +- src/Solvers/batched_tridiagonal_solver.jl | 12 ++++++------ src/Solvers/fourier_tridiagonal_poisson_solver.jl | 6 +++--- ...mple_plankton_continuous_form_biogeochemistry.jl | 3 ++- 7 files changed, 25 insertions(+), 20 deletions(-) diff --git a/src/Fields/regridding_fields.jl b/src/Fields/regridding_fields.jl index 2c6d4c5984..c42be8daca 100644 --- a/src/Fields/regridding_fields.jl +++ b/src/Fields/regridding_fields.jl @@ -1,4 +1,5 @@ using KernelAbstractions: @kernel, @index +using KernelAbstractions.Extras.LoopInfo: @unroll using Oceananigans.Architectures: arch_array, architecture using Oceananigans.Operators: Δzᶜᶜᶜ, Δyᶜᶜᶜ, Δxᶜᶜᶜ, Azᶜᶜᶜ @@ -140,7 +141,7 @@ end fo = ForwardOrdering() - @inbounds for k = 1:target_grid.Nz + @inbounds @unroll for k = 1:target_grid.Nz target_field[i, j, k] = 0 z₋ = znode(i, j, k, target_grid, c, c, f) @@ -159,7 +160,7 @@ end target_field[i, j, k] = source_field[i_src, j_src, k₊_src] else # Add contribution from all full cells in the integration range - for k_src = k₋_src:k₊_src-1 + @unroll for k_src = k₋_src:k₊_src-1 target_field[i, j, k] += source_field[i_src, j_src, k_src] * Δzᶜᶜᶜ(i_src, j_src, k_src, source_grid) end @@ -195,7 +196,7 @@ end fo = ForwardOrdering() - @inbounds for j = 1:target_grid.Ny + @inbounds @unroll for j = 1:target_grid.Ny target_field[i, j, k] = 0 y₋ = ηnode(i, j, k, target_grid, c, f, c) @@ -214,7 +215,7 @@ end target_field[i, j, k] = source_field[i_src, j₊_src, k_src] else # Add contribution from all full cells in the integration range - for j_src = j₋_src:j₊_src-1 + @unroll for j_src = j₋_src:j₊_src-1 target_field[i, j, k] += source_field[i_src, j_src, k_src] * Azᶜᶜᶜ(i_src, j_src, k_src, source_grid) end @@ -262,7 +263,7 @@ end fo = ForwardOrdering() - @inbounds for i = 1:target_grid.Nx + @inbounds @unroll for i = 1:target_grid.Nx target_field[i, j, k] = 0 # Integrate source field from ξ₋ to ξ₊ @@ -287,7 +288,7 @@ end # sum up all the contributions from the source field to the target cell. # First we add up all the contributions from all source cells that lie entirely within the target cell. - for i_src = i₋_src:i₊_src-1 + @unroll for i_src = i₋_src:i₊_src-1 target_field[i, j, k] += source_field[i_src, j_src, k_src] * Azᶜᶜᶜ(i_src, j_src, k_src, source_grid) end diff --git a/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl b/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl index 111410b988..8e8f2cc43a 100644 --- a/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl +++ b/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl @@ -21,7 +21,7 @@ compute_w_from_continuity!(velocities, arch, grid; parameters = w_kernel_paramet i, j = @index(Global, NTuple) U.w[i, j, 1] = 0 - for k in 2:grid.Nz+1 + @unroll for k in 2:grid.Nz+1 @inbounds U.w[i, j, k] = U.w[i, j, k-1] - Δzᶜᶜᶜ(i, j, k-1, grid) * div_xyᶜᶜᶜ(i, j, k-1, grid, U.u, U.v) end end diff --git a/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl b/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl index 2cb82760bc..da12938dda 100644 --- a/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl +++ b/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl @@ -1,4 +1,5 @@ using KernelAbstractions: @index, @kernel +using KernelAbstractions.Extras.LoopInfo: @unroll using Oceananigans.Grids: topology using Oceananigans.Utils using Oceananigans.AbstractOperations: Δz @@ -205,10 +206,11 @@ end @kernel function _barotropic_mode_kernel!(U, V, grid, u, v) i, j = @index(Global, NTuple) + # hand unroll first loop @inbounds U[i, j, 1] = Δzᶠᶜᶜ(i, j, 1, grid) * u[i, j, 1] @inbounds V[i, j, 1] = Δzᶜᶠᶜ(i, j, 1, grid) * v[i, j, 1] - for k in 2:grid.Nz + @unroll for k in 2:grid.Nz @inbounds U[i, j, 1] += Δzᶠᶜᶜ(i, j, k, grid) * u[i, j, k] @inbounds V[i, j, 1] += Δzᶜᶠᶜ(i, j, k, grid) * v[i, j, k] end @@ -351,10 +353,11 @@ end @kernel function _compute_integrated_ab2_tendencies!(Gᵁ, Gⱽ, grid, Gu⁻, Gv⁻, Guⁿ, Gvⁿ, χ) i, j = @index(Global, NTuple) + # hand unroll first loop @inbounds Gᵁ[i, j, 1] = Δzᶠᶜᶜ(i, j, 1, grid) * ab2_step_Gu(i, j, 1, grid, Gu⁻, Guⁿ, χ) @inbounds Gⱽ[i, j, 1] = Δzᶜᶠᶜ(i, j, 1, grid) * ab2_step_Gv(i, j, 1, grid, Gv⁻, Gvⁿ, χ) - for k in 2:grid.Nz + @unroll for k in 2:grid.Nz @inbounds Gᵁ[i, j, 1] += Δzᶠᶜᶜ(i, j, k, grid) * ab2_step_Gu(i, j, k, grid, Gu⁻, Guⁿ, χ) @inbounds Gⱽ[i, j, 1] += Δzᶜᶠᶜ(i, j, k, grid) * ab2_step_Gv(i, j, k, grid, Gv⁻, Gvⁿ, χ) end diff --git a/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl b/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl index fc62805c1d..b589596374 100644 --- a/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl +++ b/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl @@ -14,7 +14,7 @@ the `buoyancy_perturbationᶜᶜᶜ` downwards: @inbounds pHY′[i, j, grid.Nz] = - z_dot_g_bᶜᶜᶠ(i, j, grid.Nz+1, grid, buoyancy, C) * Δzᶜᶜᶠ(i, j, grid.Nz+1, grid) - for k in grid.Nz-1 : -1 : 1 + @unroll for k in grid.Nz-1 : -1 : 1 @inbounds pHY′[i, j, k] = pHY′[i, j, k+1] - z_dot_g_bᶜᶜᶠ(i, j, k+1, grid, buoyancy, C) * Δzᶜᶜᶠ(i, j, k+1, grid) end end diff --git a/src/Solvers/batched_tridiagonal_solver.jl b/src/Solvers/batched_tridiagonal_solver.jl index fd8175cc22..a188d0fc89 100644 --- a/src/Solvers/batched_tridiagonal_solver.jl +++ b/src/Solvers/batched_tridiagonal_solver.jl @@ -130,7 +130,7 @@ end f₁ = get_coefficient(1, j, k, grid, f, p, tridiagonal_direction, args...) ϕ[1, j, k] = f₁ / β - for i = 2:Nx + @unroll for i = 2:Nx cᵏ⁻¹ = get_coefficient(i-1, j, k, grid, c, p, tridiagonal_direction, args...) bᵏ = get_coefficient(i, j, k, grid, b, p, tridiagonal_direction, args...) aᵏ⁻¹ = get_coefficient(i-1, j, k, grid, a, p, tridiagonal_direction, args...) @@ -147,7 +147,7 @@ end ϕ[i, j, k] = (fᵏ - aᵏ⁻¹ * ϕ[i-1, j, k]) / β end - for i = Nx-1:-1:1 + @unroll for i = Nx-1:-1:1 ϕ[i, j, k] -= t[i+1, j, k] * ϕ[i+1, j, k] end end @@ -162,7 +162,7 @@ end f₁ = get_coefficient(i, 1, k, grid, f, p, tridiagonal_direction, args...) ϕ[i, 1, k] = f₁ / β - for j = 2:Ny + @unroll for j = 2:Ny cᵏ⁻¹ = get_coefficient(i, j-1, k, grid, c, p, tridiagonal_direction, args...) bᵏ = get_coefficient(i, j, k, grid, b, p, tridiagonal_direction, args...) aᵏ⁻¹ = get_coefficient(i, j-1, k, grid, a, p, tridiagonal_direction, args...) @@ -179,7 +179,7 @@ end ϕ[i, j, k] = (fᵏ - aᵏ⁻¹ * ϕ[i, j-1, k]) / β end - for j = Ny-1:-1:1 + @unroll for j = Ny-1:-1:1 ϕ[i, j, k] -= t[i, j+1, k] * ϕ[i, j+1, k] end end @@ -194,7 +194,7 @@ end f₁ = get_coefficient(i, j, 1, grid, f, p, tridiagonal_direction, args...) ϕ[i, j, 1] = f₁ / β - for k = 2:Nz + @unroll for k = 2:Nz cᵏ⁻¹ = get_coefficient(i, j, k-1, grid, c, p, tridiagonal_direction, args...) bᵏ = get_coefficient(i, j, k, grid, b, p, tridiagonal_direction, args...) aᵏ⁻¹ = get_coefficient(i, j, k-1, grid, a, p, tridiagonal_direction, args...) @@ -210,7 +210,7 @@ end ϕ[i, j, k] = (fᵏ - aᵏ⁻¹ * ϕ[i, j, k-1]) / β end - for k = Nz-1:-1:1 + @unroll for k = Nz-1:-1:1 ϕ[i, j, k] -= t[i, j, k+1] * ϕ[i, j, k+1] end end diff --git a/src/Solvers/fourier_tridiagonal_poisson_solver.jl b/src/Solvers/fourier_tridiagonal_poisson_solver.jl index 2f93f2f51a..db837735a7 100644 --- a/src/Solvers/fourier_tridiagonal_poisson_solver.jl +++ b/src/Solvers/fourier_tridiagonal_poisson_solver.jl @@ -20,7 +20,7 @@ architecture(solver::FourierTridiagonalPoissonSolver) = architecture(solver.grid # Using a homogeneous Neumann (zero Gradient) boundary condition: @inbounds D[1, j, k] = -1 / Δxᶠᵃᵃ(2, j, k, grid) - Δxᶜᵃᵃ(1, j, k, grid) * (λy[j] + λz[k]) - for i in 2:Nx-1 + @unroll for i in 2:Nx-1 @inbounds D[i, j, k] = - (1 / Δxᶠᵃᵃ(i+1, j, k, grid) + 1 / Δxᶠᵃᵃ(i, j, k, grid)) - Δxᶜᵃᵃ(i, j, k, grid) * (λy[j] + λz[k]) end @inbounds D[Nx, j, k] = -1 / Δxᶠᵃᵃ(Nx, j, k, grid) - Δxᶜᵃᵃ(Nx, j, k, grid) * (λy[j] + λz[k]) @@ -32,7 +32,7 @@ end # Using a homogeneous Neumann (zero Gradient) boundary condition: @inbounds D[i, 1, k] = -1 / Δyᵃᶠᵃ(i, 2, k, grid) - Δyᵃᶜᵃ(i, 1, k, grid) * (λx[i] + λz[k]) - for j in 2:Ny-1 + @unroll for j in 2:Ny-1 @inbounds D[i, j, k] = - (1 / Δyᵃᶠᵃ(i, j+1, k, grid) + 1 / Δyᵃᶠᵃ(i, j, k, grid)) - Δyᵃᶜᵃ(i, j, k, grid) * (λx[i] + λz[k]) end @inbounds D[i, Ny, k] = -1 / Δyᵃᶠᵃ(i, Ny, k, grid) - Δyᵃᶜᵃ(i, Ny, k, grid) * (λx[i] + λz[k]) @@ -44,7 +44,7 @@ end # Using a homogeneous Neumann (zero Gradient) boundary condition: @inbounds D[i, j, 1] = -1 / Δzᵃᵃᶠ(i, j, 2, grid) - Δzᵃᵃᶜ(i, j, 1, grid) * (λx[i] + λy[j]) - for k in 2:Nz-1 + @unroll for k in 2:Nz-1 @inbounds D[i, j, k] = - (1 / Δzᵃᵃᶠ(i, j, k+1, grid) + 1 / Δzᵃᵃᶠ(i, j, k, grid)) - Δzᵃᵃᶜ(i, j, k, grid) * (λx[i] + λy[j]) end @inbounds D[i, j, Nz] = -1 / Δzᵃᵃᶠ(i, j, Nz, grid) - Δzᵃᵃᶜ(i, j, Nz, grid) * (λx[i] + λy[j]) diff --git a/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl b/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl index 5650278c50..aee105fede 100644 --- a/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl +++ b/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl @@ -104,7 +104,7 @@ end ∫chl = @inbounds - (zᶜ[grid.Nz] - zᶠ[grid.Nz]) * P[i, j, grid.Nz] ^ e @inbounds PAR[i, j, grid.Nz] = PAR⁰ * exp(kʷ * zᶜ[grid.Nz] - χ * ∫chl) - for k in grid.Nz-1:-1:1 + @unroll for k in grid.Nz-1:-1:1 @inbounds begin ∫chl += (zᶜ[k + 1] - zᶠ[k])*P[i, j, k + 1]^e + (zᶠ[k] - zᶜ[k])*P[i, j, k]^e PAR[i, j, k] = PAR⁰*exp(kʷ * zᶜ[k] - χ * ∫chl) @@ -179,3 +179,4 @@ simulation.output_writers[:simple_output] = JLD2OutputWriter(model, outputs; fil overwrite_existing = true) run!(simulation) + From 7bd7294565fc46c429997cd65ebd3137352d7502 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 16 Jan 2024 17:38:23 +0200 Subject: [PATCH 14/51] use Val to unroll loops in kernels for periodic bcs --- .../fill_halo_regions_periodic.jl | 18 +++++++++--------- .../split_explicit_free_surface_kernels.jl | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/BoundaryConditions/fill_halo_regions_periodic.jl b/src/BoundaryConditions/fill_halo_regions_periodic.jl index 257e792abe..890b9c2fba 100644 --- a/src/BoundaryConditions/fill_halo_regions_periodic.jl +++ b/src/BoundaryConditions/fill_halo_regions_periodic.jl @@ -17,19 +17,19 @@ end function fill_west_and_east_halo!(c, ::PBCT, ::PBCT, size, offset, loc, arch, grid, args...; kw...) c_parent, yz_size, offset = parent_size_and_offset(c, 2, 3, size, offset) - launch!(arch, grid, KernelParameters(yz_size, offset), fill_periodic_west_and_east_halo!, c_parent, grid.Hx, grid.Nx; kw...) + launch!(arch, grid, KernelParameters(yz_size, offset), fill_periodic_west_and_east_halo!, c_parent, Val(grid.Hx), grid.Nx; kw...) return nothing end function fill_south_and_north_halo!(c, ::PBCT, ::PBCT, size, offset, loc, arch, grid, args...; kw...) c_parent, xz_size, offset = parent_size_and_offset(c, 1, 3, size, offset) - launch!(arch, grid, KernelParameters(xz_size, offset), fill_periodic_south_and_north_halo!, c_parent, grid.Hy, grid.Ny; kw...) + launch!(arch, grid, KernelParameters(xz_size, offset), fill_periodic_south_and_north_halo!, c_parent, Val(grid.Hy), grid.Ny; kw...) return nothing end function fill_bottom_and_top_halo!(c, ::PBCT, ::PBCT, size, offset, loc, arch, grid, args...; kw...) c_parent, xy_size, offset = parent_size_and_offset(c, 1, 2, size, offset) - launch!(arch, grid, KernelParameters(xy_size, offset), fill_periodic_bottom_and_top_halo!, c_parent, grid.Hz, grid.Nz; kw...) + launch!(arch, grid, KernelParameters(xy_size, offset), fill_periodic_bottom_and_top_halo!, c_parent, Val(grid.Hz), grid.Nz; kw...) return nothing end @@ -37,7 +37,7 @@ end ##### Periodic boundary condition kernels ##### -@kernel function fill_periodic_west_and_east_halo!(c, H::Int, N) +@kernel function fill_periodic_west_and_east_halo!(c, ::Val{H}, N) where H j, k = @index(Global, NTuple) @unroll for i = 1:H @inbounds begin @@ -47,7 +47,7 @@ end end end -@kernel function fill_periodic_south_and_north_halo!(c, H::Int, N) +@kernel function fill_periodic_south_and_north_halo!(c, ::Val{H}, N) where H i, k = @index(Global, NTuple) @unroll for j = 1:H @inbounds begin @@ -57,7 +57,7 @@ end end end -@kernel function fill_periodic_bottom_and_top_halo!(c, H::Int, N) +@kernel function fill_periodic_bottom_and_top_halo!(c, ::Val{H}, N) where H i, j = @index(Global, NTuple) @unroll for k = 1:H @inbounds begin @@ -71,7 +71,7 @@ end #### Tupled periodic boundary condition #### -@kernel function fill_periodic_west_and_east_halo!(c::NTuple{M}, H::Int, N) where M +@kernel function fill_periodic_west_and_east_halo!(c::NTuple{M}, ::Val{H}, N) where {M, H} j, k = @index(Global, NTuple) @unroll for n = 1:M @unroll for i = 1:H @@ -83,7 +83,7 @@ end end end -@kernel function fill_periodic_south_and_north_halo!(c::NTuple{M}, H::Int, N) where M +@kernel function fill_periodic_south_and_north_halo!(c::NTuple{M}, ::Val{H}, N) where {M, H} i, k = @index(Global, NTuple) @unroll for n = 1:M @unroll for j = 1:H @@ -95,7 +95,7 @@ end end end -@kernel function fill_periodic_bottom_and_top_halo!(c::NTuple{M}, H::Int, N) where M +@kernel function fill_periodic_bottom_and_top_halo!(c::NTuple{M}, ::Val{H}, N) where {M, H} i, j = @index(Global, NTuple) @unroll for n = 1:M @unroll for k = 1:H diff --git a/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl b/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl index da12938dda..741b026aee 100644 --- a/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl +++ b/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl @@ -17,7 +17,7 @@ const θ = - 0.5 - 2β const γ = 0.088 const δ = 0.614 const ϵ = 0.013 -const μ = 1.0 - δ - γ - ϵ +const μ = 1 - δ - γ - ϵ # Evolution Kernels # From 35315725d995043985296090cd0219898d68d686 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 16 Jan 2024 17:56:56 +0200 Subject: [PATCH 15/51] remove unrolls --- src/Advection/Advection.jl | 1 - src/Advection/stretched_weno_smoothness.jl | 2 ++ src/BoundaryConditions/fill_halo_regions.jl | 2 -- src/BoundaryConditions/fill_halo_regions_flux.jl | 2 -- src/Fields/field_boundary_buffers.jl | 1 - src/Fields/regridding_fields.jl | 14 ++++++-------- .../compute_w_from_continuity.jl | 4 ++-- .../split_explicit_free_surface_kernels.jl | 13 ++++++------- .../ShallowWaterModels/ShallowWaterModels.jl | 1 - .../store_shallow_water_tendencies.jl | 2 ++ src/Solvers/Solvers.jl | 1 - src/Solvers/batched_tridiagonal_solver.jl | 12 ++++++------ src/Solvers/fourier_tridiagonal_poisson_solver.jl | 6 +++--- ...ple_plankton_continuous_form_biogeochemistry.jl | 2 +- 14 files changed, 28 insertions(+), 35 deletions(-) diff --git a/src/Advection/Advection.jl b/src/Advection/Advection.jl index 3fdf8adb79..c2e091c663 100644 --- a/src/Advection/Advection.jl +++ b/src/Advection/Advection.jl @@ -29,7 +29,6 @@ using DocStringExtensions using Base: @propagate_inbounds using Adapt using OffsetArrays -using KernelAbstractions.Extras.LoopInfo: @unroll using Oceananigans.Grids using Oceananigans.Grids: with_halo, coordinates diff --git a/src/Advection/stretched_weno_smoothness.jl b/src/Advection/stretched_weno_smoothness.jl index 454673934a..e37311ec5a 100644 --- a/src/Advection/stretched_weno_smoothness.jl +++ b/src/Advection/stretched_weno_smoothness.jl @@ -1,3 +1,5 @@ +using KernelAbstractions.Extras.LoopInfo: @unroll + ##### ##### Stretched smoothness indicators gathered from precomputed values. ##### The stretched values for β coefficients are calculated from diff --git a/src/BoundaryConditions/fill_halo_regions.jl b/src/BoundaryConditions/fill_halo_regions.jl index 9097cc0254..faad851d6b 100644 --- a/src/BoundaryConditions/fill_halo_regions.jl +++ b/src/BoundaryConditions/fill_halo_regions.jl @@ -1,7 +1,6 @@ using OffsetArrays: OffsetArray using Oceananigans.Utils using Oceananigans.Grids: architecture -using KernelAbstractions.Extras.LoopInfo: @unroll import Base @@ -369,4 +368,3 @@ const TBB = Union{typeof(fill_bottom_and_top_halo!), typeof(fill_bottom_halo!), @inline fill_halo_offset(::Tuple, ::WEB, idx) = (idx[2] == Colon() ? 0 : first(idx[2])-1, idx[3] == Colon() ? 0 : first(idx[3])-1) @inline fill_halo_offset(::Tuple, ::SNB, idx) = (idx[1] == Colon() ? 0 : first(idx[1])-1, idx[3] == Colon() ? 0 : first(idx[3])-1) @inline fill_halo_offset(::Tuple, ::TBB, idx) = (idx[1] == Colon() ? 0 : first(idx[1])-1, idx[2] == Colon() ? 0 : first(idx[2])-1) - diff --git a/src/BoundaryConditions/fill_halo_regions_flux.jl b/src/BoundaryConditions/fill_halo_regions_flux.jl index 5feafa50cc..64cbaf9fb2 100644 --- a/src/BoundaryConditions/fill_halo_regions_flux.jl +++ b/src/BoundaryConditions/fill_halo_regions_flux.jl @@ -1,5 +1,3 @@ -using KernelAbstractions.Extras.LoopInfo: @unroll - ##### Kernels that ensure 'no-flux' from second- and fourth-order diffusion operators. ##### Kernel functions that ensure 'no-flux' from second- and fourth-order diffusion operators. ##### Note that flux divergence associated with a flux boundary condition is added diff --git a/src/Fields/field_boundary_buffers.jl b/src/Fields/field_boundary_buffers.jl index d0c2be1b69..f11b2e9558 100644 --- a/src/Fields/field_boundary_buffers.jl +++ b/src/Fields/field_boundary_buffers.jl @@ -3,7 +3,6 @@ using Oceananigans.Architectures: arch_array using Oceananigans.Grids: halo_size, size using Oceananigans.Utils: launch! using KernelAbstractions: @kernel, @index -using KernelAbstractions.Extras.LoopInfo: @unroll struct FieldBoundaryBuffers{W, E, S, N, SW, SE, NW, NE} west :: W diff --git a/src/Fields/regridding_fields.jl b/src/Fields/regridding_fields.jl index c42be8daca..a23c6e6a48 100644 --- a/src/Fields/regridding_fields.jl +++ b/src/Fields/regridding_fields.jl @@ -1,5 +1,4 @@ using KernelAbstractions: @kernel, @index -using KernelAbstractions.Extras.LoopInfo: @unroll using Oceananigans.Architectures: arch_array, architecture using Oceananigans.Operators: Δzᶜᶜᶜ, Δyᶜᶜᶜ, Δxᶜᶜᶜ, Azᶜᶜᶜ @@ -141,7 +140,7 @@ end fo = ForwardOrdering() - @inbounds @unroll for k = 1:target_grid.Nz + @inbounds for k = 1:target_grid.Nz target_field[i, j, k] = 0 z₋ = znode(i, j, k, target_grid, c, c, f) @@ -160,7 +159,7 @@ end target_field[i, j, k] = source_field[i_src, j_src, k₊_src] else # Add contribution from all full cells in the integration range - @unroll for k_src = k₋_src:k₊_src-1 + for k_src = k₋_src:k₊_src-1 target_field[i, j, k] += source_field[i_src, j_src, k_src] * Δzᶜᶜᶜ(i_src, j_src, k_src, source_grid) end @@ -196,7 +195,7 @@ end fo = ForwardOrdering() - @inbounds @unroll for j = 1:target_grid.Ny + @inbounds for j = 1:target_grid.Ny target_field[i, j, k] = 0 y₋ = ηnode(i, j, k, target_grid, c, f, c) @@ -215,7 +214,7 @@ end target_field[i, j, k] = source_field[i_src, j₊_src, k_src] else # Add contribution from all full cells in the integration range - @unroll for j_src = j₋_src:j₊_src-1 + for j_src = j₋_src:j₊_src-1 target_field[i, j, k] += source_field[i_src, j_src, k_src] * Azᶜᶜᶜ(i_src, j_src, k_src, source_grid) end @@ -263,7 +262,7 @@ end fo = ForwardOrdering() - @inbounds @unroll for i = 1:target_grid.Nx + @inbounds for i = 1:target_grid.Nx target_field[i, j, k] = 0 # Integrate source field from ξ₋ to ξ₊ @@ -288,7 +287,7 @@ end # sum up all the contributions from the source field to the target cell. # First we add up all the contributions from all source cells that lie entirely within the target cell. - @unroll for i_src = i₋_src:i₊_src-1 + for i_src = i₋_src:i₊_src-1 target_field[i, j, k] += source_field[i_src, j_src, k_src] * Azᶜᶜᶜ(i_src, j_src, k_src, source_grid) end @@ -338,4 +337,3 @@ end @inline fractional_horizontal_area(grid::LatitudeLongitudeGrid{<:Any, <:Flat}, λ₁, λ₂, φ₁, φ₂) = grid.radius^2 * (hack_sind(φ₂) - hack_sind(φ₁)) @inline fractional_horizontal_area(grid::LatitudeLongitudeGrid{<:Any, <:Any, <:Flat}, λ₁, λ₂, φ₁, φ₂) = grid.radius^2 * deg2rad(λ₂ - λ₁) - diff --git a/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl b/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl index 8e8f2cc43a..b43920d41d 100644 --- a/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl +++ b/src/Models/HydrostaticFreeSurfaceModels/compute_w_from_continuity.jl @@ -20,8 +20,8 @@ compute_w_from_continuity!(velocities, arch, grid; parameters = w_kernel_paramet @kernel function _compute_w_from_continuity!(U, grid) i, j = @index(Global, NTuple) - U.w[i, j, 1] = 0 - @unroll for k in 2:grid.Nz+1 + @inbounds U.w[i, j, 1] = 0 + for k in 2:grid.Nz+1 @inbounds U.w[i, j, k] = U.w[i, j, k-1] - Δzᶜᶜᶜ(i, j, k-1, grid) * div_xyᶜᶜᶜ(i, j, k-1, grid, U.u, U.v) end end diff --git a/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl b/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl index 741b026aee..b9389a0440 100644 --- a/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl +++ b/src/Models/HydrostaticFreeSurfaceModels/split_explicit_free_surface_kernels.jl @@ -1,5 +1,4 @@ using KernelAbstractions: @index, @kernel -using KernelAbstractions.Extras.LoopInfo: @unroll using Oceananigans.Grids: topology using Oceananigans.Utils using Oceananigans.AbstractOperations: Δz @@ -203,20 +202,20 @@ end # Barotropic Model Kernels # u_Δz = u * Δz +# Possibly we can optimize this further by passing in Val(Nz) in order to +# @unroll the loop over `k`. @kernel function _barotropic_mode_kernel!(U, V, grid, u, v) i, j = @index(Global, NTuple) - # hand unroll first loop @inbounds U[i, j, 1] = Δzᶠᶜᶜ(i, j, 1, grid) * u[i, j, 1] @inbounds V[i, j, 1] = Δzᶜᶠᶜ(i, j, 1, grid) * v[i, j, 1] - @unroll for k in 2:grid.Nz + for k in 2:grid.Nz @inbounds U[i, j, 1] += Δzᶠᶜᶜ(i, j, k, grid) * u[i, j, k] @inbounds V[i, j, 1] += Δzᶜᶠᶜ(i, j, k, grid) * v[i, j, k] end end -# may need to do Val(Nk) since it may not be known at compile compute_barotropic_mode!(U, V, grid, u, v) = launch!(architecture(grid), grid, :xy, _barotropic_mode_kernel!, U, V, grid, u, v) @@ -252,7 +251,6 @@ end end end -# may need to do Val(Nk) since it may not be known at compile. Also figure out where to put H function barotropic_split_explicit_corrector!(u, v, free_surface, grid) sefs = free_surface.state Hᶠᶜ, Hᶜᶠ = free_surface.auxiliary.Hᶠᶜ, free_surface.auxiliary.Hᶜᶠ @@ -350,14 +348,15 @@ function iterate_split_explicit!(free_surface, grid, Δt) end # Calculate RHS for the barotopic time step. +# Possibly we can optimize this further by passing in Val(Nz) in order to +# @unroll the loop over `k`. @kernel function _compute_integrated_ab2_tendencies!(Gᵁ, Gⱽ, grid, Gu⁻, Gv⁻, Guⁿ, Gvⁿ, χ) i, j = @index(Global, NTuple) - # hand unroll first loop @inbounds Gᵁ[i, j, 1] = Δzᶠᶜᶜ(i, j, 1, grid) * ab2_step_Gu(i, j, 1, grid, Gu⁻, Guⁿ, χ) @inbounds Gⱽ[i, j, 1] = Δzᶜᶠᶜ(i, j, 1, grid) * ab2_step_Gv(i, j, 1, grid, Gv⁻, Gvⁿ, χ) - @unroll for k in 2:grid.Nz + for k in 2:grid.Nz @inbounds Gᵁ[i, j, 1] += Δzᶠᶜᶜ(i, j, k, grid) * ab2_step_Gu(i, j, k, grid, Gu⁻, Guⁿ, χ) @inbounds Gⱽ[i, j, 1] += Δzᶜᶠᶜ(i, j, k, grid) * ab2_step_Gv(i, j, k, grid, Gv⁻, Gvⁿ, χ) end diff --git a/src/Models/ShallowWaterModels/ShallowWaterModels.jl b/src/Models/ShallowWaterModels/ShallowWaterModels.jl index b257ea3765..90fd05f5da 100644 --- a/src/Models/ShallowWaterModels/ShallowWaterModels.jl +++ b/src/Models/ShallowWaterModels/ShallowWaterModels.jl @@ -4,7 +4,6 @@ export ShallowWaterModel, ShallowWaterScalarDiffusivity, ConservativeFormulation, VectorInvariantFormulation using KernelAbstractions: @index, @kernel -using KernelAbstractions.Extras.LoopInfo: @unroll using Adapt using Oceananigans.Utils: launch! diff --git a/src/Models/ShallowWaterModels/store_shallow_water_tendencies.jl b/src/Models/ShallowWaterModels/store_shallow_water_tendencies.jl index 5374dda2d6..3330be091c 100644 --- a/src/Models/ShallowWaterModels/store_shallow_water_tendencies.jl +++ b/src/Models/ShallowWaterModels/store_shallow_water_tendencies.jl @@ -2,6 +2,8 @@ using Oceananigans.Utils: work_layout using Oceananigans.Architectures: device using Oceananigans.TimeSteppers: store_tracer_tendency! +using KernelAbstractions.Extras.LoopInfo: @unroll + import Oceananigans.TimeSteppers: store_tendencies! """ Store source terms for `uh`, `vh`, and `h`. """ diff --git a/src/Solvers/Solvers.jl b/src/Solvers/Solvers.jl index 2c05dd373c..9dac3b9e93 100644 --- a/src/Solvers/Solvers.jl +++ b/src/Solvers/Solvers.jl @@ -12,7 +12,6 @@ using FFTW using CUDA using SparseArrays using KernelAbstractions -using KernelAbstractions.Extras.LoopInfo: @unroll using Oceananigans.Architectures: device, CPU, GPU, array_type, arch_array using Oceananigans.Utils diff --git a/src/Solvers/batched_tridiagonal_solver.jl b/src/Solvers/batched_tridiagonal_solver.jl index a188d0fc89..fd8175cc22 100644 --- a/src/Solvers/batched_tridiagonal_solver.jl +++ b/src/Solvers/batched_tridiagonal_solver.jl @@ -130,7 +130,7 @@ end f₁ = get_coefficient(1, j, k, grid, f, p, tridiagonal_direction, args...) ϕ[1, j, k] = f₁ / β - @unroll for i = 2:Nx + for i = 2:Nx cᵏ⁻¹ = get_coefficient(i-1, j, k, grid, c, p, tridiagonal_direction, args...) bᵏ = get_coefficient(i, j, k, grid, b, p, tridiagonal_direction, args...) aᵏ⁻¹ = get_coefficient(i-1, j, k, grid, a, p, tridiagonal_direction, args...) @@ -147,7 +147,7 @@ end ϕ[i, j, k] = (fᵏ - aᵏ⁻¹ * ϕ[i-1, j, k]) / β end - @unroll for i = Nx-1:-1:1 + for i = Nx-1:-1:1 ϕ[i, j, k] -= t[i+1, j, k] * ϕ[i+1, j, k] end end @@ -162,7 +162,7 @@ end f₁ = get_coefficient(i, 1, k, grid, f, p, tridiagonal_direction, args...) ϕ[i, 1, k] = f₁ / β - @unroll for j = 2:Ny + for j = 2:Ny cᵏ⁻¹ = get_coefficient(i, j-1, k, grid, c, p, tridiagonal_direction, args...) bᵏ = get_coefficient(i, j, k, grid, b, p, tridiagonal_direction, args...) aᵏ⁻¹ = get_coefficient(i, j-1, k, grid, a, p, tridiagonal_direction, args...) @@ -179,7 +179,7 @@ end ϕ[i, j, k] = (fᵏ - aᵏ⁻¹ * ϕ[i, j-1, k]) / β end - @unroll for j = Ny-1:-1:1 + for j = Ny-1:-1:1 ϕ[i, j, k] -= t[i, j+1, k] * ϕ[i, j+1, k] end end @@ -194,7 +194,7 @@ end f₁ = get_coefficient(i, j, 1, grid, f, p, tridiagonal_direction, args...) ϕ[i, j, 1] = f₁ / β - @unroll for k = 2:Nz + for k = 2:Nz cᵏ⁻¹ = get_coefficient(i, j, k-1, grid, c, p, tridiagonal_direction, args...) bᵏ = get_coefficient(i, j, k, grid, b, p, tridiagonal_direction, args...) aᵏ⁻¹ = get_coefficient(i, j, k-1, grid, a, p, tridiagonal_direction, args...) @@ -210,7 +210,7 @@ end ϕ[i, j, k] = (fᵏ - aᵏ⁻¹ * ϕ[i, j, k-1]) / β end - @unroll for k = Nz-1:-1:1 + for k = Nz-1:-1:1 ϕ[i, j, k] -= t[i, j, k+1] * ϕ[i, j, k+1] end end diff --git a/src/Solvers/fourier_tridiagonal_poisson_solver.jl b/src/Solvers/fourier_tridiagonal_poisson_solver.jl index db837735a7..2f93f2f51a 100644 --- a/src/Solvers/fourier_tridiagonal_poisson_solver.jl +++ b/src/Solvers/fourier_tridiagonal_poisson_solver.jl @@ -20,7 +20,7 @@ architecture(solver::FourierTridiagonalPoissonSolver) = architecture(solver.grid # Using a homogeneous Neumann (zero Gradient) boundary condition: @inbounds D[1, j, k] = -1 / Δxᶠᵃᵃ(2, j, k, grid) - Δxᶜᵃᵃ(1, j, k, grid) * (λy[j] + λz[k]) - @unroll for i in 2:Nx-1 + for i in 2:Nx-1 @inbounds D[i, j, k] = - (1 / Δxᶠᵃᵃ(i+1, j, k, grid) + 1 / Δxᶠᵃᵃ(i, j, k, grid)) - Δxᶜᵃᵃ(i, j, k, grid) * (λy[j] + λz[k]) end @inbounds D[Nx, j, k] = -1 / Δxᶠᵃᵃ(Nx, j, k, grid) - Δxᶜᵃᵃ(Nx, j, k, grid) * (λy[j] + λz[k]) @@ -32,7 +32,7 @@ end # Using a homogeneous Neumann (zero Gradient) boundary condition: @inbounds D[i, 1, k] = -1 / Δyᵃᶠᵃ(i, 2, k, grid) - Δyᵃᶜᵃ(i, 1, k, grid) * (λx[i] + λz[k]) - @unroll for j in 2:Ny-1 + for j in 2:Ny-1 @inbounds D[i, j, k] = - (1 / Δyᵃᶠᵃ(i, j+1, k, grid) + 1 / Δyᵃᶠᵃ(i, j, k, grid)) - Δyᵃᶜᵃ(i, j, k, grid) * (λx[i] + λz[k]) end @inbounds D[i, Ny, k] = -1 / Δyᵃᶠᵃ(i, Ny, k, grid) - Δyᵃᶜᵃ(i, Ny, k, grid) * (λx[i] + λz[k]) @@ -44,7 +44,7 @@ end # Using a homogeneous Neumann (zero Gradient) boundary condition: @inbounds D[i, j, 1] = -1 / Δzᵃᵃᶠ(i, j, 2, grid) - Δzᵃᵃᶜ(i, j, 1, grid) * (λx[i] + λy[j]) - @unroll for k in 2:Nz-1 + for k in 2:Nz-1 @inbounds D[i, j, k] = - (1 / Δzᵃᵃᶠ(i, j, k+1, grid) + 1 / Δzᵃᵃᶠ(i, j, k, grid)) - Δzᵃᵃᶜ(i, j, k, grid) * (λx[i] + λy[j]) end @inbounds D[i, j, Nz] = -1 / Δzᵃᵃᶠ(i, j, Nz, grid) - Δzᵃᵃᶜ(i, j, Nz, grid) * (λx[i] + λy[j]) diff --git a/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl b/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl index aee105fede..5ca59253b8 100644 --- a/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl +++ b/validation/biogeochemistry/simple_plankton_continuous_form_biogeochemistry.jl @@ -104,7 +104,7 @@ end ∫chl = @inbounds - (zᶜ[grid.Nz] - zᶠ[grid.Nz]) * P[i, j, grid.Nz] ^ e @inbounds PAR[i, j, grid.Nz] = PAR⁰ * exp(kʷ * zᶜ[grid.Nz] - χ * ∫chl) - @unroll for k in grid.Nz-1:-1:1 + for k in grid.Nz-1:-1:1 @inbounds begin ∫chl += (zᶜ[k + 1] - zᶠ[k])*P[i, j, k + 1]^e + (zᶠ[k] - zᶜ[k])*P[i, j, k]^e PAR[i, j, k] = PAR⁰*exp(kʷ * zᶜ[k] - χ * ∫chl) From a0bb1ef8cdf6aa2f35a19d4189b17a499af010a8 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 16 Jan 2024 18:30:38 +0200 Subject: [PATCH 16/51] add inbounds --- src/Advection/stretched_weno_smoothness.jl | 39 +++++++++++----------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/src/Advection/stretched_weno_smoothness.jl b/src/Advection/stretched_weno_smoothness.jl index e37311ec5a..3b3c49bac8 100644 --- a/src/Advection/stretched_weno_smoothness.jl +++ b/src/Advection/stretched_weno_smoothness.jl @@ -41,19 +41,19 @@ end @inline right_biased_β₁(FT, ψ, T, scheme, args...) = biased_right_β(ψ, scheme, 1, args...) @inline right_biased_β₂(FT, ψ, T, scheme, args...) = biased_right_β(ψ, scheme, 0, args...) -@inline retrieve_left_smooth(scheme, r, ::Val{1}, i, ::Type{Face}) = scheme.smooth_xᶠᵃᵃ[r+1][i] -@inline retrieve_left_smooth(scheme, r, ::Val{1}, i, ::Type{Center}) = scheme.smooth_xᶜᵃᵃ[r+1][i] -@inline retrieve_left_smooth(scheme, r, ::Val{2}, i, ::Type{Face}) = scheme.smooth_yᵃᶠᵃ[r+1][i] -@inline retrieve_left_smooth(scheme, r, ::Val{2}, i, ::Type{Center}) = scheme.smooth_yᵃᶜᵃ[r+1][i] -@inline retrieve_left_smooth(scheme, r, ::Val{3}, i, ::Type{Face}) = scheme.smooth_zᵃᵃᶠ[r+1][i] -@inline retrieve_left_smooth(scheme, r, ::Val{3}, i, ::Type{Center}) = scheme.smooth_zᵃᵃᶜ[r+1][i] - -@inline retrieve_right_smooth(scheme, r, ::Val{1}, i, ::Type{Face}) = scheme.smooth_xᶠᵃᵃ[r+4][i] -@inline retrieve_right_smooth(scheme, r, ::Val{1}, i, ::Type{Center}) = scheme.smooth_xᶜᵃᵃ[r+4][i] -@inline retrieve_right_smooth(scheme, r, ::Val{2}, i, ::Type{Face}) = scheme.smooth_yᵃᶠᵃ[r+4][i] -@inline retrieve_right_smooth(scheme, r, ::Val{2}, i, ::Type{Center}) = scheme.smooth_yᵃᶜᵃ[r+4][i] -@inline retrieve_right_smooth(scheme, r, ::Val{3}, i, ::Type{Face}) = scheme.smooth_zᵃᵃᶠ[r+4][i] -@inline retrieve_right_smooth(scheme, r, ::Val{3}, i, ::Type{Center}) = scheme.smooth_zᵃᵃᶜ[r+4][i] +@inline retrieve_left_smooth(scheme, r, ::Val{1}, i, ::Type{Face}) = @inbounds scheme.smooth_xᶠᵃᵃ[r+1][i] +@inline retrieve_left_smooth(scheme, r, ::Val{1}, i, ::Type{Center}) = @inbounds scheme.smooth_xᶜᵃᵃ[r+1][i] +@inline retrieve_left_smooth(scheme, r, ::Val{2}, i, ::Type{Face}) = @inbounds scheme.smooth_yᵃᶠᵃ[r+1][i] +@inline retrieve_left_smooth(scheme, r, ::Val{2}, i, ::Type{Center}) = @inbounds scheme.smooth_yᵃᶜᵃ[r+1][i] +@inline retrieve_left_smooth(scheme, r, ::Val{3}, i, ::Type{Face}) = @inbounds scheme.smooth_zᵃᵃᶠ[r+1][i] +@inline retrieve_left_smooth(scheme, r, ::Val{3}, i, ::Type{Center}) = @inbounds scheme.smooth_zᵃᵃᶜ[r+1][i] + +@inline retrieve_right_smooth(scheme, r, ::Val{1}, i, ::Type{Face}) = @inbounds scheme.smooth_xᶠᵃᵃ[r+4][i] +@inline retrieve_right_smooth(scheme, r, ::Val{1}, i, ::Type{Center}) = @inbounds scheme.smooth_xᶜᵃᵃ[r+4][i] +@inline retrieve_right_smooth(scheme, r, ::Val{2}, i, ::Type{Face}) = @inbounds scheme.smooth_yᵃᶠᵃ[r+4][i] +@inline retrieve_right_smooth(scheme, r, ::Val{2}, i, ::Type{Center}) = @inbounds scheme.smooth_yᵃᶜᵃ[r+4][i] +@inline retrieve_right_smooth(scheme, r, ::Val{3}, i, ::Type{Face}) = @inbounds scheme.smooth_zᵃᵃᶠ[r+4][i] +@inline retrieve_right_smooth(scheme, r, ::Val{3}, i, ::Type{Center}) = @inbounds scheme.smooth_zᵃᵃᶜ[r+4][i] @inline calc_smoothness_coefficients(FT, ::Val{false}, args...; kwargs...) = nothing @inline calc_smoothness_coefficients(FT, ::Val{true}, coord::OffsetArray{<:Any, <:Any, <:AbstractRange}, arch, N; order) = nothing @@ -64,14 +64,14 @@ function calc_smoothness_coefficients(FT, beta, coord, arch, N; order) cpu_coord = arch_array(CPU(), coord) order == 3 || throw(ArgumentError("The stretched smoothness coefficients are only implemented for order == 3")) - + s1 = create_smoothness_coefficients(FT, 0, -, cpu_coord, arch, N; order) s2 = create_smoothness_coefficients(FT, 1, -, cpu_coord, arch, N; order) s3 = create_smoothness_coefficients(FT, 2, -, cpu_coord, arch, N; order) s4 = create_smoothness_coefficients(FT, 0, +, cpu_coord, arch, N; order) s5 = create_smoothness_coefficients(FT, 1, +, cpu_coord, arch, N; order) s6 = create_smoothness_coefficients(FT, 2, +, cpu_coord, arch, N; order) - + return (s1, s2, s3, s4, s5, s6) end @@ -81,12 +81,12 @@ function create_smoothness_coefficients(FT, r, op, cpu_coord, arch, N; order) stencil = NTuple{2, NTuple{order, FT}}[] @inbounds begin for i = 0:N+1 - + bias1 = Int(op == +) bias2 = bias1 - 1 Δcᵢ = cpu_coord[i + bias1] - cpu_coord[i + bias2] - + Bᵢ = stencil_coefficients(i, r, cpu_coord, cpu_coord; order, op, shift = bias1, der = Primitive()) bᵢ = stencil_coefficients(i, r, cpu_coord, cpu_coord; order, op, shift = bias1) bₓᵢ = stencil_coefficients(i, r, cpu_coord, cpu_coord; order, op, shift = bias1, der = FirstDerivative()) @@ -97,8 +97,8 @@ function create_smoothness_coefficients(FT, r, op, cpu_coord, arch, N; order) Pᵢ = (Bᵢ .- Aᵢ) - wᵢᵢ = Δcᵢ .* (bᵢ .* bₓᵢ .- aᵢ .* aₓᵢ .- pₓₓ .* Pᵢ) .+ Δcᵢ^4 .* (pₓₓ .* pₓₓ) - wᵢⱼ = Δcᵢ .* (star(bᵢ, bₓᵢ) .- star(aᵢ, aₓᵢ) .- star(pₓₓ, Pᵢ)) .+ Δcᵢ^4 .* star(pₓₓ, pₓₓ) + wᵢᵢ = Δcᵢ .* (bᵢ .* bₓᵢ .- aᵢ .* aₓᵢ .- pₓₓ .* Pᵢ) .+ Δcᵢ^4 .* (pₓₓ .* pₓₓ) + wᵢⱼ = Δcᵢ .* (star(bᵢ, bₓᵢ) .- star(aᵢ, aₓᵢ) .- star(pₓₓ, Pᵢ)) .+ Δcᵢ^4 .* star(pₓₓ, pₓₓ) push!(stencil, (wᵢᵢ, wᵢⱼ)) end @@ -109,4 +109,3 @@ end @inline dagger(ψ) = (ψ[2], ψ[3], ψ[1]) @inline star(ψ₁, ψ₂) = (ψ₁ .* dagger(ψ₂) .+ dagger(ψ₁) .* ψ₂) - From 7226decb89507bf9988afc071b5f7e9f5370beec Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 16 Jan 2024 18:33:26 +0200 Subject: [PATCH 17/51] add inbounds --- ...ty_preserving_tracer_advection_operators.jl | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Advection/positivity_preserving_tracer_advection_operators.jl b/src/Advection/positivity_preserving_tracer_advection_operators.jl index 40eaf84711..7b164b3971 100644 --- a/src/Advection/positivity_preserving_tracer_advection_operators.jl +++ b/src/Advection/positivity_preserving_tracer_advection_operators.jl @@ -24,10 +24,10 @@ end @inline function bounded_tracer_flux_divergence_x(i, j, k, grid, advection::BoundPreservingScheme, u, c) - lower_limit = advection.bounds[1] - upper_limit = advection.bounds[2] + lower_limit = @inbounds advection.bounds[1] + upper_limit = @inbounds advection.bounds[2] - cᵢⱼ = c[i, j, k] + cᵢⱼ = @inbounds c[i, j, k] c₊ᴸ = _left_biased_interpolate_xᶠᵃᵃ(i+1, j, k, grid, advection, c) c₊ᴿ = _right_biased_interpolate_xᶠᵃᵃ(i+1, j, k, grid, advection, c) @@ -48,10 +48,10 @@ end @inline function bounded_tracer_flux_divergence_y(i, j, k, grid, advection::BoundPreservingScheme, v, c) - lower_limit = advection.bounds[1] - upper_limit = advection.bounds[2] + lower_limit = @inbounds advection.bounds[1] + upper_limit = @inbounds advection.bounds[2] - cᵢⱼ = c[i, j, k] + cᵢⱼ = @inbounds c[i, j, k] c₊ᴸ = _left_biased_interpolate_yᵃᶠᵃ(i, j+1, k, grid, advection, c) c₊ᴿ = _right_biased_interpolate_yᵃᶠᵃ(i, j+1, k, grid, advection, c) @@ -72,10 +72,10 @@ end @inline function bounded_tracer_flux_divergence_z(i, j, k, grid, advection::BoundPreservingScheme, w, c) - lower_limit = advection.bounds[1] - upper_limit = advection.bounds[2] + lower_limit = @inbounds advection.bounds[1] + upper_limit = @inbounds advection.bounds[2] - cᵢⱼ = c[i, j, k] + cᵢⱼ = @inbounds c[i, j, k] c₊ᴸ = _left_biased_interpolate_zᵃᵃᶠ(i, j, k+1, grid, advection, c) c₊ᴿ = _right_biased_interpolate_zᵃᵃᶠ(i, j, k+1, grid, advection, c) From d8ebedbca7543d9a53a42bd296d5b6e585aeefdb Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 16 Jan 2024 18:36:03 +0200 Subject: [PATCH 18/51] add inbounds --- src/Advection/reconstruction_coefficients.jl | 24 +++++++++++--------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/src/Advection/reconstruction_coefficients.jl b/src/Advection/reconstruction_coefficients.jl index 33c90ba00f..e0c72a88f4 100644 --- a/src/Advection/reconstruction_coefficients.jl +++ b/src/Advection/reconstruction_coefficients.jl @@ -28,8 +28,8 @@ struct FirstDerivative end struct SecondDerivative end struct Primitive end -num_prod(i, m, l, r, xr, xi, shift, op, order, args...) = prod(xr[i+shift] - xi[op(i, r-q+1)] for q=0:order if (q != m && q != l)) -num_prod(i, m, l, r, xr, xi, shift, op, order, ::FirstDerivative) = 2*xr[i+shift] - sum(xi[op(i, r-q+1)] for q=0:order if (q != m && q != l)) +num_prod(i, m, l, r, xr, xi, shift, op, order, args...) = @inbounds prod(xr[i+shift] - xi[op(i, r-q+1)] for q=0:order if (q != m && q != l)) +num_prod(i, m, l, r, xr, xi, shift, op, order, ::FirstDerivative) = @inbounds 2*xr[i+shift] - sum(xi[op(i, r-q+1)] for q=0:order if (q != m && q != l)) num_prod(i, m, l, r, xr, xi, shift, op, order, ::SecondDerivative) = 2 @inline function num_prod(i, m, l, r, xr, xi, shift, op, order, ::Primitive) @@ -56,11 +56,13 @@ On a uniform `grid`, the coefficients are independent of the `xr` and `xi` value """ @inline function stencil_coefficients(i, r, xr, xi; shift = 0, op = Base.:(-), order = 3, der = nothing) coeffs = zeros(order) - for j in 0:order-1 - for m in j+1:order - numerator = sum(num_prod(i, m, l, r, xr, xi, shift, op, order, der) for l=0:order if l != m) - denominator = prod(xi[op(i, r-m+1)] - xi[op(i, r-l+1)] for l=0:order if l != m) - coeffs[j+1] += numerator / denominator * (xi[op(i, r-j)] - xi[op(i, r-j+1)]) + @inbounds begin + for j in 0:order-1 + for m in j+1:order + numerator = sum(num_prod(i, m, l, r, xr, xi, shift, op, order, der) for l=0:order if l != m) + denominator = prod(xi[op(i, r-m+1)] - xi[op(i, r-l+1)] for l=0:order if l != m) + coeffs[j+1] += numerator / denominator * (xi[op(i, r-j)] - xi[op(i, r-j+1)]) + end end end @@ -153,7 +155,7 @@ julia> calc_reconstruction_stencil(3, :left, :x) for (idx, n) in enumerate(rng) c = n - buffer - 1 if func - stencil_full[idx] = dir == :x ? + stencil_full[idx] = dir == :x ? :(convert(FT, $coeff[$(order - idx + 1)]) * ψ(i + $c, j, k, grid, args...)) : dir == :y ? :(convert(FT, $coeff[$(order - idx + 1)]) * ψ(i, j + $c, k, grid, args...)) : @@ -173,7 +175,7 @@ end ##### Shenanigans for stretched directions ##### -@inline function reconstruction_stencil(buffer, shift, dir, func::Bool = false) +@inline function reconstruction_stencil(buffer, shift, dir, func::Bool = false) N = buffer * 2 order = shift == :symmetric ? N : N - 1 if shift != :symmetric @@ -188,13 +190,13 @@ end for (idx, n) in enumerate(rng) c = n - buffer - 1 if func - stencil_full[idx] = dir == :x ? + stencil_full[idx] = dir == :x ? :(ψ(i + $c, j, k, grid, args...)) : dir == :y ? :(ψ(i, j + $c, k, grid, args...)) : :(ψ(i, j, k + $c, grid, args...)) else - stencil_full[idx] = dir == :x ? + stencil_full[idx] = dir == :x ? :(ψ[i + $c, j, k]) : dir == :y ? :(ψ[i, j + $c, k]) : From 070f59d45ece2f68917ed2094d38adec152dcd97 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Wed, 17 Jan 2024 08:06:22 +0200 Subject: [PATCH 19/51] bit of cleanup --- test/test_poisson_solvers.jl | 1 - test/test_regrid.jl | 10 +++++----- test/utils_for_runtests.jl | 20 ++++++++++---------- 3 files changed, 15 insertions(+), 16 deletions(-) diff --git a/test/test_poisson_solvers.jl b/test/test_poisson_solvers.jl index dbd7d73ba3..7e37253a3e 100644 --- a/test/test_poisson_solvers.jl +++ b/test/test_poisson_solvers.jl @@ -31,7 +31,6 @@ two_dimensional_topologies = [(Flat, Bounded, Bounded), grids_2d = [RectilinearGrid(arch, FT, size=(2, 2), extent=(1, 1), topology=topo) for topo in two_dimensional_topologies] - grids = [] push!(grids, grids_3d..., grids_2d...) diff --git a/test/test_regrid.jl b/test/test_regrid.jl index 4eb578a3f6..f0034a829e 100644 --- a/test/test_regrid.jl +++ b/test/test_regrid.jl @@ -4,7 +4,7 @@ using Oceananigans.Fields: regrid_in_x!, regrid_in_y!, regrid_in_z! @testset "Field regridding" begin @info " Testing field regridding..." - + L = 1.1 ℓ = 0.5 @@ -12,7 +12,7 @@ using Oceananigans.Fields: regrid_in_x!, regrid_in_y!, regrid_in_z! fine_stretched_ξ = [0, ℓ, L] very_fine_stretched_ξ = [0, 0.2, 0.6, L] super_fine_stretched_ξ = [0, 0.1, 0.3, 0.65, L] - + topologies_1d = (x = (Bounded, Flat, Flat), y = (Flat, Bounded, Flat), z = (Flat, Flat, Bounded)) @@ -87,7 +87,7 @@ using Oceananigans.Fields: regrid_in_x!, regrid_in_y!, regrid_in_z! CUDA.@allowscalar begin @test interior(fine_1d_regular_c)[1] ≈ ℓ/(L/2) * c₁ + (1 - ℓ/(L/2)) * c₂ @test interior(fine_1d_regular_c)[2] ≈ c₂ - end + end # Fine-graining regrid!(very_fine_1d_stretched_c, fine_1d_stretched_c) @@ -121,7 +121,7 @@ using Oceananigans.Fields: regrid_in_x!, regrid_in_y!, regrid_in_z! # This test does not work, because we can only regrid in one direction. # To make this work, we have to transfer the reduced data to a "reduced" grid # (ie with one grid point in each reduced direction). - + # Fine-graining from reduction ind1 = dim == :x ? (1, :, :) : dim == :y ? (:, 1, :) : (:, :, 1) ind2 = dim == :x ? (2, :, :) : dim == :y ? (:, 2, :) : (:, :, 2) @@ -129,7 +129,7 @@ using Oceananigans.Fields: regrid_in_x!, regrid_in_y!, regrid_in_z! Base.dotview(fine_stretched_c, ind1...) .= c₁ Base.dotview(fine_stretched_c, ind2...) .= c₂ - + fine_stretched_c_mean_xy = Field(Reduction(mean!, fine_stretched_c; dims)) compute!(fine_stretched_c_mean_xy) diff --git a/test/utils_for_runtests.jl b/test/utils_for_runtests.jl index 1551bd262b..d4a92035e2 100644 --- a/test/utils_for_runtests.jl +++ b/test/utils_for_runtests.jl @@ -1,13 +1,13 @@ -using Oceananigans +using Test using Statistics -using KernelAbstractions: @kernel, @index using CUDA -using Test using Printf -using Test +using MPI +using KernelAbstractions: @kernel, @index + +using Oceananigans using Oceananigans.TimeSteppers: QuasiAdamsBashforth2TimeStepper, RungeKutta3TimeStepper, update_state! using Oceananigans.DistributedComputations: Distributed, Partition, child_architecture, Fractional, Equal -using MPI import Oceananigans.Fields: interior @@ -32,11 +32,11 @@ end function summarize_regression_test(fields, correct_fields) for (field_name, φ, φ_c) in zip(keys(fields), fields, correct_fields) Δ = φ .- φ_c - Δ_min = minimum(Δ) - Δ_max = maximum(Δ) - Δ_mean = mean(Δ) - Δ_abs_mean = mean(abs, Δ) - Δ_std = std(Δ) + Δ_min = minimum(Δ) + Δ_max = maximum(Δ) + Δ_mean = mean(Δ) + Δ_abs_mean = mean(abs, Δ) + Δ_std = std(Δ) matching = sum(φ .≈ φ_c) grid_points = length(φ_c) From 8d5d865cca4e73157558ae494542769517ff44d2 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 25 Jan 2024 22:20:02 +0200 Subject: [PATCH 20/51] drop another @unroll --- .../update_hydrostatic_pressure.jl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl b/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl index b589596374..b6b53a86e3 100644 --- a/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl +++ b/src/Models/NonhydrostaticModels/update_hydrostatic_pressure.jl @@ -14,14 +14,15 @@ the `buoyancy_perturbationᶜᶜᶜ` downwards: @inbounds pHY′[i, j, grid.Nz] = - z_dot_g_bᶜᶜᶠ(i, j, grid.Nz+1, grid, buoyancy, C) * Δzᶜᶜᶠ(i, j, grid.Nz+1, grid) - @unroll for k in grid.Nz-1 : -1 : 1 + for k in grid.Nz-1 : -1 : 1 @inbounds pHY′[i, j, k] = pHY′[i, j, k+1] - z_dot_g_bᶜᶜᶠ(i, j, k+1, grid, buoyancy, C) * Δzᶜᶜᶠ(i, j, k+1, grid) end end update_hydrostatic_pressure!(model; kwargs...) = update_hydrostatic_pressure!(model.grid, model; kwargs...) update_hydrostatic_pressure!(::AbstractGrid{<:Any, <:Any, <:Any, <:Flat}, model; kwargs...) = nothing -update_hydrostatic_pressure!(grid, model; kwargs...) = update_hydrostatic_pressure!(model.pressures.pHY′, model.architecture, model.grid, model.buoyancy, model.tracers; kwargs...) +update_hydrostatic_pressure!(grid, model; kwargs...) = + update_hydrostatic_pressure!(model.pressures.pHY′, model.architecture, model.grid, model.buoyancy, model.tracers; kwargs...) # Partial cell "algorithm" const PCB = PartialCellBottom @@ -30,7 +31,7 @@ const PCBIBG = ImmersedBoundaryGrid{<:Any, <:Any, <:Any, <:Any, <:Any, <:PCB} update_hydrostatic_pressure!(pHY′, arch, ibg::PCBIBG, buoyancy, tracers; parameters = p_kernel_parameters(ibg.underlying_grid)) = update_hydrostatic_pressure!(pHY′, arch, ibg.underlying_grid, buoyancy, tracers; parameters) -update_hydrostatic_pressure!(pHY′, arch, grid, buoyancy, tracers; parameters = p_kernel_parameters(grid)) = +update_hydrostatic_pressure!(pHY′, arch, grid, buoyancy, tracers; parameters = p_kernel_parameters(grid)) = launch!(arch, grid, parameters, _update_hydrostatic_pressure!, pHY′, grid, buoyancy, tracers) # extend p kernel to compute also the boundaries @@ -38,8 +39,8 @@ update_hydrostatic_pressure!(pHY′, arch, grid, buoyancy, tracers; parameters = Nx, Ny, _ = size(grid) TX, TY, _ = topology(grid) - Sx = TX == Flat ? Nx : Nx + 2 - Sy = TY == Flat ? Ny : Ny + 2 + Sx = TX == Flat ? Nx : Nx + 2 + Sy = TY == Flat ? Ny : Ny + 2 Ox = TX == Flat ? 0 : - 1 Oy = TY == Flat ? 0 : - 1 From 3533c44cf071a626bc02ed2069591e31c0ea8eb7 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Wed, 31 Jan 2024 09:22:36 +0200 Subject: [PATCH 21/51] resolve deps --- Manifest.toml | 41 +++-------------------------------------- docs/Manifest.toml | 12 ++++++------ 2 files changed, 9 insertions(+), 44 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 7096535adf..9d0ae6b4eb 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.10.0" manifest_format = "2.0" -project_hash = "bf19ba741499b3d832357fc8ef94c9fd14efe168" +project_hash = "39afa30206a17bb59b9e4ecef8c35f280cf4701c" [[deps.AbstractFFTs]] deps = ["LinearAlgebra"] @@ -245,29 +245,6 @@ git-tree-sha1 = "71c79e77221ab3a29918aaf6db4f217b89138608" uuid = "b305315f-e792-5b7a-8f41-49f472929428" version = "1.0.1" -[[deps.Enzyme]] -deps = ["CEnum", "EnzymeCore", "Enzyme_jll", "GPUCompiler", "LLVM", "Libdl", "LinearAlgebra", "ObjectFile", "Preferences", "Printf", "Random"] -git-tree-sha1 = "ae881b2f107e3c01444edbaa0bf3b73f461539f6" -repo-rev = "main" -repo-url = "https://github.com/EnzymeAD/Enzyme.jl.git" -uuid = "7da242da-08ed-463a-9acd-ee780be4f1d9" -version = "0.11.14" - -[[deps.EnzymeCore]] -git-tree-sha1 = "59c44d8fbc651c0395d8a6eda64b05ce316f58b4" -uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" -version = "0.6.5" -weakdeps = ["Adapt"] - - [deps.EnzymeCore.extensions] - AdaptExt = "Adapt" - -[[deps.Enzyme_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "95b4c72f71010dcc05594d3424d1642ea74eca60" -uuid = "7cc45869-7501-5eee-bdea-0790c847d4ef" -version = "0.0.98+0" - [[deps.ExprTools]] git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" @@ -609,12 +586,6 @@ version = "400.902.208+0" uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" -[[deps.ObjectFile]] -deps = ["Reexport", "StructIO"] -git-tree-sha1 = "195e0a19842f678dd3473ceafbe9d82dfacc583c" -uuid = "d8793406-e978-5875-9003-1fc021f44a92" -version = "0.4.1" - [[deps.OffsetArrays]] git-tree-sha1 = "6a731f2b5c03157418a20c12195eb4b74c8f8621" uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" @@ -858,9 +829,9 @@ weakdeps = ["OffsetArrays", "StaticArrays"] [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "f68dd04d131d9a8a8eb836173ee8f105c360b0c5" +git-tree-sha1 = "7b0e9c14c624e435076d19aea1e5cbdec2b9ca37" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.1" +version = "1.9.2" [deps.StaticArrays.extensions] StaticArraysChainRulesCoreExt = "ChainRulesCore" @@ -919,12 +890,6 @@ git-tree-sha1 = "1b0b1205a56dc288b71b1961d48e351520702e24" uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" version = "0.6.17" -[[deps.StructIO]] -deps = ["Test"] -git-tree-sha1 = "010dc73c7146869c042b49adcdb6bf528c12e859" -uuid = "53d494c1-5632-5724-8f4c-31dff12d585f" -version = "0.3.0" - [[deps.StructTypes]] deps = ["Dates", "UUIDs"] git-tree-sha1 = "ca4bccb03acf9faaf4137a9abc1881ed1841aa70" diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 3feb02b462..7768ac1f1c 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -187,9 +187,9 @@ weakdeps = ["SparseArrays"] [[deps.CodecBzip2]] deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"] -git-tree-sha1 = "c0ae2a86b162fb5d7acc65269b469ff5b8a73594" +git-tree-sha1 = "9b1ca1aa6ce3f71b3d1840c538a8210a043625eb" uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd" -version = "0.8.1" +version = "0.8.2" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] @@ -1522,9 +1522,9 @@ version = "0.1.1" [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "f68dd04d131d9a8a8eb836173ee8f105c360b0c5" +git-tree-sha1 = "7b0e9c14c624e435076d19aea1e5cbdec2b9ca37" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.1" +version = "1.9.2" weakdeps = ["ChainRulesCore", "Statistics"] [deps.StaticArrays.extensions] @@ -1601,9 +1601,9 @@ version = "1.0.3" [[deps.TZJData]] deps = ["Artifacts"] -git-tree-sha1 = "d39314cdbaf5b90a047db33858626f8d1cc973e1" +git-tree-sha1 = "b69f8338df046774bd975b13be9d297eca5efacb" uuid = "dc5dba14-91b3-4cab-a142-028a31da12f7" -version = "1.0.0+2023c" +version = "1.1.0+2023d" [[deps.TableTraits]] deps = ["IteratorInterfaceExtensions"] From 0628536184d235005e5e3fbe4d644bb82b540428 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 1 Feb 2024 08:17:44 +0200 Subject: [PATCH 22/51] resolve conflicts --- examples/langmuir_turbulence.jl | 4 ---- 1 file changed, 4 deletions(-) diff --git a/examples/langmuir_turbulence.jl b/examples/langmuir_turbulence.jl index 517506e54a..bbce03861a 100644 --- a/examples/langmuir_turbulence.jl +++ b/examples/langmuir_turbulence.jl @@ -269,11 +269,7 @@ wxy_title = @lift string("w(x, y, t) at z=-8 m and t = ", prettytime(times[$n])) wxz_title = @lift string("w(x, z, t) at y=0 m and t = ", prettytime(times[$n])) uxz_title = @lift string("u(x, z, t) at y=0 m and t = ", prettytime(times[$n])) -<<<<<<< HEAD -fig = Figure(size=(850, 850)) -======= fig = Figure(size = (850, 850)) ->>>>>>> main ax_B = Axis(fig[1, 4]; xlabel = "Buoyancy (m s⁻²)", From fa0141059c2c9ae2bc51ea81b49fa89a13bb8ff2 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 1 Feb 2024 08:23:38 +0200 Subject: [PATCH 23/51] minor rephrae --- examples/langmuir_turbulence.jl | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/examples/langmuir_turbulence.jl b/examples/langmuir_turbulence.jl index bbce03861a..4266b2c9de 100644 --- a/examples/langmuir_turbulence.jl +++ b/examples/langmuir_turbulence.jl @@ -31,13 +31,13 @@ using Oceananigans.Units: minute, minutes, hours # # ### Domain and numerical grid specification # -# We use a modest resolution and the same total extent as Wagner et al. 2021, +# We use a modest resolution and the same total extent as Wagner et al. (2021), grid = RectilinearGrid(size=(32, 32, 32), extent=(128, 128, 64)) # ### The Stokes Drift profile # -# The surface wave Stokes drift profile prescribed in Wagner et al. 2021, +# The surface wave Stokes drift profile prescribed in Wagner et al. (2021), # corresponds to a 'monochromatic' (that is, single-frequency) wave field. # # A monochromatic wave field is characterized by its wavelength and amplitude @@ -59,8 +59,7 @@ const vertical_scale = wavelength / 4π const Uˢ = amplitude^2 * wavenumber * frequency # m s⁻¹ # The `const` declarations ensure that Stokes drift functions compile on the GPU. -# To run this example on the GPU, include `GPU()` in the -# constructor for `RectilinearGrid` above. +# To run this example on the GPU, include `GPU()` in the `RectilinearGrid` constructor above. # # The Stokes drift profile is @@ -84,18 +83,18 @@ uˢ(z) = Uˢ * exp(z / vertical_scale) # # Finally, we note that the time-derivative of the Stokes drift must be provided # if the Stokes drift and surface wave field undergoes _forced_ changes in time. -# In this example, the Stokes drift is constant -# and thus the time-derivative of the Stokes drift is 0. +# In this example, the Stokes drift is constant and thus the time-derivative of +# the Stokes drift is 0. # ### Boundary conditions # -# At the surface at ``z=0``, Wagner et al. 2021 impose +# At the surface at ``z = 0``, Wagner et al. (2021) impose Qᵘ = -3.72e-5 # m² s⁻², surface kinematic momentum flux u_boundary_conditions = FieldBoundaryConditions(top = FluxBoundaryCondition(Qᵘ)) -# Wagner et al. 2021 impose a linear buoyancy gradient `N²` at the bottom +# Wagner et al. (2021) impose a linear buoyancy gradient `N²` at the bottom # along with a weak, destabilizing flux of buoyancy at the surface to faciliate # spin-up from rest. @@ -214,7 +213,7 @@ simulation.output_writers[:fields] = # ### An "averages" writer # # We also set up output of time- and horizontally-averaged velocity field and -# momentum fluxes, +# momentum fluxes. u, v, w = model.velocities b = model.tracers.b @@ -239,7 +238,7 @@ run!(simulation) # # Making a neat movie # -# We look at the results by loading data from file with FieldTimeSeries, +# We look at the results by loading data from file with `FieldTimeSeries`, # and plotting vertical slices of ``u`` and ``w``, and a horizontal # slice of ``w`` to look for Langmuir cells. From 07b1b0260ce7ce3d3432c6b1d96b7f7e4ee84369 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 1 Feb 2024 12:13:35 +0200 Subject: [PATCH 24/51] add compat for Adapt 4 --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 3f56bc3542..940aa689bd 100644 --- a/Project.toml +++ b/Project.toml @@ -43,7 +43,7 @@ Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" OceananigansEnzymeExt = "Enzyme" [compat] -Adapt = "3" +Adapt = "3, 4" CUDA = "4.1.1, 5" Crayons = "4" CubedSphere = "0.1, 0.2" From f2c387805ad3f716d44e1363a8a96133a17342bf Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Thu, 1 Feb 2024 12:13:35 +0200 Subject: [PATCH 25/51] update deps --- Manifest.toml | 28 ++++++++++++++-------------- docs/Manifest.toml | 8 ++++---- 2 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 9d0ae6b4eb..198d92e8a1 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.10.0" manifest_format = "2.0" -project_hash = "39afa30206a17bb59b9e4ecef8c35f280cf4701c" +project_hash = "b2f20c94802e81a8e7a5317882114cedb4de1a6d" [[deps.AbstractFFTs]] deps = ["LinearAlgebra"] @@ -20,9 +20,9 @@ version = "1.5.0" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "cde29ddf7e5726c9fb511f340244ea3481267608" +git-tree-sha1 = "0fb305e0253fd4e833d486914367a2ee2c2e78d0" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.7.2" +version = "4.0.1" weakdeps = ["StaticArrays"] [deps.Adapt.extensions] @@ -90,10 +90,10 @@ uuid = "179af706-886a-5703-950a-314cd64e0468" version = "0.1.2" [[deps.CUDA]] -deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CUDA_Driver_jll", "CUDA_Runtime_Discovery", "CUDA_Runtime_jll", "Crayons", "DataFrames", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LLVMLoopInfo", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "NVTX", "Preferences", "PrettyTables", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "Statistics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "95ac638373ac40e29c1b6d086a3698f5026ff6a6" +deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CUDA_Driver_jll", "CUDA_Runtime_Discovery", "CUDA_Runtime_jll", "Crayons", "DataFrames", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LLVMLoopInfo", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "NVTX", "Preferences", "PrettyTables", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "StaticArrays", "Statistics"] +git-tree-sha1 = "baa8ea7a1ea63316fa3feb454635215773c9c845" uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" -version = "5.1.2" +version = "5.2.0" [deps.CUDA.extensions] ChainRulesCoreExt = "ChainRulesCore" @@ -117,9 +117,9 @@ version = "0.2.3" [[deps.CUDA_Runtime_jll]] deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "9704e50c9158cf8896c2776b8dbc5edd136caf80" +git-tree-sha1 = "8e25c009d2bf16c2c31a70a6e9e8939f7325cc84" uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" -version = "0.10.1+0" +version = "0.11.1+0" [[deps.ColorTypes]] deps = ["FixedPointNumbers", "Random"] @@ -283,15 +283,15 @@ uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" [[deps.GPUArrays]] deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] -git-tree-sha1 = "85d7fb51afb3def5dcb85ad31c3707795c8bccc1" +git-tree-sha1 = "47e4686ec18a9620850bad110b79966132f14283" uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "9.1.0" +version = "10.0.2" [[deps.GPUArraysCore]] deps = ["Adapt"] -git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" +git-tree-sha1 = "ec632f177c0d990e64d955ccc1b8c04c485a0950" uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.1.5" +version = "0.1.6" [[deps.GPUCompiler]] deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "Scratch", "TimerOutputs", "UUIDs"] @@ -613,9 +613,9 @@ version = "4.1.6+0" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cc6e1927ac521b659af340e0ca45828a3ffc748f" +git-tree-sha1 = "60e3045590bd104a16fefb12836c00c0ef8c7f8c" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.12+0" +version = "3.0.13+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 7768ac1f1c..1599e877f5 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -1155,9 +1155,9 @@ version = "4.1.6+0" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cc6e1927ac521b659af340e0ca45828a3ffc748f" +git-tree-sha1 = "60e3045590bd104a16fefb12836c00c0ef8c7f8c" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.12+0" +version = "3.0.13+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] @@ -1428,9 +1428,9 @@ version = "1.1.1" [[deps.ShaderAbstractions]] deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays", "StructArrays", "Tables"] -git-tree-sha1 = "db0219befe4507878b1a90e07820fed3e62c289d" +git-tree-sha1 = "79123bc60c5507f035e6d1d9e563bb2971954ec8" uuid = "65257c39-d410-5151-9873-9b3e5be5013e" -version = "0.4.0" +version = "0.4.1" [[deps.SharedArrays]] deps = ["Distributed", "Mmap", "Random", "Serialization"] From e8da74141d2b07c45b2d24f2f2e0f8b570ed14fa Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Fri, 2 Feb 2024 18:03:37 +0200 Subject: [PATCH 26/51] try fixing distributed pipeline --- .buildkite/distributed/JuliaProject.toml | 16 +++++++--------- .buildkite/distributed/pipeline.yml | 4 +++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/.buildkite/distributed/JuliaProject.toml b/.buildkite/distributed/JuliaProject.toml index 6eca5f806d..fff554e83a 100644 --- a/.buildkite/distributed/JuliaProject.toml +++ b/.buildkite/distributed/JuliaProject.toml @@ -1,17 +1,15 @@ [extras] CUDA_Runtime_jll = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" +CUDA_Driver_jll = "4ee394cb-3365-5eb0-8335-949819d2adfc" MPIPreferences = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" -OpenMPI_jll = "fe0851c0-eecd-5654-98d4-656369965a5c" + +[preferences.CUDA_Driver_jll] +compat = false [preferences.CUDA_Runtime_jll] -version = "local" +version = "12.2" +local = "true" [preferences.MPIPreferences] _format = "1.0" -abi = "OpenMPI" -binary = "system" -libmpi = "libmpi" -mpiexec = "mpiexec" - -[preferences.OpenMPI_jll] -libmpi_path = "libmpi" \ No newline at end of file +binary = "MPItrampoline_jll" diff --git a/.buildkite/distributed/pipeline.yml b/.buildkite/distributed/pipeline.yml index 0f35e48580..27325c245a 100644 --- a/.buildkite/distributed/pipeline.yml +++ b/.buildkite/distributed/pipeline.yml @@ -1,7 +1,7 @@ agents: queue: central slurm_mem: 8G - modules: julia/1.10.0 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 hdf5/1.12.2-ompi415 nsight-systems/2023.2.1 + modules: julia/1.10.0 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 nsight-systems/2023.2.1 env: JULIA_LOAD_PATH: "${JULIA_LOAD_PATH}:${BUILDKITE_BUILD_CHECKOUT_PATH}/.buildkite/distributed" @@ -10,6 +10,8 @@ env: OMPI_MCA_opal_warn_on_missing_libcuda: 0 JULIA_CPU_TARGET: 'broadwell;skylake' JULIA_CUDA_MEMORY_POOL: none + MPITRAMPOLINE_LIB: /groups/esm/software/MPIwrapper/ompi4.1.5_cuda-12.2/lib64/libmpiwrapper.so + MPITRAMPOLINE_MPIEXEC: /groups/esm/software/MPIwrapper/ompi4.1.5_cuda-12.2/bin/mpiwrapperexec steps: - label: "initialize" From f9151c9c3c8ae91f281feaa2f76b55b2f712784a Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Fri, 2 Feb 2024 18:23:47 +0200 Subject: [PATCH 27/51] add compat NCDataset v0.14 --- Manifest.toml | 69 +++++++++++++++++++++++++++++++++++++++++++-------- Project.toml | 2 +- 2 files changed, 59 insertions(+), 12 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 198d92e8a1..a51699f987 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.10.0" manifest_format = "2.0" -project_hash = "b2f20c94802e81a8e7a5317882114cedb4de1a6d" +project_hash = "04d395caf937b0921325a77873167e8baa293a99" [[deps.AbstractFFTs]] deps = ["LinearAlgebra"] @@ -72,6 +72,12 @@ version = "0.4.2" [[deps.Base64]] uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" +[[deps.Blosc_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Lz4_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "19b98ee7e3db3b4eff74c5c9c72bf32144e24f10" +uuid = "0b7ba130-8d10-5ba8-a3d6-c5182647fed9" +version = "1.21.5+0" + [[deps.Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" @@ -134,10 +140,10 @@ uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" version = "0.12.10" [[deps.CommonDataModel]] -deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf"] -git-tree-sha1 = "7f5717cbb2c1ce650cfd454451f282df33103596" +deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf", "Statistics"] +git-tree-sha1 = "a132d267a055e8173a4a8e83d0d4ddcaeae70f91" uuid = "1fbeeb36-5f17-413c-809b-666fb144f157" -version = "0.2.5" +version = "0.3.4" [[deps.Compat]] deps = ["TOML", "UUIDs"] @@ -281,6 +287,11 @@ version = "0.8.4" deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" +[[deps.GMP_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" +version = "6.2.1+6" + [[deps.GPUArrays]] deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] git-tree-sha1 = "47e4686ec18a9620850bad110b79966132f14283" @@ -304,6 +315,12 @@ git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" version = "1.3.1" +[[deps.GnuTLS_jll]] +deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Nettle_jll", "P11Kit_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "266fe9b2335527cbf569ba4fd0979e3d8c6fd491" +uuid = "0951126a-58fd-58f1-b5b3-b08c7c4a876d" +version = "3.7.8+1" + [[deps.HDF5_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] git-tree-sha1 = "e4591176488495bf44d7456bd73179d87d5e6eab" @@ -486,6 +503,12 @@ version = "0.3.26" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +[[deps.Lz4_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6c26c5e8a4203d43b5497be3ec5d4e0c3cde240a" +uuid = "5ced341a-0733-55b8-9ab6-a4889d929147" +version = "1.9.4+0" + [[deps.MKL_jll]] deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl"] git-tree-sha1 = "72dc3cf284559eb8f53aa593fe62cb33f83ed0c0" @@ -560,9 +583,9 @@ version = "2023.1.10" [[deps.NCDatasets]] deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "DiskArrays", "NetCDF_jll", "NetworkOptions", "Printf"] -git-tree-sha1 = "173a378f357e9bb24b22019efb5e4778223ce8cf" +git-tree-sha1 = "79400cceb1655e7b2fe528a7b114c785bc152e59" uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.13.2" +version = "0.14.1" [[deps.NVTX]] deps = ["Colors", "JuliaNVTXCallbacks_jll", "Libdl", "NVTX_jll"] @@ -577,10 +600,16 @@ uuid = "e98f9f5b-d649-5603-91fd-7774390e6439" version = "3.1.0+2" [[deps.NetCDF_jll]] -deps = ["Artifacts", "Bzip2_jll", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "XML2_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "10c612c81eaffdd6b7c28a45a554cdd9d2f40ff1" +deps = ["Artifacts", "Blosc_jll", "Bzip2_jll", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "OpenMPI_jll", "XML2_jll", "Zlib_jll", "Zstd_jll", "libzip_jll"] +git-tree-sha1 = "a8af1798e4eb9ff768ce7fdefc0e957097793f15" uuid = "7243133f-43d8-5620-bbf4-c2c921802cf3" -version = "400.902.208+0" +version = "400.902.209+0" + +[[deps.Nettle_jll]] +deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "eca63e3847dad608cfa6a3329b95ef674c7160b4" +uuid = "4c82536e-c426-54e4-b420-14f461c4ed8b" +version = "3.7.2+0" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" @@ -628,6 +657,12 @@ git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" version = "1.6.3" +[[deps.P11Kit_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "2cd396108e178f3ae8dedbd8e938a18726ab2fbf" +uuid = "c2071276-7c44-58a7-b746-946036e04d0a" +version = "0.24.1+0" + [[deps.PackageExtensionCompat]] git-tree-sha1 = "fb28e33b8a95c4cee25ce296c817d89cc2e53518" uuid = "65ce6f38-6b18-4e1d-a461-8949797d7930" @@ -950,9 +985,9 @@ uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" version = "0.5.23" [[deps.TranscodingStreams]] -git-tree-sha1 = "1fbeaaca45801b4ba17c251dd8603ef24801dd84" +git-tree-sha1 = "54194d92959d8ebaa8e26227dbe3cdefcdcd594f" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.10.2" +version = "0.10.3" weakdeps = ["Random", "Test"] [deps.TranscodingStreams.extensions] @@ -992,6 +1027,12 @@ git-tree-sha1 = "801cbe47eae69adc50f36c3caec4758d2650741b" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" version = "2.12.2+0" +[[deps.XZ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "522b8414d40c4cbbab8dee346ac3a09f9768f25d" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.4.5+0" + [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" @@ -1014,6 +1055,12 @@ deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+1" +[[deps.libzip_jll]] +deps = ["Artifacts", "Bzip2_jll", "GnuTLS_jll", "JLLWrappers", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "9a6ac803f3c17fe7cf66430a8bfc7186800f08a4" +uuid = "337d8026-41b4-5cde-a456-74a10e5b31d1" +version = "1.9.2+0" + [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" diff --git a/Project.toml b/Project.toml index 940aa689bd..6dbf4d8296 100644 --- a/Project.toml +++ b/Project.toml @@ -61,7 +61,7 @@ KernelAbstractions = "0.9" LinearAlgebra = "1.9" Logging = "1.9" MPI = "0.16, 0.17, 0.18, 0.19, 0.20" -NCDatasets = "0.12.10, 0.13.1" +NCDatasets = "0.12.10, 0.13.1, 0.14" OffsetArrays = "1.4" OrderedCollections = "1.1" PencilArrays = "0.16, 0.17, 0.18, 0.19" From 669287fe7ed300cdf8f95d40dafab6e6aba9b7e4 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Sat, 3 Feb 2024 08:49:00 +0200 Subject: [PATCH 28/51] add debug show statements --- test/test_distributed_hydrostatic_model.jl | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index 60e99f2f04..e79f894a2a 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -115,6 +115,11 @@ for arch in archs ηs = partition_global_array(cpu_arch, ηs, size(η)) @test all(u .≈ us) + @info "debug why v ≠ vs" + @show norm(v) + @show norm(vs) + @show norm(interior(v)) + @show norm(interior(vs)) @test all(v .≈ vs) @test all(w .≈ ws) @test all(c .≈ cs) From e843b9bbe2d451c64da43849cd22a5dbdce9637c Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 5 Feb 2024 17:48:08 +0200 Subject: [PATCH 29/51] another attempt to debug --- test/test_distributed_hydrostatic_model.jl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index e79f894a2a..3b5e77adfa 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -115,11 +115,15 @@ for arch in archs ηs = partition_global_array(cpu_arch, ηs, size(η)) @test all(u .≈ us) + @info "debug why v ≠ vs" @show norm(v) @show norm(vs) - @show norm(interior(v)) - @show norm(interior(vs)) + + wh = v .≈ vs + indices = findall(x -> x == v[wh .== 0][], v) + @show indices + @test all(v .≈ vs) @test all(w .≈ ws) @test all(c .≈ cs) From b70387c7fbb54018f7ec5d2caf79367d53fc0664 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 5 Feb 2024 17:50:52 +0200 Subject: [PATCH 30/51] another attempt to debug --- test/test_distributed_hydrostatic_model.jl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index 3b5e77adfa..8e2fbd43fd 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -120,9 +120,7 @@ for arch in archs @show norm(v) @show norm(vs) - wh = v .≈ vs - indices = findall(x -> x == v[wh .== 0][], v) - @show indices + @show indices = findall(x -> x == v[(v .≈ vs) .== 0][], v) @test all(v .≈ vs) @test all(w .≈ ws) From f5e359e203767754312bf3cec131cf99d73bb911 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 5 Feb 2024 18:49:44 +0200 Subject: [PATCH 31/51] better debuging --- test/test_distributed_hydrostatic_model.jl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index 8e2fbd43fd..23b8b5b097 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -120,7 +120,11 @@ for arch in archs @show norm(v) @show norm(vs) - @show indices = findall(x -> x == v[(v .≈ vs) .== 0][], v) + values = v[(v .≈ vs) .== 0] + for value in values + index = findall(x -> x == value, v) + @show value, index, v[index][], vs[index][] + end @test all(v .≈ vs) @test all(w .≈ ws) From 385a05d55dfe189eb0734c9120d0f9604eb070f7 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 08:25:22 +0200 Subject: [PATCH 32/51] add atol=eps in tests --- test/test_distributed_hydrostatic_model.jl | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index 23b8b5b097..fd3ff1ede3 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -114,21 +114,10 @@ for arch in archs cs = partition_global_array(cpu_arch, cs, size(c)) ηs = partition_global_array(cpu_arch, ηs, size(η)) - @test all(u .≈ us) - - @info "debug why v ≠ vs" - @show norm(v) - @show norm(vs) - - values = v[(v .≈ vs) .== 0] - for value in values - index = findall(x -> x == value, v) - @show value, index, v[index][], vs[index][] - end - - @test all(v .≈ vs) - @test all(w .≈ ws) - @test all(c .≈ cs) - @test all(η .≈ ηs) + @test all(isapprox(u, us, atol=eps(eltype(grid)))) + @test all(isapprox(v, vs, atol=eps(eltype(grid)))) + @test all(isapprox(w, ws, atol=eps(eltype(grid)))) + @test all(isapprox(c, cs, atol=eps(eltype(grid)))) + @test all(isapprox(η, ηs, atol=eps(eltype(grid)))) end end From 06b81ca8cafc68ae6bcb78f5dba3cc1ef30ccbf1 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 08:32:20 +0200 Subject: [PATCH 33/51] add compat NCDatasets v0.14 --- docs/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Project.toml b/docs/Project.toml index 1f9bd5848c..21cddd2813 100644 --- a/docs/Project.toml +++ b/docs/Project.toml @@ -15,4 +15,4 @@ CairoMakie = "0.11" Documenter = "1" DocumenterCitations = "1" Literate = "≥2.9.0" -NCDatasets = "0.12.10, 0.13.1" +NCDatasets = "0.12.10, 0.13.1, 0.14" From aa0dcebca04b7c6964d3f4cde9c6f7eee5857e67 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 08:32:20 +0200 Subject: [PATCH 34/51] up deps --- Manifest.toml | 27 ++++++++---- docs/Manifest.toml | 106 ++++++++++++++++++++++++++++++++++----------- 2 files changed, 99 insertions(+), 34 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index a51699f987..06c4b6e46d 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -212,10 +212,10 @@ deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[deps.DiskArrays]] -deps = ["OffsetArrays"] -git-tree-sha1 = "1bfa9de80f35ac63c6c381b2d43c590875896a1f" +deps = ["LRUCache", "OffsetArrays"] +git-tree-sha1 = "ef25c513cad08d7ebbed158c91768ae32f308336" uuid = "3c3547ce-8d99-4f5e-a174-61eb10b00ae3" -version = "0.3.22" +version = "0.3.23" [[deps.Distances]] deps = ["LinearAlgebra", "Statistics", "StatsAPI"] @@ -438,6 +438,15 @@ git-tree-sha1 = "2e5c102cfc41f48ae4740c7eca7743cc7e7b75ea" uuid = "8b046642-f1f6-4319-8d3c-209ddc03c586" version = "1.0.0" +[[deps.LRUCache]] +git-tree-sha1 = "b3cc6698599b10e652832c2f23db3cab99d51b59" +uuid = "8ac3fa9e-de4c-5943-b1dc-09c6b5f20637" +version = "1.6.1" +weakdeps = ["Serialization"] + + [deps.LRUCache.extensions] + SerializationExt = ["Serialization"] + [[deps.LaTeXStrings]] git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" @@ -742,9 +751,9 @@ version = "1.5.1" [[deps.Quaternions]] deps = ["LinearAlgebra", "Random", "RealDot"] -git-tree-sha1 = "9a46862d248ea548e340e30e2894118749dc7f51" +git-tree-sha1 = "994cc27cdacca10e68feb291673ec3a76aa2fae9" uuid = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" -version = "0.7.5" +version = "0.7.6" [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] @@ -791,9 +800,9 @@ version = "1.3.0" [[deps.Rotations]] deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays"] -git-tree-sha1 = "792d8fd4ad770b6d517a13ebb8dadfcac79405b8" +git-tree-sha1 = "1867f44fb5fbeb6ef544ea2b1a8e22882058d30b" uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" -version = "1.6.1" +version = "1.6.2" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -847,9 +856,9 @@ version = "2.3.1" [[deps.Static]] deps = ["IfElse"] -git-tree-sha1 = "f295e0a1da4ca425659c57441bcb59abb035a4bc" +git-tree-sha1 = "b366eb1eb68075745777d80861c6706c33f588ae" uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.8.8" +version = "0.8.9" [[deps.StaticArrayInterface]] deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 1599e877f5..aac8ee6498 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.10.0" manifest_format = "2.0" -project_hash = "0aada4916f44c3fc6530fbd36bbf78fb661dbc9c" +project_hash = "557d52a05599ce90be2c57f1ff77f12735a978b2" [[deps.ANSIColoredPrinters]] git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" @@ -119,6 +119,12 @@ git-tree-sha1 = "520c679daed011ce835d9efa7778863aad6687ed" uuid = "f1be7e48-bf82-45af-a471-ae754a193061" version = "0.2.20" +[[deps.Blosc_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Lz4_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "19b98ee7e3db3b4eff74c5c9c72bf32144e24f10" +uuid = "0b7ba130-8d10-5ba8-a3d6-c5182647fed9" +version = "1.21.5+0" + [[deps.Bzip2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "9e2a6b69137e6969bab0152632dcb3bc108c8bdd" @@ -159,9 +165,9 @@ version = "1.0.5" [[deps.CairoMakie]] deps = ["CRC32c", "Cairo", "Colors", "FFTW", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools"] -git-tree-sha1 = "8af8e491c0809610cdec28c9c44b1f1dce01046d" +git-tree-sha1 = "a80d49ed3333f5f78df8ffe76d07e88cc35e9172" uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" -version = "0.11.6" +version = "0.11.8" [[deps.Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] @@ -237,10 +243,10 @@ uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" version = "1.0.2" [[deps.CommonDataModel]] -deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf"] -git-tree-sha1 = "7f5717cbb2c1ce650cfd454451f282df33103596" +deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf", "Statistics"] +git-tree-sha1 = "a132d267a055e8173a4a8e83d0d4ddcaeae70f91" uuid = "1fbeeb36-5f17-413c-809b-666fb144f157" -version = "0.2.5" +version = "0.3.4" [[deps.CommonSubexpressions]] deps = ["MacroTools", "Test"] @@ -307,9 +313,9 @@ uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[deps.DelaunayTriangulation]] deps = ["DataStructures", "EnumX", "ExactPredicates", "Random", "SimpleGraphs"] -git-tree-sha1 = "26eb8e2331b55735c3d305d949aabd7363f07ba7" +git-tree-sha1 = "d4e9dc4c6106b8d44e40cd4faf8261a678552c7c" uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" -version = "0.8.11" +version = "0.8.12" [[deps.DiffResults]] deps = ["StaticArraysCore"] @@ -324,10 +330,10 @@ uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" version = "1.15.1" [[deps.DiskArrays]] -deps = ["OffsetArrays"] -git-tree-sha1 = "1bfa9de80f35ac63c6c381b2d43c590875896a1f" +deps = ["LRUCache", "OffsetArrays"] +git-tree-sha1 = "ef25c513cad08d7ebbed158c91768ae32f308336" uuid = "3c3547ce-8d99-4f5e-a174-61eb10b00ae3" -version = "0.3.22" +version = "0.3.23" [[deps.Distributed]] deps = ["Random", "Serialization", "Sockets"] @@ -391,9 +397,9 @@ version = "1.0.4" [[deps.ExactPredicates]] deps = ["IntervalArithmetic", "Random", "StaticArrays"] -git-tree-sha1 = "e8b8c949551f417e040f16e5c431b6e83e306e54" +git-tree-sha1 = "b3f2ff58735b5f024c392fde763f29b057e4b025" uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" -version = "2.2.7" +version = "2.2.8" [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -534,6 +540,11 @@ version = "1.0.10+0" deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" +[[deps.GMP_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" +version = "6.2.1+6" + [[deps.GPUArraysCore]] deps = ["Adapt"] git-tree-sha1 = "ec632f177c0d990e64d955ccc1b8c04c485a0950" @@ -576,6 +587,12 @@ git-tree-sha1 = "e94c92c7bf4819685eb80186d51c43e71d4afa17" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" version = "2.76.5+0" +[[deps.GnuTLS_jll]] +deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Nettle_jll", "P11Kit_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "266fe9b2335527cbf569ba4fd0979e3d8c6fd491" +uuid = "0951126a-58fd-58f1-b5b3-b08c7c4a876d" +version = "3.7.8+1" + [[deps.Graphics]] deps = ["Colors", "LinearAlgebra", "NaNMath"] git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" @@ -810,6 +827,15 @@ git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713" uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" version = "15.0.7+0" +[[deps.LRUCache]] +git-tree-sha1 = "b3cc6698599b10e652832c2f23db3cab99d51b59" +uuid = "8ac3fa9e-de4c-5943-b1dc-09c6b5f20637" +version = "1.6.1" +weakdeps = ["Serialization"] + + [deps.LRUCache.extensions] + SerializationExt = ["Serialization"] + [[deps.LZO_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" @@ -945,6 +971,12 @@ version = "0.3.26" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" +[[deps.Lz4_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6c26c5e8a4203d43b5497be3ec5d4e0c3cde240a" +uuid = "5ced341a-0733-55b8-9ab6-a4889d929147" +version = "1.9.4+0" + [[deps.MKL_jll]] deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl"] git-tree-sha1 = "72dc3cf284559eb8f53aa593fe62cb33f83ed0c0" @@ -976,10 +1008,10 @@ uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" version = "0.5.13" [[deps.Makie]] -deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] -git-tree-sha1 = "5458e49833d178c071dd6ab6938ac5320f37bc98" +deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalArithmetic", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] +git-tree-sha1 = "40c5dfbb99c91835171536cd571fe6f1ba18ff97" uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" -version = "0.20.5" +version = "0.20.7" [[deps.MakieCore]] deps = ["Observables", "REPL"] @@ -1073,9 +1105,9 @@ version = "1.4.0" [[deps.NCDatasets]] deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "DiskArrays", "NetCDF_jll", "NetworkOptions", "Printf"] -git-tree-sha1 = "173a378f357e9bb24b22019efb5e4778223ce8cf" +git-tree-sha1 = "79400cceb1655e7b2fe528a7b114c785bc152e59" uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.13.2" +version = "0.14.1" [[deps.NLSolversBase]] deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] @@ -1090,10 +1122,10 @@ uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" version = "1.0.2" [[deps.NetCDF_jll]] -deps = ["Artifacts", "Bzip2_jll", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "XML2_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "10c612c81eaffdd6b7c28a45a554cdd9d2f40ff1" +deps = ["Artifacts", "Blosc_jll", "Bzip2_jll", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "OpenMPI_jll", "XML2_jll", "Zlib_jll", "Zstd_jll", "libzip_jll"] +git-tree-sha1 = "a8af1798e4eb9ff768ce7fdefc0e957097793f15" uuid = "7243133f-43d8-5620-bbf4-c2c921802cf3" -version = "400.902.208+0" +version = "400.902.209+0" [[deps.Netpbm]] deps = ["FileIO", "ImageCore", "ImageMetadata"] @@ -1101,6 +1133,12 @@ git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd" uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" version = "1.1.1" +[[deps.Nettle_jll]] +deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "eca63e3847dad608cfa6a3329b95ef674c7160b4" +uuid = "4c82536e-c426-54e4-b420-14f461c4ed8b" +version = "3.7.2+0" + [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" @@ -1167,9 +1205,9 @@ version = "0.5.5+0" [[deps.Optim]] deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "MathOptInterface", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] -git-tree-sha1 = "47fea72de134f75b105a5d4a1abe5c6aec89d390" +git-tree-sha1 = "d024bfb56144d947d4fafcd9cb5cafbe3410b133" uuid = "429524aa-4258-5aef-a3af-852621145aeb" -version = "1.9.1" +version = "1.9.2" [[deps.Opus_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -1182,6 +1220,12 @@ git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" version = "1.6.3" +[[deps.P11Kit_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "2cd396108e178f3ae8dedbd8e938a18726ab2fbf" +uuid = "c2071276-7c44-58a7-b746-946036e04d0a" +version = "0.24.1+0" + [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" @@ -1655,9 +1699,9 @@ uuid = "bdfc003b-8df8-5c39-adcd-3a9087f5df4a" version = "0.3.1" [[deps.TranscodingStreams]] -git-tree-sha1 = "1fbeaaca45801b4ba17c251dd8603ef24801dd84" +git-tree-sha1 = "54194d92959d8ebaa8e26227dbe3cdefcdcd594f" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.10.2" +version = "0.10.3" weakdeps = ["Random", "Test"] [deps.TranscodingStreams.extensions] @@ -1714,6 +1758,12 @@ git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" uuid = "aed1982a-8fda-507f-9586-7b0439959a61" version = "1.1.34+0" +[[deps.XZ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "522b8414d40c4cbbab8dee346ac3a09f9768f25d" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.4.5+0" + [[deps.Xorg_libX11_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" @@ -1832,6 +1882,12 @@ git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" version = "1.3.7+1" +[[deps.libzip_jll]] +deps = ["Artifacts", "Bzip2_jll", "GnuTLS_jll", "JLLWrappers", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "9a6ac803f3c17fe7cf66430a8bfc7186800f08a4" +uuid = "337d8026-41b4-5cde-a456-74a10e5b31d1" +version = "1.9.2+0" + [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" From 186cf156dbf23556687e1ad4d4b8cba389adbe5f Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 08:33:39 +0200 Subject: [PATCH 35/51] better phrasing --- examples/langmuir_turbulence.jl | 2 +- validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl | 2 +- validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/langmuir_turbulence.jl b/examples/langmuir_turbulence.jl index 4266b2c9de..9111d80cd9 100644 --- a/examples/langmuir_turbulence.jl +++ b/examples/langmuir_turbulence.jl @@ -88,7 +88,7 @@ uˢ(z) = Uˢ * exp(z / vertical_scale) # ### Boundary conditions # -# At the surface at ``z = 0``, Wagner et al. (2021) impose +# At the surface ``z = 0``, Wagner et al. (2021) impose Qᵘ = -3.72e-5 # m² s⁻², surface kinematic momentum flux diff --git a/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl b/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl index e92921ad3d..5b5db42ec4 100644 --- a/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl +++ b/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl @@ -140,7 +140,7 @@ wˢ(x, y, z, t) = 2π / grid.Lx *vertical_scale * Uˢ * ( exp(z / vertical_scale # ### Boundary conditions # -# At the surface at ``z=0``, Wagner et al. 2021 impose +# At the surface ``z=0``, Wagner et al. 2021 impose Qᵘ = -3.72e-5 # m² s⁻², surface kinematic momentum flux diff --git a/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl b/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl index aa20147a48..be0f14be91 100644 --- a/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl +++ b/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl @@ -141,7 +141,7 @@ wˢ(x, y, z, t) = 2π / grid.Ly *vertical_scale * Uˢ * ( exp(z / vertical_scale # ### Boundary conditions # -# At the surface at ``z=0``, Wagner et al. 2021 impose +# At the surface ``z=0``, Wagner et al. 2021 impose Qᵛ = -3.72e-5 # m² s⁻², surface kinematic momentum flux From 68000ea16ace357a4f6d7dc0ab9c7cd4009b53a7 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 08:34:32 +0200 Subject: [PATCH 36/51] better ref to wagner et al 2021 --- validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl | 8 ++++---- validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl b/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl index 5b5db42ec4..285ffd3184 100644 --- a/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl +++ b/validation/stokes_drift/Langmuir_with_Stokes_x_jet.jl @@ -11,13 +11,13 @@ using Oceananigans.Units # # ### Domain and numerical grid specification # -# We use a modest resolution and the same total extent as Wagner et al. 2021, +# We use a modest resolution and the same total extent as Wagner et al. (2021), grid = RectilinearGrid(size=(32, 64, 32), extent=(128, 256, 64)) # ### The Stokes Drift profile # -# We utilize the same monochromatic wave parameters as Wagner et al. 2021, +# We utilize the same monochromatic wave parameters as Wagner et al. (2021), using Oceananigans.BuoyancyModels: g_Earth @@ -140,13 +140,13 @@ wˢ(x, y, z, t) = 2π / grid.Lx *vertical_scale * Uˢ * ( exp(z / vertical_scale # ### Boundary conditions # -# At the surface ``z=0``, Wagner et al. 2021 impose +# At the surface ``z=0``, Wagner et al. (2021) impose Qᵘ = -3.72e-5 # m² s⁻², surface kinematic momentum flux u_boundary_conditions = FieldBoundaryConditions(top = FluxBoundaryCondition(Qᵘ)) -# Wagner et al. 2021 impose a linear buoyancy gradient `N²` at the bottom +# Wagner et al. (2021) impose a linear buoyancy gradient `N²` at the bottom # along with a weak, destabilizing flux of buoyancy at the surface to faciliate # spin-up from rest. diff --git a/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl b/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl index be0f14be91..d116960cc2 100644 --- a/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl +++ b/validation/stokes_drift/Langmuir_with_Stokes_y_jet.jl @@ -11,13 +11,13 @@ using Oceananigans.Units: minute, minutes, hours # # ### Domain and numerical grid specification # -# We use a modest resolution and the same total extent as Wagner et al. 2021, +# We use a modest resolution and the same total extent as Wagner et al. (2021), grid = RectilinearGrid(size=(64, 32, 32), extent=(256, 128, 64)) # ### The Stokes Drift profile # -# We utilize the same monochromatic wave parameters as Wagner et al. 2021, +# We utilize the same monochromatic wave parameters as Wagner et al. (2021), using Oceananigans.BuoyancyModels: g_Earth @@ -141,13 +141,13 @@ wˢ(x, y, z, t) = 2π / grid.Ly *vertical_scale * Uˢ * ( exp(z / vertical_scale # ### Boundary conditions # -# At the surface ``z=0``, Wagner et al. 2021 impose +# At the surface ``z=0``, Wagner et al. (2021) impose Qᵛ = -3.72e-5 # m² s⁻², surface kinematic momentum flux v_boundary_conditions = FieldBoundaryConditions(top = FluxBoundaryCondition(Qᵛ)) -# Wagner et al. 2021 impose a linear buoyancy gradient `N²` at the bottom +# Wagner et al. (2021) impose a linear buoyancy gradient `N²` at the bottom # along with a weak, destabilizing flux of buoyancy at the surface to faciliate # spin-up from rest. From aae9c89c5ae827f2416d71434b1d23582def3ff4 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 09:43:21 +0200 Subject: [PATCH 37/51] =?UTF-8?q?debug=20why=20w=20=E2=89=A0=20ws?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/test_distributed_hydrostatic_model.jl | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index fd3ff1ede3..8c3e97fb39 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -116,6 +116,17 @@ for arch in archs @test all(isapprox(u, us, atol=eps(eltype(grid)))) @test all(isapprox(v, vs, atol=eps(eltype(grid)))) + + @info "debug why w ≠ ws" + @show norm(w) + @show norm(ws) + + values = w[isapprox(w, ws, atol=eps(eltype(grid))) .== 0] + for value in values + index = findall(x -> x == value, w) + @show value, index, w[index][], ws[index][] + end + @test all(isapprox(w, ws, atol=eps(eltype(grid)))) @test all(isapprox(c, cs, atol=eps(eltype(grid)))) @test all(isapprox(η, ηs, atol=eps(eltype(grid)))) From 6f29ffefa7f6d99a13f7a63330093ae1a216e67c Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 10:34:54 +0200 Subject: [PATCH 38/51] fix debugging w --- test/test_distributed_hydrostatic_model.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index 8c3e97fb39..711f9fa591 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -121,10 +121,10 @@ for arch in archs @show norm(w) @show norm(ws) - values = w[isapprox(w, ws, atol=eps(eltype(grid))) .== 0] + values = w[isapprox.(w, ws, atol=eps(Float64)) .== 0] for value in values index = findall(x -> x == value, w) - @show value, index, w[index][], ws[index][] + @show index, w[index][], ws[index][] end @test all(isapprox(w, ws, atol=eps(eltype(grid)))) From 6acf639098c9447b715cee16960592cc4f50c330 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 10:35:04 +0200 Subject: [PATCH 39/51] fix debugging w --- test/test_distributed_hydrostatic_model.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index 711f9fa591..c16be1b445 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -121,7 +121,7 @@ for arch in archs @show norm(w) @show norm(ws) - values = w[isapprox.(w, ws, atol=eps(Float64)) .== 0] + values = w[isapprox.(w, ws, atol=eps(eltype(grid))) .== 0] for value in values index = findall(x -> x == value, w) @show index, w[index][], ws[index][] From 6a29d69016e5ae5c66743aa3403ba83c9fd22a68 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 20:38:50 +0200 Subject: [PATCH 40/51] add both atol and rtol --- test/test_distributed_hydrostatic_model.jl | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index c16be1b445..355499c942 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -114,21 +114,23 @@ for arch in archs cs = partition_global_array(cpu_arch, cs, size(c)) ηs = partition_global_array(cpu_arch, ηs, size(η)) - @test all(isapprox(u, us, atol=eps(eltype(grid)))) - @test all(isapprox(v, vs, atol=eps(eltype(grid)))) + atol, rtol = eps(eltype(grid)), sqrt(eps(eltype(grid))) + + @test all(isapprox(u, us, atol, rtol)) + @test all(isapprox(v, vs, atol, rtol)) @info "debug why w ≠ ws" @show norm(w) @show norm(ws) - values = w[isapprox.(w, ws, atol=eps(eltype(grid))) .== 0] + values = w[isapprox.(w, ws, atol, rtol) .== 0] for value in values index = findall(x -> x == value, w) @show index, w[index][], ws[index][] end - @test all(isapprox(w, ws, atol=eps(eltype(grid)))) - @test all(isapprox(c, cs, atol=eps(eltype(grid)))) - @test all(isapprox(η, ηs, atol=eps(eltype(grid)))) + @test all(isapprox(w, ws, atol, rtol)) + @test all(isapprox(c, cs, atol, rtol)) + @test all(isapprox(η, ηs, atol, rtol)) end end From 98f24499bc3cf5e3d907db60e5def97fdf215bf9 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 20:38:59 +0200 Subject: [PATCH 41/51] remove empty lines --- test/test_distributed_models.jl | 1 - test/test_distributed_poisson_solvers.jl | 1 - 2 files changed, 2 deletions(-) diff --git a/test/test_distributed_models.jl b/test/test_distributed_models.jl index 1c97bdce32..14a63b9e1a 100644 --- a/test/test_distributed_models.jl +++ b/test/test_distributed_models.jl @@ -487,4 +487,3 @@ end end end end - diff --git a/test/test_distributed_poisson_solvers.jl b/test/test_distributed_poisson_solvers.jl index 6ecf5eb8fe..fa4213feb2 100644 --- a/test/test_distributed_poisson_solvers.jl +++ b/test/test_distributed_poisson_solvers.jl @@ -108,4 +108,3 @@ end @test_throws ArgumentError divergence_free_poisson_solution_triply_periodic((16, 44, 1), (2, 2, 1)) @test_throws ArgumentError divergence_free_poisson_solution_triply_periodic((44, 16, 1), (2, 2, 1)) end - From ec67d8d46c2fce3ff941827f8b46146a34459a7a Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 6 Feb 2024 23:55:32 +0200 Subject: [PATCH 42/51] Update test_distributed_hydrostatic_model.jl --- test/test_distributed_hydrostatic_model.jl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index 355499c942..decc93ac73 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -116,21 +116,21 @@ for arch in archs atol, rtol = eps(eltype(grid)), sqrt(eps(eltype(grid))) - @test all(isapprox(u, us, atol, rtol)) - @test all(isapprox(v, vs, atol, rtol)) + @test all(isapprox(u, us;atol, rtol)) + @test all(isapprox(v, vs; atol, rtol)) @info "debug why w ≠ ws" @show norm(w) @show norm(ws) - values = w[isapprox.(w, ws, atol, rtol) .== 0] + values = w[isapprox.(w, ws; atol, rtol) .== 0] for value in values index = findall(x -> x == value, w) @show index, w[index][], ws[index][] end - @test all(isapprox(w, ws, atol, rtol)) - @test all(isapprox(c, cs, atol, rtol)) - @test all(isapprox(η, ηs, atol, rtol)) + @test all(isapprox(w, ws; atol, rtol)) + @test all(isapprox(c, cs; atol, rtol)) + @test all(isapprox(η, ηs; atol, rtol)) end end From 10fe1e9984ffbaf2eecbfc32178bb3c2e8593815 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Wed, 7 Feb 2024 09:07:22 +0200 Subject: [PATCH 43/51] remove debug statements --- test/test_distributed_hydrostatic_model.jl | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/test/test_distributed_hydrostatic_model.jl b/test/test_distributed_hydrostatic_model.jl index decc93ac73..8511a4c8ad 100644 --- a/test/test_distributed_hydrostatic_model.jl +++ b/test/test_distributed_hydrostatic_model.jl @@ -114,21 +114,11 @@ for arch in archs cs = partition_global_array(cpu_arch, cs, size(c)) ηs = partition_global_array(cpu_arch, ηs, size(η)) - atol, rtol = eps(eltype(grid)), sqrt(eps(eltype(grid))) + atol = eps(eltype(grid)) + rtol = sqrt(eps(eltype(grid))) - @test all(isapprox(u, us;atol, rtol)) + @test all(isapprox(u, us; atol, rtol)) @test all(isapprox(v, vs; atol, rtol)) - - @info "debug why w ≠ ws" - @show norm(w) - @show norm(ws) - - values = w[isapprox.(w, ws; atol, rtol) .== 0] - for value in values - index = findall(x -> x == value, w) - @show index, w[index][], ws[index][] - end - @test all(isapprox(w, ws; atol, rtol)) @test all(isapprox(c, cs; atol, rtol)) @test all(isapprox(η, ηs; atol, rtol)) From 079a88250d7bf9d01c31ce79fb8e756be222c58f Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Wed, 7 Feb 2024 09:10:32 +0200 Subject: [PATCH 44/51] code alignment --- test/test_distributed_models.jl | 4 +--- test/test_distributed_poisson_solvers.jl | 4 ++-- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/test/test_distributed_models.jl b/test/test_distributed_models.jl index 14a63b9e1a..9ddfe6903c 100644 --- a/test/test_distributed_models.jl +++ b/test/test_distributed_models.jl @@ -354,7 +354,6 @@ function test_triply_periodic_halo_communication_with_411_ranks(halo, child_arch @test all(bottom_halo(field, include_corners=false) .== arch.local_rank) end - return nothing end @@ -376,6 +375,7 @@ function test_triply_periodic_halo_communication_with_141_ranks(halo, child_arch @test all(top_halo(field, include_corners=false) .== arch.local_rank) @test all(bottom_halo(field, include_corners=false) .== arch.local_rank) end + return nothing end @@ -449,8 +449,6 @@ end # Only test on CPU because we do not have a GPU pressure solver yet @testset "Time stepping NonhydrostaticModel" begin if CPU() ∈ archs - #for ranks in [(1, 4, 1), (2, 2, 1), (4, 1, 1)] - #@info "Time-stepping a distributed NonhydrostaticModel with ranks $ranks..." for partition in [Partition(1, 4), Partition(2, 2), Partition(4, 1)] @info "Time-stepping a distributed NonhydrostaticModel with partition $partition..." arch = Distributed(; partition) diff --git a/test/test_distributed_poisson_solvers.jl b/test/test_distributed_poisson_solvers.jl index fa4213feb2..772e128902 100644 --- a/test/test_distributed_poisson_solvers.jl +++ b/test/test_distributed_poisson_solvers.jl @@ -59,7 +59,7 @@ function random_divergent_source_term(grid) ArrayType = array_type(arch) R = zeros(Nx, Ny, Nz) |> ArrayType launch!(arch, grid, :xyz, divergence!, grid, U.u.data, U.v.data, U.w.data, R) - + return R end @@ -74,7 +74,7 @@ function divergence_free_poisson_solution_triply_periodic(grid_points, ranks) ϕ = CenterField(local_grid, boundary_conditions=bcs) ∇²ϕ = CenterField(local_grid, boundary_conditions=bcs) R = random_divergent_source_term(local_grid) - + global_grid = reconstruct_global_grid(local_grid) solver = DistributedFFTBasedPoissonSolver(global_grid, local_grid) From bf40ed5583aba6e50d8cafc69d8144caba8f622b Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 19 Feb 2024 12:37:20 +0200 Subject: [PATCH 45/51] use julia v1.10.1 --- .buildkite/pipeline.yml | 2 +- Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 4d87388c0c..e486963d65 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -1,5 +1,5 @@ env: - JULIA_VERSION: "1.10.0" + JULIA_VERSION: "1.10.1" JULIA_MINOR_VERSION: "1.10" SVERDRUP_HOME: "/data5/glwagner" TARTARUS_HOME: "/storage5/buildkite-agent" diff --git a/Dockerfile b/Dockerfile index bf8ac42f23..8c9f1bd805 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM julia:1.10.0 +FROM julia:1.10.1 LABEL maintainer="Ali Ramadhan " RUN apt-get update && apt-get install -y hdf5-tools From 2588708a1b5a05a54225dc28abaa24df5f27b9eb Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 19 Feb 2024 12:37:21 +0200 Subject: [PATCH 46/51] update deps --- Manifest.toml | 96 ++++++++++++++++++--------------- docs/Manifest.toml | 131 +++++++++++++++++++++++++++------------------ 2 files changed, 131 insertions(+), 96 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 06c4b6e46d..422e9ff022 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.10.0" +julia_version = "1.10.1" manifest_format = "2.0" project_hash = "04d395caf937b0921325a77873167e8baa293a99" @@ -34,9 +34,9 @@ version = "1.1.1" [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "bbec08a37f8722786d87bedf84eae19c020c4efa" +git-tree-sha1 = "c5aeb516a84459e0318a02507d2261edad97eb75" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.7.0" +version = "7.7.1" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" @@ -141,15 +141,15 @@ version = "0.12.10" [[deps.CommonDataModel]] deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf", "Statistics"] -git-tree-sha1 = "a132d267a055e8173a4a8e83d0d4ddcaeae70f91" +git-tree-sha1 = "d7d7b58e149f19c322840a50d1bc20e8c23addb4" uuid = "1fbeeb36-5f17-413c-809b-666fb144f157" -version = "0.3.4" +version = "0.3.5" [[deps.Compat]] deps = ["TOML", "UUIDs"] -git-tree-sha1 = "75bd5b6fc5089df449b5d35fa501c846c9b6549b" +git-tree-sha1 = "d2c021fbdde94f6cdaa799639adfeeaa17fd67f5" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.12.0" +version = "4.13.0" weakdeps = ["Dates", "LinearAlgebra"] [deps.Compat.extensions] @@ -158,7 +158,7 @@ weakdeps = ["Dates", "LinearAlgebra"] [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.5+1" +version = "1.1.0+0" [[deps.ConstructionBase]] deps = ["LinearAlgebra"] @@ -181,9 +181,9 @@ version = "4.1.1" [[deps.CubedSphere]] deps = ["Elliptic", "FFTW", "Printf", "ProgressBars", "SpecialFunctions", "TaylorSeries", "Test"] -git-tree-sha1 = "253193dfb0384646936c5ff3230b27a20d91261e" +git-tree-sha1 = "10134667d7d3569b191a65801514271b8a93b292" uuid = "7445602f-e544-4518-8976-18f8e8ae6cdb" -version = "0.2.4" +version = "0.2.5" [[deps.DataAPI]] git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" @@ -327,6 +327,12 @@ git-tree-sha1 = "e4591176488495bf44d7456bd73179d87d5e6eab" uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" version = "1.14.3+1" +[[deps.Hwloc_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "ca0f6bf568b4bfc807e7537f081c81e35ceca114" +uuid = "e33a78d0-f292-5ffc-b300-72abe9b543c8" +version = "2.10.0+0" + [[deps.IfElse]] git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" @@ -366,9 +372,9 @@ version = "0.2.2" [[deps.IterativeSolvers]] deps = ["LinearAlgebra", "Printf", "Random", "RecipesBase", "SparseArrays"] -git-tree-sha1 = "b435d190ef8369cf4d79cc9dd5fba88ba0165307" +git-tree-sha1 = "59545b0a2b27208b0650df0a46b8e3019f85055b" uuid = "42fd0dbc-a981-5370-80f2-aaf504508153" -version = "0.9.3" +version = "0.9.4" [[deps.IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" @@ -377,9 +383,9 @@ version = "1.0.0" [[deps.JLD2]] deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "PrecompileTools", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "7c0008f0b7622c6c0ee5c65cbc667b69f8a65672" +git-tree-sha1 = "5ea6acdd53a51d897672edb694e3cc2912f3f8a7" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.45" +version = "0.4.46" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] @@ -419,9 +425,9 @@ version = "0.9.16" [[deps.LLVM]] deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Requires", "Unicode"] -git-tree-sha1 = "cb4619f7353fc62a1a22ffa3d7ed9791cfb47ad8" +git-tree-sha1 = "9e70165cca7459d25406367f0c55e517a9a7bfe7" uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "6.4.2" +version = "6.5.0" weakdeps = ["BFloat16s"] [deps.LLVM.extensions] @@ -429,9 +435,9 @@ weakdeps = ["BFloat16s"] [[deps.LLVMExtra_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "98eaee04d96d973e79c25d49167668c5c8fb50e2" +git-tree-sha1 = "114e3a48f13d4c18ddd7fd6a00107b4b96f60f9c" uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.27+1" +version = "0.0.28+0" [[deps.LLVMLoopInfo]] git-tree-sha1 = "2e5c102cfc41f48ae4740c7eca7743cc7e7b75ea" @@ -495,9 +501,9 @@ uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[deps.LogExpFunctions]] deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" +git-tree-sha1 = "18144f3e9cbe9b15b070288eef858f71b291ce37" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.26" +version = "0.3.27" [deps.LogExpFunctions.extensions] LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" @@ -539,10 +545,10 @@ version = "0.20.19" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" [[deps.MPICH_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "2ee75365ca243c1a39d467e35ffd3d4d32eef11e" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "656036b9ed6f942d35e536e249600bc31d0f9df8" uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" -version = "4.1.2+1" +version = "4.2.0+0" [[deps.MPIPreferences]] deps = ["Libdl", "Preferences"] @@ -551,10 +557,10 @@ uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" version = "0.1.10" [[deps.MPItrampoline_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "8eeb3c73bbc0ca203d0dc8dad4008350bbe5797b" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "77c3bd69fdb024d75af38713e883d0f249ce19c2" uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" -version = "5.3.1+1" +version = "5.3.2+0" [[deps.MacroTools]] deps = ["Markdown", "Random"] @@ -573,9 +579,9 @@ version = "2.28.2+1" [[deps.MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b01beb91d20b0d1312a9471a36017b5b339d26de" +git-tree-sha1 = "f12a29c4400ba812841c6ace3f4efbb6dbb3ba01" uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.4+1" +version = "10.1.4+2" [[deps.Missings]] deps = ["DataAPI"] @@ -592,9 +598,9 @@ version = "2023.1.10" [[deps.NCDatasets]] deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "DiskArrays", "NetCDF_jll", "NetworkOptions", "Printf"] -git-tree-sha1 = "79400cceb1655e7b2fe528a7b114c785bc152e59" +git-tree-sha1 = "98ca95cf41116a24e46dc9a06fa22b923e8411b7" uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.14.1" +version = "0.14.2" [[deps.NVTX]] deps = ["Colors", "JuliaNVTXCallbacks_jll", "Libdl", "NVTX_jll"] @@ -636,7 +642,7 @@ weakdeps = ["Adapt"] [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.23+2" +version = "0.3.23+4" [[deps.OpenLibm_jll]] deps = ["Artifacts", "Libdl"] @@ -800,9 +806,13 @@ version = "1.3.0" [[deps.Rotations]] deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays"] -git-tree-sha1 = "1867f44fb5fbeb6ef544ea2b1a8e22882058d30b" +git-tree-sha1 = "2a0a5d8569f481ff8840e3b7c84bbf188db6a3fe" uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" -version = "1.6.2" +version = "1.7.0" +weakdeps = ["RecipesBase"] + + [deps.Rotations.extensions] + RotationsRecipesBaseExt = "RecipesBase" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -856,9 +866,9 @@ version = "2.3.1" [[deps.Static]] deps = ["IfElse"] -git-tree-sha1 = "b366eb1eb68075745777d80861c6706c33f588ae" +git-tree-sha1 = "d2fdac9ff3906e27f7a618d47b676941baa6c80c" uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.8.9" +version = "0.8.10" [[deps.StaticArrayInterface]] deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] @@ -973,9 +983,9 @@ version = "1.10.0" [[deps.TaylorSeries]] deps = ["LinearAlgebra", "Markdown", "Requires", "SparseArrays"] -git-tree-sha1 = "9138fdc8ee4e3b8839eca696a76d15e16c9c7af0" +git-tree-sha1 = "1c7170668366821b0c4c4fe03ee78f8d6cf36e2c" uuid = "6aa5eb33-94cf-58f4-a9d0-e4b2c4fc25ea" -version = "0.15.4" +version = "0.16.0" [deps.TaylorSeries.extensions] TaylorSeriesIAExt = "IntervalArithmetic" @@ -1003,9 +1013,9 @@ weakdeps = ["Random", "Test"] TestExt = ["Test", "Random"] [[deps.TupleTools]] -git-tree-sha1 = "155515ed4c4236db30049ac1495e2969cc06be9d" +git-tree-sha1 = "41d61b1c545b06279871ef1a4b5fcb2cac2191cd" uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" -version = "1.4.3" +version = "1.5.0" [[deps.UUIDs]] deps = ["Random", "SHA"] @@ -1038,9 +1048,9 @@ version = "2.12.2+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "522b8414d40c4cbbab8dee346ac3a09f9768f25d" +git-tree-sha1 = "ac88fb95ae6447c8dda6a5503f3bafd496ae8632" uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.4.5+0" +version = "5.4.6+0" [[deps.Zlib_jll]] deps = ["Libdl"] @@ -1066,9 +1076,9 @@ version = "5.8.0+1" [[deps.libzip_jll]] deps = ["Artifacts", "Bzip2_jll", "GnuTLS_jll", "JLLWrappers", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "9a6ac803f3c17fe7cf66430a8bfc7186800f08a4" +git-tree-sha1 = "3282b7d16ae7ac3e57ec2f3fa8fafb564d8f9f7f" uuid = "337d8026-41b4-5cde-a456-74a10e5b31d1" -version = "1.9.2+0" +version = "1.10.1+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] diff --git a/docs/Manifest.toml b/docs/Manifest.toml index aac8ee6498..9227986427 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.10.0" +julia_version = "1.10.1" manifest_format = "2.0" project_hash = "557d52a05599ce90be2c57f1ff77f12735a978b2" @@ -52,9 +52,9 @@ version = "1.1.1" [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "bbec08a37f8722786d87bedf84eae19c020c4efa" +git-tree-sha1 = "c5aeb516a84459e0318a02507d2261edad97eb75" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.7.0" +version = "7.7.1" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" @@ -183,9 +183,9 @@ version = "0.5.1" [[deps.ChainRulesCore]] deps = ["Compat", "LinearAlgebra"] -git-tree-sha1 = "1287e3872d646eed95198457873249bd9f0caed2" +git-tree-sha1 = "ad25e7d21ce10e01de973cdc68ad0f850a953c52" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.20.1" +version = "1.21.1" weakdeps = ["SparseArrays"] [deps.ChainRulesCore.extensions] @@ -244,9 +244,9 @@ version = "1.0.2" [[deps.CommonDataModel]] deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf", "Statistics"] -git-tree-sha1 = "a132d267a055e8173a4a8e83d0d4ddcaeae70f91" +git-tree-sha1 = "d7d7b58e149f19c322840a50d1bc20e8c23addb4" uuid = "1fbeeb36-5f17-413c-809b-666fb144f157" -version = "0.3.4" +version = "0.3.5" [[deps.CommonSubexpressions]] deps = ["MacroTools", "Test"] @@ -256,9 +256,9 @@ version = "0.3.0" [[deps.Compat]] deps = ["TOML", "UUIDs"] -git-tree-sha1 = "75bd5b6fc5089df449b5d35fa501c846c9b6549b" +git-tree-sha1 = "d2c021fbdde94f6cdaa799639adfeeaa17fd67f5" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.12.0" +version = "4.13.0" weakdeps = ["Dates", "LinearAlgebra"] [deps.Compat.extensions] @@ -267,7 +267,7 @@ weakdeps = ["Dates", "LinearAlgebra"] [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.5+1" +version = "1.1.0+0" [[deps.CompoundPeriods]] deps = ["Dates"] @@ -419,9 +419,9 @@ version = "0.1.2" [[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", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "466d45dc38e15794ec7d5d63ec03d776a9aff36e" +git-tree-sha1 = "ab3f7e1819dba9434a3a5126510c8fda3a4e7000" uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.4+1" +version = "6.1.1+0" [[deps.FFTW]] deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] @@ -617,10 +617,10 @@ uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" version = "1.0.2" [[deps.HDF5_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] -git-tree-sha1 = "e4591176488495bf44d7456bd73179d87d5e6eab" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] +git-tree-sha1 = "38c8874692d48d5440d5752d6c74b0c6b0b60739" uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" -version = "1.14.3+1" +version = "1.14.2+1" [[deps.HarfBuzz_jll]] deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] @@ -628,6 +628,12 @@ git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" version = "2.8.1+1" +[[deps.Hwloc_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "ca0f6bf568b4bfc807e7537f081c81e35ceca114" +uuid = "e33a78d0-f292-5ffc-b300-72abe9b543c8" +version = "2.10.0+0" + [[deps.HypergeometricFunctions]] deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685" @@ -731,13 +737,14 @@ weakdeps = ["DiffRules", "RecipesBase"] IntervalArithmeticRecipesBaseExt = "RecipesBase" [[deps.IntervalSets]] -deps = ["Dates", "Random"] -git-tree-sha1 = "3d8866c029dd6b16e69e0d4a939c4dfcb98fac47" +git-tree-sha1 = "dba9ddf07f77f60450fe5d2e2beb9854d9a49bd0" uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.7.8" -weakdeps = ["Statistics"] +version = "0.7.10" +weakdeps = ["Random", "RecipesBase", "Statistics"] [deps.IntervalSets.extensions] + IntervalSetsRandomExt = "Random" + IntervalSetsRecipesBaseExt = "RecipesBase" IntervalSetsStatisticsExt = "Statistics" [[deps.IrrationalConstants]] @@ -763,9 +770,9 @@ version = "1.0.0" [[deps.JLD2]] deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "PrecompileTools", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "7c0008f0b7622c6c0ee5c65cbc667b69f8a65672" +git-tree-sha1 = "5ea6acdd53a51d897672edb694e3cc2912f3f8a7" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.45" +version = "0.4.46" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] @@ -954,9 +961,9 @@ version = "2.16.1" [[deps.LogExpFunctions]] deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" +git-tree-sha1 = "18144f3e9cbe9b15b070288eef858f71b291ce37" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.26" +version = "0.3.27" [deps.LogExpFunctions.extensions] LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" @@ -984,10 +991,10 @@ uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" version = "2024.0.0+0" [[deps.MPICH_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "2ee75365ca243c1a39d467e35ffd3d4d32eef11e" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "656036b9ed6f942d35e536e249600bc31d0f9df8" uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" -version = "4.1.2+1" +version = "4.2.0+0" [[deps.MPIPreferences]] deps = ["Libdl", "Preferences"] @@ -996,10 +1003,10 @@ uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" version = "0.1.10" [[deps.MPItrampoline_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "8eeb3c73bbc0ca203d0dc8dad4008350bbe5797b" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "77c3bd69fdb024d75af38713e883d0f249ce19c2" uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" -version = "5.3.1+1" +version = "5.3.2+0" [[deps.MacroTools]] deps = ["Markdown", "Random"] @@ -1036,9 +1043,9 @@ version = "0.1.2" [[deps.MathOptInterface]] deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test", "Unicode"] -git-tree-sha1 = "8b40681684df46785a0012d352982e22ac3be59e" +git-tree-sha1 = "569a003f93d7c64068d3afaab908d21f67a22cd5" uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "1.25.2" +version = "1.25.3" [[deps.MathTeXEngine]] deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "UnicodeFun"] @@ -1058,9 +1065,9 @@ version = "0.3.2" [[deps.MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b01beb91d20b0d1312a9471a36017b5b339d26de" +git-tree-sha1 = "f12a29c4400ba812841c6ace3f4efbb6dbb3ba01" uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.4+1" +version = "10.1.4+2" [[deps.Missings]] deps = ["DataAPI"] @@ -1099,15 +1106,15 @@ version = "0.4.4" [[deps.MutableArithmetics]] deps = ["LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "806eea990fb41f9b36f1253e5697aa645bf6a9f8" +git-tree-sha1 = "302fd161eb1c439e4115b51ae456da4e9984f130" uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" -version = "1.4.0" +version = "1.4.1" [[deps.NCDatasets]] deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "DiskArrays", "NetCDF_jll", "NetworkOptions", "Printf"] -git-tree-sha1 = "79400cceb1655e7b2fe528a7b114c785bc152e59" +git-tree-sha1 = "98ca95cf41116a24e46dc9a06fa22b923e8411b7" uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.14.1" +version = "0.14.2" [[deps.NLSolversBase]] deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] @@ -1166,7 +1173,7 @@ version = "1.3.5+1" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.23+2" +version = "0.3.23+4" [[deps.OpenEXR]] deps = ["Colors", "FileIO", "OpenEXR_jll"] @@ -1186,10 +1193,10 @@ uuid = "05823500-19ac-5b8b-9628-191a04bc5112" version = "0.8.1+2" [[deps.OpenMPI_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "e25c1778a98e34219a00455d6e4384e017ea9762" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "PMIx_jll", "TOML", "Zlib_jll", "libevent_jll", "prrte_jll"] +git-tree-sha1 = "f46caf663e069027a06942d00dced37f1eb3d8ad" uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "4.1.6+0" +version = "5.0.2+0" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1237,6 +1244,12 @@ git-tree-sha1 = "949347156c25054de2db3b166c52ac4728cbad65" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" version = "0.11.31" +[[deps.PMIx_jll]] +deps = ["Artifacts", "Hwloc_jll", "JLLWrappers", "Libdl", "Zlib_jll", "libevent_jll"] +git-tree-sha1 = "8b3b19351fa24791f94d7ae85faf845ca1362541" +uuid = "32165bc3-0280-59bc-8c0b-c33b6203efab" +version = "4.2.7+0" + [[deps.PNGFiles]] deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] git-tree-sha1 = "67186a2bc9a90f9f85ff3cc8277868961fb57cbd" @@ -1554,9 +1567,9 @@ weakdeps = ["ChainRulesCore"] [[deps.StableHashTraits]] deps = ["Compat", "PikaParser", "SHA", "Tables", "TupleTools"] -git-tree-sha1 = "662f56ffe22b3985f3be7474f0aecbaf214ecf0f" +git-tree-sha1 = "10dc702932fe05a0e09b8e5955f00794ea1e8b12" uuid = "c5dd0088-6c3f-4803-b00e-f31a60c170fa" -version = "1.1.6" +version = "1.1.8" [[deps.StackViews]] deps = ["OffsetArrays"] @@ -1599,9 +1612,9 @@ version = "0.34.2" [[deps.StatsFuns]] deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "f625d686d5a88bcd2b15cd81f18f98186fdc0c9a" +git-tree-sha1 = "cef0472124fab0695b58ca35a77c6fb942fdab8a" uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "1.3.0" +version = "1.3.1" [deps.StatsFuns.extensions] StatsFunsChainRulesCoreExt = "ChainRulesCore" @@ -1713,9 +1726,9 @@ uuid = "981d1d27-644d-49a2-9326-4793e63143c3" version = "0.1.0" [[deps.TupleTools]] -git-tree-sha1 = "155515ed4c4236db30049ac1495e2969cc06be9d" +git-tree-sha1 = "41d61b1c545b06279871ef1a4b5fcb2cac2191cd" uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" -version = "1.4.3" +version = "1.5.0" [[deps.URIs]] git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" @@ -1760,9 +1773,9 @@ version = "1.1.34+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "522b8414d40c4cbbab8dee346ac3a09f9768f25d" +git-tree-sha1 = "ac88fb95ae6447c8dda6a5503f3bafd496ae8632" uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.4.5+0" +version = "5.4.6+0" [[deps.Xorg_libX11_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] @@ -1858,6 +1871,12 @@ deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+1" +[[deps.libevent_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenSSL_jll"] +git-tree-sha1 = "f04ec6d9a186115fb38f858f05c0c4e1b7fc9dcb" +uuid = "1080aeaf-3a6a-583e-a51c-c537b09f60ec" +version = "2.1.13+1" + [[deps.libfdk_aac_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" @@ -1866,9 +1885,9 @@ version = "2.0.2+0" [[deps.libpng_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "93284c28274d9e75218a416c65ec49d0e0fcdf3d" +git-tree-sha1 = "873b4f805771d3e4bafe63af759a26ea8ca84d14" uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.40+0" +version = "1.6.42+0" [[deps.libsixel_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"] @@ -1884,9 +1903,9 @@ version = "1.3.7+1" [[deps.libzip_jll]] deps = ["Artifacts", "Bzip2_jll", "GnuTLS_jll", "JLLWrappers", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "9a6ac803f3c17fe7cf66430a8bfc7186800f08a4" +git-tree-sha1 = "3282b7d16ae7ac3e57ec2f3fa8fafb564d8f9f7f" uuid = "337d8026-41b4-5cde-a456-74a10e5b31d1" -version = "1.9.2+0" +version = "1.10.1+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] @@ -1898,6 +1917,12 @@ deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" version = "17.4.0+2" +[[deps.prrte_jll]] +deps = ["Artifacts", "Hwloc_jll", "JLLWrappers", "Libdl", "PMIx_jll", "libevent_jll"] +git-tree-sha1 = "5adb2d7a18a30280feb66cad6f1a1dfdca2dc7b0" +uuid = "eb928a42-fffd-568d-ab9c-3f5d54fc65b9" +version = "3.0.2+0" + [[deps.x264_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" From 0b760d69e2a94fbb7c4b3c0fc64d9509e599d9d7 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 19 Feb 2024 12:38:27 +0200 Subject: [PATCH 47/51] use julia v1.10.1 --- .buildkite/distributed/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/distributed/pipeline.yml b/.buildkite/distributed/pipeline.yml index 27325c245a..dd0e7c3976 100644 --- a/.buildkite/distributed/pipeline.yml +++ b/.buildkite/distributed/pipeline.yml @@ -1,7 +1,7 @@ agents: queue: central slurm_mem: 8G - modules: julia/1.10.0 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 nsight-systems/2023.2.1 + modules: julia/1.10.1 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 nsight-systems/2023.2.1 env: JULIA_LOAD_PATH: "${JULIA_LOAD_PATH}:${BUILDKITE_BUILD_CHECKOUT_PATH}/.buildkite/distributed" From b6ecfc3b736cecf82d70aae6b0560be961c77ddc Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 19 Feb 2024 12:42:02 +0200 Subject: [PATCH 48/51] revert to julia v1.10.0 --- .buildkite/distributed/pipeline.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.buildkite/distributed/pipeline.yml b/.buildkite/distributed/pipeline.yml index dd0e7c3976..27325c245a 100644 --- a/.buildkite/distributed/pipeline.yml +++ b/.buildkite/distributed/pipeline.yml @@ -1,7 +1,7 @@ agents: queue: central slurm_mem: 8G - modules: julia/1.10.1 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 nsight-systems/2023.2.1 + modules: julia/1.10.0 cuda/12.2 ucx/1.14.1_cuda-12.2 openmpi/4.1.5_cuda-12.2 nsight-systems/2023.2.1 env: JULIA_LOAD_PATH: "${JULIA_LOAD_PATH}:${BUILDKITE_BUILD_CHECKOUT_PATH}/.buildkite/distributed" From dfb94fc200f3092d33f040e2b40880cb4aaf59c2 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 26 Feb 2024 18:29:48 +0200 Subject: [PATCH 49/51] update deps --- Manifest.toml | 45 +++++++++------ docs/Manifest.toml | 140 ++++++++++++++++++++------------------------- 2 files changed, 87 insertions(+), 98 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 422e9ff022..56c00ab0f6 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -147,9 +147,9 @@ version = "0.3.5" [[deps.Compat]] deps = ["TOML", "UUIDs"] -git-tree-sha1 = "d2c021fbdde94f6cdaa799639adfeeaa17fd67f5" +git-tree-sha1 = "c955881e3c981181362ae4088b35995446298b80" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.13.0" +version = "4.14.0" weakdeps = ["Dates", "LinearAlgebra"] [deps.Compat.extensions] @@ -198,9 +198,9 @@ version = "1.6.1" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "ac67408d9ddf207de5cfa9a97e114352430f01ed" +git-tree-sha1 = "1fb174f0d48fe7d142e1109a10636bc1d14f5ac2" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.16" +version = "0.18.17" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" @@ -425,9 +425,9 @@ version = "0.9.16" [[deps.LLVM]] deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Requires", "Unicode"] -git-tree-sha1 = "9e70165cca7459d25406367f0c55e517a9a7bfe7" +git-tree-sha1 = "ddab4d40513bce53c8e3157825e245224f74fae7" uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "6.5.0" +version = "6.6.0" weakdeps = ["BFloat16s"] [deps.LLVM.extensions] @@ -435,9 +435,9 @@ weakdeps = ["BFloat16s"] [[deps.LLVMExtra_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "114e3a48f13d4c18ddd7fd6a00107b4b96f60f9c" +git-tree-sha1 = "88b916503aac4fb7f701bb625cd84ca5dd1677bc" uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.28+0" +version = "0.0.29+0" [[deps.LLVMLoopInfo]] git-tree-sha1 = "2e5c102cfc41f48ae4740c7eca7743cc7e7b75ea" @@ -771,9 +771,9 @@ uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.Random123]] deps = ["Random", "RandomNumbers"] -git-tree-sha1 = "c860e84651f58ce240dd79e5d9e055d55234c35a" +git-tree-sha1 = "4743b43e5a9c4a2ede372de7061eed81795b12e7" uuid = "74087812-796a-5b5d-8853-05524746bad3" -version = "1.6.2" +version = "1.7.0" [[deps.RandomNumbers]] deps = ["Random", "Requires"] @@ -883,9 +883,9 @@ weakdeps = ["OffsetArrays", "StaticArrays"] [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "7b0e9c14c624e435076d19aea1e5cbdec2b9ca37" +git-tree-sha1 = "bf074c045d3d5ffd956fa0a461da38a44685d6b2" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.2" +version = "1.9.3" [deps.StaticArrays.extensions] StaticArraysChainRulesCoreExt = "ChainRulesCore" @@ -939,10 +939,17 @@ uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" version = "0.3.4" [[deps.StructArrays]] -deps = ["Adapt", "ConstructionBase", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] -git-tree-sha1 = "1b0b1205a56dc288b71b1961d48e351520702e24" +deps = ["ConstructionBase", "DataAPI", "Tables"] +git-tree-sha1 = "f4dc295e983502292c4c3f951dbb4e985e35b3be" uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.17" +version = "0.6.18" +weakdeps = ["Adapt", "GPUArraysCore", "SparseArrays", "StaticArrays"] + + [deps.StructArrays.extensions] + StructArraysAdaptExt = "Adapt" + StructArraysGPUArraysCoreExt = "GPUArraysCore" + StructArraysSparseArraysExt = "SparseArrays" + StructArraysStaticArraysExt = "StaticArrays" [[deps.StructTypes]] deps = ["Dates", "UUIDs"] @@ -1042,15 +1049,15 @@ version = "1.3.0" [[deps.XML2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "801cbe47eae69adc50f36c3caec4758d2650741b" +git-tree-sha1 = "07e470dabc5a6a4254ffebc29a1b3fc01464e105" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.12.2+0" +version = "2.12.5+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "ac88fb95ae6447c8dda6a5503f3bafd496ae8632" +git-tree-sha1 = "37195dcb94a5970397ad425b95a9a26d0befce3a" uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.4.6+0" +version = "5.6.0+0" [[deps.Zlib_jll]] deps = ["Libdl"] diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 9227986427..fb74b8fa0d 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -26,9 +26,9 @@ uuid = "398f06c4-4d28-53ec-89ca-5b2656b7603d" version = "0.3.0" [[deps.AbstractTrees]] -git-tree-sha1 = "faa260e4cb5aba097a73fab382dd4b5819d8ec8c" +git-tree-sha1 = "2d9c9a55f9c93e8887ad391fbae72f8ef55e1177" uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -version = "0.4.4" +version = "0.4.5" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] @@ -145,12 +145,6 @@ version = "0.1.2" [[deps.CRC32c]] uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" -[[deps.CRlibm]] -deps = ["CRlibm_jll"] -git-tree-sha1 = "32abd86e3c2025db5172aa182b982debed519834" -uuid = "96374032-68de-5a5b-8d9e-752f78720389" -version = "1.0.1" - [[deps.CRlibm_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" @@ -165,9 +159,9 @@ version = "1.0.5" [[deps.CairoMakie]] deps = ["CRC32c", "Cairo", "Colors", "FFTW", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools"] -git-tree-sha1 = "a80d49ed3333f5f78df8ffe76d07e88cc35e9172" +git-tree-sha1 = "6dc1bbdd6a133adf4aa751d12dbc2c6ae59f873d" uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" -version = "0.11.8" +version = "0.11.9" [[deps.Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] @@ -183,9 +177,9 @@ version = "0.5.1" [[deps.ChainRulesCore]] deps = ["Compat", "LinearAlgebra"] -git-tree-sha1 = "ad25e7d21ce10e01de973cdc68ad0f850a953c52" +git-tree-sha1 = "aef70bb349b20aa81a82a19704c3ef339d4ee494" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.21.1" +version = "1.22.1" weakdeps = ["SparseArrays"] [deps.ChainRulesCore.extensions] @@ -256,9 +250,9 @@ version = "0.3.0" [[deps.Compat]] deps = ["TOML", "UUIDs"] -git-tree-sha1 = "d2c021fbdde94f6cdaa799639adfeeaa17fd67f5" +git-tree-sha1 = "c955881e3c981181362ae4088b35995446298b80" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.13.0" +version = "4.14.0" weakdeps = ["Dates", "LinearAlgebra"] [deps.Compat.extensions] @@ -298,9 +292,9 @@ version = "1.16.0" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "ac67408d9ddf207de5cfa9a97e114352430f01ed" +git-tree-sha1 = "1fb174f0d48fe7d142e1109a10636bc1d14f5ac2" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.16" +version = "0.18.17" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" @@ -496,11 +490,10 @@ git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" version = "2.13.93+0" -[[deps.Formatting]] -deps = ["Printf"] -git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" -uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" -version = "0.4.2" +[[deps.Format]] +git-tree-sha1 = "f3cf88025f6d03c194d73f5d13fee9004a108329" +uuid = "1fa38f19-a742-5d3f-a2b9-30dd87b9d5f8" +version = "1.3.6" [[deps.ForwardDiff]] deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] @@ -545,12 +538,6 @@ deps = ["Artifacts", "Libdl"] uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" version = "6.2.1+6" -[[deps.GPUArraysCore]] -deps = ["Adapt"] -git-tree-sha1 = "ec632f177c0d990e64d955ccc1b8c04c485a0950" -uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.1.6" - [[deps.GeoInterface]] deps = ["Extents"] git-tree-sha1 = "d4f85701f569584f2cff7ba67a137d03f0cfb7d0" @@ -571,15 +558,15 @@ version = "0.21.0+0" [[deps.Git]] deps = ["Git_jll"] -git-tree-sha1 = "51764e6c2e84c37055e846c516e9015b4a291c7d" +git-tree-sha1 = "04eff47b1354d702c3a85e8ab23d539bb7d5957e" uuid = "d7ba0133-e1db-5d97-8f8c-041e4b3a1eb2" -version = "1.3.0" +version = "1.3.1" [[deps.Git_jll]] deps = ["Artifacts", "Expat_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Libiconv_jll", "OpenSSL_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "b30c473c97fcc1e1e44fab8f3e88fd1b89c9e9d1" +git-tree-sha1 = "99f27817475017260f1ff24c771a5efef5765e34" uuid = "f8c6e375-362e-5223-8a59-34ff63f689eb" -version = "2.43.0+0" +version = "2.44.0+0" [[deps.Glib_jll]] deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] @@ -617,10 +604,10 @@ uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" version = "1.0.2" [[deps.HDF5_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] -git-tree-sha1 = "38c8874692d48d5440d5752d6c74b0c6b0b60739" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] +git-tree-sha1 = "e4591176488495bf44d7456bd73179d87d5e6eab" uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" -version = "1.14.2+1" +version = "1.14.3+1" [[deps.HarfBuzz_jll]] deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] @@ -726,14 +713,15 @@ version = "0.15.1" Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" [[deps.IntervalArithmetic]] -deps = ["CRlibm", "RoundingEmulator"] -git-tree-sha1 = "c274ec586ea58eb7b42afd0c5d67e50ff50229b5" +deps = ["CRlibm_jll", "RoundingEmulator"] +git-tree-sha1 = "2d6d22fe481eff6e337808cc0880c567d7324f9a" uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" -version = "0.22.5" -weakdeps = ["DiffRules", "RecipesBase"] +version = "0.22.8" +weakdeps = ["DiffRules", "ForwardDiff", "RecipesBase"] [deps.IntervalArithmetic.extensions] IntervalArithmeticDiffRulesExt = "DiffRules" + IntervalArithmeticForwardDiffExt = "ForwardDiff" IntervalArithmeticRecipesBaseExt = "RecipesBase" [[deps.IntervalSets]] @@ -812,9 +800,9 @@ version = "0.1.5" [[deps.JpegTurbo_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "60b1194df0a3298f460063de985eae7b01bc011a" +git-tree-sha1 = "3336abae9a713d2210bb57ab484b1e065edd7d23" uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "3.0.1+0" +version = "3.0.2+0" [[deps.KernelDensity]] deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] @@ -1015,10 +1003,10 @@ uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" version = "0.5.13" [[deps.Makie]] -deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalArithmetic", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] -git-tree-sha1 = "40c5dfbb99c91835171536cd571fe6f1ba18ff97" +deps = ["Animations", "Base64", "CRC32c", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG_jll", "FileIO", "FilePaths", "FixedPointNumbers", "Format", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Scratch", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] +git-tree-sha1 = "27af6be179c711fb916a597b6644fbb5b80becc0" uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" -version = "0.20.7" +version = "0.20.8" [[deps.MakieCore]] deps = ["Observables", "REPL"] @@ -1043,9 +1031,9 @@ version = "0.1.2" [[deps.MathOptInterface]] deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test", "Unicode"] -git-tree-sha1 = "569a003f93d7c64068d3afaab908d21f67a22cd5" +git-tree-sha1 = "e8b98c868029d007102dc5f98986c81f33b0ec37" uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "1.25.3" +version = "1.26.0" [[deps.MathTeXEngine]] deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "UnicodeFun"] @@ -1193,10 +1181,10 @@ uuid = "05823500-19ac-5b8b-9628-191a04bc5112" version = "0.8.1+2" [[deps.OpenMPI_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "PMIx_jll", "TOML", "Zlib_jll", "libevent_jll", "prrte_jll"] -git-tree-sha1 = "f46caf663e069027a06942d00dced37f1eb3d8ad" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "e25c1778a98e34219a00455d6e4384e017ea9762" uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "5.0.2+0" +version = "4.1.6+0" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1244,12 +1232,6 @@ git-tree-sha1 = "949347156c25054de2db3b166c52ac4728cbad65" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" version = "0.11.31" -[[deps.PMIx_jll]] -deps = ["Artifacts", "Hwloc_jll", "JLLWrappers", "Libdl", "Zlib_jll", "libevent_jll"] -git-tree-sha1 = "8b3b19351fa24791f94d7ae85faf845ca1362541" -uuid = "32165bc3-0280-59bc-8c0b-c33b6203efab" -version = "4.2.7+0" - [[deps.PNGFiles]] deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] git-tree-sha1 = "67186a2bc9a90f9f85ff3cc8277868961fb57cbd" @@ -1359,9 +1341,9 @@ version = "1.4.1" [[deps.Primes]] deps = ["IntegerMathUtils"] -git-tree-sha1 = "1d05623b5952aed1307bf8b43bec8b8d1ef94b6e" +git-tree-sha1 = "cb420f77dc474d23ee47ca8d14c90810cafe69e7" uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" -version = "0.5.5" +version = "0.5.6" [[deps.Printf]] deps = ["Unicode"] @@ -1513,9 +1495,9 @@ version = "0.8.6" [[deps.SimplePartitions]] deps = ["AbstractLattices", "DataStructures", "Permutations"] -git-tree-sha1 = "e9330391d04241eafdc358713b48396619c83bcb" +git-tree-sha1 = "e182b9e5afb194142d4668536345a365ea19363a" uuid = "ec83eff0-a5b5-5643-ae32-5cbf6eedec9d" -version = "0.3.1" +version = "0.3.2" [[deps.SimplePolynomials]] deps = ["Mods", "Multisets", "Polynomials", "Primes"] @@ -1579,9 +1561,9 @@ version = "0.1.1" [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "7b0e9c14c624e435076d19aea1e5cbdec2b9ca37" +git-tree-sha1 = "bf074c045d3d5ffd956fa0a461da38a44685d6b2" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.9.2" +version = "1.9.3" weakdeps = ["ChainRulesCore", "Statistics"] [deps.StaticArrays.extensions] @@ -1631,10 +1613,22 @@ uuid = "69024149-9ee7-55f6-a4c4-859efe599b68" version = "0.3.7" [[deps.StructArrays]] -deps = ["Adapt", "ConstructionBase", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] -git-tree-sha1 = "1b0b1205a56dc288b71b1961d48e351520702e24" +deps = ["ConstructionBase", "DataAPI", "Tables"] +git-tree-sha1 = "f4dc295e983502292c4c3f951dbb4e985e35b3be" uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.17" +version = "0.6.18" + + [deps.StructArrays.extensions] + StructArraysAdaptExt = "Adapt" + StructArraysGPUArraysCoreExt = "GPUArraysCore" + StructArraysSparseArraysExt = "SparseArrays" + StructArraysStaticArraysExt = "StaticArrays" + + [deps.StructArrays.weakdeps] + Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" + GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [[deps.StructTypes]] deps = ["Dates", "UUIDs"] @@ -1761,9 +1755,9 @@ version = "1.0.0" [[deps.XML2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "801cbe47eae69adc50f36c3caec4758d2650741b" +git-tree-sha1 = "07e470dabc5a6a4254ffebc29a1b3fc01464e105" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.12.2+0" +version = "2.12.5+0" [[deps.XSLT_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] @@ -1773,9 +1767,9 @@ version = "1.1.34+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "ac88fb95ae6447c8dda6a5503f3bafd496ae8632" +git-tree-sha1 = "37195dcb94a5970397ad425b95a9a26d0befce3a" uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.4.6+0" +version = "5.6.0+0" [[deps.Xorg_libX11_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] @@ -1871,12 +1865,6 @@ deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" version = "5.8.0+1" -[[deps.libevent_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenSSL_jll"] -git-tree-sha1 = "f04ec6d9a186115fb38f858f05c0c4e1b7fc9dcb" -uuid = "1080aeaf-3a6a-583e-a51c-c537b09f60ec" -version = "2.1.13+1" - [[deps.libfdk_aac_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" @@ -1917,12 +1905,6 @@ deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" version = "17.4.0+2" -[[deps.prrte_jll]] -deps = ["Artifacts", "Hwloc_jll", "JLLWrappers", "Libdl", "PMIx_jll", "libevent_jll"] -git-tree-sha1 = "5adb2d7a18a30280feb66cad6f1a1dfdca2dc7b0" -uuid = "eb928a42-fffd-568d-ab9c-3f5d54fc65b9" -version = "3.0.2+0" - [[deps.x264_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" From 54b4ebf259f0eaa5b5dbd2d5ee9b7561545502fa Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Mon, 26 Feb 2024 20:36:20 +0200 Subject: [PATCH 50/51] KernelAbstractions 0.9.17 --- Manifest.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 56c00ab0f6..6d88d843c4 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -413,9 +413,9 @@ version = "0.2.1+0" [[deps.KernelAbstractions]] deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "PrecompileTools", "Requires", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "4e0cb2f5aad44dcfdc91088e85dee4ecb22c791c" +git-tree-sha1 = "c7753cc3febe006708ce6798482004241f7d890b" uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.9.16" +version = "0.9.17" [deps.KernelAbstractions.extensions] EnzymeExt = "EnzymeCore" From c3a7ad5479aa3a118c990ee9b732d66a031ef720 Mon Sep 17 00:00:00 2001 From: "Navid C. Constantinou" Date: Tue, 27 Feb 2024 14:45:52 +0200 Subject: [PATCH 51/51] fix doctest --- src/AbstractOperations/conditional_operations.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/AbstractOperations/conditional_operations.jl b/src/AbstractOperations/conditional_operations.jl index a4e3ea5b78..cf183c7f29 100644 --- a/src/AbstractOperations/conditional_operations.jl +++ b/src/AbstractOperations/conditional_operations.jl @@ -61,7 +61,7 @@ julia> f(i, j, k, grid, c) = i < 2; d = condition_operand(cos, c, f, 10) ConditionalOperation at (Center, Center, Center) ├── operand: 2×1×1 Field{Center, Center, Center} on RectilinearGrid on CPU ├── grid: 2×1×1 RectilinearGrid{Float64, Periodic, Periodic, Bounded} on CPU with 3×3×3 halo -├── func: cos (generic function with 31 methods) +├── func: cos (generic function with 32 methods) ├── condition: f (generic function with 1 method) └── mask: 10