diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 8ae006757..fd6f3e674 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -33,15 +33,15 @@ uuid = "80f14c24-f653-4e6a-9b94-39d6b0f70001" version = "4.4.2" [[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 = "6a55b747d1812e699320963ffde36f1ebdda4099" uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.7.2" +version = "4.0.4" weakdeps = ["StaticArrays"] [deps.Adapt.extensions] @@ -64,6 +64,12 @@ version = "0.7.5" MCMCChains = "c7f686f2-ff18-58e9-bc7b-31028e88f75d" StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" +[[deps.AliasTables]] +deps = ["PtrArrays", "Random"] +git-tree-sha1 = "9876e1e164b144ca45e9e3198d0b689cadfed9ff" +uuid = "66dad0bd-aa9a-41b7-9441-69ab47430ed8" +version = "1.1.3" + [[deps.ArgCheck]] git-tree-sha1 = "a3a402a35a2f7e0b87828ccabbd5ebfbebe356b4" uuid = "dce04be8-c92d-5529-be00-80e4d2c0e197" @@ -87,9 +93,9 @@ version = "3.5.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" @@ -124,9 +130,9 @@ version = "0.4.7" [[deps.BangBang]] deps = ["Compat", "ConstructionBase", "InitialValues", "LinearAlgebra", "Requires", "Setfield", "Tables"] -git-tree-sha1 = "e28912ce94077686443433c2800104b061a827ed" +git-tree-sha1 = "7aa7ad1682f3d5754e3491bb59b8103cae28e3a3" uuid = "198e06fe-97b7-11e9-32a5-e1d131e6ad66" -version = "0.3.39" +version = "0.3.40" [deps.BangBang.extensions] BangBangChainRulesCoreExt = "ChainRulesCore" @@ -152,39 +158,39 @@ version = "0.1.1" [[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.BitTwiddlingConvenienceFunctions]] deps = ["Static"] -git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" +git-tree-sha1 = "f21cfd4950cb9f0587d5067e69405ad2acd27b87" uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" -version = "0.1.5" +version = "0.1.6" [[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.CPUSummary]] deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] -git-tree-sha1 = "601f7e7b3d36f18790e2caf83a882d88e9b71ff1" +git-tree-sha1 = "5a97e67919535d6841172016c9530fd69494e5ec" uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -version = "0.2.4" +version = "0.2.6" [[deps.CalibrateEmulateSample]] deps = ["AbstractMCMC", "AdvancedMH", "Conda", "Distributions", "DocStringExtensions", "EnsembleKalmanProcesses", "GaussianProcesses", "LinearAlgebra", "MCMCChains", "Pkg", "Printf", "ProgressBars", "PyCall", "Random", "RandomFeatures", "ScikitLearn", "StableRNGs", "Statistics", "StatsBase"] path = ".." uuid = "95e48a1f-0bec-4818-9538-3db4340308e3" -version = "0.5.0" +version = "0.5.2" [[deps.ChainRulesCore]] deps = ["Compat", "LinearAlgebra"] -git-tree-sha1 = "2118cb2765f8197b08e5958cdd17c165427425ee" +git-tree-sha1 = "71acdbf594aab5bbb2cec89b208c41b4c411e49f" uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.19.0" +version = "1.24.0" weakdeps = ["SparseArrays"] [deps.ChainRulesCore.extensions] @@ -192,21 +198,21 @@ weakdeps = ["SparseArrays"] [[deps.CloseOpenIntervals]] deps = ["Static", "StaticArrayInterface"] -git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" +git-tree-sha1 = "05ba0d07cd4fd8b7a39541e31a7b0254704ea581" uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" -version = "0.1.12" +version = "0.1.13" [[deps.CodecBzip2]] deps = ["Bzip2_jll", "Libdl", "TranscodingStreams"] -git-tree-sha1 = "c0ae2a86b162fb5d7acc65269b469ff5b8a73594" +git-tree-sha1 = "f8889d1770addf59d0a015c49a473fa2bdb9f809" uuid = "523fee87-0ab8-5b00-afb7-3ecf72e48cfd" -version = "0.8.1" +version = "0.8.3" [[deps.CodecZlib]] deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "cd67fc487743b2f0fd4380d4cbd3a24660d0eec8" +git-tree-sha1 = "b8fe8546d52ca154ac556809e10c75e6e7430ac8" uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.3" +version = "0.7.5" [[deps.CommonSubexpressions]] deps = ["MacroTools", "Test"] @@ -215,10 +221,10 @@ uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" version = "0.3.0" [[deps.Compat]] -deps = ["UUIDs"] -git-tree-sha1 = "886826d76ea9e72b35fcd000e535588f7b60f21d" +deps = ["TOML", "UUIDs"] +git-tree-sha1 = "b1c55339b7c6c350ee89f2c1604299660525b248" uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.10.1" +version = "4.15.0" weakdeps = ["Dates", "LinearAlgebra"] [deps.Compat.extensions] @@ -240,9 +246,9 @@ weakdeps = ["InverseFunctions"] [[deps.Conda]] deps = ["Downloads", "JSON", "VersionParsing"] -git-tree-sha1 = "51cab8e982c5b598eea9c8ceaced4b58d9dd37c9" +git-tree-sha1 = "b19db3927f0db4151cb86d073689f2428e524576" uuid = "8f4d0f93-b110-5947-807f-2305c1781a2d" -version = "1.10.0" +version = "1.10.2" [[deps.ConsoleProgressMonitor]] deps = ["Logging", "ProgressMeter"] @@ -252,9 +258,9 @@ version = "0.1.2" [[deps.ConstructionBase]] deps = ["LinearAlgebra"] -git-tree-sha1 = "c53fc348ca4d40d7b371e71fd52251839080cbc9" +git-tree-sha1 = "d8a9c0b6ac2d9081bf76324b39c78ca3ce4f0c98" uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.5.4" +version = "1.5.6" weakdeps = ["IntervalSets", "StaticArrays"] [deps.ConstructionBase.extensions] @@ -263,9 +269,9 @@ weakdeps = ["IntervalSets", "StaticArrays"] [[deps.Convex]] deps = ["AbstractTrees", "BenchmarkTools", "LDLFactorizations", "LinearAlgebra", "MathOptInterface", "OrderedCollections", "SparseArrays", "Test"] -git-tree-sha1 = "e84e371b9206bdd678fe7a8cf809c7dec949e88f" +git-tree-sha1 = "aee723f099f0bb8f7543573227fa90ee8cf4a25e" uuid = "f65535da-76fb-5f13-bab9-19810c17039a" -version = "0.15.4" +version = "0.16.2" [[deps.CpuId]] deps = ["Markdown"] @@ -279,9 +285,9 @@ uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" version = "4.1.1" [[deps.DataAPI]] -git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" +git-tree-sha1 = "abe83f3a2f1b857aac70ef8b269080af17764bbe" uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.15.0" +version = "1.16.0" [[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"] @@ -291,9 +297,9 @@ version = "1.6.1" [[deps.DataStructures]] deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "3dbd312d370723b6bb43ba9d02fc36abade4518d" +git-tree-sha1 = "1d0a14036acb104d9e89698bd408f63ab58cdc82" uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.15" +version = "0.18.20" [[deps.DataValueInterfaces]] git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" @@ -337,10 +343,10 @@ deps = ["Random", "Serialization", "Sockets"] uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" [[deps.Distributions]] -deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] -git-tree-sha1 = "9242eec9b7e2e14f9952e8ea1c7e31a50501d587" +deps = ["AliasTables", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "9c405847cc7ecda2dc921ccf18b47ca150d7317e" uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.104" +version = "0.25.109" [deps.Distributions.extensions] DistributionsChainRulesCoreExt = "ChainRulesCore" @@ -359,10 +365,10 @@ uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" version = "0.9.3" [[deps.Documenter]] -deps = ["ANSIColoredPrinters", "AbstractTrees", "Base64", "Dates", "DocStringExtensions", "Downloads", "Git", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "MarkdownAST", "Pkg", "PrecompileTools", "REPL", "RegistryInstances", "SHA", "Test", "Unicode"] -git-tree-sha1 = "2613dbec8f4748273bbe30ba71fd5cb369966bac" +deps = ["ANSIColoredPrinters", "AbstractTrees", "Base64", "CodecZlib", "Dates", "DocStringExtensions", "Downloads", "Git", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "MarkdownAST", "Pkg", "PrecompileTools", "REPL", "RegistryInstances", "SHA", "TOML", "Test", "Unicode"] +git-tree-sha1 = "76deb8c15f37a3853f13ea2226b8f2577652de05" uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -version = "1.2.1" +version = "1.5.0" [[deps.Downloads]] deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] @@ -382,22 +388,22 @@ uuid = "2904ab23-551e-5aed-883f-487f97af5226" version = "0.2.2" [[deps.EnsembleKalmanProcesses]] -deps = ["Convex", "Distributions", "DocStringExtensions", "GaussianRandomFields", "LinearAlgebra", "MathOptInterface", "Optim", "QuadGK", "Random", "RecipesBase", "SCS", "SparseArrays", "Statistics", "StatsBase", "TOML"] -git-tree-sha1 = "b67e9cc4cd50415c17388696c4ec208b02fceba2" +deps = ["Convex", "Distributions", "DocStringExtensions", "GaussianRandomFields", "Interpolations", "LinearAlgebra", "MathOptInterface", "Optim", "QuadGK", "Random", "RecipesBase", "SCS", "SparseArrays", "Statistics", "StatsBase", "TOML"] +git-tree-sha1 = "df6e9aeeae4b7d9129379d92e8884182a24caffe" uuid = "aa8a2aa5-91d8-4396-bcef-d4f2ec43552d" -version = "1.1.5" +version = "1.1.7" [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "4558ab818dcceaab612d1bb8c19cee87eda2b83c" +git-tree-sha1 = "1c6317308b9dc757616f0b5cb379db10494443a7" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.5.0+0" +version = "2.6.2+0" [[deps.FFTW]] deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] -git-tree-sha1 = "ec22cbbcd01cba8f41eecd7d44aac1f23ee985e3" +git-tree-sha1 = "4820348781ae578893311153d69049a93d05f39d" uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.7.2" +version = "1.8.0" [[deps.FFTW_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -442,10 +448,10 @@ version = "2.22.0" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [[deps.Formatting]] -deps = ["Printf"] -git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" +deps = ["Logging", "Printf"] +git-tree-sha1 = "fb409abab2caf118986fc597ba84b50cbaf00b87" uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" -version = "0.4.2" +version = "0.4.3" [[deps.ForwardDiff]] deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] @@ -475,27 +481,27 @@ version = "2.1.6" [[deps.Git]] deps = ["Git_jll"] -git-tree-sha1 = "51764e6c2e84c37055e846c516e9015b4a291c7d" +git-tree-sha1 = "04eff47b1354d702c3a85e8ab23d539bb7d5957e" uuid = "d7ba0133-e1db-5d97-8f8c-041e4b3a1eb2" -version = "1.3.0" +version = "1.3.1" [[deps.Git_jll]] deps = ["Artifacts", "Expat_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Libiconv_jll", "OpenSSL_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "bb8f7cc77ec1152414b2af6db533d9471cfbb2d1" +git-tree-sha1 = "d18fb8a1f3609361ebda9bf029b60fd0f120c809" uuid = "f8c6e375-362e-5223-8a59-34ff63f689eb" -version = "2.42.0+0" +version = "2.44.0+2" [[deps.HostCPUFeatures]] deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] -git-tree-sha1 = "eb8fed28f4994600e29beef49744639d985a04b2" +git-tree-sha1 = "8e070b599339d622e9a081d17230d74a5c473293" uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" -version = "0.1.16" +version = "0.1.17" [[deps.IOCapture]] deps = ["Logging", "Random"] -git-tree-sha1 = "d75853a0bdbfb1ac815478bacd89cd27b550ace6" +git-tree-sha1 = "b6d6bfdd7ce25b0f9b2f6b3dd56b2673a66c8770" uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" -version = "0.2.3" +version = "0.2.5" [[deps.IfElse]] git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" @@ -508,16 +514,23 @@ uuid = "22cec73e-a1b8-11e9-2c92-598750a2cf9c" version = "0.3.1" [[deps.InlineStrings]] -deps = ["Parsers"] -git-tree-sha1 = "9cc2baf75c6d09f9da536ddf58eb2f29dedaf461" +git-tree-sha1 = "45521d31238e87ee9f9732561bfee12d4eebd52d" uuid = "842dd82b-1e85-43dc-bf29-5d0ee9dffc48" -version = "1.4.0" +version = "1.4.2" + + [deps.InlineStrings.extensions] + ArrowTypesExt = "ArrowTypes" + ParsersExt = "Parsers" + + [deps.InlineStrings.weakdeps] + ArrowTypes = "31f734f8-188a-4ce0-8406-c8a06bd891cd" + Parsers = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" [[deps.IntelOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "14eb2b542e748570b56446f4c50fbfb2306ebc45" uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" -version = "2023.2.0+0" +version = "2024.2.0+0" [[deps.InteractiveUtils]] deps = ["Markdown"] @@ -536,20 +549,25 @@ version = "0.15.1" Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" [[deps.IntervalSets]] -deps = ["Dates", "Random"] -git-tree-sha1 = "3d8866c029dd6b16e69e0d4a939c4dfcb98fac47" +git-tree-sha1 = "dba9ddf07f77f60450fe5d2e2beb9854d9a49bd0" uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.7.8" -weakdeps = ["Statistics"] +version = "0.7.10" +weakdeps = ["Random", "RecipesBase", "Statistics"] [deps.IntervalSets.extensions] + IntervalSetsRandomExt = "Random" + IntervalSetsRecipesBaseExt = "RecipesBase" IntervalSetsStatisticsExt = "Statistics" [[deps.InverseFunctions]] deps = ["Test"] -git-tree-sha1 = "68772f49f54b479fa88ace904f6127f0a3bb2e46" +git-tree-sha1 = "18c59411ece4838b18cd7f537e56cf5e41ce5bfd" uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.12" +version = "0.1.15" +weakdeps = ["Dates"] + + [deps.InverseFunctions.extensions] + DatesExt = "Dates" [[deps.InvertedIndices]] git-tree-sha1 = "0dc7b50b8d436461be01300fd8cd45aa0274b038" @@ -562,9 +580,9 @@ uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" version = "0.1.1" [[deps.IterTools]] -git-tree-sha1 = "274c38bd733f9d29036d0a73658fff1dc1d3a065" +git-tree-sha1 = "42d5f897009e7ff2cf88db414a389e5ed1bdd023" uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" -version = "1.9.0" +version = "1.10.0" [[deps.IteratorInterfaceExtensions]] git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" @@ -585,9 +603,9 @@ version = "0.21.4" [[deps.KernelDensity]] deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] -git-tree-sha1 = "fee018a29b60733876eb557804b5b109dd3dd8a7" +git-tree-sha1 = "7d703202e65efa1369de1279c162b915e245eed1" uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" -version = "0.6.8" +version = "0.6.9" [[deps.LDLFactorizations]] deps = ["AMD", "LinearAlgebra", "SparseArrays", "Test"] @@ -595,6 +613,12 @@ git-tree-sha1 = "70f582b446a1c3ad82cf87e62b878668beef9d13" uuid = "40e66cde-538c-5869-a4ad-c39174c6795b" version = "0.10.1" +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "d986ce2d884d49126836ea94ed5bfb0f12679713" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "15.0.7+0" + [[deps.LaTeXStrings]] git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" @@ -602,9 +626,9 @@ version = "1.3.1" [[deps.LayoutPointers]] deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "62edfee3211981241b57ff1cedf4d74d79519277" +git-tree-sha1 = "a9eaadb366f5493a5654e843864c13d8b107548c" uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.15" +version = "0.1.17" [[deps.LazilyInitializedFields]] git-tree-sha1 = "8f7f3cabab0fd1800699663533b6d5cb3fc0e612" @@ -667,9 +691,9 @@ version = "2.1.1" [[deps.LogExpFunctions]] deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" +git-tree-sha1 = "a2d09619db4e765091ee5c6ffe8872849de0feea" uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.26" +version = "0.3.28" [deps.LogExpFunctions.extensions] LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" @@ -692,9 +716,9 @@ version = "1.0.3" [[deps.LoopVectorization]] deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "PrecompileTools", "SIMDTypes", "SLEEFPirates", "Static", "StaticArrayInterface", "ThreadingUtilities", "UnPack", "VectorizationBase"] -git-tree-sha1 = "0f5648fbae0d015e3abe5867bca2b362f67a5894" +git-tree-sha1 = "8084c25a250e00ae427a379a5b607e7aed96a2dd" uuid = "bdcacae8-1622-11e9-2a5c-532679323890" -version = "0.12.166" +version = "0.12.171" weakdeps = ["ChainRulesCore", "ForwardDiff", "SpecialFunctions"] [deps.LoopVectorization.extensions] @@ -714,22 +738,22 @@ uuid = "be115224-59cd-429b-ad48-344e309966f0" version = "0.2.1" [[deps.MKL_jll]] -deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "2ce8695e1e699b68702c03402672a69f54b8aca9" +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "oneTBB_jll"] +git-tree-sha1 = "f046ccd0c6db2832a9f639e2c669c6fe867e5f4f" uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" -version = "2022.2.0+0" +version = "2024.2.0+0" [[deps.MLJModelInterface]] deps = ["Random", "ScientificTypesBase", "StatisticalTraits"] -git-tree-sha1 = "0cd3514d865b928e6a36f03497f65b5b1dee38c1" +git-tree-sha1 = "ceaff6618408d0e412619321ae43b33b40c1a733" uuid = "e80e1ace-859a-464e-9ed9-23947d8ae3ea" -version = "1.9.4" +version = "1.11.0" [[deps.MacroTools]] deps = ["Markdown", "Random"] -git-tree-sha1 = "b211c553c199c111d998ecdaf7623d1b89b69f93" +git-tree-sha1 = "2fa9ee3e63fd3a4f7a9a4f4744a52f4856de82df" uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.12" +version = "0.5.13" [[deps.ManualMemory]] git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" @@ -748,9 +772,9 @@ version = "0.1.2" [[deps.MathOptInterface]] deps = ["BenchmarkTools", "CodecBzip2", "CodecZlib", "DataStructures", "ForwardDiff", "JSON", "LinearAlgebra", "MutableArithmetics", "NaNMath", "OrderedCollections", "PrecompileTools", "Printf", "SparseArrays", "SpecialFunctions", "Test", "Unicode"] -git-tree-sha1 = "d2a140e551c9ec9028483e3c7d1244f417567ac0" +git-tree-sha1 = "91b08d27a27d83cf1e63e50837403e7f53a0fd74" uuid = "b8f27783-ece8-5eb3-8dc8-9495eed66fee" -version = "1.24.0" +version = "1.31.0" [[deps.MbedTLS_jll]] deps = ["Artifacts", "Libdl"] @@ -765,9 +789,9 @@ version = "0.1.4" [[deps.Missings]] deps = ["DataAPI"] -git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" +git-tree-sha1 = "ec4f7fbeab05d7747bdf98eb74d130a2a2ed298d" uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.1.0" +version = "1.2.0" [[deps.Mmap]] uuid = "a63ad114-7e13-5084-954f-fe012c677804" @@ -778,9 +802,9 @@ version = "2022.10.11" [[deps.MutableArithmetics]] deps = ["LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "806eea990fb41f9b36f1253e5697aa645bf6a9f8" +git-tree-sha1 = "898c56fbf8bf71afb0c02146ef26f3a454e88873" uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" -version = "1.4.0" +version = "1.4.5" [[deps.NLSolversBase]] deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] @@ -804,9 +828,9 @@ uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.OffsetArrays]] -git-tree-sha1 = "6a731f2b5c03157418a20c12195eb4b74c8f8621" +git-tree-sha1 = "1a27764e945a152f7ca7efa04de513d473e9542e" uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.13.0" +version = "1.14.1" weakdeps = ["Adapt"] [deps.OffsetArrays.extensions] @@ -830,9 +854,9 @@ version = "0.8.1+0" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cc6e1927ac521b659af340e0ca45828a3ffc748f" +git-tree-sha1 = "a028ee3cb5641cccc4c24e90c36b0a4f7707bdf5" uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "3.0.12+0" +version = "3.0.14+0" [[deps.OpenSpecFun_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] @@ -842,9 +866,13 @@ version = "0.5.5+0" [[deps.Optim]] deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] -git-tree-sha1 = "01f85d9269b13fedc61e63cc72ee2213565f7a72" +git-tree-sha1 = "d9b79c4eed437421ac4285148fcadf42e0700e89" uuid = "429524aa-4258-5aef-a3af-852621145aeb" -version = "1.7.8" +version = "1.9.4" +weakdeps = ["MathOptInterface"] + + [deps.Optim.extensions] + OptimMOIExt = "MathOptInterface" [[deps.OrderedCollections]] git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" @@ -881,9 +909,9 @@ version = "1.9.2" [[deps.PolyesterWeave]] deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] -git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" +git-tree-sha1 = "645bed98cd47f72f67316fd42fc47dee771aefcd" uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" -version = "0.2.1" +version = "0.2.2" [[deps.PooledArrays]] deps = ["DataAPI", "Future"] @@ -899,21 +927,21 @@ 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"] -git-tree-sha1 = "88b895d13d53b5577fd53379d913b9ab9ac82660" +git-tree-sha1 = "66b20dd35966a748321d3b2537c4584cf40387c7" uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" -version = "2.3.1" +version = "2.3.2" [[deps.Printf]] deps = ["Unicode"] @@ -937,9 +965,14 @@ version = "0.1.4" [[deps.ProgressMeter]] deps = ["Distributed", "Printf"] -git-tree-sha1 = "00099623ffee15972c16111bcf84c58a0051257c" +git-tree-sha1 = "8f6bc219586aef8baf0ff9a5fe16ee9c70cb65e4" uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.9.0" +version = "1.10.2" + +[[deps.PtrArrays]] +git-tree-sha1 = "f011fbb92c4d401059b2212c05c0601b70f8b759" +uuid = "43287f4e-b6f4-7ad1-bb20-aadabca52c3d" +version = "1.2.0" [[deps.PyCall]] deps = ["Conda", "Dates", "Libdl", "LinearAlgebra", "MacroTools", "Serialization", "VersionParsing"] @@ -949,9 +982,9 @@ version = "1.96.4" [[deps.QuadGK]] deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "9ebcd48c498668c7fa0e97a9cae873fbee7bfee1" +git-tree-sha1 = "e237232771fdafbae3db5c31275303e056afaa9f" uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.9.1" +version = "2.10.1" [[deps.REPL]] deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] @@ -963,9 +996,9 @@ uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" [[deps.RandomFeatures]] deps = ["Distributions", "DocStringExtensions", "EnsembleKalmanProcesses", "LinearAlgebra", "LoopVectorization", "Random", "SpecialFunctions", "Statistics", "StatsBase", "Tullio"] -git-tree-sha1 = "592c96dd5cb2ebd635b551491cb3621bbe010ca0" +git-tree-sha1 = "d639d537c14127a70c8bd3e0158ecbccfb2a54a3" uuid = "36c3bae2-c0c3-419d-b3b4-eebadd35c5e5" -version = "0.3.2" +version = "0.3.3" [[deps.RangeArrays]] git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" @@ -1014,34 +1047,30 @@ uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" version = "0.7.1" [[deps.Rmath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "d483cd324ce5cf5d61b77930f0bbd6cb61927d21" uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" -version = "0.4.0+0" +version = "0.4.2+0" [[deps.SCS]] -deps = ["MathOptInterface", "Requires", "SCS_GPU_jll", "SCS_MKL_jll", "SCS_jll", "SparseArrays"] -git-tree-sha1 = "ed2d560f71649c3fcaa6f98a8578df70ea634a44" +deps = ["MathOptInterface", "Requires", "SCS_jll", "SparseArrays"] +git-tree-sha1 = "0dfe49eaa058ce905a4199af379b8e411e6126e5" uuid = "c946c3f1-0d1f-5ce8-9dea-7daa1f7e2d13" -version = "1.3.1" +version = "2.0.1" -[[deps.SCS_GPU_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenBLAS32_jll"] -git-tree-sha1 = "6a61274837cfa050bd996910d347e876bef3a6b3" -uuid = "af6e375f-46ec-5fa0-b791-491b0dfa44a4" -version = "3.2.3+1" + [deps.SCS.extensions] + SCSSCS_GPU_jllExt = ["SCS_GPU_jll"] + SCSSCS_MKL_jllExt = ["SCS_MKL_jll"] -[[deps.SCS_MKL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "MKL_jll"] -git-tree-sha1 = "1ca6e41193c08fb345b58a05a6cfa8e309939313" -uuid = "3f2553a9-4106-52be-b7dd-865123654657" -version = "3.2.3+1" + [deps.SCS.weakdeps] + SCS_GPU_jll = "af6e375f-46ec-5fa0-b791-491b0dfa44a4" + SCS_MKL_jll = "3f2553a9-4106-52be-b7dd-865123654657" [[deps.SCS_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "OpenBLAS32_jll"] -git-tree-sha1 = "e4902566d6207206c27fe6f45e8c2d28c34889df" +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl", "OpenBLAS32_jll"] +git-tree-sha1 = "668bcf4b25cf992564321ccb70b205f9a7487cfa" uuid = "f4f2fc5b-1d94-523c-97ea-2ab488bedf4b" -version = "3.2.3+0" +version = "3.2.6+0" [[deps.SHA]] uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" @@ -1054,9 +1083,9 @@ version = "0.1.0" [[deps.SLEEFPirates]] deps = ["IfElse", "Static", "VectorizationBase"] -git-tree-sha1 = "3aac6d68c5e57449f5b9b865c9ba50ac2970c4cf" +git-tree-sha1 = "456f610ca2fbd1c14f5fcf31c6bfadc55e7d66e0" uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" -version = "0.6.42" +version = "0.6.43" [[deps.ScientificTypesBase]] git-tree-sha1 = "a8e18eb383b5ecf1b5e6fc237eb39255044fd92b" @@ -1077,9 +1106,9 @@ version = "0.5.0" [[deps.SentinelArrays]] deps = ["Dates", "Random"] -git-tree-sha1 = "0e7508ff27ba32f26cd459474ca2ede1bc10991f" +git-tree-sha1 = "ff11acffdb082493657550959d4feb4b6149e73a" uuid = "91c51154-3ec4-41a3-a24f-3f23e20d615c" -version = "1.4.1" +version = "1.4.5" [[deps.Serialization]] uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" @@ -1109,9 +1138,9 @@ uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" [[deps.SpecialFunctions]] deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "e2cfc4012a19088254b3950b85c3c1d8882d864d" +git-tree-sha1 = "2f5d4697f21388cbe1ff299430dd169ef97d7e14" uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.3.1" +version = "2.4.0" weakdeps = ["ChainRulesCore"] [deps.SpecialFunctions.extensions] @@ -1124,22 +1153,22 @@ uuid = "171d559e-b47b-412a-8079-5efa626c420e" version = "0.1.15" [[deps.StableRNGs]] -deps = ["Random", "Test"] -git-tree-sha1 = "ddc1a7b85e760b5285b50b882fa91e40c603be47" +deps = ["Random"] +git-tree-sha1 = "83e6cce8324d49dfaf9ef059227f91ed4441a8e5" uuid = "860ef19b-820b-49d6-a774-d7a799459cd3" -version = "1.0.1" +version = "1.0.2" [[deps.Static]] deps = ["IfElse"] -git-tree-sha1 = "f295e0a1da4ca425659c57441bcb59abb035a4bc" +git-tree-sha1 = "b366eb1eb68075745777d80861c6706c33f588ae" uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.8.8" +version = "0.8.9" [[deps.StaticArrayInterface]] deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] -git-tree-sha1 = "5d66818a39bb04bf328e92bc933ec5b4ee88e436" +git-tree-sha1 = "8963e5a083c837531298fc41599182a759a87a6d" uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" -version = "1.5.0" +version = "1.5.1" weakdeps = ["OffsetArrays", "StaticArrays"] [deps.StaticArrayInterface.extensions] @@ -1148,9 +1177,9 @@ weakdeps = ["OffsetArrays", "StaticArrays"] [[deps.StaticArrays]] deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] -git-tree-sha1 = "42d5373c10272d14ef49cc68ffc22df3b93c549a" +git-tree-sha1 = "eeafab08ae20c62c44c8399ccb9354a04b80db50" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.8.2" +version = "1.9.7" weakdeps = ["ChainRulesCore", "Statistics"] [deps.StaticArrays.extensions] @@ -1158,15 +1187,15 @@ weakdeps = ["ChainRulesCore", "Statistics"] StaticArraysStatisticsExt = "Statistics" [[deps.StaticArraysCore]] -git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" +git-tree-sha1 = "192954ef1208c7019899fbf8049e717f92959682" uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.2" +version = "1.4.3" [[deps.StatisticalTraits]] deps = ["ScientificTypesBase"] -git-tree-sha1 = "30b9236691858e13f167ce829490a68e1a597782" +git-tree-sha1 = "542d979f6e756f13f862aa00b224f04f9e445f11" uuid = "64bff920-2084-43da-a3e6-9bb72801c0c9" -version = "3.2.0" +version = "3.4.0" [[deps.Statistics]] deps = ["LinearAlgebra", "SparseArrays"] @@ -1218,10 +1247,10 @@ uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" version = "1.0.1" [[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits"] -git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d" +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "OrderedCollections", "TableTraits"] +git-tree-sha1 = "598cd7c1f68d1e205689b1c2fe65a9f85846f297" uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.11.1" +version = "1.12.0" [[deps.Tar]] deps = ["ArgTools", "SHA"] @@ -1245,9 +1274,9 @@ uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" version = "0.5.2" [[deps.TranscodingStreams]] -git-tree-sha1 = "1fbeaaca45801b4ba17c251dd8603ef24801dd84" +git-tree-sha1 = "96612ac5365777520c3c5396314c8cf7408f436a" uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.10.2" +version = "0.11.1" weakdeps = ["Random", "Test"] [deps.TranscodingStreams.extensions] @@ -1255,9 +1284,9 @@ weakdeps = ["Random", "Test"] [[deps.Transducers]] deps = ["Adapt", "ArgCheck", "BangBang", "Baselet", "CompositionsBase", "ConstructionBase", "DefineSingletons", "Distributed", "InitialValues", "Logging", "Markdown", "MicroCollections", "Requires", "Setfield", "SplittablesBase", "Tables"] -git-tree-sha1 = "e579d3c991938fecbb225699e8f611fa3fbf2141" +git-tree-sha1 = "3064e780dbb8a9296ebb3af8f440f787bb5332af" uuid = "28d57a85-8fef-5791-bfe6-a80928e7c999" -version = "0.4.79" +version = "0.4.80" [deps.Transducers.extensions] TransducersBlockArraysExt = "BlockArrays" @@ -1305,9 +1334,9 @@ uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" [[deps.VectorizationBase]] deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] -git-tree-sha1 = "7209df901e6ed7489fe9b7aa3e46fb788e15db85" +git-tree-sha1 = "e7f5b81c65eb858bed630fe006837b935518aca5" uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" -version = "0.21.65" +version = "0.21.70" [[deps.VersionParsing]] git-tree-sha1 = "58d6e80b4ee071f5efd07fda82cb9fbe17200868" @@ -1335,6 +1364,12 @@ deps = ["Artifacts", "Libdl"] uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" version = "1.48.0+0" +[[deps.oneTBB_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "7d0ea0f4895ef2f5cb83645fa689e52cb55cf493" +uuid = "1317d2d5-d96f-522e-a858-c73665f53c3e" +version = "2021.12.0+0" + [[deps.p7zip_jll]] deps = ["Artifacts", "Libdl"] uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" diff --git a/docs/src/API/RandomFeatures.md b/docs/src/API/RandomFeatures.md index d4bda4c95..7e112f479 100644 --- a/docs/src/API/RandomFeatures.md +++ b/docs/src/API/RandomFeatures.md @@ -43,7 +43,7 @@ get_batch_sizes get_n_features get_input_dim get_output_dim -get_rng +EKP.get_rng get_kernel_structure get_feature_decomposition get_optimizer_options diff --git a/docs/src/examples/Cloudy_example.md b/docs/src/examples/Cloudy_example.md index 7aee6422d..f34f2e51b 100755 --- a/docs/src/examples/Cloudy_example.md +++ b/docs/src/examples/Cloudy_example.md @@ -3,6 +3,10 @@ !!! info "How do I run this code?" The full code is found in the [`examples/`](https://github.com/CliMA/CalibrateEmulateSample.jl/tree/main/examples) directory of the github repository +!!! warn "version control for Cloudy" + Due to rapid developments in Cloudy, this example will not work with the latest version. It is known to work pinned to specific commit `b4fa7e3`, please add Cloudy to the example Project using command `add Cloudy#b4fa7e3` in `Pkg` to avoid errors. + + This example is based on [Cloudy](https://github.com/CliMA/Cloudy.jl.git), a microphysics model that simulates how cloud droplets collide and coalesce into larger drops. Collision-coalescence is a crucial process for the formation of @@ -76,7 +80,6 @@ and finally the EKP packages. ```julia using EnsembleKalmanProcesses -using EnsembleKalmanProcesses.Observations using EnsembleKalmanProcesses.ParameterDistributions using EnsembleKalmanProcesses.DataContainers using EnsembleKalmanProcesses.PlotRecipes @@ -163,8 +166,13 @@ for i in 1:n_samples y_t[:, i] = G_t .+ rand(MvNormal(μ, Γy)) end -truth = Observations.Observation(y_t, Γy, data_names) -truth_sample = truth.mean +truth = Observation( + Dict( + "samples" => vec(mean(y_t, dims = 2)), + "covariances" => Γy, + "names" => data_names, + ) +) ``` #### Perform ensemble Kalman inversion @@ -181,8 +189,7 @@ N_iter = 8 # number of EKI iterations initial_params = construct_initial_ensemble(rng, priors, N_ens) ekiobj = EnsembleKalmanProcess( initial_params, - truth_sample, - truth.obs_noise_cov, + truth, Inversion(), scheduler=DataMisfitController() ) diff --git a/docs/src/examples/lorenz_example.md b/docs/src/examples/lorenz_example.md index 023b5e852..cdcd4a4f5 100644 --- a/docs/src/examples/lorenz_example.md +++ b/docs/src/examples/lorenz_example.md @@ -68,7 +68,6 @@ using CalibrateEmulateSample.Utilities using CalibrateEmulateSample.EnsembleKalmanProcesses using CalibrateEmulateSample.ParameterDistributions using CalibrateEmulateSample.DataContainers -using CalibrateEmulateSample.Observations ``` The first input settings define which input-output pairs to use for training the emulator. The Calibrate stage (run using `calibrate.jl`) generates parameter-to-data pairs by running the L96 system using an iterative optimization approach (`EnsembleKalmanProcess.jl`). So we first define which iterations we would like to use data from for our emulator training diff --git a/examples/Cloudy/Cloudy_calibrate.jl b/examples/Cloudy/Cloudy_calibrate.jl index 03f30577e..037de2d65 100644 --- a/examples/Cloudy/Cloudy_calibrate.jl +++ b/examples/Cloudy/Cloudy_calibrate.jl @@ -1,6 +1,8 @@ # Reference the in-tree version of CalibrateEmulateSample on Julias load path include(joinpath(@__DIR__, "../", "ci", "linkfig.jl")) +@info "This experiment is very sensitive to the Cloudy version. It is known to work with Cloudy commit: b4fa7e3" + # Import modules using Distributions using StatsBase @@ -18,12 +20,12 @@ using Cloudy.KernelTensors # Import the module that runs Cloudy include(joinpath(@__DIR__, "DynamicalModel.jl")) -# Import Ensemble Kalman Processes modules -using EnsembleKalmanProcesses -using EnsembleKalmanProcesses.Observations -using EnsembleKalmanProcesses.ParameterDistributions -using EnsembleKalmanProcesses.DataContainers -using EnsembleKalmanProcesses.PlotRecipes +# Import Ensemble Kalman Processes modules via CES +using CalibrateEmulateSample +using CalibrateEmulateSample.EnsembleKalmanProcesses +using CalibrateEmulateSample.EnsembleKalmanProcesses.ParameterDistributions +using CalibrateEmulateSample.EnsembleKalmanProcesses.DataContainers +using CalibrateEmulateSample.EnsembleKalmanProcesses.PlotRecipes ################################################################################ @@ -100,7 +102,7 @@ savefig(p, output_directory * "cloudy_priors.png") ### Define the data from which we want to learn the parameters ### -data_names = ["M0", "M1", "M2"] +data_names = ["M0_M1_M2"] moments = [0.0, 1.0, 2.0] n_moments = length(moments) @@ -139,8 +141,7 @@ for i in 1:n_samples y_t[:, i] = G_t .+ rand(MvNormal(μ, Γy)) end -truth = Observations.Observation(y_t, Γy, data_names) -truth_sample = truth.mean +truth = Observation(Dict("samples" => vec(mean(y_t, dims = 2)), "covariances" => Γy, "names" => data_names)) ### @@ -151,13 +152,7 @@ N_ens = 50 # number of ensemble members N_iter = 15 # number of EKI iterations # initial parameters: n_params x N_ens initial_params = construct_initial_ensemble(rng, priors, N_ens) -ekiobj = EnsembleKalmanProcess( - initial_params, - truth_sample, - truth.obs_noise_cov, - Inversion(), - scheduler = DataMisfitController(), -) +ekiobj = EnsembleKalmanProcess(initial_params, truth, Inversion(), scheduler = DataMisfitController()) # Initialize a ParticleDistribution with dummy parameters. The parameters # will then be set within `run_dyn_model` @@ -196,9 +191,9 @@ save( "eki", ekiobj, "truth_sample", - truth_sample, + get_obs(truth), "truth_sample_mean", - truth.mean, + vec(mean(y_t, dims = 2)), "truth_input_constrained", ϕ_true, ) diff --git a/examples/Cloudy/Cloudy_emulate_sample.jl b/examples/Cloudy/Cloudy_emulate_sample.jl index a053a33f2..0f3deac48 100644 --- a/examples/Cloudy/Cloudy_emulate_sample.jl +++ b/examples/Cloudy/Cloudy_emulate_sample.jl @@ -95,7 +95,7 @@ function main() n_params = length(ϕ_true) # input dimension n_outputs = length(truth_sample) # output dimension - Γy = ekiobj.obs_noise_cov + Γy = get_obs_noise_cov(ekiobj) cases = [ "rf-scalar", @@ -281,8 +281,7 @@ function main() # Adding a vertical line for the true value vlines!(ax, [ϕ_true[idx]], color = :indigo, linewidth = 2.6, label = "true " * param_names[idx]) - xlims!(ax, xmin, xmax) - ylims!(ax, 0, nothing) + # Setting title and labels ax.xlabel = "Value" diff --git a/examples/Cloudy/Project.toml b/examples/Cloudy/Project.toml index ecec24084..9b6148406 100644 --- a/examples/Cloudy/Project.toml +++ b/examples/Cloudy/Project.toml @@ -1,10 +1,12 @@ [deps] CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" +CalibrateEmulateSample = "95e48a1f-0bec-4818-9538-3db4340308e3" Cloudy = "9e3b23bb-e7cc-4b94-886c-65de2234ba87" DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa" Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" GaussianProcesses = "891a1506-143c-57d2-908e-e1f8e92e6de9" +JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" PairPlots = "43a3c2be-4208-490b-832a-a21dcd55d7da" Pkg = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" @@ -12,11 +14,7 @@ Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" -CalibrateEmulateSample = "95e48a1f-0bec-4818-9538-3db4340308e3" -EnsembleKalmanProcesses = "aa8a2aa5-91d8-4396-bcef-d4f2ec43552d" -JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" - [compat] +Cloudy = "0.2" julia = "~1.6" -Cloudy = "0.3" diff --git a/examples/Lorenz/Project.toml b/examples/Lorenz/Project.toml index 8e6fb13e2..7bb353483 100644 --- a/examples/Lorenz/Project.toml +++ b/examples/Lorenz/Project.toml @@ -16,5 +16,5 @@ StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd" [compat] -FFTW = "= 1.3.0" +FFTW = "1.3" julia = "~1.6" diff --git a/examples/Lorenz/calibrate.jl b/examples/Lorenz/calibrate.jl index 323d0c4ed..c546d0491 100644 --- a/examples/Lorenz/calibrate.jl +++ b/examples/Lorenz/calibrate.jl @@ -119,7 +119,7 @@ function main() ### ### Define the data from which we want to learn the parameters ### - data_names = ["y0", "y1"] + data_names = ["y0_y1"] ### @@ -254,8 +254,7 @@ function main() # Construct observation object - truth = Observations.Observation(yt, Γy, data_names) - truth_sample = yt[:, end] + truth = EKP.Observation(Dict("samples" => vec(mean(yt, dims = 2)), "covariances" => Γy, "names" => data_names)) ### ### Calibrate: Ensemble Kalman Inversion ### @@ -271,8 +270,7 @@ function main() ekiobj = EKP.EnsembleKalmanProcess( initial_params, - truth_sample, - truth.obs_noise_cov, + truth, EKP.Inversion(), scheduler = EKP.DataMisfitController(), verbose = true, @@ -316,9 +314,9 @@ function main() "eki", ekiobj, "truth_sample", - truth_sample, + EKP.get_obs(truth), "truth_sample_mean", - truth.mean, + vec(mean(yt, dims = 2)), "truth_input_constrained", params_true, #constrained here, as these are in a physically constrained space (unlike the u inputs), ) diff --git a/examples/Lorenz/emulate_sample.jl b/examples/Lorenz/emulate_sample.jl index 56440fc5a..c9fb04feb 100644 --- a/examples/Lorenz/emulate_sample.jl +++ b/examples/Lorenz/emulate_sample.jl @@ -17,7 +17,6 @@ using CalibrateEmulateSample.Utilities using CalibrateEmulateSample.EnsembleKalmanProcesses using CalibrateEmulateSample.ParameterDistributions using CalibrateEmulateSample.DataContainers -using CalibrateEmulateSample.Observations function get_standardizing_factors(data::Array{FT, 2}) where {FT} # Input: data size: N_data x N_ensembles @@ -95,7 +94,7 @@ function main() truth_sample = load(data_save_file)["truth_sample"] truth_params_constrained = load(data_save_file)["truth_input_constrained"] #true parameters in constrained space truth_params = transform_constrained_to_unconstrained(priors, truth_params_constrained) - Γy = ekiobj.obs_noise_cov + Γy = get_obs_noise_cov(ekiobj) n_params = length(truth_params) # "input dim" diff --git a/src/CalibrateEmulateSample.jl b/src/CalibrateEmulateSample.jl index f5956b175..63a47b23b 100644 --- a/src/CalibrateEmulateSample.jl +++ b/src/CalibrateEmulateSample.jl @@ -10,9 +10,9 @@ module CalibrateEmulateSample using Distributions, Statistics, LinearAlgebra, DocStringExtensions # imported modules from EKP. -import EnsembleKalmanProcesses: EnsembleKalmanProcesses, ParameterDistributions, Observations, DataContainers +import EnsembleKalmanProcesses: EnsembleKalmanProcesses, ParameterDistributions, DataContainers -export EnsembleKalmanProcesses, ParameterDistributions, Observations, DataContainers +export EnsembleKalmanProcesses, ParameterDistributions, DataContainers # Internal deps, light external deps diff --git a/src/ScalarRandomFeature.jl b/src/ScalarRandomFeature.jl index 2547164b8..ea1048454 100644 --- a/src/ScalarRandomFeature.jl +++ b/src/ScalarRandomFeature.jl @@ -74,7 +74,7 @@ $(DocStringExtensions.TYPEDSIGNATURES) gets the rng field """ -get_rng(srfi::ScalarRandomFeatureInterface) = srfi.rng +EKP.get_rng(srfi::ScalarRandomFeatureInterface) = srfi.rng """ $(DocStringExtensions.TYPEDSIGNATURES) @@ -447,8 +447,7 @@ function build_models!( ) inflation = optimizer_options["inflation"] if inflation > 0 - terminated = - EKP.update_ensemble!(ekiobj, g_ens, additive_inflation = true, use_prior_cov = true, s = inflation) # small regularizing inflation + terminated = EKP.update_ensemble!(ekiobj, g_ens, additive_inflation = true, s = inflation) # small regularizing inflation else terminated = EKP.update_ensemble!(ekiobj, g_ens) # small regularizing inflation end diff --git a/src/Utilities.jl b/src/Utilities.jl index ca937c1a8..1d3e34a20 100644 --- a/src/Utilities.jl +++ b/src/Utilities.jl @@ -5,13 +5,11 @@ using LinearAlgebra using Statistics using StatsBase using Random -using ..Observations using ..EnsembleKalmanProcesses EnsembleKalmanProcess = EnsembleKalmanProcesses.EnsembleKalmanProcess using ..DataContainers export get_training_points -export get_obs_sample export orig2zscore export zscore2orig """ @@ -50,33 +48,6 @@ function get_training_points( return training_points end - -""" -$(DocStringExtensions.TYPEDSIGNATURES) - -Return a random sample from the observations, for use in the MCMC. - - - `rng` - optional RNG object used to pick random sample; defaults to `Random.GLOBAL_RNG`. - - `obs` - Observation struct with the observations (extract will pick one - of the sample observations to train). - - `rng_seed` - optional kwarg; if provided, used to re-seed `rng` before sampling. -""" -function get_obs_sample( - rng::Random.AbstractRNG, - obs::Observation; - rng_seed::Union{IT, Nothing} = nothing, -) where {IT <: Int} - # Ensuring reproducibility of the sampled parameter values: - # re-seed the rng *only* if we're given a seed - if rng_seed !== nothing - rng = Random.seed!(rng, rng_seed) - end - row_idxs = StatsBase.sample(rng, axes(obs.samples, 1), 1; replace = false, ordered = false) - return obs.samples[row_idxs...] -end -# first arg optional; defaults to GLOBAL_RNG (as in Random, StatsBase) -get_obs_sample(obs::Observation; kwargs...) = get_obs_sample(Random.GLOBAL_RNG, obs; kwargs...) - function orig2zscore(X::AbstractVector{FT}, mean::AbstractVector{FT}, std::AbstractVector{FT}) where {FT} # Compute the z scores of a vector X using the given mean # and std diff --git a/src/VectorRandomFeature.jl b/src/VectorRandomFeature.jl index 465074e5d..e16a9d5b6 100644 --- a/src/VectorRandomFeature.jl +++ b/src/VectorRandomFeature.jl @@ -96,7 +96,7 @@ $(DocStringExtensions.TYPEDSIGNATURES) Gets the rng field """ -get_rng(vrfi::VectorRandomFeatureInterface) = vrfi.rng +EKP.get_rng(vrfi::VectorRandomFeatureInterface) = vrfi.rng """ $(DocStringExtensions.TYPEDSIGNATURES) @@ -572,8 +572,7 @@ function build_models!( end inflation = optimizer_options["inflation"] if inflation > 0 - terminated = - EKP.update_ensemble!(ekiobj, g_ens, additive_inflation = true, use_prior_cov = true, s = inflation) # small regularizing inflation + terminated = EKP.update_ensemble!(ekiobj, g_ens, additive_inflation = true, s = inflation) # small regularizing inflation else terminated = EKP.update_ensemble!(ekiobj, g_ens) # small regularizing inflation end diff --git a/test/RandomFeature/runtests.jl b/test/RandomFeature/runtests.jl index 75110bfa3..d51dd75e3 100644 --- a/test/RandomFeature/runtests.jl +++ b/test/RandomFeature/runtests.jl @@ -7,7 +7,6 @@ using CalibrateEmulateSample.Emulators using CalibrateEmulateSample.DataContainers using CalibrateEmulateSample.EnsembleKalmanProcesses using CalibrateEmulateSample.ParameterDistributions -using RandomFeatures seed = 10101010 rng = Random.MersenneTwister(seed) diff --git a/test/Utilities/runtests.jl b/test/Utilities/runtests.jl index 54e1ad7c9..7fe46f522 100644 --- a/test/Utilities/runtests.jl +++ b/test/Utilities/runtests.jl @@ -4,7 +4,6 @@ using Statistics using LinearAlgebra using CalibrateEmulateSample.Utilities -using CalibrateEmulateSample.Observations using CalibrateEmulateSample.EnsembleKalmanProcesses using CalibrateEmulateSample.DataContainers @@ -15,10 +14,6 @@ using CalibrateEmulateSample.DataContainers arr = vcat([i * ones(3)' for i in 1:5]...) arr_t = permutedims(arr, (2, 1)) - data_names = ["d1", "d2", "d3"] - obs = Observation(arr_t, data_names) #data must be columns as default - sample = get_obs_sample(rng, obs) - @test sample == [5.0, 5.0, 5.0] mean_arr = dropdims(mean(arr, dims = 1), dims = 1) std_arr = dropdims(std(arr, dims = 1), dims = 1)