From b6200b8b837094b574873bff74ad673911e8a926 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Tue, 13 Feb 2024 07:37:05 -0700 Subject: [PATCH 01/24] Updates for Oceananigans 0.90.7 --- Manifest.toml | 924 +++++++++++++++++++++++++++-------------- Project.toml | 3 +- src/InverseProblems.jl | 5 +- src/Observations.jl | 6 +- 4 files changed, 614 insertions(+), 324 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 225c8fa6..b44bf194 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -1,20 +1,25 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.8.5" +julia_version = "1.10.0-beta3" manifest_format = "2.0" -project_hash = "b5ee3b7490b90cb8c188f7bc3e3bdb7cc3543ebb" +project_hash = "baeb066f541e6e27bf84370578e1c12f0a285b72" [[deps.AMD]] -deps = ["Libdl", "LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "00163dc02b882ca5ec032400b919e5f5011dbd31" +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse_jll"] +git-tree-sha1 = "45a1272e3f809d36431e57ab22703c6896b8908f" uuid = "14f7f29c-3bd6-536c-9a0b-7339e30b5a3e" -version = "0.5.0" +version = "0.5.3" [[deps.AbstractFFTs]] -deps = ["ChainRulesCore", "LinearAlgebra"] -git-tree-sha1 = "16b6dbc4cf7caee4e1e75c49485ec67b667098a0" +deps = ["LinearAlgebra"] +git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" -version = "1.3.1" +version = "1.5.0" +weakdeps = ["ChainRulesCore", "Test"] + + [deps.AbstractFFTs.extensions] + AbstractFFTsChainRulesCoreExt = "ChainRulesCore" + AbstractFFTsTestExt = "Test" [[deps.AbstractTrees]] git-tree-sha1 = "faa260e4cb5aba097a73fab382dd4b5819d8ec8c" @@ -23,19 +28,39 @@ version = "0.4.4" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "cc37d689f599e8df4f464b2fa3870ff7db7492ef" +git-tree-sha1 = "cde29ddf7e5726c9fb511f340244ea3481267608" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.1" +version = "3.7.2" +weakdeps = ["StaticArrays"] + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" [[deps.ArgTools]] uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" [[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "Requires", "SnoopPrecompile", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "38911c7737e123b28182d89027f4216cfc8a9da7" +deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "bbec08a37f8722786d87bedf84eae19c020c4efa" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.4.3" +version = "7.7.0" + + [deps.ArrayInterface.extensions] + ArrayInterfaceBandedMatricesExt = "BandedMatrices" + ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" + ArrayInterfaceCUDAExt = "CUDA" + ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" + ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" + ArrayInterfaceTrackerExt = "Tracker" + + [deps.ArrayInterface.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" [[deps.Artifacts]] uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" @@ -57,31 +82,31 @@ uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[deps.BenchmarkTools]] deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] -git-tree-sha1 = "d9a9701b899b30332bbcb3e1679c41cce81fb0e8" +git-tree-sha1 = "f1f03a9fa24271160ed7e73051fba3c1a759b53f" uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "1.3.2" +version = "1.4.0" [[deps.BitFlags]] -git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" +git-tree-sha1 = "2dc09997850d68179b69dafb58ae806167a32b1b" uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.7" +version = "0.1.8" [[deps.BlockDiagonals]] deps = ["ChainRulesCore", "FillArrays", "FiniteDifferences", "LinearAlgebra"] -git-tree-sha1 = "ffd635c19b56f50d1d4278d876219644299b5711" +git-tree-sha1 = "920d3775e35c519a2aced9e7bbe9ac61218eeead" uuid = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0" -version = "0.1.41" +version = "0.1.42" [[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"] @@ -90,58 +115,73 @@ 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", "CompilerSupportLibraries_jll", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "Preferences", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "SpecialFunctions", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "8547829ee0da896ce48a24b8d2f4bf929cf3e45e" +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" uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" -version = "4.1.4" +version = "5.1.2" +weakdeps = ["ChainRulesCore", "SpecialFunctions"] + + [deps.CUDA.extensions] + ChainRulesCoreExt = "ChainRulesCore" + SpecialFunctionsExt = "SpecialFunctions" [[deps.CUDA_Driver_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "498f45593f6ddc0adff64a9310bb6710e851781b" +git-tree-sha1 = "d01bfc999768f0a31ed36f5d22a76161fc63079c" uuid = "4ee394cb-3365-5eb0-8335-949819d2adfc" -version = "0.5.0+1" +version = "0.7.0+1" [[deps.CUDA_Runtime_Discovery]] deps = ["Libdl"] -git-tree-sha1 = "bcc4a23cbbd99c8535a5318455dcf0f2546ec536" +git-tree-sha1 = "2cb12f6b2209f40a4b8967697689a47c50485490" uuid = "1af6417a-86b4-443c-805f-a4643ffb695f" -version = "0.2.2" +version = "0.2.3" [[deps.CUDA_Runtime_jll]] deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "81eed046f28a0cdd0dc1f61d00a49061b7cc9433" +git-tree-sha1 = "9704e50c9158cf8896c2776b8dbc5edd136caf80" uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" -version = "0.5.0+2" +version = "0.10.1+0" [[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "c6d890a52d2c4d55d326439580c3b8d0875a77d9" +deps = ["Compat", "LinearAlgebra"] +git-tree-sha1 = "ad25e7d21ce10e01de973cdc68ad0f850a953c52" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.15.7" +version = "1.21.1" +weakdeps = ["SparseArrays"] -[[deps.ChangesOfVariables]] -deps = ["ChainRulesCore", "LinearAlgebra", "Test"] -git-tree-sha1 = "485193efd2176b88e6622a39a246f8c5b600e74e" -uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" -version = "0.1.6" + [deps.ChainRulesCore.extensions] + ChainRulesCoreSparseArraysExt = "SparseArrays" [[deps.CodecBzip2]] deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"] -git-tree-sha1 = "2e62a725210ce3c3c2e1a3080190e7ca491f18d7" +git-tree-sha1 = "9b1ca1aa6ce3f71b3d1840c538a8210a043625eb" uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd" -version = "0.7.2" +version = "0.8.2" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "9c209fb7536406834aa938fb149964b985de6c83" +git-tree-sha1 = "59939d8a997469ee05c4b4944560a820f9ba0d73" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.1" +version = "0.7.4" + +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "eb7f0f8307f71fac7c606984ea5fb2817275d6e4" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.11.4" + +[[deps.Colors]] +deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] +git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" +uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" +version = "0.12.10" [[deps.CommonDataModel]] deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf"] -git-tree-sha1 = "60ccfcd76179c96ca21d3b5a5ae04d7b6a7439e7" +git-tree-sha1 = "7f5717cbb2c1ce650cfd454451f282df33103596" uuid = "1fbeeb36-5f17-413c-809b-666fb144f157" -version = "0.2.2" +version = "0.2.5" [[deps.CommonSubexpressions]] deps = ["MacroTools", "Test"] @@ -150,27 +190,45 @@ uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" version = "0.3.0" [[deps.Compat]] -deps = ["Dates", "LinearAlgebra", "UUIDs"] -git-tree-sha1 = "7a60c856b9fa189eb34f5f8a6f6b5529b7942957" +deps = ["TOML", "UUIDs"] +git-tree-sha1 = "75bd5b6fc5089df449b5d35fa501c846c9b6549b" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.6.1" +version = "4.12.0" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" [[deps.CompilerSupportLibraries_jll]] deps = ["Artifacts", "Libdl"] uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.1+0" +version = "1.0.5+1" + +[[deps.ConcurrentUtilities]] +deps = ["Serialization", "Sockets"] +git-tree-sha1 = "9c4708e3ed2b799e6124b5673a712dda0b596a9b" +uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" +version = "2.3.1" [[deps.ConstructionBase]] deps = ["LinearAlgebra"] -git-tree-sha1 = "89a9db8d28102b094992472d333674bd1a83ce2a" +git-tree-sha1 = "c53fc348ca4d40d7b371e71fd52251839080cbc9" uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.5.1" +version = "1.5.4" + + [deps.ConstructionBase.extensions] + ConstructionBaseIntervalSetsExt = "IntervalSets" + ConstructionBaseStaticArraysExt = "StaticArrays" + + [deps.ConstructionBase.weakdeps] + IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [[deps.Convex]] deps = ["AbstractTrees", "BenchmarkTools", "LDLFactorizations", "LinearAlgebra", "MathOptInterface", "OrderedCollections", "SparseArrays", "Test"] -git-tree-sha1 = "af4188609c0620ed4b0e4493ed416d3c8b2dadeb" +git-tree-sha1 = "e84e371b9206bdd678fe7a8cf809c7dec949e88f" uuid = "f65535da-76fb-5f13-bab9-19810c17039a" -version = "0.15.3" +version = "0.15.4" [[deps.Crayons]] git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" @@ -179,26 +237,32 @@ version = "4.1.1" [[deps.CubedSphere]] deps = ["Elliptic", "FFTW", "Printf", "ProgressBars", "SpecialFunctions", "TaylorSeries", "Test"] -git-tree-sha1 = "db9c12cb765cc048e158987388287c52baddf57d" +git-tree-sha1 = "10134667d7d3569b191a65801514271b8a93b292" uuid = "7445602f-e544-4518-8976-18f8e8ae6cdb" -version = "0.2.2" +version = "0.2.5" [[deps.DataAPI]] -git-tree-sha1 = "e8119c1a33d267e16108be441a287a6981ba1630" +git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.14.0" +version = "1.16.0" [[deps.DataDeps]] -deps = ["HTTP", "Libdl", "Reexport", "SHA", "p7zip_jll"] -git-tree-sha1 = "bc0a264d3e7b3eeb0b6fc9f6481f970697f29805" +deps = ["HTTP", "Libdl", "Reexport", "SHA", "Scratch", "p7zip_jll"] +git-tree-sha1 = "d481f6419c262edcb7294179bd63249d123eb081" uuid = "124859b0-ceae-595e-8997-d05f6a7a8dfe" -version = "0.7.10" +version = "0.7.12" + +[[deps.DataFrames]] +deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] +git-tree-sha1 = "04c738083f29f86e62c8afc341f0967d8717bdb8" +uuid = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" +version = "1.6.1" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "d1fff3a548102f48987a52a2e0d114fa97d730f0" +git-tree-sha1 = "ac67408d9ddf207de5cfa9a97e114352430f01ed" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.13" +version = "0.18.16" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" @@ -209,12 +273,6 @@ version = "1.0.0" deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" -[[deps.DensityInterface]] -deps = ["InverseFunctions", "Test"] -git-tree-sha1 = "80c3e8639e3353e5d2912fb3a1916b8455e2494b" -uuid = "b429d917-457f-4dbc-8f4c-0cc954292b1d" -version = "0.4.0" - [[deps.DiffResults]] deps = ["StaticArraysCore"] git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" @@ -223,25 +281,46 @@ version = "1.1.0" [[deps.DiffRules]] deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "a4ad7ef19d2cdc2eff57abbbe68032b1cd0bd8f8" +git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.13.0" +version = "1.15.1" + +[[deps.DiskArrays]] +deps = ["LRUCache", "OffsetArrays"] +git-tree-sha1 = "ef25c513cad08d7ebbed158c91768ae32f308336" +uuid = "3c3547ce-8d99-4f5e-a174-61eb10b00ae3" +version = "0.3.23" [[deps.Distances]] -deps = ["LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "49eba9ad9f7ead780bfb7ee319f962c811c6d3b2" +deps = ["LinearAlgebra", "Statistics", "StatsAPI"] +git-tree-sha1 = "66c4c81f259586e8f002eacebc177e1fb06363b0" uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.8" +version = "0.10.11" +weakdeps = ["ChainRulesCore", "SparseArrays"] + + [deps.Distances.extensions] + DistancesChainRulesCoreExt = "ChainRulesCore" + DistancesSparseArraysExt = "SparseArrays" [[deps.Distributed]] deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[deps.Distributions]] -deps = ["ChainRulesCore", "DensityInterface", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns", "Test"] -git-tree-sha1 = "13027f188d26206b9e7b863036f87d2f2e7d013a" +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.87" +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"] @@ -256,9 +335,9 @@ version = "1.6.0" [[deps.ElasticArrays]] deps = ["Adapt"] -git-tree-sha1 = "e1c40d78de68e9a2be565f0202693a158ec9ad85" +git-tree-sha1 = "75e5697f521c9ab89816d3abeea806dfc5afb967" uuid = "fdbdab4c-e67f-52f5-8c3f-e7b388dad3d4" -version = "1.2.11" +version = "1.2.12" [[deps.ElasticPDMats]] deps = ["LinearAlgebra", "MacroTools", "PDMats"] @@ -277,16 +356,22 @@ git-tree-sha1 = "b2945201dc88e865f8766bd09344eeeb9358d7de" uuid = "aa8a2aa5-91d8-4396-bcef-d4f2ec43552d" version = "0.13.1" +[[deps.ExceptionUnwrapping]] +deps = ["Test"] +git-tree-sha1 = "dcb08a0d93ec0b1cdc4af184b26b591e9695423a" +uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" +version = "0.1.10" + [[deps.ExprTools]] -git-tree-sha1 = "c1d06d129da9f55715c6c212866f5b1bddc5fa00" +git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.9" +version = "0.1.10" [[deps.FFTW]] deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] -git-tree-sha1 = "f9818144ce7c8c41edf5c4c179c684d92aa4d9fe" +git-tree-sha1 = "4820348781ae578893311153d69049a93d05f39d" uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.6.0" +version = "1.8.0" [[deps.FFTW_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -302,36 +387,61 @@ version = "0.4.9" [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "7be5f99f7d15578798f338f5433b6c432ea8037b" +git-tree-sha1 = "c5c28c245101bd59154f649e19b038d15901b5dc" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.0" +version = "1.16.2" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.FillArrays]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "7072f1e3e5a8be51d525d64f63d3ec1287ff2790" +deps = ["LinearAlgebra", "Random"] +git-tree-sha1 = "35f0c0f345bff2c6d636f95fdb136323b5a796ef" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.13.11" +version = "1.7.0" +weakdeps = ["SparseArrays", "Statistics"] + + [deps.FillArrays.extensions] + FillArraysSparseArraysExt = "SparseArrays" + FillArraysStatisticsExt = "Statistics" [[deps.FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays", "StaticArrays"] -git-tree-sha1 = "03fcb1c42ec905d15b305359603888ec3e65f886" +deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays"] +git-tree-sha1 = "73d1214fec245096717847c62d389a5d2ac86504" uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.19.0" +version = "2.22.0" + + [deps.FiniteDiff.extensions] + FiniteDiffBandedMatricesExt = "BandedMatrices" + FiniteDiffBlockBandedMatricesExt = "BlockBandedMatrices" + FiniteDiffStaticArraysExt = "StaticArrays" + + [deps.FiniteDiff.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [[deps.FiniteDifferences]] deps = ["ChainRulesCore", "LinearAlgebra", "Printf", "Random", "Richardson", "SparseArrays", "StaticArrays"] -git-tree-sha1 = "3f605dd6db5640c5278f2551afc9427656439f42" +git-tree-sha1 = "d77e4697046989f44dce3ed66269aaf1611a3406" uuid = "26cc04aa-876d-5657-8c51-4c34ba976000" -version = "0.12.26" +version = "0.12.31" + +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.4" [[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "00e252f4d706b3d55a8863432e742bf5717b498d" +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] +git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.35" +version = "0.10.36" +weakdeps = ["StaticArrays"] + + [deps.ForwardDiff.extensions] + ForwardDiffStaticArraysExt = "StaticArrays" [[deps.Future]] deps = ["Random"] @@ -339,21 +449,21 @@ uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" [[deps.GPUArrays]] deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] -git-tree-sha1 = "9ade6983c3dbbd492cf5729f865fe030d1541463" +git-tree-sha1 = "85d7fb51afb3def5dcb85ad31c3707795c8bccc1" uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "8.6.6" +version = "9.1.0" [[deps.GPUArraysCore]] deps = ["Adapt"] -git-tree-sha1 = "1cd7f0af1aa58abc02ea1d872953a97359cb87fa" +git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.1.4" +version = "0.1.5" [[deps.GPUCompiler]] deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "Scratch", "TimerOutputs", "UUIDs"] -git-tree-sha1 = "e9a9173cd77e16509cdf9c1663fda19b22a518b7" +git-tree-sha1 = "a846f297ce9d09ccba02ead0cae70690e072a119" uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" -version = "0.19.3" +version = "0.25.0" [[deps.GaussianProcesses]] deps = ["Distances", "Distributions", "ElasticArrays", "ElasticPDMats", "FastGaussQuadrature", "ForwardDiff", "LinearAlgebra", "Optim", "PDMats", "Printf", "ProgressMeter", "Random", "RecipesBase", "ScikitLearnBase", "SpecialFunctions", "StaticArrays", "Statistics", "StatsFuns"] @@ -367,16 +477,16 @@ uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" version = "1.3.1" [[deps.HDF5_jll]] -deps = ["Artifacts", "JLLWrappers", "LibCURL_jll", "Libdl", "OpenSSL_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "4cc2bb72df6ff40b055295fdef6d92955f9dede8" +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.12.2+2" +version = "1.14.3+1" [[deps.HTTP]] -deps = ["Base64", "CodecZlib", "Dates", "IniFile", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "37e4657cd56b11abe3d10cd4a1ec5fbdb4180263" +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "abbbb9ec3afd783a7cbd82ef01dcd088ea051398" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.7.4" +version = "1.10.1" [[deps.IfElse]] git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" @@ -389,16 +499,17 @@ git-tree-sha1 = "6c676e79f98abb6d33fa28122cad099f1e464afe" uuid = "40713840-3770-5561-ab4c-a76e7d0d7895" version = "0.2.1" -[[deps.IniFile]] -git-tree-sha1 = "f550e6e32074c939295eb5ea6de31849ac2c9625" -uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" -version = "0.5.1" +[[deps.InlineStrings]] +deps = ["Parsers"] +git-tree-sha1 = "9cc2baf75c6d09f9da536ddf58eb2f29dedaf461" +uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" +version = "1.4.0" [[deps.IntelOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "0cb9352ef2e01574eeebdb102948a58740dcaf83" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "5fdf2fe6724d8caabf43b557b84ce53f3b7e2f6b" uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" -version = "2023.1.0+0" +version = "2024.0.2+0" [[deps.InteractiveUtils]] deps = ["Markdown"] @@ -406,9 +517,14 @@ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[deps.InverseFunctions]] deps = ["Test"] -git-tree-sha1 = "49510dfcb407e572524ba94aeae2fced1f3feb0f" +git-tree-sha1 = "68772f49f54b479fa88ace904f6127f0a3bb2e46" uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.8" +version = "0.1.12" + +[[deps.InvertedIndices]] +git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038" +uuid = "41ab1584-1d38-5bbf-9106-f11c6c58b48f" +version = "1.3.0" [[deps.IrrationalConstants]] git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" @@ -417,9 +533,9 @@ version = "0.1.1" [[deps.IterativeSolvers]] deps = ["LinearAlgebra", "Printf", "Random", "RecipesBase", "SparseArrays"] -git-tree-sha1 = "1169632f425f79429f245113b775a0e3d121457c" +git-tree-sha1 = "b435d190ef8369cf4d79cc9dd5fba88ba0165307" uuid = "42fd0dbc-a981-5370-80f2-aaf504508153" -version = "0.9.2" +version = "0.9.3" [[deps.IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" @@ -427,16 +543,16 @@ 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 = "42c17b18ced77ff0be65957a591d34f4ed57c631" +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "PrecompileTools", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] +git-tree-sha1 = "7c0008f0b7622c6c0ee5c65cbc667b69f8a65672" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.31" +version = "0.4.45" [[deps.JLLWrappers]] -deps = ["Preferences"] -git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.4.1" +version = "1.5.0" [[deps.JSON]] deps = ["Dates", "Mmap", "Parsers", "Unicode"] @@ -445,34 +561,75 @@ uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" version = "0.21.4" [[deps.JSON3]] -deps = ["Dates", "Mmap", "Parsers", "SnoopPrecompile", "StructTypes", "UUIDs"] -git-tree-sha1 = "84b10656a41ef564c39d2d477d7236966d2b5683" +deps = ["Dates", "Mmap", "Parsers", "PrecompileTools", "StructTypes", "UUIDs"] +git-tree-sha1 = "eb3edce0ed4fa32f75a0a11217433c31d56bd48b" uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" -version = "1.12.0" +version = "1.14.0" + + [deps.JSON3.extensions] + JSON3ArrowExt = ["ArrowTypes"] + + [deps.JSON3.weakdeps] + ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" + +[[deps.JuliaNVTXCallbacks_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "af433a10f3942e882d3c671aacb203e006a5808f" +uuid = "9c1d0b0a-7046-5b2e-a33f-ea22f176ac7e" +version = "0.2.1+0" [[deps.KernelAbstractions]] -deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "SnoopPrecompile", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "976231af02176082fb266a9f96a59da51fcacf20" +deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "PrecompileTools", "Requires", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] +git-tree-sha1 = "4e0cb2f5aad44dcfdc91088e85dee4ecb22c791c" uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.9.2" +version = "0.9.16" + + [deps.KernelAbstractions.extensions] + EnzymeExt = "EnzymeCore" + + [deps.KernelAbstractions.weakdeps] + EnzymeCore = "f151be2c-9106-41f4-ab19-57ee4f262869" [[deps.LDLFactorizations]] deps = ["AMD", "LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "cbf4b646f82bfc58bb48bcca9dcce2eb88da4cd1" +git-tree-sha1 = "70f582b446a1c3ad82cf87e62b878668beef9d13" uuid = "40e66cde-538c-5869-a4ad-c39174c6795b" -version = "0.10.0" +version = "0.10.1" [[deps.LLVM]] -deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "a8960cae30b42b66dd41808beb76490519f6f9e2" +deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Requires", "Unicode"] +git-tree-sha1 = "9e70165cca7459d25406367f0c55e517a9a7bfe7" uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "5.0.0" +version = "6.5.0" +weakdeps = ["BFloat16s"] + + [deps.LLVM.extensions] + BFloat16sExt = "BFloat16s" [[deps.LLVMExtra_jll]] deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "09b7505cc0b1cee87e5d4a26eea61d2e1b0dcd35" +git-tree-sha1 = "114e3a48f13d4c18ddd7fd6a00107b4b96f60f9c" uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.21+0" +version = "0.0.28+0" + +[[deps.LLVMLoopInfo]] +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" +version = "1.3.1" [[deps.LazyArtifacts]] deps = ["Artifacts", "Pkg"] @@ -481,30 +638,35 @@ 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.0.1+1" [[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" -version = "1.10.2+0" +version = "1.11.0+1" [[deps.Libdl]] uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" [[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c7cb1f5d892775ba13767a87c7ada0b980ea0a71" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.16.1+2" +version = "1.17.0+0" [[deps.LineSearches]] deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] @@ -513,86 +675,104 @@ uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" version = "7.2.0" [[deps.LinearAlgebra]] -deps = ["Libdl", "libblastrampoline_jll"] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" [[deps.LogExpFunctions]] -deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "0a1b7c2863e44523180fdb3146534e265a91870b" +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.23" +version = "0.3.26" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" [[deps.Logging]] uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" [[deps.LoggingExtras]] deps = ["Dates", "Logging"] -git-tree-sha1 = "cedb76b37bc5a6c702ade66be44f831fa23c681e" +git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.0.0" +version = "1.0.3" [[deps.MKL_jll]] -deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "2ce8695e1e699b68702c03402672a69f54b8aca9" +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl"] +git-tree-sha1 = "72dc3cf284559eb8f53aa593fe62cb33f83ed0c0" uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" -version = "2022.2.0+0" +version = "2024.0.0+0" [[deps.MPI]] -deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "Requires", "Serialization", "Sockets"] -git-tree-sha1 = "6d72bafd3960f9c119ceb8f034fef28346490fe5" +deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "PkgVersion", "PrecompileTools", "Requires", "Serialization", "Sockets"] +git-tree-sha1 = "4e3136db3735924f96632a5b40a5979f1f53fa07" uuid = "da04e1cc-30fd-572f-bb4f-1f8673147195" -version = "0.20.8" +version = "0.20.19" + + [deps.MPI.extensions] + AMDGPUExt = "AMDGPU" + CUDAExt = "CUDA" + + [deps.MPI.weakdeps] + AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" [[deps.MPICH_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "d790fbd913f85e8865c55bf4725aff197c5155c8" +git-tree-sha1 = "2ee75365ca243c1a39d467e35ffd3d4d32eef11e" uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" -version = "4.1.1+1" +version = "4.1.2+1" [[deps.MPIPreferences]] deps = ["Libdl", "Preferences"] -git-tree-sha1 = "71f937129731a29eabe6969db2c90368a4408933" +git-tree-sha1 = "8f6af051b9e8ec597fa09d8885ed79fd582f33c9" uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" -version = "0.1.7" +version = "0.1.10" [[deps.MPItrampoline_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "b3dcf8e1c610a10458df3c62038c8cc3a4d6291d" +git-tree-sha1 = "8eeb3c73bbc0ca203d0dc8dad4008350bbe5797b" uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" -version = "5.3.0+0" +version = "5.3.1+1" [[deps.MacroTools]] deps = ["Markdown", "Random"] -git-tree-sha1 = "42324d08725e200c23d4dfb549e0d5d89dede2d2" +git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.10" +version = "0.5.13" [[deps.Markdown]] deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[deps.MathOptInterface]] -deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "Printf", "SnoopPrecompile", "SparseArrays", "SpecialFunctions", "Test", "Unicode"] -git-tree-sha1 = "3b38f6fbd62cbd61d8dbf625136d7b75478bf2c5" +deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test", "Unicode"] +git-tree-sha1 = "8b40681684df46785a0012d352982e22ac3be59e" uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "1.15.0" +version = "1.25.2" [[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "Random", "Sockets"] -git-tree-sha1 = "03a9b9718f5682ecb107ac9f7308991db4ce395b" +deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] +git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.1.7" +version = "1.1.9" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.0+0" +version = "2.28.2+1" [[deps.MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "a8027af3d1743b3bfae34e54872359fdebb31422" +git-tree-sha1 = "b01beb91d20b0d1312a9471a36017b5b339d26de" uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.3+4" +version = "10.1.4+1" [[deps.Missings]] deps = ["DataAPI"] @@ -605,19 +785,19 @@ uuid = "a63ad114-7e13-5084-954f-fe012c677804" [[deps.MozillaCACerts_jll]] uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.2.1" +version = "2023.1.10" [[deps.MutableArithmetics]] deps = ["LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "3295d296288ab1a0a2528feb424b854418acff57" +git-tree-sha1 = "806eea990fb41f9b36f1253e5697aa645bf6a9f8" uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" -version = "1.2.3" +version = "1.4.0" [[deps.NCDatasets]] -deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "NetCDF_jll", "NetworkOptions", "Printf"] -git-tree-sha1 = "afd015e81e60cfbdba04ef59bcdc80e18bd613cd" +deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "DiskArrays", "NetCDF_jll", "NetworkOptions", "Printf"] +git-tree-sha1 = "173a378f357e9bb24b22019efb5e4778223ce8cf" uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.12.14" +version = "0.13.2" [[deps.NLSolversBase]] deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] @@ -625,6 +805,18 @@ git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" version = "7.8.3" +[[deps.NVTX]] +deps = ["Colors", "JuliaNVTXCallbacks_jll", "Libdl", "NVTX_jll"] +git-tree-sha1 = "53046f0483375e3ed78e49190f1154fa0a4083a1" +uuid = "5da4648a-3479-48b8-97b9-01cb529c0a1f" +version = "0.3.4" + +[[deps.NVTX_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ce3269ed42816bf18d500c9f63418d4b0d9f5a3b" +uuid = "e98f9f5b-d649-5603-91fd-7774390e6439" +version = "3.1.0+2" + [[deps.NaNMath]] deps = ["OpenLibm_jll"] git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" @@ -632,62 +824,69 @@ uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" version = "1.0.2" [[deps.NetCDF_jll]] -deps = ["Artifacts", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Pkg", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "072f8371f74c3b9e1b26679de7fbf059d45ea221" +deps = ["Artifacts", "Bzip2_jll", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "XML2_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "10c612c81eaffdd6b7c28a45a554cdd9d2f40ff1" uuid = "7243133f-43d8-5620-bbf4-c2c921802cf3" -version = "400.902.5+1" +version = "400.902.208+0" [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.Oceananigans]] -deps = ["Adapt", "CUDA", "Crayons", "CubedSphere", "Dates", "DocStringExtensions", "FFTW", "Glob", "IncompleteLU", "InteractiveUtils", "IterativeSolvers", "JLD2", "KernelAbstractions", "LinearAlgebra", "Logging", "MPI", "NCDatasets", "OffsetArrays", "OrderedCollections", "PencilArrays", "PencilFFTs", "Pkg", "Printf", "Random", "Rotations", "SeawaterPolynomials", "SparseArrays", "Statistics", "StructArrays"] -git-tree-sha1 = "04f72d38d2c7e5dde95523dc6d56f31a025a56ca" -repo-rev = "glw/max-mixing-length" -repo-url = "https://github.com/CliMA/Oceananigans.jl.git" +deps = ["Adapt", "CUDA", "Crayons", "CubedSphere", "Dates", "Distances", "DocStringExtensions", "FFTW", "Glob", "IncompleteLU", "InteractiveUtils", "IterativeSolvers", "JLD2", "KernelAbstractions", "LinearAlgebra", "Logging", "MPI", "NCDatasets", "OffsetArrays", "OrderedCollections", "PencilArrays", "PencilFFTs", "Pkg", "Printf", "Random", "Rotations", "SeawaterPolynomials", "SparseArrays", "Statistics", "StructArrays"] +path = "/Users/gregorywagner/Projects/Oceananigans.jl" uuid = "9e8cae18-63c1-5223-a75c-80ca9d6e9a09" -version = "0.81.0" +version = "0.90.7" + + [deps.Oceananigans.extensions] + OceananigansEnzymeExt = "Enzyme" + + [deps.Oceananigans.weakdeps] + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" [[deps.OffsetArrays]] -deps = ["Adapt"] -git-tree-sha1 = "82d7c9e310fe55aa54996e6f7f94674e2a38fcb4" +git-tree-sha1 = "6a731f2b5c03157418a20c12195eb4b74c8f8621" uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.12.9" +version = "1.13.0" +weakdeps = ["Adapt"] + + [deps.OffsetArrays.extensions] + OffsetArraysAdaptExt = "Adapt" [[deps.OpenBLAS32_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9c6c2ed4b7acd2137b878eb96c68e63b76199d0f" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6065c4cff8fee6c6770b277af45d5082baacdba1" uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" -version = "0.3.17+0" +version = "0.3.24+0" [[deps.OpenBLAS_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.20+0" +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"] -git-tree-sha1 = "f3080f4212a8ba2ceb10a34b938601b862094314" +git-tree-sha1 = "e25c1778a98e34219a00455d6e4384e017ea9762" uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "4.1.5+0" +version = "4.1.6+0" [[deps.OpenSSL]] deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "5b3e170ea0724f1e3ed6018c5b006c190f80e87d" +git-tree-sha1 = "51901a49222b09e3743c65b8847687ae5fc78eb2" uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.3.5" +version = "1.4.1" [[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9ff31d101d987eb9d66bd8b176ac7c277beccd09" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "60e3045590bd104a16fefb12836c00c0ef8c7f8c" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "1.1.20+0" +version = "3.0.13+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] @@ -696,15 +895,15 @@ uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" version = "0.5.5+0" [[deps.Optim]] -deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] -git-tree-sha1 = "a89b11f0f354f06099e4001c151dffad7ebab015" +deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "MathOptInterface", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] +git-tree-sha1 = "d024bfb56144d947d4fafcd9cb5cafbe3410b133" uuid = "429524aa-4258-5aef-a3af-852621145aeb" -version = "1.7.5" +version = "1.9.2" [[deps.OrderedCollections]] -git-tree-sha1 = "d321bf2de576bf25ec4d3e4360faca399afca282" +git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.0" +version = "1.6.3" [[deps.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse", "Test"] @@ -712,6 +911,12 @@ git-tree-sha1 = "95a4038d1011dfdbde7cecd2ad0ac411e53ab1bc" uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" version = "0.10.1" +[[deps.PackageExtensionCompat]] +git-tree-sha1 = "fb28e33b8a95c4cee25ce296c817d89cc2e53518" +uuid = "65ce6f38-6b18-4e1d-a461-8949797d7930" +version = "1.0.2" +weakdeps = ["Requires", "TOML"] + [[deps.Parameters]] deps = ["OrderedCollections", "UnPack"] git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" @@ -719,27 +924,47 @@ uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" version = "0.12.3" [[deps.Parsers]] -deps = ["Dates", "SnoopPrecompile"] -git-tree-sha1 = "478ac6c952fddd4399e71d4779797c538d0ff2bf" +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821" uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.5.8" +version = "2.8.1" [[deps.PencilArrays]] -deps = ["Adapt", "JSON3", "LinearAlgebra", "MPI", "OffsetArrays", "Random", "Reexport", "Requires", "StaticArrayInterface", "StaticArrays", "StaticPermutations", "Strided", "TimerOutputs", "VersionParsing"] -git-tree-sha1 = "9d017f3a875a9f22b0649c7d72671b1b25441179" +deps = ["Adapt", "JSON3", "LinearAlgebra", "MPI", "OffsetArrays", "Random", "Reexport", "StaticArrayInterface", "StaticArrays", "StaticPermutations", "Strided", "TimerOutputs", "VersionParsing"] +git-tree-sha1 = "6510e851700a851944f7ffa5cd990cced4802ad2" uuid = "0e08944d-e94e-41b1-9406-dcf66b6a9d2e" -version = "0.17.11" +version = "0.19.3" + + [deps.PencilArrays.extensions] + PencilArraysDiffEqExt = ["DiffEqBase"] + PencilArraysHDF5Ext = ["HDF5"] + + [deps.PencilArrays.weakdeps] + DiffEqBase = "2b5f629d-d688-5b77-993f-72d75c75574e" + HDF5 = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" [[deps.PencilFFTs]] deps = ["AbstractFFTs", "FFTW", "LinearAlgebra", "MPI", "PencilArrays", "Reexport", "TimerOutputs"] -git-tree-sha1 = "602dc6232e4c2747035dd39a0e6569fccb9e9337" +git-tree-sha1 = "bd69f3f0ee248cfb4241800aefb705b5ded592ff" uuid = "4a48f351-57a6-4416-9ec4-c37015456aae" -version = "0.14.3" +version = "0.15.1" [[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +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.8.0" +version = "1.10.0" + +[[deps.PkgVersion]] +deps = ["Pkg"] +git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" +uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" +version = "0.3.3" + +[[deps.PooledArrays]] +deps = ["DataAPI", "Future"] +git-tree-sha1 = "36d8b4b899628fb92c2749eb488d884a926614d3" +uuid = "2dfb63ee-cc39-5dd5-95bd-886bf059d720" +version = "1.4.3" [[deps.PositiveFactorizations]] deps = ["LinearAlgebra"] @@ -747,11 +972,23 @@ git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20" uuid = "85a6dd25-e78a-55b7-8502-1745935b8125" version = "0.2.4" +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.2.0" + [[deps.Preferences]] deps = ["TOML"] -git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" +git-tree-sha1 = "00805cd429dcb4870060ff49ef443486c262e38e" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.3.0" +version = "1.4.1" + +[[deps.PrettyTables]] +deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"] +git-tree-sha1 = "88b895d13d53b5577fd53379d913b9ab9ac82660" +uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" +version = "2.3.1" [[deps.Printf]] deps = ["Unicode"] @@ -763,41 +1000,41 @@ uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79" [[deps.ProgressBars]] deps = ["Printf"] -git-tree-sha1 = "9d84c8646109eb8bc7a006d59b157c64d5155c81" +git-tree-sha1 = "b437cdb0385ed38312d91d9c00c20f3798b30256" uuid = "49802e3a-d2f1-5c88-81d8-b72133a6f568" -version = "1.5.0" +version = "1.5.1" [[deps.ProgressMeter]] deps = ["Distributed", "Printf"] -git-tree-sha1 = "d7a7aef8f8f2d537104f170139553b14dfe39fe9" +git-tree-sha1 = "00099623ffee15972c16111bcf84c58a0051257c" uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.7.2" +version = "1.9.0" [[deps.QuadGK]] deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "6ec7ac8412e83d57e313393220879ede1740f9ee" +git-tree-sha1 = "9b23c31e76e333e6fb4c1595ae6afa74966a729e" uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.8.2" +version = "2.9.4" [[deps.Quaternions]] deps = ["LinearAlgebra", "Random", "RealDot"] -git-tree-sha1 = "da095158bdc8eaccb7890f9884048555ab771019" +git-tree-sha1 = "994cc27cdacca10e68feb291673ec3a76aa2fae9" uuid = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" -version = "0.7.4" +version = "0.7.6" [[deps.REPL]] 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]] deps = ["Random", "RandomNumbers"] -git-tree-sha1 = "7a1a306b72cfa60634f03a911405f4e64d1b718b" +git-tree-sha1 = "c860e84651f58ce240dd79e5d9e055d55234c35a" uuid = "74087812-796a-5b5d-8853-05524746bad3" -version = "1.6.0" +version = "1.6.2" [[deps.RandomNumbers]] deps = ["Random", "Requires"] @@ -812,10 +1049,10 @@ uuid = "c1ae055f-0cd5-4b69-90a6-9a35b1a98df9" version = "0.1.0" [[deps.RecipesBase]] -deps = ["SnoopPrecompile"] -git-tree-sha1 = "261dddd3b862bd2c940cf6ca4d1c8fe593e457c8" +deps = ["PrecompileTools"] +git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.3.3" +version = "1.3.4" [[deps.Reexport]] git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" @@ -830,9 +1067,9 @@ version = "1.3.0" [[deps.Richardson]] deps = ["LinearAlgebra"] -git-tree-sha1 = "e03ca566bec93f8a3aeb059c8ef102f268a38949" +git-tree-sha1 = "48f038bfd83344065434089c2a79417f38715c41" uuid = "708f8203-808e-40c0-ba2d-98a6953ed40d" -version = "1.4.0" +version = "1.4.2" [[deps.Rmath]] deps = ["Random", "Rmath_jll"] @@ -847,34 +1084,32 @@ uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" version = "0.4.0+0" [[deps.Rotations]] -deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays", "Statistics"] -git-tree-sha1 = "72a6abdcd088764878b473102df7c09bbc0548de" +deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays"] +git-tree-sha1 = "2a0a5d8569f481ff8840e3b7c84bbf188db6a3fe" uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" -version = "1.4.0" +version = "1.7.0" +weakdeps = ["RecipesBase"] + + [deps.Rotations.extensions] + RotationsRecipesBaseExt = "RecipesBase" [[deps.SCS]] -deps = ["MathOptInterface", "Requires", "SCS_GPU_jll", "SCS_MKL_jll", "SCS_jll", "SparseArrays"] -git-tree-sha1 = "05c1ed62a8d78827d0dd1a9fa04040a4a254bf08" +deps = ["MathOptInterface", "Requires", "SCS_GPU_jll", "SCS_jll", "SparseArrays"] +git-tree-sha1 = "8d908b7c81e199ee92d17b6192849e8c43d2f31d" uuid = "c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13" -version = "1.1.4" +version = "1.1.2" [[deps.SCS_GPU_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenBLAS32_jll"] -git-tree-sha1 = "6a61274837cfa050bd996910d347e876bef3a6b3" +deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Pkg"] +git-tree-sha1 = "f912271ecccb00acaddfab2943e9b33d5ec36d3b" uuid = "af6e375f-46ec-5fa0-b791-491b0dfa44a4" -version = "3.2.3+1" - -[[deps.SCS_MKL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "MKL_jll"] -git-tree-sha1 = "15b887b4b1f747f98b22fba2225fe7cd26861cea" -uuid = "3f2553a9-4106-52be-b7dd-865123654657" -version = "3.2.3+0" +version = "3.2.0+0" [[deps.SCS_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenBLAS32_jll"] -git-tree-sha1 = "e4902566d6207206c27fe6f45e8c2d28c34889df" +deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenBLAS32_jll", "Pkg"] +git-tree-sha1 = "ba5c0d3b23220d3598d2877b4cf913e3fcf8add3" uuid = "f4f2fc5b-1d94-523c-97ea-2ab488bedf4b" -version = "3.2.3+0" +version = "3.2.0+0" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -888,14 +1123,20 @@ version = "0.5.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.SeawaterPolynomials]] -git-tree-sha1 = "958ba75b90c7c8a117d041d33184134201cf8c0f" +git-tree-sha1 = "6d85acd6de472f8e6da81c61c7c5b6280a55e0bc" uuid = "d496a93d-167e-4197-9f49-d3af4ff8fe40" -version = "0.3.2" +version = "0.3.4" + +[[deps.SentinelArrays]] +deps = ["Dates", "Random"] +git-tree-sha1 = "0e7508ff27ba32f26cd459474ca2ede1bc10991f" +uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" +version = "1.4.1" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" @@ -911,53 +1152,62 @@ git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" version = "1.1.0" -[[deps.SnoopPrecompile]] -deps = ["Preferences"] -git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" -uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" -version = "1.0.3" - [[deps.Sockets]] uuid = "6462fe0b-24de-5631-8697-dd941f90decc" [[deps.SortingAlgorithms]] deps = ["DataStructures"] -git-tree-sha1 = "a4ada03f999bd01b3a25dcaa30b2d929fe537e00" +git-tree-sha1 = "66e0a8e672a0bdfca2c3f5937efb8538b9ddc085" uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.1.0" +version = "1.2.1" [[deps.SparseArrays]] -deps = ["LinearAlgebra", "Random"] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" +version = "1.10.0" [[deps.SpecialFunctions]] -deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "ef28127915f4229c971eb43f3fc075dd3fe91880" +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "e2cfc4012a19088254b3950b85c3c1d8882d864d" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.2.0" +version = "2.3.1" +weakdeps = ["ChainRulesCore"] + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" [[deps.Static]] deps = ["IfElse"] -git-tree-sha1 = "08be5ee09a7632c32695d954a602df96a877bf0d" +git-tree-sha1 = "d2fdac9ff3906e27f7a618d47b676941baa6c80c" uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.8.6" +version = "0.8.10" [[deps.StaticArrayInterface]] -deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "Requires", "SnoopPrecompile", "SparseArrays", "Static", "SuiteSparse"] -git-tree-sha1 = "33040351d2403b84afce74dae2e22d3f5b18edcb" +deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] +git-tree-sha1 = "5d66818a39bb04bf328e92bc933ec5b4ee88e436" uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.4.0" +version = "1.5.0" +weakdeps = ["OffsetArrays", "StaticArrays"] + + [deps.StaticArrayInterface.extensions] + StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" + StaticArrayInterfaceStaticArraysExt = "StaticArrays" [[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "StaticArraysCore", "Statistics"] -git-tree-sha1 = "63e84b7fdf5021026d0f17f76af7c57772313d99" +deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] +git-tree-sha1 = "7b0e9c14c624e435076d19aea1e5cbdec2b9ca37" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.5.21" +version = "1.9.2" +weakdeps = ["ChainRulesCore", "Statistics"] + + [deps.StaticArrays.extensions] + StaticArraysChainRulesCoreExt = "ChainRulesCore" + StaticArraysStatisticsExt = "Statistics" [[deps.StaticArraysCore]] -git-tree-sha1 = "6b7ba252635a5eff6a0b0664a41ee140a1c9e72a" +git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.0" +version = "1.4.2" [[deps.StaticPermutations]] git-tree-sha1 = "193c3daa18ff3e55c1dae66acb6a762c4a3bdb0b" @@ -967,12 +1217,13 @@ version = "0.3.0" [[deps.Statistics]] deps = ["LinearAlgebra", "SparseArrays"] uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.10.0" [[deps.StatsAPI]] deps = ["LinearAlgebra"] -git-tree-sha1 = "45a7769a04a3cf80da1c1c7c60caf932e6f4c9f7" +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.6.0" +version = "1.7.0" [[deps.StatsBase]] deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] @@ -988,21 +1239,31 @@ version = "0.9.18" [[deps.Strided]] deps = ["LinearAlgebra", "StridedViews", "TupleTools"] -git-tree-sha1 = "192afa350a398bd576a187968f3a75daa30465af" +git-tree-sha1 = "40c69be0e1b72ee2f42923b7d1ff13e0b04e675c" uuid = "5e0ebb24-38b0-5f93-81fe-25c709ecae67" -version = "2.0.0" +version = "2.0.4" [[deps.StridedViews]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "339602e6e606bec4eeddfb2d5e430f109f426577" +deps = ["LinearAlgebra", "PackageExtensionCompat"] +git-tree-sha1 = "5b765c4e401693ab08981989f74a36a010aa1d8e" uuid = "4db3bf67-4bd7-4b4e-b153-31dc3fb37143" -version = "0.1.1" +version = "0.2.2" +weakdeps = ["CUDA"] + + [deps.StridedViews.extensions] + StridedViewsCUDAExt = "CUDA" + +[[deps.StringManipulation]] +deps = ["PrecompileTools"] +git-tree-sha1 = "a04cabe79c5f01f4d723cc6704070ada0b9d46d5" +uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" +version = "0.3.4" [[deps.StructArrays]] -deps = ["Adapt", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] -git-tree-sha1 = "521a0e828e98bb69042fec1809c1b5a680eb7389" +deps = ["Adapt", "ConstructionBase", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] +git-tree-sha1 = "1b0b1205a56dc288b71b1961d48e351520702e24" uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.15" +version = "0.6.17" [[deps.StructTypes]] deps = ["Dates", "UUIDs"] @@ -1014,15 +1275,21 @@ version = "1.10.0" deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "7.2.0+1" + [[deps.Suppressor]] -git-tree-sha1 = "c6ed566db2fe3931292865b966d6d140b7ef32a9" +deps = ["Logging"] +git-tree-sha1 = "6cd9e4a207964c07bf6395beff7a1e8f21d0f3b2" uuid = "fd094767-a336-5f1f-9728-57cf17d0bbfb" -version = "0.2.1" +version = "0.2.6" [[deps.TOML]] deps = ["Dates"] uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.0" +version = "1.0.3" [[deps.TableTraits]] deps = ["IteratorInterfaceExtensions"] @@ -1031,21 +1298,27 @@ uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" version = "1.0.1" [[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] -git-tree-sha1 = "1544b926975372da01227b382066ab70e574a3ec" +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits"] +git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.10.1" +version = "1.11.1" [[deps.Tar]] deps = ["ArgTools", "SHA"] uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.1" +version = "1.10.0" [[deps.TaylorSeries]] deps = ["LinearAlgebra", "Markdown", "Requires", "SparseArrays"] -git-tree-sha1 = "87baeec9ad6273ed8040a93fbbbaa039fa955f1f" +git-tree-sha1 = "1c7170668366821b0c4c4fe03ee78f8d6cf36e2c" uuid = "6aa5eb33-94cf-58f4-a9d0-e4b2c4fc25ea" -version = "0.12.2" +version = "0.16.0" + + [deps.TaylorSeries.extensions] + TaylorSeriesIAExt = "IntervalArithmetic" + + [deps.TaylorSeries.weakdeps] + IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" [[deps.Test]] deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] @@ -1053,25 +1326,28 @@ uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [[deps.TimerOutputs]] deps = ["ExprTools", "Printf"] -git-tree-sha1 = "f2fd3f288dfc6f507b0c3a2eb3bac009251e548b" +git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.22" +version = "0.5.23" [[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "0b829474fed270a4b0ab07117dce9b9a2fa7581a" +git-tree-sha1 = "54194d92959d8ebaa8e26227dbe3cdefcdcd594f" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.12" +version = "0.10.3" +weakdeps = ["Random", "Test"] + + [deps.TranscodingStreams.extensions] + TestExt = ["Test", "Random"] [[deps.TupleTools]] -git-tree-sha1 = "3c712976c47707ff893cf6ba4354aa14db1d8938" +git-tree-sha1 = "41d61b1c545b06279871ef1a4b5fcb2cac2191cd" uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" -version = "1.3.0" +version = "1.5.0" [[deps.URIs]] -git-tree-sha1 = "074f993b0ca030848b897beff716d93aca60f06a" +git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.4.2" +version = "1.5.1" [[deps.UUIDs]] deps = ["Random", "SHA"] @@ -1092,9 +1368,9 @@ version = "0.2.1" [[deps.UnsafeAtomicsLLVM]] deps = ["LLVM", "UnsafeAtomics"] -git-tree-sha1 = "ea37e6066bf194ab78f4e747f5245261f17a7175" +git-tree-sha1 = "323e3d0acf5e78a56dfae7bd8928c989b4f3083e" uuid = "d80eeb9a-aca5-4d75-85e5-170c8b632249" -version = "0.1.2" +version = "0.1.3" [[deps.VersionParsing]] git-tree-sha1 = "58d6e80b4ee071f5efd07fda82cb9fbe17200868" @@ -1102,27 +1378,39 @@ uuid = "81def892-9a0e-5fdd-b105-ffc91e053289" version = "1.3.0" [[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "93c41695bc1c08c46c5899f4fe06d6ead504bb73" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] +git-tree-sha1 = "801cbe47eae69adc50f36c3caec4758d2650741b" uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.10.3+0" +version = "2.12.2+0" [[deps.Zlib_jll]] deps = ["Libdl"] uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.12+3" +version = "1.2.13+1" + +[[deps.Zstd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.5.5+0" + +[[deps.libaec_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "eddd19a8dea6b139ea97bdc8a0e2667d4b661720" +uuid = "477f73a3-ac25-53e9-8cc3-50b2fa2566f0" +version = "1.0.6+1" [[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] +deps = ["Artifacts", "Libdl"] uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.1.1+0" +version = "5.8.0+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"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+0" +version = "17.4.0+2" diff --git a/Project.toml b/Project.toml index 3501735e..764d6a01 100644 --- a/Project.toml +++ b/Project.toml @@ -28,7 +28,6 @@ Suppressor = "fd094767-a336-5f1f-9728-57cf17d0bbfb" [compat] BlockDiagonals = "0.1.36" -CUDA = "4" DataDeps = "0.7" Distributions = "0.25" DocStringExtensions = "0.8, 0.9" @@ -37,7 +36,7 @@ GaussianProcesses = "0.12" JLD2 = "0.4" LineSearches = "7" MPI = "0.20" -Oceananigans = "0.81" +Oceananigans = "0.90" OffsetArrays = "1" OrderedCollections = "1" ProgressBars = "1" diff --git a/src/InverseProblems.jl b/src/InverseProblems.jl index 6e4846df..d967c47f 100644 --- a/src/InverseProblems.jl +++ b/src/InverseProblems.jl @@ -32,7 +32,7 @@ import ..Parameters: closure_with_parameters using Oceananigans: run!, fields, FieldTimeSeries, CPU using Oceananigans.Architectures: architecture -using Oceananigans.OutputReaders: InMemory +using Oceananigans.OutputReaders: InMemory, Linear using Oceananigans.Fields: interior, location using Oceananigans.Utils: prettysummary using Oceananigans.Grids: Flat, Bounded, @@ -572,7 +572,8 @@ function transpose_model_output(collector_grid::SingleColumnGrid, time_series_co raw_data = parent(field_time_series.data) data = OffsetArray(view(raw_data, :, j:j, :, :), 0, 0, -Hz, 0) - time_series = FieldTimeSeries{LX, LY, LZ, InMemory}(data, grid, nothing, times, indices) + time_series = FieldTimeSeries{LX, LY, LZ}(data, grid, InMemory(), nothing, + indices, times, nothing, nothing, Linear()) time_serieses[name] = time_series end diff --git a/src/Observations.jl b/src/Observations.jl index dedb1bf5..11a17cd7 100644 --- a/src/Observations.jl +++ b/src/Observations.jl @@ -230,11 +230,11 @@ const not_metadata_names = ("serialized", "timeseries") read_group(group::JLD2.Group) = NamedTuple(Symbol(subgroup) => read_group(group[subgroup]) for subgroup in keys(group)) read_group(group) = group -using Oceananigans.Grids: ZRegRectilinearGrid +using Oceananigans.Grids: ZRegularRG function with_size(new_size, old_grid) - old_grid isa ZRegRectilinearGrid || + old_grid isa ZRegularRG || error("Cannot remake stretched grid \n $old_grid \n with a new size!") topo = topology(old_grid) @@ -393,6 +393,8 @@ function FieldTimeSeriesCollector(collected_fields, times; collected_fields = averaged_collected_fields end + times = collect(times) + return FieldTimeSeriesCollector(grid, times, field_time_serieses, collected_fields, collection_times) end From d8e34c06a95152ffc998ae584f3fe3245292682f Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Wed, 28 Feb 2024 11:17:25 -0500 Subject: [PATCH 02/24] Update Oceananigans compat --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 3501735e..3616e835 100644 --- a/Project.toml +++ b/Project.toml @@ -37,7 +37,7 @@ GaussianProcesses = "0.12" JLD2 = "0.4" LineSearches = "7" MPI = "0.20" -Oceananigans = "0.81" +Oceananigans = "0.90" OffsetArrays = "1" OrderedCollections = "1" ProgressBars = "1" From 94bda76cf3bb84fc9759e8722e2de0ae62659748 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Wed, 28 Feb 2024 11:18:45 -0500 Subject: [PATCH 03/24] Bump version --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 764d6a01..273cefbc 100644 --- a/Project.toml +++ b/Project.toml @@ -2,7 +2,7 @@ name = "ParameterEstimocean" uuid = "eca81dc5-87a6-4430-aec8-c76695404a43" license = "MIT" authors = ["Climate Modeling Alliance and contributors"] -version = "0.14.3" +version = "0.14.4" [deps] BlockDiagonals = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0" From 639967ff77ce3c24afc7fc0f4ccae42f20568753 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Wed, 28 Feb 2024 11:21:50 -0500 Subject: [PATCH 04/24] Update manifest --- Manifest.toml | 216 ++++++++++++++++++++++++++++++++------------------ 1 file changed, 138 insertions(+), 78 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index b44bf194..66aaebbd 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-beta3" +julia_version = "1.10.0" manifest_format = "2.0" project_hash = "baeb066f541e6e27bf84370578e1c12f0a285b72" @@ -22,15 +22,15 @@ weakdeps = ["ChainRulesCore", "Test"] AbstractFFTsTestExt = "Test" [[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"] -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] @@ -42,9 +42,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" @@ -82,9 +82,9 @@ uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" [[deps.BenchmarkTools]] deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"] -git-tree-sha1 = "f1f03a9fa24271160ed7e73051fba3c1a759b53f" +git-tree-sha1 = "f1dff6729bc61f4d49e140da1af55dcd1ac97b2f" uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf" -version = "1.4.0" +version = "1.5.0" [[deps.BitFlags]] git-tree-sha1 = "2dc09997850d68179b69dafb58ae806167a32b1b" @@ -97,6 +97,12 @@ git-tree-sha1 = "920d3775e35c519a2aced9e7bbe9ac61218eeead" uuid = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0" version = "0.1.42" +[[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" @@ -110,15 +116,15 @@ version = "0.5.0" [[deps.CFTime]] deps = ["Dates", "Printf"] -git-tree-sha1 = "ed2e76c1c3c43fd9d0cb9248674620b29d71f2d1" +git-tree-sha1 = "5afb5c5ba2688ca43a9ad2e5a91cbb93921ccfa1" uuid = "179af706-886a-5703-950a-314cd64e0468" -version = "0.1.2" +version = "0.1.3" [[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" weakdeps = ["ChainRulesCore", "SpecialFunctions"] [deps.CUDA.extensions] @@ -139,15 +145,15 @@ 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.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] @@ -178,10 +184,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 = "d7d7b58e149f19c322840a50d1bc20e8c23addb4" uuid = "1fbeeb36-5f17-413c-809b-666fb144f157" -version = "0.2.5" +version = "0.3.5" [[deps.CommonSubexpressions]] deps = ["MacroTools", "Test"] @@ -191,9 +197,9 @@ version = "0.3.0" [[deps.Compat]] deps = ["TOML", "UUIDs"] -git-tree-sha1 = "75bd5b6fc5089df449b5d35fa501c846c9b6549b" +git-tree-sha1 = "c955881e3c981181362ae4088b35995446298b80" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.12.0" +version = "4.14.0" weakdeps = ["Dates", "LinearAlgebra"] [deps.Compat.extensions] @@ -248,9 +254,9 @@ version = "1.16.0" [[deps.DataDeps]] deps = ["HTTP", "Libdl", "Reexport", "SHA", "Scratch", "p7zip_jll"] -git-tree-sha1 = "d481f6419c262edcb7294179bd63249d123eb081" +git-tree-sha1 = "8ae085b71c462c2cb1cfedcb10c3c877ec6cf03f" uuid = "124859b0-ceae-595e-8997-d05f6a7a8dfe" -version = "0.7.12" +version = "0.7.13" [[deps.DataFrames]] deps = ["Compat", "DataAPI", "DataStructures", "Future", "InlineStrings", "InvertedIndices", "IteratorInterfaceExtensions", "LinearAlgebra", "Markdown", "Missings", "PooledArrays", "PrecompileTools", "PrettyTables", "Printf", "REPL", "Random", "Reexport", "SentinelArrays", "SortingAlgorithms", "Statistics", "TableTraits", "Tables", "Unicode"] @@ -260,9 +266,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" @@ -447,17 +453,22 @@ weakdeps = ["StaticArrays"] 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 = "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"] @@ -476,6 +487,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", "Zlib_jll"] +git-tree-sha1 = "f3c0936dd685d57fa0b1eee7dbebf382b969ea63" +uuid = "0951126a-58fd-58f1-b5b3-b08c7c4a876d" +version = "3.8.3+0" + [[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" @@ -484,9 +501,15 @@ version = "1.14.3+1" [[deps.HTTP]] deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "abbbb9ec3afd783a7cbd82ef01dcd088ea051398" +git-tree-sha1 = "ac7b73d562b8f4287c3b67b4c66a5395a19c1ae8" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.10.1" +version = "1.10.2" + +[[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" @@ -533,9 +556,9 @@ version = "0.1.1" [[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" @@ -544,9 +567,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"] @@ -580,9 +603,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" @@ -598,9 +621,9 @@ version = "0.10.1" [[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] @@ -608,9 +631,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" @@ -643,7 +666,7 @@ version = "0.6.4" [[deps.LibCURL_jll]] deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "8.0.1+1" +version = "8.4.0+0" [[deps.LibGit2]] deps = ["Base64", "LibGit2_jll", "NetworkOptions", "Printf", "SHA"] @@ -680,9 +703,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" @@ -703,6 +726,12 @@ git-tree-sha1 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" version = "1.0.3" +[[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" @@ -724,10 +753,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"] @@ -736,10 +765,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"] @@ -753,9 +782,9 @@ uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[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 = "679c1aec6934d322783bd15db4d18f898653be4f" uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "1.25.2" +version = "1.27.0" [[deps.MbedTLS]] deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] @@ -770,9 +799,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"] @@ -789,15 +818,15 @@ version = "2023.1.10" [[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 = "173a378f357e9bb24b22019efb5e4778223ce8cf" +git-tree-sha1 = "98ca95cf41116a24e46dc9a06fa22b923e8411b7" uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.13.2" +version = "0.14.2" [[deps.NLSolversBase]] deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] @@ -824,10 +853,16 @@ 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.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" @@ -835,9 +870,9 @@ version = "1.2.0" [[deps.Oceananigans]] deps = ["Adapt", "CUDA", "Crayons", "CubedSphere", "Dates", "Distances", "DocStringExtensions", "FFTW", "Glob", "IncompleteLU", "InteractiveUtils", "IterativeSolvers", "JLD2", "KernelAbstractions", "LinearAlgebra", "Logging", "MPI", "NCDatasets", "OffsetArrays", "OrderedCollections", "PencilArrays", "PencilFFTs", "Pkg", "Printf", "Random", "Rotations", "SeawaterPolynomials", "SparseArrays", "Statistics", "StructArrays"] -path = "/Users/gregorywagner/Projects/Oceananigans.jl" +git-tree-sha1 = "1910b8553f78cdd9a8496f51ea693b3adbd6b984" uuid = "9e8cae18-63c1-5223-a75c-80ca9d6e9a09" -version = "0.90.7" +version = "0.90.9" [deps.Oceananigans.extensions] OceananigansEnzymeExt = "Enzyme" @@ -905,6 +940,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.PDMats]] deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse", "Test"] git-tree-sha1 = "95a4038d1011dfdbde7cecd2ad0ac411e53ab1bc" @@ -1032,9 +1073,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"] @@ -1195,9 +1236,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" weakdeps = ["ChainRulesCore", "Statistics"] [deps.StaticArrays.extensions] @@ -1260,10 +1301,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"] @@ -1276,9 +1324,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 = "7.2.0+1" +version = "7.2.1+1" [[deps.Suppressor]] deps = ["Logging"] @@ -1379,9 +1427,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 = "37195dcb94a5970397ad425b95a9a26d0befce3a" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.6.0+0" [[deps.Zlib_jll]] deps = ["Libdl"] @@ -1396,15 +1450,21 @@ version = "1.5.5+0" [[deps.libaec_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "eddd19a8dea6b139ea97bdc8a0e2667d4b661720" +git-tree-sha1 = "46bf7be2917b59b761247be3f317ddf75e50e997" uuid = "477f73a3-ac25-53e9-8cc3-50b2fa2566f0" -version = "1.0.6+1" +version = "1.1.2+0" [[deps.libblastrampoline_jll]] 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 = "3282b7d16ae7ac3e57ec2f3fa8fafb564d8f9f7f" +uuid = "337d8026-41b4-5cde-a456-74a10e5b31d1" +version = "1.10.1+0" + [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" From 23355d72a89c91734d17f9640dc0aaac8f019a68 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Wed, 28 Feb 2024 12:13:34 -0500 Subject: [PATCH 05/24] Update CI to 1.10 --- .github/workflows/Documenter.yml | 2 +- .github/workflows/ci.yml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/Documenter.yml b/.github/workflows/Documenter.yml index 9a4c2115..73e91ee1 100644 --- a/.github/workflows/Documenter.yml +++ b/.github/workflows/Documenter.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/checkout@v3 - uses: julia-actions/setup-julia@latest with: - version: 1.8 + version: 1.10 show-versioninfo: true - name: Install dependencies run: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b8ca3d6e..fbc09567 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -12,7 +12,7 @@ jobs: fail-fast: false matrix: version: - - '1.8' + - '1.10' # We don't want to test on Julia versions more recent than 1.6 until we # figure out a robust solution for serializing / deserializing Oceananigans Grids. # - '1' # automatically expands to the latest stable 1.x release of Julia @@ -26,13 +26,13 @@ jobs: # test macOS and Windows with latest Julia only - os: macOS-latest arch: x64 - version: 1.8 + version: 1.10 - os: windows-latest arch: x64 - version: 1.8 + version: 1.10 - os: windows-latest arch: x86 - version: 1.8 + version: 1.10 steps: - uses: actions/checkout@v3 - uses: julia-actions/setup-julia@latest From c653ed09eb281fe7ecde407eb0e7b00125137722 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Wed, 28 Feb 2024 12:14:52 -0500 Subject: [PATCH 06/24] Remove veriosn from ci? --- .github/workflows/ci.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fbc09567..29bcc167 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,13 +26,10 @@ jobs: # test macOS and Windows with latest Julia only - os: macOS-latest arch: x64 - version: 1.10 - os: windows-latest arch: x64 - version: 1.10 - os: windows-latest arch: x86 - version: 1.10 steps: - uses: actions/checkout@v3 - uses: julia-actions/setup-julia@latest From b482d3af3b43489e9b7ab7cae853752813c28091 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Wed, 28 Feb 2024 12:15:49 -0500 Subject: [PATCH 07/24] Use quotes around 1.10 --- .github/workflows/Documenter.yml | 2 +- .github/workflows/ci.yml | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/Documenter.yml b/.github/workflows/Documenter.yml index 73e91ee1..e09ad953 100644 --- a/.github/workflows/Documenter.yml +++ b/.github/workflows/Documenter.yml @@ -18,7 +18,7 @@ jobs: - uses: actions/checkout@v3 - uses: julia-actions/setup-julia@latest with: - version: 1.10 + version: '1.10' show-versioninfo: true - name: Install dependencies run: | diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 29bcc167..e135d5ab 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -26,10 +26,13 @@ jobs: # test macOS and Windows with latest Julia only - os: macOS-latest arch: x64 + version: '1.10' - os: windows-latest arch: x64 + version: '1.10' - os: windows-latest arch: x86 + version: '1.10' steps: - uses: actions/checkout@v3 - uses: julia-actions/setup-julia@latest From 9fef51e0087e974edf02c8b0de7380c7250e50dc Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Tue, 12 Mar 2024 16:25:02 -0600 Subject: [PATCH 08/24] Update for new Oceananigans --- test/test_synthetic_observations.jl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/test/test_synthetic_observations.jl b/test/test_synthetic_observations.jl index e9fa3935..9274257e 100644 --- a/test/test_synthetic_observations.jl +++ b/test/test_synthetic_observations.jl @@ -11,8 +11,8 @@ using Oceananigans.TurbulenceClosures: ConvectiveAdjustmentVerticalDiffusivity # Generate synthetic observations Nz = 16 Lz = 128 - Qᵇ = 1e-8 - Qᵘ = -1e-5 + Jᵇ = 1e-8 + Jᵘ = -1e-5 Δt = 20.0 f₀ = 1e-4 N² = 1e-5 @@ -34,17 +34,17 @@ using Oceananigans.TurbulenceClosures: ConvectiveAdjustmentVerticalDiffusivity closure = ConvectiveAdjustmentVerticalDiffusivity(; convective_κz, background_κz, convective_νz, background_νz) coriolis = FPlane(f=f₀) - u_bcs = FieldBoundaryConditions(top = FluxBoundaryCondition(Qᵘ)) - b_bcs = FieldBoundaryConditions(top = FluxBoundaryCondition(Qᵇ), bottom = GradientBoundaryCondition(N²)) + u_bcs = FieldBoundaryConditions(top = FluxBoundaryCondition(Jᵘ)) + b_bcs = FieldBoundaryConditions(top = FluxBoundaryCondition(Jᵇ), bottom = GradientBoundaryCondition(N²)) model = HydrostaticFreeSurfaceModel(; grid, coriolis, closure, tracers = :b, buoyancy = BuoyancyTracer(), boundary_conditions = (; u=u_bcs, b=b_bcs)) - set!(model, b = (x, y, z) -> N² * z) + set!(model, b = z -> N² * z) simulation = Simulation(model; Δt, stop_time) - init_with_parameters(file, model) = file["parameters"] = (; Qᵇ, Qᵘ, Δt, N², tracers=keys(model.tracers)) + init_with_parameters(file, model) = file["parameters"] = (; Jᵇ, Jᵘ, Δt, N², tracers=keys(model.tracers)) simulation.output_writers[:fields] = JLD2OutputWriter(model, merge(model.velocities, model.tracers), schedule = TimeInterval(save_interval), filename = experiment_name, From db54028a1b64c9735f09a0e44b0c5f1356e911d5 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Fri, 15 Mar 2024 23:43:11 -0400 Subject: [PATCH 09/24] Change arch_array to on_architecture --- ...calibrate_zonally_averaged_baroclinic_adjustment.jl | 4 ++-- examples/intro_to_inverse_problems.jl | 10 +++++----- src/EnsembleSimulations.jl | 6 +++--- src/Observations.jl | 6 +++--- src/Parameters.jl | 6 +++--- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/examples/calibrate_zonally_averaged_baroclinic_adjustment.jl b/examples/calibrate_zonally_averaged_baroclinic_adjustment.jl index 5a6912ee..4c371c09 100644 --- a/examples/calibrate_zonally_averaged_baroclinic_adjustment.jl +++ b/examples/calibrate_zonally_averaged_baroclinic_adjustment.jl @@ -8,7 +8,7 @@ using Oceananigans.Models.HydrostaticFreeSurfaceModels: SliceEnsembleSize using Oceananigans.TurbulenceClosures: FluxTapering using LinearAlgebra, CairoMakie, DataDeps, JLD2 -using Oceananigans.Architectures: arch_array +using Oceananigans.Architectures: on_architecture # using ElectronDisplay @@ -84,7 +84,7 @@ close(file) gent_mcwilliams_diffusivity = IsopycnalSkewSymmetricDiffusivity(slope_limiter = FluxTapering(1e-2)) -gm_closure_ensemble = arch_array(architecture, [deepcopy(gent_mcwilliams_diffusivity) for _ = 1:Nensemble]) +gm_closure_ensemble = on_architecture(architecture, [deepcopy(gent_mcwilliams_diffusivity) for _ = 1:Nensemble]) closure_ensemble = (gm_closure_ensemble, closures[1], closures[2]) diff --git a/examples/intro_to_inverse_problems.jl b/examples/intro_to_inverse_problems.jl index f1478575..b177a38c 100644 --- a/examples/intro_to_inverse_problems.jl +++ b/examples/intro_to_inverse_problems.jl @@ -19,7 +19,7 @@ using ParameterEstimocean using Oceananigans -using Oceananigans.Architectures: arch_array +using Oceananigans.Architectures: on_architecture using Oceananigans.Units using Oceananigans.Models.HydrostaticFreeSurfaceModels: ColumnEnsembleSize using Oceananigans.TurbulenceClosures: ConvectiveAdjustmentVerticalDiffusivity @@ -64,7 +64,7 @@ function extract_perfect_parameters(observations, Nensemble) Qᵘ[:, j] .= obs.metadata.parameters.Qᵘ Qᵇ[:, j] .= obs.metadata.parameters.Qᵇ N²[:, j] .= obs.metadata.parameters.N² - f[:, j] .= obs.metadata.coriolis.f + f[:, j] .= obs.metadata.coriolis.f end file = jldopen(first(observations).path) @@ -90,10 +90,10 @@ function build_ensemble_simulation(observations, arch=CPU(); Nensemble=1) column_ensemble_size = ColumnEnsembleSize(Nz=Nz, ensemble=(Nensemble, Nbatch), Hz=Hz) ensemble_grid = RectilinearGrid(arch, size = column_ensemble_size, topology = (Flat, Flat, Bounded), z = (-Lz, 0)) - coriolis_ensemble = arch_array(arch, [FPlane(f=f[i, j]) for i = 1:Nensemble, j=1:Nbatch]) - closure_ensemble = arch_array(arch, [deepcopy(closure) for i = 1:Nensemble, j=1:Nbatch]) + coriolis_ensemble = on_architecture(arch, [FPlane(f=f[i, j]) for i = 1:Nensemble, j=1:Nbatch]) + closure_ensemble = on_architecture(arch, [deepcopy(closure) for i = 1:Nensemble, j=1:Nbatch]) - Qᵘ, Qᵇ, N² = Tuple(arch_array(arch, p) for p in (Qᵘ, Qᵇ, N²)) + Qᵘ, Qᵇ, N² = Tuple(on_architecture(arch, p) for p in (Qᵘ, Qᵇ, N²)) u_bcs = FieldBoundaryConditions(top = FluxBoundaryCondition(Qᵘ)) b_bcs = FieldBoundaryConditions(top = FluxBoundaryCondition(Qᵇ), bottom = GradientBoundaryCondition(N²)) diff --git a/src/EnsembleSimulations.jl b/src/EnsembleSimulations.jl index 9365b5de..d5c3a008 100644 --- a/src/EnsembleSimulations.jl +++ b/src/EnsembleSimulations.jl @@ -9,7 +9,7 @@ using ..Observations: SyntheticObservations, batch, tupleit using Oceananigans using Oceananigans.Models.HydrostaticFreeSurfaceModels: ColumnEnsembleSize -using Oceananigans.Architectures: arch_array +using Oceananigans.Architectures: on_architecture function ensemble_column_model_simulation(observations; closure, @@ -40,10 +40,10 @@ function ensemble_column_model_simulation(observations; z = (-Lz, 0)) coriolis_ensemble = [FPlane(f=observations[j].metadata.coriolis.f) for i = 1:Nensemble, j=1:Nbatch] - coriolis_ensemble = arch_array(architecture, coriolis_ensemble) + coriolis_ensemble = on_architecture(architecture, coriolis_ensemble) closure_ensemble = [deepcopy(closure) for i = 1:Nensemble, j=1:Nbatch] - closure_ensemble = arch_array(architecture, closure_ensemble) + closure_ensemble = on_architecture(architecture, closure_ensemble) if isnothing(non_ensemble_closure) closure = closure_ensemble diff --git a/src/Observations.jl b/src/Observations.jl index 11a17cd7..b6b64bc0 100644 --- a/src/Observations.jl +++ b/src/Observations.jl @@ -15,7 +15,7 @@ using Oceananigans.Grids: pop_flat_elements, topology, halo_size, on_architectur using Oceananigans.TimeSteppers: update_state!, reset! using Oceananigans.Fields: indices using Oceananigans.Utils: SpecifiedTimes, prettytime -using Oceananigans.Architectures: arch_array, architecture +using Oceananigans.Architectures: on_architecture, architecture using Oceananigans.OutputWriters: WindowedTimeAverage, AveragedSpecifiedTimes using JLD2 @@ -331,7 +331,7 @@ function set!(model, observations::BatchedSyntheticObservations, time_index=1) observations_data = column_ensemble_interior(observations, field_name, time_index, model_field_size) # Reshape `observations_data` to the size of `model_field`'s interior - reshaped_data = arch_array(architecture(model_field), reshape(observations_data, size(model_field))) + reshaped_data = on_architecture(architecture(model_field), reshape(observations_data, size(model_field))) # Sets the interior of field `model_field` to values of `reshaped_data` model_field .= reshaped_data @@ -417,7 +417,7 @@ function (collector::FieldTimeSeriesCollector)(simulation) field_time_series = collector.field_time_serieses[field_name] if architecture(collector.grid) != architecture(simulation.model.grid) arch = architecture(collector.grid) - device_collected_field_data = arch_array(arch, parent(collector.collected_fields[field_name])) + device_collected_field_data = on_architecture(arch, parent(collector.collected_fields[field_name])) parent(field_time_series[time_index]) .= device_collected_field_data else set!(field_time_series[time_index], collector.collected_fields[field_name]) diff --git a/src/Parameters.jl b/src/Parameters.jl index 680738b2..d78a0477 100644 --- a/src/Parameters.jl +++ b/src/Parameters.jl @@ -2,7 +2,7 @@ module Parameters export FreeParameters, lognormal, ScaledLogitNormal -using Oceananigans.Architectures: CPU, arch_array, architecture +using Oceananigans.Architectures: CPU, on_architecture, architecture using Oceananigans.Utils: prettysummary using Oceananigans.TurbulenceClosures: AbstractTurbulenceClosure, ScalarDiffusivity using Oceananigans.TurbulenceClosures: AbstractTimeDiscretization, ExplicitTimeDiscretization @@ -590,13 +590,13 @@ the parameters for the any closure that is of type `AbstractArray`. The `arch`it (`CPU()` or `GPU()`) defines whethere `Array` or `CuArray` is returned. """ function new_closure_ensemble(closures::AbstractArray, parameter_ensemble, arch) - cpu_closures = arch_array(CPU(), closures) + cpu_closures = on_architecture(CPU(), closures) for (k, θₖ) in enumerate(parameter_ensemble) update_closure_ensemble_member!(cpu_closures, k, θₖ) end - return arch_array(arch, cpu_closures) + return on_architecture(arch, cpu_closures) end new_closure_ensemble(closures::Tuple, parameter_ensemble, arch) = From 0846fbbb25fc7779185999d55eae44de489e77f2 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Sun, 17 Mar 2024 14:05:37 -0400 Subject: [PATCH 10/24] Fuss with eki_objective --- src/iteration_summary.jl | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/iteration_summary.jl b/src/iteration_summary.jl index 01c5ca58..225e1a25 100644 --- a/src/iteration_summary.jl +++ b/src/iteration_summary.jl @@ -51,15 +51,21 @@ function eki_objective(eki, θ, G::AbstractVector; constrained = false, augmente y = eki.precomputed_arrays[:y_augmented] inv_sqrt_Σ = eki.precomputed_arrays[:inv_sqrt_Σ] η_mean_augmented = eki.precomputed_arrays[:η_mean_augmented] - Φ₁ = (1/2) * norm(inv_sqrt_Σ * (y - G - η_mean_augmented))^2 + Φ₁ = 1/2 * norm(inv_sqrt_Σ * (y - G - η_mean_augmented))^2 return (Φ₁, 0) end - # Φ₁ = (1/2)*|| Γy^(-½) * (y - G) ||² - Φ₁ = (1/2) * norm(inv_sqrt_Γy * (y .- G))^2 + # Φ₁ = 1/2 * || Γy^(-½) * (y - G) ||² + error = inv_sqrt_Γy * (y - G) + Φ₁ = 1/2 * norm(error)^2 - # Φ₂ = (1/2)*|| Γθ^(-½) * (θ - μθ) ||² - Φ₂ = eki.tikhonov ? (1/2) * norm(inv_sqrt_Γθ * (θ .- μθ))^2 : 0 + # Φ₂ = 1/2 * || Γθ^(-½) * (θ - μθ) ||² + if eki.tikhonov + parameter_variance = inv_sqrt_Γθ * (θ - μθ) + Φ₂ = 1/2 * norm(parameter_variance) + else + Φ₂ = 0 + end return (Φ₁, Φ₂) end From cf47cd584b3ac84fb171f462764406253d8f9fa9 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Thu, 21 Mar 2024 16:02:57 -0700 Subject: [PATCH 11/24] Update Oceananigans --- Manifest.toml | 100 ++++++++++++++++++++++++++++---------------------- 1 file changed, 56 insertions(+), 44 deletions(-) diff --git a/Manifest.toml b/Manifest.toml index 66aaebbd..2e1965aa 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -28,9 +28,9 @@ version = "0.4.5" [[deps.Adapt]] deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "0fb305e0253fd4e833d486914367a2ee2c2e78d0" +git-tree-sha1 = "6a55b747d1812e699320963ffde36f1ebdda4099" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "4.0.1" +version = "4.0.4" weakdeps = ["StaticArrays"] [deps.Adapt.extensions] @@ -41,16 +41,18 @@ uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" version = "1.1.1" [[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "c5aeb516a84459e0318a02507d2261edad97eb75" +deps = ["Adapt", "LinearAlgebra", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "44691067188f6bd1b2289552a23e4b7572f4528d" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.7.1" +version = "7.9.0" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" ArrayInterfaceCUDAExt = "CUDA" + ArrayInterfaceChainRulesExt = "ChainRules" ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" + ArrayInterfaceReverseDiffExt = "ReverseDiff" ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" ArrayInterfaceTrackerExt = "Tracker" @@ -58,7 +60,9 @@ version = "7.7.1" BandedMatrices = "aae01518-5342-5314-be14-df237901396f" BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + ChainRules = "082447d4-558c-5d27-93f4-14fc19e9eca2" GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" @@ -151,9 +155,9 @@ version = "0.11.1+0" [[deps.ChainRulesCore]] deps = ["Compat", "LinearAlgebra"] -git-tree-sha1 = "aef70bb349b20aa81a82a19704c3ef339d4ee494" +git-tree-sha1 = "575cd02e080939a33b6df6c5853d14924c08e35b" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.22.1" +version = "1.23.0" weakdeps = ["SparseArrays"] [deps.ChainRulesCore.extensions] @@ -212,15 +216,15 @@ version = "1.0.5+1" [[deps.ConcurrentUtilities]] deps = ["Serialization", "Sockets"] -git-tree-sha1 = "9c4708e3ed2b799e6124b5673a712dda0b596a9b" +git-tree-sha1 = "6cbbd4d241d7e6579ab354737f4dd95ca43946e1" uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.3.1" +version = "2.4.1" [[deps.ConstructionBase]] deps = ["LinearAlgebra"] -git-tree-sha1 = "c53fc348ca4d40d7b371e71fd52251839080cbc9" +git-tree-sha1 = "260fd2400ed2dab602a7c15cf10c1933c59930a2" uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.5.4" +version = "1.5.5" [deps.ConstructionBase.extensions] ConstructionBaseIntervalSetsExt = "IntervalSets" @@ -266,9 +270,9 @@ version = "1.6.1" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "1fb174f0d48fe7d142e1109a10636bc1d14f5ac2" +git-tree-sha1 = "0f4b5d62a88d8f59003e43c25a8a90de9eb76317" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.17" +version = "0.18.18" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" @@ -393,9 +397,9 @@ version = "0.4.9" [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "c5c28c245101bd59154f649e19b038d15901b5dc" +git-tree-sha1 = "82d8afa92ecf4b52d78d869f038ebfb881267322" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.2" +version = "1.16.3" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" @@ -413,9 +417,9 @@ weakdeps = ["SparseArrays", "Statistics"] [[deps.FiniteDiff]] deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays"] -git-tree-sha1 = "73d1214fec245096717847c62d389a5d2ac86504" +git-tree-sha1 = "bc0c5092d6caaea112d3c8e3b238d61563c58d5f" uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.22.0" +version = "2.23.0" [deps.FiniteDiff.extensions] FiniteDiffBandedMatricesExt = "BandedMatrices" @@ -501,9 +505,9 @@ version = "1.14.3+1" [[deps.HTTP]] deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "ac7b73d562b8f4287c3b67b4c66a5395a19c1ae8" +git-tree-sha1 = "995f762e0182ebc50548c434c171a5bb6635f8e4" uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.10.2" +version = "1.10.4" [[deps.Hwloc_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -540,9 +544,13 @@ uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" [[deps.InverseFunctions]] deps = ["Test"] -git-tree-sha1 = "68772f49f54b479fa88ace904f6127f0a3bb2e46" +git-tree-sha1 = "896385798a8d49a255c398bd49162062e4a4c435" uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.12" +version = "0.1.13" +weakdeps = ["Dates"] + + [deps.InverseFunctions.extensions] + DatesExt = "Dates" [[deps.InvertedIndices]] git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038" @@ -603,9 +611,9 @@ version = "0.2.1+0" [[deps.KernelAbstractions]] deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "PrecompileTools", "Requires", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "c7753cc3febe006708ce6798482004241f7d890b" +git-tree-sha1 = "ed7167240f40e62d97c1f5f7735dea6de3cc5c49" uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.9.17" +version = "0.9.18" [deps.KernelAbstractions.extensions] EnzymeExt = "EnzymeCore" @@ -621,9 +629,9 @@ version = "0.10.1" [[deps.LLVM]] deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Requires", "Unicode"] -git-tree-sha1 = "ddab4d40513bce53c8e3157825e245224f74fae7" +git-tree-sha1 = "ab01dde107f21aa76144d0771dccc08f152ccac7" uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "6.6.0" +version = "6.6.2" weakdeps = ["BFloat16s"] [deps.LLVM.extensions] @@ -824,9 +832,9 @@ version = "1.4.1" [[deps.NCDatasets]] deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "DiskArrays", "NetCDF_jll", "NetworkOptions", "Printf"] -git-tree-sha1 = "98ca95cf41116a24e46dc9a06fa22b923e8411b7" +git-tree-sha1 = "d40d24d12f710c39d3a66be99c567ce0032f28a7" uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.14.2" +version = "0.14.3" [[deps.NLSolversBase]] deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] @@ -870,9 +878,9 @@ version = "1.2.0" [[deps.Oceananigans]] deps = ["Adapt", "CUDA", "Crayons", "CubedSphere", "Dates", "Distances", "DocStringExtensions", "FFTW", "Glob", "IncompleteLU", "InteractiveUtils", "IterativeSolvers", "JLD2", "KernelAbstractions", "LinearAlgebra", "Logging", "MPI", "NCDatasets", "OffsetArrays", "OrderedCollections", "PencilArrays", "PencilFFTs", "Pkg", "Printf", "Random", "Rotations", "SeawaterPolynomials", "SparseArrays", "Statistics", "StructArrays"] -git-tree-sha1 = "1910b8553f78cdd9a8496f51ea693b3adbd6b984" +git-tree-sha1 = "4672af7242405313743af45168bfce3d87b84b2c" uuid = "9e8cae18-63c1-5223-a75c-80ca9d6e9a09" -version = "0.90.9" +version = "0.90.11" [deps.Oceananigans.extensions] OceananigansEnzymeExt = "Enzyme" @@ -913,9 +921,9 @@ version = "4.1.6+0" [[deps.OpenSSL]] deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "51901a49222b09e3743c65b8847687ae5fc78eb2" +git-tree-sha1 = "af81a32750ebc831ee28bdaaba6e1067decef51e" uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.4.1" +version = "1.4.2" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -930,10 +938,14 @@ uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" version = "0.5.5+0" [[deps.Optim]] -deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "MathOptInterface", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] -git-tree-sha1 = "d024bfb56144d947d4fafcd9cb5cafbe3410b133" +deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "PackageExtensionCompat", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] +git-tree-sha1 = "d1223e69af90b6d26cea5b6f3b289b3148ba702c" uuid = "429524aa-4258-5aef-a3af-852621145aeb" -version = "1.9.2" +version = "1.9.3" +weakdeps = ["MathOptInterface"] + + [deps.Optim.extensions] + OptimMOIExt = "MathOptInterface" [[deps.OrderedCollections]] git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" @@ -1015,15 +1027,15 @@ version = "0.2.4" [[deps.PrecompileTools]] deps = ["Preferences"] -git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" +git-tree-sha1 = "5aa36f7049a63a1528fe8f7c3f2113413ffd4e1f" uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.2.0" +version = "1.2.1" [[deps.Preferences]] deps = ["TOML"] -git-tree-sha1 = "00805cd429dcb4870060ff49ef443486c262e38e" +git-tree-sha1 = "9306f6085165d270f7e3db02af26a400d580f5c6" uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.1" +version = "1.4.3" [[deps.PrettyTables]] deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"] @@ -1047,9 +1059,9 @@ version = "1.5.1" [[deps.ProgressMeter]] deps = ["Distributed", "Printf"] -git-tree-sha1 = "00099623ffee15972c16111bcf84c58a0051257c" +git-tree-sha1 = "763a8ceb07833dd51bb9e3bbca372de32c0605ad" uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.9.0" +version = "1.10.0" [[deps.QuadGK]] deps = ["DataStructures", "LinearAlgebra"] @@ -1379,9 +1391,9 @@ uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" version = "0.5.23" [[deps.TranscodingStreams]] -git-tree-sha1 = "54194d92959d8ebaa8e26227dbe3cdefcdcd594f" +git-tree-sha1 = "a09c933bebed12501890d8e92946bbab6a1690f1" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.10.3" +version = "0.10.5" weakdeps = ["Random", "Test"] [deps.TranscodingStreams.extensions] @@ -1433,9 +1445,9 @@ version = "2.12.5+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "37195dcb94a5970397ad425b95a9a26d0befce3a" +git-tree-sha1 = "31c421e5516a6248dfb22c194519e37effbf1f30" uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.6.0+0" +version = "5.6.1+0" [[deps.Zlib_jll]] deps = ["Libdl"] From e2f888081c131ed8df6ed289d604dbfe7b0bcb0c Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Sat, 23 Mar 2024 09:03:44 -0700 Subject: [PATCH 12/24] Tiny bit of clean up plus asyncmap for batched inverse problem --- src/InverseProblems.jl | 9 +++++++++ src/PseudoSteppingSchemes.jl | 37 +++++++++++++++++++++++------------- src/iteration_summary.jl | 15 ++++++++------- 3 files changed, 41 insertions(+), 20 deletions(-) diff --git a/src/InverseProblems.jl b/src/InverseProblems.jl index d967c47f..81bf5ff8 100644 --- a/src/InverseProblems.jl +++ b/src/InverseProblems.jl @@ -41,6 +41,7 @@ using Oceananigans.Grids: Flat, Bounded, topology, halo_size, interior_parent_indices, cpu_face_constructor_z + using Oceananigans.Models.HydrostaticFreeSurfaceModels: SingleColumnGrid, YZSliceGrid, ColumnEnsembleSize import ..Transformations: normalize! @@ -354,11 +355,19 @@ Base.length(batch::BatchedInverseProblem) = length(batch.batch) Nensemble(batched_ip::BatchedInverseProblem) = Nensemble(first(batched_ip.batch)) function collect_forward_maps_asynchronously!(outputs, batched_ip, parameters; kw...) + #= for n = 1:length(batched_ip) ip = batched_ip[n] forward_map_output = forward_map(ip, parameters; kw...) outputs[n] = batched_ip.weights[n] * forward_map_output end + =# + + asyncmap(1:length(batched_ip), ntasks=10) do n + ip = batched_ip[n] + forward_map_output = forward_map(ip, parameters; kw...) + outputs[n] = batched_ip.weights[n] * forward_map_output + end return outputs end diff --git a/src/PseudoSteppingSchemes.jl b/src/PseudoSteppingSchemes.jl index c5a058c6..0b42f7fa 100644 --- a/src/PseudoSteppingSchemes.jl +++ b/src/PseudoSteppingSchemes.jl @@ -75,46 +75,60 @@ function iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ=1.0, perturb_observation=f # Scale noise Γy using Δt. Δt⁻¹Γy = Γy / Δtₙ - y_perturbed = zeros(length(y), N_ens) - y_perturbed .= y + if perturb_observation + ỹ = zeros(length(y), N_ens) + ỹ .= y + Δt⁻¹Γyᴴ = Matrix(Hermitian(Δt⁻¹Γy)) @assert Δt⁻¹Γyᴴ ≈ Δt⁻¹Γy + ξₙ = rand(MvNormal(μ_noise, Δt⁻¹Γyᴴ), N_ens) - y_perturbed .+= ξₙ # [N_obs x N_ens] + ỹ .+= ξₙ # [N_obs x N_ens] + else + ỹ = y end Cᶿᵍ = cov(Xₙ, Gₙ, dims = 2, corrected = false) # [N_par × N_obs] Cᵍᵍ = cov(Gₙ, Gₙ, dims = 2, corrected = false) # [N_obs × N_obs] # EKI update: θ ← θ + Cᶿᵍ(Cᵍᵍ + h⁻¹Γy)⁻¹(y + ξₙ - g) - tmp = (Cᵍᵍ + Δt⁻¹Γy) \ (y_perturbed - Gₙ) # [N_obs × N_ens] + tmp = (Cᵍᵍ + Δt⁻¹Γy) \ (ỹ - Gₙ) # [N_obs × N_ens] Xₙ₊₁ = Xₙ + (Cᶿᵍ * tmp) # [N_par × N_ens] return Xₙ₊₁ end -frobenius_norm(A) = sqrt(sum(A .^ 2)) - function compute_D(Xₙ, Gₙ, eki) y = observations(eki) - g̅ = mean(Gₙ, dims = 2) + g̅ = mean(Gₙ, dims=2) Γy⁻¹ = inv_obs_noise_covariance(eki) # Transformation matrix (D(uₙ))ᵢⱼ = ⟨ G(u⁽ʲ⁾) - g̅, Γy⁻¹(G(u⁽ⁱ⁾) - y) ⟩ - D = transpose(Gₙ .- g̅) * Γy⁻¹ * (Gₙ .- y) + G′ = Gₙ .- g̅ + + N_obs, N_ens = size(Gₙ) + y = reshape(y, N_obs, 1) + ϵ = Gₙ .- y + + D = transpose(G′) * Γy⁻¹ * ϵ return D end +frobenius_norm(A) = sqrt(sum(A.^2)) + function kovachki_2018_update(Xₙ, Gₙ, eki; Δt₀=1.0, D=nothing) - N_ens = size(Xₙ, 2) - D = isnothing(D) ? compute_D(Xₙ, Gₙ, eki) : D + + if isnothing(D) + D = compute_D(Xₙ, Gₙ, eki) + end # Calculate time step Δtₙ₋₁ = Δt₀ / (frobenius_norm(D(uₙ)) + ϵ) Δtₙ = Δt₀ / frobenius_norm(D) # Update + N_ens = size(Xₙ, 2) Xₙ₊₁ = Xₙ - (Δtₙ / N_ens) * Xₙ * D return Xₙ₊₁, Δtₙ @@ -198,7 +212,6 @@ function eki_update(pseudo_scheme::Kovachki2018, Xₙ, Gₙ, eki) initial_step_size = pseudo_scheme.initial_step_size Xₙ₊₁, Δtₙ = kovachki_2018_update(Xₙ, Gₙ, eki; Δt₀=initial_step_size) - return Xₙ₊₁, Δtₙ end @@ -317,9 +330,7 @@ function eki_update(pseudo_scheme::ThresholdedConvergenceRatio, Xₙ, Gₙ, eki; @assert det_cov_init != 0 "Ensemble covariance is singular!" while !accept_stepsize - Xₙ₊₁ = iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ) - cov_new = cov(Xₙ₊₁, dims = 2) if det(cov_new) > pseudo_scheme.cov_threshold * det_cov_init diff --git a/src/iteration_summary.jl b/src/iteration_summary.jl index 225e1a25..f1ee79a5 100644 --- a/src/iteration_summary.jl +++ b/src/iteration_summary.jl @@ -35,7 +35,7 @@ inv(sqrt(Γ))`. When keyword argument `constrained` is provided with `true` then input `θ` is assumed to represent constrained parameters. """ -function eki_objective(eki, θ, G::AbstractVector; constrained = false, augmented = false) +function eki_objective(eki, θ, G::AbstractVector; constrained=false, augmented=false) y = eki.mapped_observations Γy = eki.noise_covariance inv_sqrt_Γy = eki.precomputed_arrays[:inv_sqrt_Γy] @@ -50,19 +50,20 @@ function eki_objective(eki, θ, G::AbstractVector; constrained = false, augmente if augmented y = eki.precomputed_arrays[:y_augmented] inv_sqrt_Σ = eki.precomputed_arrays[:inv_sqrt_Σ] - η_mean_augmented = eki.precomputed_arrays[:η_mean_augmented] - Φ₁ = 1/2 * norm(inv_sqrt_Σ * (y - G - η_mean_augmented))^2 + η̃ = eki.precomputed_arrays[:η_mean_augmented] + ϵ = inv_sqrt_Σ * (y - G - η̃) + Φ₁ = norm(ϵ)^2 / 2 return (Φ₁, 0) end # Φ₁ = 1/2 * || Γy^(-½) * (y - G) ||² - error = inv_sqrt_Γy * (y - G) - Φ₁ = 1/2 * norm(error)^2 + ϵ = inv_sqrt_Γy * (y .- G) + Φ₁ = norm(ϵ)^2 / 2 # Φ₂ = 1/2 * || Γθ^(-½) * (θ - μθ) ||² if eki.tikhonov - parameter_variance = inv_sqrt_Γθ * (θ - μθ) - Φ₂ = 1/2 * norm(parameter_variance) + χ = inv_sqrt_Γθ * (θ .- μθ) + Φ₂ = norm(χ)^2 / 2 else Φ₂ = 0 end From b82a4f9a808a2a190e2a70f88bef054143b20a66 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Sat, 6 Apr 2024 11:43:22 -0400 Subject: [PATCH 13/24] Dont use asyncmap --- src/InverseProblems.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/InverseProblems.jl b/src/InverseProblems.jl index 81bf5ff8..407f8d8b 100644 --- a/src/InverseProblems.jl +++ b/src/InverseProblems.jl @@ -355,19 +355,19 @@ Base.length(batch::BatchedInverseProblem) = length(batch.batch) Nensemble(batched_ip::BatchedInverseProblem) = Nensemble(first(batched_ip.batch)) function collect_forward_maps_asynchronously!(outputs, batched_ip, parameters; kw...) - #= for n = 1:length(batched_ip) ip = batched_ip[n] forward_map_output = forward_map(ip, parameters; kw...) outputs[n] = batched_ip.weights[n] * forward_map_output end - =# + #= asyncmap(1:length(batched_ip), ntasks=10) do n ip = batched_ip[n] forward_map_output = forward_map(ip, parameters; kw...) outputs[n] = batched_ip.weights[n] * forward_map_output end + =# return outputs end From fdca8eb9c8911c4e0a4b568d2b8245e6c956d3a0 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Tue, 7 May 2024 16:33:13 -0600 Subject: [PATCH 14/24] Update project --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 273cefbc..8784bd96 100644 --- a/Project.toml +++ b/Project.toml @@ -36,7 +36,7 @@ GaussianProcesses = "0.12" JLD2 = "0.4" LineSearches = "7" MPI = "0.20" -Oceananigans = "0.90" +Oceananigans = "0.91" OffsetArrays = "1" OrderedCollections = "1" ProgressBars = "1" From fa4fdf396115d1ef478cbaaa62be8e7d4646ad90 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Tue, 7 May 2024 17:16:56 -0600 Subject: [PATCH 15/24] use asyncmap on CPU but not on GPU --- src/InverseProblems.jl | 31 +++++++++++++++++++------------ 1 file changed, 19 insertions(+), 12 deletions(-) diff --git a/src/InverseProblems.jl b/src/InverseProblems.jl index 407f8d8b..1453a8f3 100644 --- a/src/InverseProblems.jl +++ b/src/InverseProblems.jl @@ -30,8 +30,8 @@ using ..Observations: import ..Parameters: closure_with_parameters -using Oceananigans: run!, fields, FieldTimeSeries, CPU -using Oceananigans.Architectures: architecture +using Oceananigans: run!, fields, FieldTimeSeries +using Oceananigans.Architectures: architecture, CPU, GPU using Oceananigans.OutputReaders: InMemory, Linear using Oceananigans.Fields: interior, location using Oceananigans.Utils: prettysummary @@ -355,19 +355,26 @@ Base.length(batch::BatchedInverseProblem) = length(batch.batch) Nensemble(batched_ip::BatchedInverseProblem) = Nensemble(first(batched_ip.batch)) function collect_forward_maps_asynchronously!(outputs, batched_ip, parameters; kw...) - for n = 1:length(batched_ip) - ip = batched_ip[n] - forward_map_output = forward_map(ip, parameters; kw...) - outputs[n] = batched_ip.weights[n] * forward_map_output + + ip1 = first(batched_ip) + grid = ip1.simulation.model.grid + arch = architecture(grid) + + if arch isa GPU + for n = 1:length(batched_ip) + ip = batched_ip[n] + forward_map_output = forward_map(ip, parameters; kw...) + outputs[n] = batched_ip.weights[n] * forward_map_output + end end - #= - asyncmap(1:length(batched_ip), ntasks=10) do n - ip = batched_ip[n] - forward_map_output = forward_map(ip, parameters; kw...) - outputs[n] = batched_ip.weights[n] * forward_map_output + if arch isa CPU + asyncmap(1:length(batched_ip), ntasks=10) do n + ip = batched_ip[n] + forward_map_output = forward_map(ip, parameters; kw...) + outputs[n] = batched_ip.weights[n] * forward_map_output + end end - =# return outputs end From 8112cc4f81b285bc6a9d81561fddfa43e04551fe Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Tue, 7 May 2024 19:29:43 -0600 Subject: [PATCH 16/24] Pretty up some stuff --- src/PseudoSteppingSchemes.jl | 206 +++++++++++++++++------------------ 1 file changed, 103 insertions(+), 103 deletions(-) diff --git a/src/PseudoSteppingSchemes.jl b/src/PseudoSteppingSchemes.jl index 0b42f7fa..5a12f10e 100644 --- a/src/PseudoSteppingSchemes.jl +++ b/src/PseudoSteppingSchemes.jl @@ -22,11 +22,11 @@ export Kovachki2018InitialConvergenceRatio export Iglesias2021 export Chada2021 -# If pseudo_stepping::Nothing, it's not adaptive; Δtₙ₊₁ = Δtₙ. -eki_update(::Nothing, Xₙ, Gₙ, eki, Δtₙ) = eki_update(ConstantPseudoTimeStep(Δtₙ), Xₙ, Gₙ, eki) +# If pseudo_stepping::Nothing, it's not adaptive; Δtⁿ⁺¹ = Δtⁿ. +eki_update(::Nothing, Xⁿ, Gⁿ, eki, Δtⁿ) = eki_update(ConstantPseudoTimeStep(Δtⁿ), Xⁿ, Gⁿ, eki) -# Δtₙ₊₁ selected according to `pseudo_stepping` -eki_update(pseudo_scheme, Xₙ, Gₙ, eki, Δtₙ) = eki_update(pseudo_scheme, Xₙ, Gₙ, eki) +# Δtⁿ⁺¹ selected according to `pseudo_stepping` +eki_update(pseudo_scheme, Xⁿ, Gⁿ, eki, Δtⁿ) = eki_update(pseudo_scheme, Xⁿ, Gⁿ, eki) function obs_noise_mean(eki) μ_noise = zeros(length(eki.mapped_observations)) @@ -40,40 +40,40 @@ obs_noise_covariance(eki) = eki.tikhonov ? eki.precomputed_arrays[:Σ] : eki.noi inv_obs_noise_covariance(eki) = eki.tikhonov ? eki.precomputed_arrays[:inv_Σ] : eki.precomputed_arrays[:inv_Γy] -function adaptive_step_parameters(pseudo_scheme, Xₙ, Gₙ, eki; +function adaptive_step_parameters(pseudo_scheme, Xⁿ, Gⁿ, eki; Δt = 1.0, covariance_inflation = 0.0, momentum_parameter = 0.0) - N_param, N_ens = size(Xₙ) - X̅ = mean(Xₙ, dims=2) + N_param, N_ens = size(Xⁿ) + X̅ = mean(Xⁿ, dims=2) # Forward map augmentation for Tikhonov regularization if eki.tikhonov - Gₙ = vcat(Gₙ, Xₙ) + Gⁿ = vcat(Gⁿ, Xⁿ) end - Xₙ₊₁, Δtₙ = eki_update(pseudo_scheme, Xₙ, Gₙ, eki, Δt) + Xⁿ⁺¹, Δtⁿ = eki_update(pseudo_scheme, Xⁿ, Gⁿ, eki, Δt) - # Apply momentum Xₙ ← Xₙ + λ(Xₙ - Xₙ₋₁) - @. Xₙ₊₁ = Xₙ₊₁ + momentum_parameter * (Xₙ₊₁ - Xₙ) + # Apply momentum Xⁿ ← Xⁿ + λ(Xⁿ - Xⁿ₋₁) + @. Xⁿ⁺¹ = Xⁿ⁺¹ + momentum_parameter * (Xⁿ⁺¹ - Xⁿ) # Apply covariance inflation - @. Xₙ₊₁ = Xₙ₊₁ + (Xₙ₊₁ - X̅) * covariance_inflation + @. Xⁿ⁺¹ = Xⁿ⁺¹ + (Xⁿ⁺¹ - X̅) * covariance_inflation - return Xₙ₊₁, Δtₙ + return Xⁿ⁺¹, Δtⁿ end -function iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ=1.0, perturb_observation=false) +function iglesias_2013_update(Xⁿ, Gⁿ, eki; Δtⁿ=1.0, perturb_observation=false) - N_obs, N_ens = size(Gₙ) + N_obs, N_ens = size(Gⁿ) y = observations(eki) Γy = obs_noise_covariance(eki) μ_noise = obs_noise_mean(eki) # Scale noise Γy using Δt. - Δt⁻¹Γy = Γy / Δtₙ + Δt⁻¹Γy = Γy / Δtⁿ if perturb_observation @@ -89,49 +89,49 @@ function iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ=1.0, perturb_observation=f ỹ = y end - Cᶿᵍ = cov(Xₙ, Gₙ, dims = 2, corrected = false) # [N_par × N_obs] - Cᵍᵍ = cov(Gₙ, Gₙ, dims = 2, corrected = false) # [N_obs × N_obs] + Cᶿᵍ = cov(Xⁿ, Gⁿ, dims = 2, corrected = false) # [N_par × N_obs] + Cᵍᵍ = cov(Gⁿ, Gⁿ, dims = 2, corrected = false) # [N_obs × N_obs] # EKI update: θ ← θ + Cᶿᵍ(Cᵍᵍ + h⁻¹Γy)⁻¹(y + ξₙ - g) - tmp = (Cᵍᵍ + Δt⁻¹Γy) \ (ỹ - Gₙ) # [N_obs × N_ens] - Xₙ₊₁ = Xₙ + (Cᶿᵍ * tmp) # [N_par × N_ens] + tmp = (Cᵍᵍ + Δt⁻¹Γy) \ (ỹ - Gⁿ) # [N_obs × N_ens] + Xⁿ⁺¹ = Xⁿ + (Cᶿᵍ * tmp) # [N_par × N_ens] - return Xₙ₊₁ + return Xⁿ⁺¹ end -function compute_D(Xₙ, Gₙ, eki) +function compute_D(Xⁿ, Gⁿ, eki) y = observations(eki) - g̅ = mean(Gₙ, dims=2) + g̅ = mean(Gⁿ, dims=2) Γy⁻¹ = inv_obs_noise_covariance(eki) # Transformation matrix (D(uₙ))ᵢⱼ = ⟨ G(u⁽ʲ⁾) - g̅, Γy⁻¹(G(u⁽ⁱ⁾) - y) ⟩ - G′ = Gₙ .- g̅ + G′ = Gⁿ .- g̅ - N_obs, N_ens = size(Gₙ) + N_obs, N_ens = size(Gⁿ) y = reshape(y, N_obs, 1) - ϵ = Gₙ .- y + ϵ = Gⁿ .- y D = transpose(G′) * Γy⁻¹ * ϵ return D end -frobenius_norm(A) = sqrt(sum(A.^2)) +frobenius_norm(A) = sqrt(sum(a -> a^2, A)) -function kovachki_2018_update(Xₙ, Gₙ, eki; Δt₀=1.0, D=nothing) +function kovachki_2018_update(Xⁿ, Gⁿ, eki; Δt₀=1.0, D=nothing) if isnothing(D) - D = compute_D(Xₙ, Gₙ, eki) + D = compute_D(Xⁿ, Gⁿ, eki) end - # Calculate time step Δtₙ₋₁ = Δt₀ / (frobenius_norm(D(uₙ)) + ϵ) - Δtₙ = Δt₀ / frobenius_norm(D) + # Calculate time step Δtⁿ⁻¹ = Δt₀ / (frobenius_norm(D(uₙ)) + ϵ) + Δtⁿ = Δt₀ / frobenius_norm(D) # Update - N_ens = size(Xₙ, 2) - Xₙ₊₁ = Xₙ - (Δtₙ / N_ens) * Xₙ * D + N_ens = size(Xⁿ, 2) + Xⁿ⁺¹ = Xⁿ - (Δtⁿ / N_ens) * Xⁿ * D - return Xₙ₊₁, Δtₙ + return Xⁿ⁺¹, Δtⁿ end ##### @@ -191,45 +191,45 @@ Kovachki2018InitialConvergenceRatio(; initial_convergence_ratio=0.7) = Kovachki2018InitialConvergenceRatio(initial_convergence_ratio, 0.0) """ - eki_update(pseudo_scheme::ConstantPseudoTimeStep, Xₙ, Gₙ, eki) + eki_update(pseudo_scheme::ConstantPseudoTimeStep, Xⁿ, Gⁿ, eki) Implement an EKI update with a fixed time step given by `pseudo_scheme.step_size`. """ -function eki_update(pseudo_scheme::ConstantPseudoTimeStep, Xₙ, Gₙ, eki) - Δtₙ = pseudo_scheme.step_size - Xₙ₊₁ = iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ) - return Xₙ₊₁, Δtₙ +function eki_update(pseudo_scheme::ConstantPseudoTimeStep, Xⁿ, Gⁿ, eki) + Δtⁿ = pseudo_scheme.step_size + Xⁿ⁺¹ = iglesias_2013_update(Xⁿ, Gⁿ, eki; Δtⁿ) + return Xⁿ⁺¹, Δtⁿ end """ - eki_update(pseudo_scheme::Kovachki2018, Xₙ, Gₙ, eki) + eki_update(pseudo_scheme::Kovachki2018, Xⁿ, Gⁿ, eki) Implement an EKI update with an adaptive time step estimated as suggested by Kovachki et al. "Ensemble Kalman Inversion: A Derivative-Free Technique For Machine Learning Tasks" (2018). """ -function eki_update(pseudo_scheme::Kovachki2018, Xₙ, Gₙ, eki) +function eki_update(pseudo_scheme::Kovachki2018, Xⁿ, Gⁿ, eki) initial_step_size = pseudo_scheme.initial_step_size - Xₙ₊₁, Δtₙ = kovachki_2018_update(Xₙ, Gₙ, eki; Δt₀=initial_step_size) + Xⁿ⁺¹, Δtⁿ = kovachki_2018_update(Xⁿ, Gⁿ, eki; Δt₀=initial_step_size) - return Xₙ₊₁, Δtₙ + return Xⁿ⁺¹, Δtⁿ end -function eki_update(pseudo_scheme::Kovachki2018InitialConvergenceRatio, Xₙ, Gₙ, eki) +function eki_update(pseudo_scheme::Kovachki2018InitialConvergenceRatio, Xⁿ, Gⁿ, eki) if pseudo_scheme.initial_step_size == 0 target = pseudo_scheme.initial_convergence_ratio - D = compute_D(Xₙ, Gₙ, eki) - det_cov_init = det(cov(Xₙ, dims = 2)) - conv_ratio(Xₙ₊₁) = det(cov(Xₙ₊₁, dims = 2)) / det_cov_init + D = compute_D(Xⁿ, Gⁿ, eki) + det_cov_init = det(cov(Xⁿ, dims = 2)) + conv_ratio(Xⁿ⁺¹) = det(cov(Xⁿ⁺¹, dims = 2)) / det_cov_init # First guess Δt₀ = 1.0 - Xₙ₊₁, Δtₙ = kovachki_2018_update(Xₙ, Gₙ, eki; Δt₀, D) + Xⁿ⁺¹, Δtⁿ = kovachki_2018_update(Xⁿ, Gⁿ, eki; Δt₀, D) # Coarse adjustment to find the right order of magnitude - r = conv_ratio(Xₙ₊₁) + r = conv_ratio(Xⁿ⁺¹) too_big = r > target i = too_big first_guess(i, Δt₀) = i ? Δt₀*2 : Δt₀/2 @@ -241,14 +241,14 @@ function eki_update(pseudo_scheme::Kovachki2018InitialConvergenceRatio, Xₙ, G # The first guess assumes that the convergence ratio decreases with increasing time step Δt₀_guess = first_guess(i, Δt₀) - Xₙ₊₁, Δtₙ = kovachki_2018_update(Xₙ, Gₙ, eki; Δt₀=Δt₀_guess, D) - r_test = conv_ratio(Xₙ₊₁) + Xⁿ⁺¹, Δtⁿ = kovachki_2018_update(Xⁿ, Gⁿ, eki; Δt₀=Δt₀_guess, D) + r_test = conv_ratio(Xⁿ⁺¹) if (r_test > r) == i # Convergence ratio didn't adjust in the direction we expected; try the other direction Δt₀_guess = second_guess(i, Δt₀) - Xₙ₊₁, Δtₙ = kovachki_2018_update(Xₙ, Gₙ, eki; Δt₀=Δt₀_guess, D) - r_test = conv_ratio(Xₙ₊₁) + Xⁿ⁺¹, Δtⁿ = kovachki_2018_update(Xⁿ, Gⁿ, eki; Δt₀=Δt₀_guess, D) + r_test = conv_ratio(Xⁿ⁺¹) end Δt₀ = Δt₀_guess @@ -263,8 +263,8 @@ function eki_update(pseudo_scheme::Kovachki2018InitialConvergenceRatio, Xₙ, G while !isapprox(r, target, atol=0.03, rtol=0.1) && iter < 10 Δt₀_test = Δt₀ * (r / target)^p - Xₙ₊₁, Δtₙ = kovachki_2018_update(Xₙ, Gₙ, eki; Δt₀=Δt₀_test, D) - r_test = conv_ratio(Xₙ₊₁) + Xⁿ⁺¹, Δtⁿ = kovachki_2018_update(Xⁿ, Gⁿ, eki; Δt₀=Δt₀_test, D) + r_test = conv_ratio(Xⁿ⁺¹) # Make sure the convergence ratio moved closer to the target; otherwise halt # to prevent divergence. @@ -279,70 +279,70 @@ function eki_update(pseudo_scheme::Kovachki2018InitialConvergenceRatio, Xₙ, G pseudo_scheme.initial_step_size = Δt₀ - return Xₙ₊₁, Δtₙ + return Xⁿ⁺¹, Δtⁿ else - return eki_update(Kovachki2018(initial_step_size = pseudo_scheme.initial_step_size), Xₙ, Gₙ, eki) + return eki_update(Kovachki2018(initial_step_size = pseudo_scheme.initial_step_size), Xⁿ, Gⁿ, eki) end end """ - eki_update(pseudo_scheme::ThresholdedConvergenceRatio, Xₙ, Gₙ, eki; initial_guess=nothing) + eki_update(pseudo_scheme::ThresholdedConvergenceRatio, Xⁿ, Gⁿ, eki; initial_guess=nothing) Implement an EKI update with an adaptive time step estimated as suggested by Chada, Neil and Tong, Xin "Convergence Aacceleration of Ensemble Kalman Inversion in Nonlinear Settings," Math. Comp. 91 (2022). """ -function eki_update(pseudo_scheme::Chada2021, Xₙ, Gₙ, eki) +function eki_update(pseudo_scheme::Chada2021, Xⁿ, Gⁿ, eki) n = eki.iteration initial_step_size = pseudo_scheme.initial_step_size - Δtₙ = ((n+1) ^ pseudo_scheme.β) * initial_step_size - Xₙ₊₁ = iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ) + Δtⁿ = ((n+1) ^ pseudo_scheme.β) * initial_step_size + Xⁿ⁺¹ = iglesias_2013_update(Xⁿ, Gⁿ, eki; Δtⁿ) - return Xₙ₊₁, Δtₙ + return Xⁿ⁺¹, Δtⁿ end """ - eki_update(pseudo_scheme::ThresholdedConvergenceRatio, Xₙ, Gₙ, eki; initial_guess=nothing, report=true) + eki_update(pseudo_scheme::ThresholdedConvergenceRatio, Xⁿ, Gⁿ, eki; initial_guess=nothing, report=true) Implement an EKI update with an adaptive time step estimated by finding the first step size -in the sequence `Δtₖ = Δtₙ₋₁ * (1/2)^k` with `k = {0, 1, 2, ...}` that satisfies -`|cov(Xₙ₊₁)| / |cov(Xₙ)| > pseudo_scheme.cov_threshold`, assuming the determinant ratio +in the sequence `Δtₖ = Δtⁿ⁻¹ * (1/2)^k` with `k = {0, 1, 2, ...}` that satisfies +`|cov(Xⁿ⁺¹)| / |cov(Xⁿ)| > pseudo_scheme.cov_threshold`, assuming the determinant ratio is a monotonically increasing function of `k`. If an `initial_guess` is provided, -`Δtₙ₋₁` in the above sequence is replaced with `initial_guess`. If an `initial_guess` +`Δtⁿ⁻¹` in the above sequence is replaced with `initial_guess`. If an `initial_guess` is not provided, the time step can only decrease or stay the same at future iterations with this time stepping scheme. """ -function eki_update(pseudo_scheme::ThresholdedConvergenceRatio, Xₙ, Gₙ, eki; initial_guess=nothing, report=true) +function eki_update(pseudo_scheme::ThresholdedConvergenceRatio, Xⁿ, Gⁿ, eki; initial_guess=nothing, report=true) - N_param, N_ensemble = size(Xₙ) + N_param, N_ensemble = size(Xⁿ) @assert N_ensemble > N_param "The number of parameters exceeds the ensemble size and so the ensemble covariance matrix will be singular. Please increase the ensemble size to at least $N_param or choose an AbstractSteppingScheme that does not rely on inverting the ensemble convariance matrix." - Δtₙ₋₁ = isnothing(initial_guess) ? eki.pseudo_Δt : initial_guess + Δtⁿ⁻¹ = isnothing(initial_guess) ? eki.pseudo_Δt : initial_guess accept_stepsize = false - Δtₙ = copy(Δtₙ₋₁) + Δtⁿ = copy(Δtⁿ⁻¹) - cov_init = cov(Xₙ, dims = 2) + cov_init = cov(Xⁿ, dims = 2) det_cov_init = det(cov_init) @assert det_cov_init != 0 "Ensemble covariance is singular!" while !accept_stepsize - Xₙ₊₁ = iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ) - cov_new = cov(Xₙ₊₁, dims = 2) + Xⁿ⁺¹ = iglesias_2013_update(Xⁿ, Gⁿ, eki; Δtⁿ) + cov_new = cov(Xⁿ⁺¹, dims = 2) if det(cov_new) > pseudo_scheme.cov_threshold * det_cov_init accept_stepsize = true else - Δtₙ = Δtₙ / 2 + Δtⁿ = Δtⁿ / 2 end end - Xₙ₊₁ = iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ) + Xⁿ⁺¹ = iglesias_2013_update(Xⁿ, Gⁿ, eki; Δtⁿ) - return Xₙ₊₁, Δtₙ + return Xⁿ⁺¹, Δtⁿ end """ @@ -446,15 +446,15 @@ end ensemble_array(eki, iter) = eki.iteration_summaries[iter].unconstrained_parameters """ - eki_update(pseudo_scheme::ConstantConvergence, Xₙ, Gₙ, eki) + eki_update(pseudo_scheme::ConstantConvergence, Xⁿ, Gⁿ, eki) Implement an EKI update with an adaptive time step estimated to encourage a prescribed rate of ensemble collapse as measured by the ratio of the ensemble covariance matrix determinants at consecutive iterations. """ -function eki_update(pseudo_scheme::ConstantConvergence, Xₙ, Gₙ, eki) +function eki_update(pseudo_scheme::ConstantConvergence, Xⁿ, Gⁿ, eki) - N_param, N_ensemble = size(Xₙ) + N_param, N_ensemble = size(Xⁿ) N_ensemble > N_param || throw(ArgumentError( "The number of parameters exceeds the ensemble size and so the ensemble covariance matrix will be singular. Please increase the ensemble size to at least $N_param or choose an @@ -462,66 +462,66 @@ function eki_update(pseudo_scheme::ConstantConvergence, Xₙ, Gₙ, eki) conv_rate = pseudo_scheme.convergence_ratio - # Start with Δtₙ = 1.0; `Δtₙ_first_guess` is the first time step in the sequence Δtₖ = (1/2)^k where k={0,1,2...} - # such that |cov(Xₙ₊₁)|/|cov(Xₙ)|^(1/N) > pseudo_scheme.convergence_ratio, where `N` is the number of parameters + # Start with Δtⁿ = 1.0; `Δtⁿ_first_guess` is the first time step in the sequence Δtₖ = (1/2)^k where k={0,1,2...} + # such that |cov(Xⁿ⁺¹)|/|cov(Xⁿ)|^(1/N) > pseudo_scheme.convergence_ratio, where `N` is the number of parameters # (assuming the determinant ratio is monotonically increasing as a function of k). - _, Δtₙ_first_guess = eki_update(ThresholdedConvergenceRatio(cov_threshold=pseudo_scheme.convergence_ratio), - Xₙ, Gₙ, eki; initial_guess=1.0, report=false) + _, Δtⁿ_first_guess = eki_update(ThresholdedConvergenceRatio(cov_threshold=pseudo_scheme.convergence_ratio), + Xⁿ, Gⁿ, eki; initial_guess=1.0, report=false) - # `Δtₙ_first_guess` provides a reasonable initial guess for the time step. If we were to + # `Δtⁿ_first_guess` provides a reasonable initial guess for the time step. If we were to # start the fixed point iteration algorithm below with an initial guess of 1.0, the initial volume - # volume ratio could be obscenely small, leading to an obscenely small initial Δtₙ, - # sending the subsequent `r` values to ≈1.0. In such a situation the subsequently calculated Δtₙ + # volume ratio could be obscenely small, leading to an obscenely small initial Δtⁿ, + # sending the subsequent `r` values to ≈1.0. In such a situation the subsequently calculated Δtⁿ # would remain tiny, never recovering the desired order of magnitude; `r` would remain ≈1.0. - # `Δtₙ_first_guess` starts us off in the right order of magnitude for the linear assumption - # on `r` vs `Δtₙ` to be fruitful. - Δtₙ = Δtₙ_first_guess + # `Δtⁿ_first_guess` starts us off in the right order of magnitude for the linear assumption + # on `r` vs `Δtⁿ` to be fruitful. + Δtⁿ = Δtⁿ_first_guess - det_cov_init = det(cov(Xₙ, dims = 2)) + det_cov_init = det(cov(Xⁿ, dims = 2)) # Test step forward - Xₙ₊₁ = iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ) - rᴺ = det(cov(Xₙ₊₁, dims=2)) / det_cov_init + Xⁿ⁺¹ = iglesias_2013_update(Xⁿ, Gⁿ, eki; Δtⁿ) + rᴺ = det(cov(Xⁿ⁺¹, dims=2)) / det_cov_init r = rᴺ^(1/N_param) # "Accelerated" fixed point iteration to adjust step_size p = 1.1 iter = 1 while !isapprox(r, conv_rate, atol=0.03, rtol=0.1) && iter < 20 - Δtₙ *= (r / conv_rate)^p - Xₙ₊₁ = iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ) - rᴺ = det(cov(Xₙ₊₁, dims=2)) / det_cov_init + Δtⁿ *= (r / conv_rate)^p + Xⁿ⁺¹ = iglesias_2013_update(Xⁿ, Gⁿ, eki; Δtⁿ) + rᴺ = det(cov(Xⁿ⁺¹, dims=2)) / det_cov_init r = rᴺ^(1/N_param) iter += 1 end @info @sprintf("ConstantConvergence pseudo stepping: convergence ratio: %.6f (target: %.2f)", r, conv_rate) - return Xₙ₊₁, Δtₙ + return Xⁿ⁺¹, Δtⁿ end """ - eki_update(pseudo_scheme::Iglesias2021, Xₙ, Gₙ, eki) + eki_update(pseudo_scheme::Iglesias2021, Xⁿ, Gⁿ, eki) Implement an EKI update with an adaptive time step based on Iglesias et al. "Adaptive Regularization for Ensemble Kalman Inversion," Inverse Problems, 2021. """ -function eki_update(pseudo_scheme::Iglesias2021, Xₙ, Gₙ, eki) +function eki_update(pseudo_scheme::Iglesias2021, Xⁿ, Gⁿ, eki) n = eki.iteration - M, J = size(Gₙ) + M, J = size(Gⁿ) - Φ = [sum(eki_objective(eki, Xₙ[:, j], Gₙ[:, j], augmented = eki.tikhonov)) for j=1:J] + Φ = [sum(eki_objective(eki, Xⁿ[:, j], Gⁿ[:, j], augmented = eki.tikhonov)) for j=1:J] Φ_mean = mean(Φ) Φ_var = var(Φ) qₙ = maximum( (M/(2Φ_mean), sqrt(M/(2Φ_var))) ) tₙ = n == 0 ? 0.0 : sum(getproperty.(eki.iteration_summaries, :pseudo_Δt)) - Δtₙ = minimum([qₙ, 1-tₙ]) - Xₙ₊₁ = iglesias_2013_update(Xₙ, Gₙ, eki; Δtₙ) + Δtⁿ = minimum([qₙ, 1-tₙ]) + Xⁿ⁺¹ = iglesias_2013_update(Xⁿ, Gⁿ, eki; Δtⁿ) - return Xₙ₊₁, Δtₙ + return Xⁿ⁺¹, Δtⁿ end end # module From 3a6f813b2f4d65ce232eddedccdb50ad849f8008 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Mon, 3 Jun 2024 14:34:05 +0200 Subject: [PATCH 17/24] Add capability to for tracer forcing arrays in ensemle simulations --- src/EnsembleSimulations.jl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/EnsembleSimulations.jl b/src/EnsembleSimulations.jl index d5c3a008..95ed3f1d 100644 --- a/src/EnsembleSimulations.jl +++ b/src/EnsembleSimulations.jl @@ -11,6 +11,9 @@ using Oceananigans using Oceananigans.Models.HydrostaticFreeSurfaceModels: ColumnEnsembleSize using Oceananigans.Architectures: on_architecture +@inline array_forcing_func(i, j, k, grid, clock, model_fields, f) = @inbounds f[i, j, k] +array_forcing(array) = Forcing(array_forcing_func, discrete_form=true, parameters=array) + function ensemble_column_model_simulation(observations; closure, Nensemble, @@ -18,6 +21,7 @@ function ensemble_column_model_simulation(observations; verbose = true, architecture = CPU(), tracers = :b, + forced_fields = tuple(), buoyancy = BuoyancyTracer(), non_ensemble_closure = nothing, kwargs...) @@ -63,7 +67,11 @@ function ensemble_column_model_simulation(observations; boundary_conditions = merge(momentum_boundary_conditions, tracer_boundary_conditions) - ensemble_model = HydrostaticFreeSurfaceModel(; grid, tracers, buoyancy, boundary_conditions, closure, + forced_fields = tupleit(forced_fields) + forcing = NamedTuple(name => array_forcing(CenterField(grid)) for name in forced_fields) + + ensemble_model = HydrostaticFreeSurfaceModel(; grid, tracers, buoyancy, boundary_conditions, + closure, forcing, coriolis = coriolis_ensemble, kwargs...) From d4a676841192f7ee9a4041fbc0cb9e5853dda805 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Tue, 8 Oct 2024 17:47:45 -0700 Subject: [PATCH 18/24] Update Oceanangians compat --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 8784bd96..f5976e5a 100644 --- a/Project.toml +++ b/Project.toml @@ -36,7 +36,7 @@ GaussianProcesses = "0.12" JLD2 = "0.4" LineSearches = "7" MPI = "0.20" -Oceananigans = "0.91" +Oceananigans = "0.91, 0.92" OffsetArrays = "1" OrderedCollections = "1" ProgressBars = "1" From 48e7c651ff77e111752e6c59f2de1aec278530ff Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Tue, 8 Oct 2024 18:01:00 -0700 Subject: [PATCH 19/24] Comment out lesbrary tests --- test/runtests.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index 067b449a..1bb2e9ab 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,6 +1,6 @@ using Documenter, Test -include("test_lesbrary_datadeps.jl") +# include("test_lesbrary_datadeps.jl") include("test_synthetic_observations.jl") include("test_transformations.jl") include("test_parameters.jl") @@ -12,6 +12,5 @@ include("test_utils.jl") @testset "Doctests" begin using ParameterEstimocean, Distributions - doctest(ParameterEstimocean) end From ab33ff8295288d427612ff953f68ca80a446d8f9 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Fri, 18 Oct 2024 10:53:58 -0600 Subject: [PATCH 20/24] Update ci --- .github/workflows/ci.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e135d5ab..dd9fc0cf 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,4 +1,8 @@ name: CI + +env: + DATADEPS_ALWAYS_ACCEPT: true + on: push: branches: [main] @@ -19,19 +23,14 @@ jobs: # - nightly os: - ubuntu-latest + - windows-latest arch: - x64 - x86 include: # test macOS and Windows with latest Julia only - os: macOS-latest - arch: x64 - version: '1.10' - - os: windows-latest - arch: x64 - version: '1.10' - - os: windows-latest - arch: x86 + arch: arch64 version: '1.10' steps: - uses: actions/checkout@v3 From 241a2e9992524c5626ba6e953ab4dacb41c9f776 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Fri, 18 Oct 2024 11:02:48 -0600 Subject: [PATCH 21/24] arm64 for mac --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dd9fc0cf..2de719ee 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -30,7 +30,7 @@ jobs: include: # test macOS and Windows with latest Julia only - os: macOS-latest - arch: arch64 + arch: arm64 version: '1.10' steps: - uses: actions/checkout@v3 From b61066733b38ab3ee8410b5e8765ad067542aa3e Mon Sep 17 00:00:00 2001 From: "Gregory L. Wagner" Date: Thu, 31 Oct 2024 12:54:03 -0600 Subject: [PATCH 22/24] Update Project.toml --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index f5976e5a..398a1058 100644 --- a/Project.toml +++ b/Project.toml @@ -36,7 +36,7 @@ GaussianProcesses = "0.12" JLD2 = "0.4" LineSearches = "7" MPI = "0.20" -Oceananigans = "0.91, 0.92" +Oceananigans = "0.91, 0.92, 0.93" OffsetArrays = "1" OrderedCollections = "1" ProgressBars = "1" From 1c9d72815d6b8c1e692151c4b84827dcdd47a372 Mon Sep 17 00:00:00 2001 From: glwagner Date: Thu, 7 Nov 2024 00:58:16 -0500 Subject: [PATCH 23/24] Updates for latest Oceananigans --- src/EnsembleSimulations.jl | 1 + src/InverseProblems.jl | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/src/EnsembleSimulations.jl b/src/EnsembleSimulations.jl index 95ed3f1d..400b7ba4 100644 --- a/src/EnsembleSimulations.jl +++ b/src/EnsembleSimulations.jl @@ -81,3 +81,4 @@ function ensemble_column_model_simulation(observations; end end # module + diff --git a/src/InverseProblems.jl b/src/InverseProblems.jl index 1453a8f3..8fe483ee 100644 --- a/src/InverseProblems.jl +++ b/src/InverseProblems.jl @@ -589,7 +589,7 @@ function transpose_model_output(collector_grid::SingleColumnGrid, time_series_co data = OffsetArray(view(raw_data, :, j:j, :, :), 0, 0, -Hz, 0) time_series = FieldTimeSeries{LX, LY, LZ}(data, grid, InMemory(), nothing, - indices, times, nothing, nothing, Linear()) + indices, times, nothing, nothing, Linear(), nothing) time_serieses[name] = time_series end From 5dacd230260678b1d5752b228a81832248d0b106 Mon Sep 17 00:00:00 2001 From: Gregory Wagner Date: Tue, 10 Dec 2024 15:40:13 -0700 Subject: [PATCH 24/24] Update Project --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index 398a1058..f0b82c05 100644 --- a/Project.toml +++ b/Project.toml @@ -36,7 +36,7 @@ GaussianProcesses = "0.12" JLD2 = "0.4" LineSearches = "7" MPI = "0.20" -Oceananigans = "0.91, 0.92, 0.93" +Oceananigans = "0.91 - 0.99" OffsetArrays = "1" OrderedCollections = "1" ProgressBars = "1"