diff --git a/.buildkite/pipeline.yml b/.buildkite/pipeline.yml index 6bc290025c..3a79997035 100644 --- a/.buildkite/pipeline.yml +++ b/.buildkite/pipeline.yml @@ -37,6 +37,11 @@ steps: - "julia --project=experiments/ClimaCore/sea_breeze -e 'using Pkg; Pkg.precompile()'" - "julia --project=experiments/ClimaCore/sea_breeze -e 'using Pkg; Pkg.status()'" + - echo "--- Instantiate climacore exp env" + - "julia --project=experiments/ClimaCore/ -e 'using Pkg; Pkg.instantiate(;verbose=true)'" + - "julia --project=experiments/ClimaCore/ -e 'using Pkg; Pkg.precompile()'" + - "julia --project=experiments/ClimaCore/ -e 'using Pkg; Pkg.status()'" + - echo "--- Instantiate amip modular" - "julia --project=experiments/AMIP/modular/ -e 'using Pkg; Pkg.instantiate(;verbose=true)'" - "julia --project=experiments/AMIP/modular/ -e 'using Pkg; Pkg.precompile()'" @@ -203,9 +208,21 @@ steps: # < end Drivers for release - # - label: "Unit tests" - # command: "julia --color=yes --project=test test/runtests.jl" - # artifact_paths: "test/*"slabplanet_albedo_static_map + # CLIMACORE EXPERIMENTS + + - label: "sea_breeze" + command: "julia --color=yes --project=experiments/ClimaCore/sea_breeze experiments/ClimaCore/sea_breeze/run.jl" + artifact_paths: "sea_breeze/" + agents: + slurm_mem: 20GB + + - label: "heat-diffusion" + command: "julia --color=yes --project=experiments/ClimaCore/ experiments/ClimaCore/heat-diffusion/run.jl" + artifact_paths: "heat-diffusion/images/*" + agents: + slurm_mem: 20GB + + # AMIP AND SLABPLANET EXPERIMENTS - label: "Moist earth with slab surface - default: monin gray no_sponge idealinsol freq_dt_cpl" command: "julia --color=yes --project=experiments/AMIP/modular/ experiments/AMIP/modular/coupler_driver_modular.jl --config_file $CONFIG_PATH/default_mono.yml" @@ -269,12 +286,6 @@ steps: slurm_ntasks: 1 slurm_mem: 20GB - - label: "sea_breeze" - command: "julia --color=yes --project=experiments/ClimaCore/sea_breeze experiments/ClimaCore/sea_breeze/run.jl" - artifact_paths: "sea_breeze/" - agents: - slurm_mem: 20GB - - label: "MPI AMIP" command: "srun julia --color=yes --project=experiments/AMIP/modular/ experiments/AMIP/modular/coupler_driver_modular.jl --config_file $CONFIG_PATH/coarse_mpi_n2.yml" artifact_paths: "experiments/AMIP/modular/output/amip/coarse_mpi_n2_artifacts/*" @@ -297,7 +308,7 @@ steps: agents: slurm_mem: 20GB - # flame graphs + allocation tests + # PERFORMANCE RUNS: flame graphs + allocation tests - label: ":rocket: flame graph and allocation tests: perf_coarse_single_modular_ft64" command: "julia --color=yes --project=perf perf/flame.jl --config_file $PERF_CONFIG_PATH/perf_coarse_single_modular_ft64.yml" diff --git a/.gitignore b/.gitignore index 85391e86d0..47e5e6369e 100644 --- a/.gitignore +++ b/.gitignore @@ -29,7 +29,7 @@ docs/src/generated/ # Experiments !experiments/AMIP/**/Manifest.toml -!experiments/ClimaCore/sea_breeze/Manifest.toml +!experiments/ClimaCore/**/Manifest.toml !perf/Manifest.toml # Data diff --git a/experiments/ClimaCore/Manifest.toml b/experiments/ClimaCore/Manifest.toml new file mode 100644 index 0000000000..408b14ab19 --- /dev/null +++ b/experiments/ClimaCore/Manifest.toml @@ -0,0 +1,2640 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.9.4" +manifest_format = "2.0" +project_hash = "e68a9d8bfb2997be996c3f36c66fc7ea4f3f6542" + +[[deps.ADTypes]] +git-tree-sha1 = "332e5d7baeff8497b923b730b994fa480601efc7" +uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" +version = "0.2.5" + +[[deps.AMD]] +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse_jll"] +git-tree-sha1 = "45a1272e3f809d36431e57ab22703c6896b8908f" +uuid = "14f7f29c-3bd6-536c-9a0b-7339e30b5a3e" +version = "0.5.3" + +[[deps.AbstractFFTs]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" +uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" +version = "1.5.0" +weakdeps = ["ChainRulesCore", "Test"] + + [deps.AbstractFFTs.extensions] + AbstractFFTsChainRulesCoreExt = "ChainRulesCore" + AbstractFFTsTestExt = "Test" + +[[deps.AbstractTrees]] +git-tree-sha1 = "faa260e4cb5aba097a73fab382dd4b5819d8ec8c" +uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +version = "0.4.4" + +[[deps.Adapt]] +deps = ["LinearAlgebra", "Requires"] +git-tree-sha1 = "02f731463748db57cc2ebfbd9fbc9ce8280d3433" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "3.7.1" +weakdeps = ["StaticArrays"] + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" + +[[deps.ArgParse]] +deps = ["Logging", "TextWrap"] +git-tree-sha1 = "3102bce13da501c9104df33549f511cd25264d7d" +uuid = "c7e460c6-2fb9-53a9-8c5b-16f535851c63" +version = "1.1.4" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.ArnoldiMethod]] +deps = ["LinearAlgebra", "Random", "StaticArrays"] +git-tree-sha1 = "62e51b39331de8911e4a7ff6f5aaf38a5f4cc0ae" +uuid = "ec485272-7323-5ecc-a04f-4719b315124d" +version = "0.2.0" + +[[deps.ArrayInterface]] +deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "247efbccf92448be332d154d6ca56b9fcdd93c31" +uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" +version = "7.6.1" + + [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.ArrayLayouts]] +deps = ["FillArrays", "LinearAlgebra"] +git-tree-sha1 = "af43df5704827c8618afd36eb56fcab20d3041ee" +uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" +version = "1.4.3" +weakdeps = ["SparseArrays"] + + [deps.ArrayLayouts.extensions] + ArrayLayoutsSparseArraysExt = "SparseArrays" + +[[deps.ArtifactWrappers]] +deps = ["Downloads", "Pkg"] +git-tree-sha1 = "760f4c06375735829b8c1b67560b608b9dba4c6a" +uuid = "a14bc488-3040-4b00-9dc1-f6467924858a" +version = "0.2.0" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.AtmosphericProfilesLibrary]] +deps = ["Dierckx", "LinearAlgebra"] +git-tree-sha1 = "c6be1ce28b7870a60400c51c75dc1b08d6a8dd73" +uuid = "86bc3604-9858-485a-bdbe-831ec50de11d" +version = "0.1.4" + +[[deps.Atomix]] +deps = ["UnsafeAtomics"] +git-tree-sha1 = "c06a868224ecba914baa6942988e2f2aade419be" +uuid = "a9b6321e-bd34-4604-b9c9-b65b8de01458" +version = "0.1.0" + +[[deps.AxisAlgorithms]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] +git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" +uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" +version = "1.0.1" + +[[deps.BFloat16s]] +deps = ["LinearAlgebra", "Printf", "Random", "Test"] +git-tree-sha1 = "dbf84058d0a8cbbadee18d25cf606934b22d7c66" +uuid = "ab4f0b2a-ad5b-11e8-123f-65d77653426b" +version = "0.4.2" + +[[deps.BandedMatrices]] +deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "PrecompileTools"] +git-tree-sha1 = "0b816941273b5b162be122a6c94d706e3b3125ca" +uuid = "aae01518-5342-5314-be14-df237901396f" +version = "0.17.38" +weakdeps = ["SparseArrays"] + + [deps.BandedMatrices.extensions] + BandedMatricesSparseArraysExt = "SparseArrays" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.BitFlags]] +git-tree-sha1 = "2dc09997850d68179b69dafb58ae806167a32b1b" +uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" +version = "0.1.8" + +[[deps.BitTwiddlingConvenienceFunctions]] +deps = ["Static"] +git-tree-sha1 = "0c5f81f47bbbcf4aea7b2959135713459170798b" +uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" +version = "0.1.5" + +[[deps.BlockArrays]] +deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra"] +git-tree-sha1 = "54cd829dd26330c42e1cf9df68470dd4df602c61" +uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" +version = "0.16.38" + +[[deps.BoundaryValueDiffEq]] +deps = ["ArrayInterface", "BandedMatrices", "DiffEqBase", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "NonlinearSolve", "Reexport", "SciMLBase", "Setfield", "SparseArrays", "TruncatedStacktraces", "UnPack"] +git-tree-sha1 = "f7392ce20e6dafa8fee406142b1764de7d7cd911" +uuid = "764a87c0-6b3e-53db-9096-fe964310641d" +version = "4.0.1" + +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+0" + +[[deps.CEnum]] +git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" +uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" +version = "0.4.2" + +[[deps.CFTime]] +deps = ["Dates", "Printf"] +git-tree-sha1 = "ed2e76c1c3c43fd9d0cb9248674620b29d71f2d1" +uuid = "179af706-886a-5703-950a-314cd64e0468" +version = "0.1.2" + +[[deps.CLIMAParameters]] +deps = ["DocStringExtensions", "TOML", "Test"] +git-tree-sha1 = "a085251dfe4b0f732fe2b65d5354e6af91a8e931" +uuid = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" +version = "0.7.26" + +[[deps.CPUSummary]] +deps = ["CpuId", "IfElse", "PrecompileTools", "Static"] +git-tree-sha1 = "601f7e7b3d36f18790e2caf83a882d88e9b71ff1" +uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" +version = "0.2.4" + +[[deps.CUDA]] +deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CUDA_Driver_jll", "CUDA_Runtime_Discovery", "CUDA_Runtime_jll", "ExprTools", "GPUArrays", "GPUCompiler", "KernelAbstractions", "LLVM", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "Preferences", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "SpecialFunctions", "UnsafeAtomicsLLVM"] +git-tree-sha1 = "968c1365e2992824c3e7a794e30907483f8469a9" +uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" +version = "4.4.1" + +[[deps.CUDA_Driver_jll]] +deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] +git-tree-sha1 = "498f45593f6ddc0adff64a9310bb6710e851781b" +uuid = "4ee394cb-3365-5eb0-8335-949819d2adfc" +version = "0.5.0+1" + +[[deps.CUDA_Runtime_Discovery]] +deps = ["Libdl"] +git-tree-sha1 = "bcc4a23cbbd99c8535a5318455dcf0f2546ec536" +uuid = "1af6417a-86b4-443c-805f-a4643ffb695f" +version = "0.2.2" + +[[deps.CUDA_Runtime_jll]] +deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] +git-tree-sha1 = "5248d9c45712e51e27ba9b30eebec65658c6ce29" +uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" +version = "0.6.0+0" + +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.16.1+1" + +[[deps.Calculus]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" +uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" +version = "0.5.1" + +[[deps.CatIndices]] +deps = ["CustomUnitRanges", "OffsetArrays"] +git-tree-sha1 = "a0f80a09780eed9b1d106a1bf62041c2efc995bc" +uuid = "aafaddc9-749c-510e-ac4f-586e18779b91" +version = "0.2.2" + +[[deps.ChainRulesCore]] +deps = ["Compat", "LinearAlgebra"] +git-tree-sha1 = "e0af648f0692ec1691b5d094b8724ba1346281cf" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "1.18.0" +weakdeps = ["SparseArrays"] + + [deps.ChainRulesCore.extensions] + ChainRulesCoreSparseArraysExt = "SparseArrays" + +[[deps.ClimaAtmos]] +deps = ["ArgParse", "ArtifactWrappers", "Artifacts", "AtmosphericProfilesLibrary", "CLIMAParameters", "ClimaComms", "ClimaCore", "ClimaTimeSteppers", "CloudMicrophysics", "Colors", "Dates", "Dierckx", "DiffEqBase", "DiffEqCallbacks", "DocStringExtensions", "FastGaussQuadrature", "ImageFiltering", "Insolation", "Interpolations", "IntervalSets", "Krylov", "LinearAlgebra", "Logging", "NCDatasets", "NVTX", "Pkg", "Printf", "RRTMGP", "Random", "RootSolvers", "SciMLBase", "StaticArrays", "Statistics", "StatsBase", "SurfaceFluxes", "Test", "Thermodynamics", "YAML"] +git-tree-sha1 = "128b759c6d30e13f21cfea16db8b1e860525790e" +uuid = "b2c96348-7fb7-4fe0-8da9-78d88439e717" +version = "0.16.3" + +[[deps.ClimaComms]] +deps = ["CUDA", "MPI"] +git-tree-sha1 = "57c054ddd4280ca8e2b5915ef1cf1395c4edbc78" +uuid = "3a4d1b5c-c61d-41fd-a00a-5873ba7a1b0d" +version = "0.5.6" + +[[deps.ClimaCore]] +deps = ["Adapt", "BandedMatrices", "BlockArrays", "CUDA", "ClimaComms", "CubedSphere", "DataStructures", "DocStringExtensions", "ForwardDiff", "GaussQuadrature", "GilbertCurves", "HDF5", "InteractiveUtils", "IntervalSets", "LinearAlgebra", "PkgVersion", "RecursiveArrayTools", "Requires", "RootSolvers", "SparseArrays", "Static", "StaticArrays", "Statistics", "UnPack"] +git-tree-sha1 = "ecbb0f31a6932f956e4b1e6908feae01c552ba20" +uuid = "d414da3d-4745-48bb-8d80-42e94e092884" +version = "0.10.56" + +[[deps.ClimaTimeSteppers]] +deps = ["CUDA", "ClimaComms", "Colors", "DataStructures", "DiffEqBase", "DiffEqCallbacks", "KernelAbstractions", "Krylov", "LinearAlgebra", "LinearOperators", "NVTX", "SciMLBase", "StaticArrays"] +git-tree-sha1 = "40edb50016a5db1a3862dd6e8f76e37c0fbf4f07" +uuid = "595c0a79-7f3d-439a-bc5a-b232dc3bde79" +version = "0.7.15" + +[[deps.CloseOpenIntervals]] +deps = ["Static", "StaticArrayInterface"] +git-tree-sha1 = "70232f82ffaab9dc52585e0dd043b5e0c6b714f1" +uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" +version = "0.1.12" + +[[deps.CloudMicrophysics]] +deps = ["CLIMAParameters", "DocStringExtensions", "ForwardDiff", "RootSolvers", "SpecialFunctions", "Thermodynamics"] +git-tree-sha1 = "a6993c57af74e2e0f2191b556178cc8d8c0df9d6" +uuid = "6a9e3e04-43cd-43ba-94b9-e8782df3c71b" +version = "0.15.1" + +[[deps.CodecZlib]] +deps = ["TranscodingStreams", "Zlib_jll"] +git-tree-sha1 = "cd67fc487743b2f0fd4380d4cbd3a24660d0eec8" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.7.3" + +[[deps.ColorSchemes]] +deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] +git-tree-sha1 = "67c1f244b991cad9b0aa4b7540fb758c2488b129" +uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" +version = "3.24.0" + +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "eb7f0f8307f71fac7c606984ea5fb2817275d6e4" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.11.4" + +[[deps.ColorVectorSpace]] +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "Requires", "Statistics", "TensorCore"] +git-tree-sha1 = "a1f44953f2382ebb937d60dafbe2deea4bd23249" +uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" +version = "0.10.0" +weakdeps = ["SpecialFunctions"] + + [deps.ColorVectorSpace.extensions] + SpecialFunctionsExt = "SpecialFunctions" + +[[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 = "7f5717cbb2c1ce650cfd454451f282df33103596" +uuid = "1fbeeb36-5f17-413c-809b-666fb144f157" +version = "0.2.5" + +[[deps.CommonSolve]] +git-tree-sha1 = "0eee5eb66b1cf62cd6ad1b460238e60e4b09400c" +uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" +version = "0.2.4" + +[[deps.CommonSubexpressions]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" +uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" +version = "0.3.0" + +[[deps.Compat]] +deps = ["UUIDs"] +git-tree-sha1 = "8a62af3e248a8c4bad6b32cbbe663ae02275e32c" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.10.0" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.0.5+0" + +[[deps.ComputationalResources]] +git-tree-sha1 = "52cb3ec90e8a8bea0e62e275ba577ad0f74821f7" +uuid = "ed09eef8-17a6-5b46-8889-db040fac31e3" +version = "0.3.2" + +[[deps.ConcreteStructs]] +git-tree-sha1 = "f749037478283d372048690eb3b5f92a79432b34" +uuid = "2569d6c7-a4a2-43d3-a901-331e8e4be471" +version = "0.2.3" + +[[deps.ConcurrentUtilities]] +deps = ["Serialization", "Sockets"] +git-tree-sha1 = "8cfa272e8bdedfa88b6aefbbca7c19f1befac519" +uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" +version = "2.3.0" + +[[deps.ConstructionBase]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "c53fc348ca4d40d7b371e71fd52251839080cbc9" +uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" +version = "1.5.4" +weakdeps = ["IntervalSets", "StaticArrays"] + + [deps.ConstructionBase.extensions] + ConstructionBaseIntervalSetsExt = "IntervalSets" + ConstructionBaseStaticArraysExt = "StaticArrays" + +[[deps.Contour]] +git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" +uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" +version = "0.6.2" + +[[deps.CpuId]] +deps = ["Markdown"] +git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" +uuid = "adafc99b-e345-5852-983c-f28acb93d879" +version = "0.3.1" + +[[deps.Crayons]] +git-tree-sha1 = "249fe38abf76d48563e2f4556bebd215aa317e15" +uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" +version = "4.1.1" + +[[deps.CubedSphere]] +deps = ["Elliptic", "FFTW", "Printf", "ProgressBars", "SpecialFunctions", "TaylorSeries", "Test"] +git-tree-sha1 = "253193dfb0384646936c5ff3230b27a20d91261e" +uuid = "7445602f-e544-4518-8976-18f8e8ae6cdb" +version = "0.2.4" + +[[deps.CustomUnitRanges]] +git-tree-sha1 = "1a3f97f907e6dd8983b744d2642651bb162a3f7a" +uuid = "dc8bdbbb-1ca9-579f-8c36-e416f6a65cce" +version = "1.0.2" + +[[deps.DataAPI]] +git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.15.0" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "3dbd312d370723b6bb43ba9d02fc36abade4518d" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.15" + +[[deps.DataValueInterfaces]] +git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" +uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" +version = "1.0.0" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.DelayDiffEq]] +deps = ["ArrayInterface", "DataStructures", "DiffEqBase", "LinearAlgebra", "Logging", "OrdinaryDiffEq", "Printf", "RecursiveArrayTools", "Reexport", "SciMLBase", "SimpleNonlinearSolve", "SimpleUnPack"] +git-tree-sha1 = "df712c77bb43b37ea966feb72cb2e92d51a3face" +uuid = "bcd4f6db-9728-5f36-b5f7-82caef46ccdb" +version = "5.43.1" + +[[deps.DelimitedFiles]] +deps = ["Mmap"] +git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" +version = "1.9.1" + +[[deps.Dierckx]] +deps = ["Dierckx_jll"] +git-tree-sha1 = "d1ea9f433781bb6ff504f7d3cb70c4782c504a3a" +uuid = "39dd38d3-220a-591b-8e3c-4c3a8c710a94" +version = "0.5.3" + +[[deps.Dierckx_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "6596b96fe1caff3db36415eeb6e9d3b50bfe40ee" +uuid = "cd4c43a9-7502-52ba-aa6d-59fb2a88580b" +version = "0.1.0+0" + +[[deps.DiffEqBase]] +deps = ["ArrayInterface", "ChainRulesCore", "DataStructures", "DocStringExtensions", "EnumX", "FastBroadcast", "ForwardDiff", "FunctionWrappers", "FunctionWrappersWrappers", "LinearAlgebra", "Logging", "Markdown", "MuladdMacro", "Parameters", "PreallocationTools", "PrecompileTools", "Printf", "RecursiveArrayTools", "Reexport", "Requires", "SciMLBase", "SciMLOperators", "Setfield", "SparseArrays", "Static", "StaticArraysCore", "Statistics", "Tricks", "TruncatedStacktraces", "ZygoteRules"] +git-tree-sha1 = "0d9982e8dee851d519145857e79a17ee33ede154" +uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" +version = "6.130.0" + + [deps.DiffEqBase.extensions] + DiffEqBaseDistributionsExt = "Distributions" + DiffEqBaseGeneralizedGeneratedExt = "GeneralizedGenerated" + DiffEqBaseMPIExt = "MPI" + DiffEqBaseMeasurementsExt = "Measurements" + DiffEqBaseMonteCarloMeasurementsExt = "MonteCarloMeasurements" + DiffEqBaseReverseDiffExt = "ReverseDiff" + DiffEqBaseTrackerExt = "Tracker" + DiffEqBaseUnitfulExt = "Unitful" + DiffEqBaseZygoteExt = "Zygote" + + [deps.DiffEqBase.weakdeps] + Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f" + GeneralizedGenerated = "6b9d7cbe-bcb9-11e9-073f-15a7a543e2eb" + MPI = "da04e1cc-30fd-572f-bb4f-1f8673147195" + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[[deps.DiffEqCallbacks]] +deps = ["DataStructures", "DiffEqBase", "ForwardDiff", "Functors", "LinearAlgebra", "Markdown", "NLsolve", "Parameters", "RecipesBase", "RecursiveArrayTools", "SciMLBase", "StaticArraysCore"] +git-tree-sha1 = "4e4de57a0ac47b2f20aae62f132355b058e9f0cd" +uuid = "459566f4-90b8-5000-8ac3-15dfb0a30def" +version = "2.34.0" +weakdeps = ["OrdinaryDiffEq", "Sundials"] + +[[deps.DiffEqNoiseProcess]] +deps = ["DiffEqBase", "Distributions", "GPUArraysCore", "LinearAlgebra", "Markdown", "Optim", "PoissonRandom", "QuadGK", "Random", "Random123", "RandomNumbers", "RecipesBase", "RecursiveArrayTools", "Requires", "ResettableStacks", "SciMLBase", "StaticArraysCore", "Statistics"] +git-tree-sha1 = "57ed4597a309c5b2a10cab5f9813adcb78f92117" +uuid = "77a26b50-5914-5dd7-bc55-306e6241c503" +version = "5.19.0" + + [deps.DiffEqNoiseProcess.extensions] + DiffEqNoiseProcessReverseDiffExt = "ReverseDiff" + + [deps.DiffEqNoiseProcess.weakdeps] + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + +[[deps.DiffResults]] +deps = ["StaticArraysCore"] +git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" +uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" +version = "1.1.0" + +[[deps.DiffRules]] +deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] +git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" +uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" +version = "1.15.1" + +[[deps.DifferentialEquations]] +deps = ["BoundaryValueDiffEq", "DelayDiffEq", "DiffEqBase", "DiffEqCallbacks", "DiffEqNoiseProcess", "JumpProcesses", "LinearAlgebra", "LinearSolve", "NonlinearSolve", "OrdinaryDiffEq", "Random", "RecursiveArrayTools", "Reexport", "SciMLBase", "SteadyStateDiffEq", "StochasticDiffEq", "Sundials"] +git-tree-sha1 = "96a19f498504e4a3b39524196b73eb60ccef30e9" +uuid = "0c46a032-eb83-5123-abaf-570d42b7fbaa" +version = "7.10.0" + +[[deps.Distances]] +deps = ["LinearAlgebra", "Statistics", "StatsAPI"] +git-tree-sha1 = "5225c965635d8c21168e32a12954675e7bea1151" +uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" +version = "0.10.10" +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 = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns"] +git-tree-sha1 = "a6c00f894f24460379cb7136633cef54ac9f6f4a" +uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" +version = "0.25.103" + + [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"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.DualNumbers]] +deps = ["Calculus", "NaNMath", "SpecialFunctions"] +git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" +uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" +version = "0.6.8" + +[[deps.Elliptic]] +git-tree-sha1 = "71c79e77221ab3a29918aaf6db4f217b89138608" +uuid = "b305315f-e792-5b7a-8f41-49f472929428" +version = "1.0.1" + +[[deps.EnumX]] +git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" +uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" +version = "1.0.4" + +[[deps.EnzymeCore]] +deps = ["Adapt"] +git-tree-sha1 = "ab81396e4e7b61f5590db02fa1c17fae4f16d7ab" +uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" +version = "0.6.3" + +[[deps.EpollShim_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8e9441ee83492030ace98f9789a654a6d0b1f643" +uuid = "2702e6a9-849d-5ed8-8c21-79e8b8f9ee43" +version = "0.0.20230411+0" + +[[deps.ExceptionUnwrapping]] +deps = ["Test"] +git-tree-sha1 = "e90caa41f5a86296e014e148ee061bd6c3edec96" +uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" +version = "0.1.9" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "4558ab818dcceaab612d1bb8c19cee87eda2b83c" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.5.0+0" + +[[deps.ExponentialUtilities]] +deps = ["Adapt", "ArrayInterface", "GPUArraysCore", "GenericSchur", "LinearAlgebra", "PrecompileTools", "Printf", "SparseArrays", "libblastrampoline_jll"] +git-tree-sha1 = "602e4585bcbd5a25bc06f514724593d13ff9e862" +uuid = "d4d017d3-3776-5f7e-afef-a10c40355c18" +version = "1.25.0" + +[[deps.ExprTools]] +git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.10" + +[[deps.FFMPEG]] +deps = ["FFMPEG_jll"] +git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" +uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" +version = "0.4.1" + +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "466d45dc38e15794ec7d5d63ec03d776a9aff36e" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "4.4.4+1" + +[[deps.FFTViews]] +deps = ["CustomUnitRanges", "FFTW"] +git-tree-sha1 = "cbdf14d1e8c7c8aacbe8b19862e0179fd08321c2" +uuid = "4f61f5a4-77b1-5117-aa51-3ab5ef4ef0cd" +version = "0.3.2" + +[[deps.FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] +git-tree-sha1 = "b4fbdd20c889804969571cc589900803edda16b7" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.7.1" + +[[deps.FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.10+0" + +[[deps.FastBroadcast]] +deps = ["ArrayInterface", "LinearAlgebra", "Polyester", "Static", "StaticArrayInterface", "StrideArraysCore"] +git-tree-sha1 = "a6e756a880fc419c8b41592010aebe6a5ce09136" +uuid = "7034ab61-46d4-4ed7-9d0f-46aef9175898" +version = "0.2.8" + +[[deps.FastClosures]] +git-tree-sha1 = "acebe244d53ee1b461970f8910c235b259e772ef" +uuid = "9aa1b823-49e4-5ca5-8b0f-3971ec8bab6a" +version = "0.3.2" + +[[deps.FastGaussQuadrature]] +deps = ["LinearAlgebra", "SpecialFunctions", "StaticArrays"] +git-tree-sha1 = "93ff6a4d5e7bfe27732259bfabbdd19940d8af1f" +uuid = "442a2c76-b920-505d-bb47-c5924d526838" +version = "1.0.0" + +[[deps.FastLapackInterface]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "b12f05108e405dadcc2aff0008db7f831374e051" +uuid = "29a986be-02c6-4525-aec4-84b980013641" +version = "2.0.0" + +[[deps.FileIO]] +deps = ["Pkg", "Requires", "UUIDs"] +git-tree-sha1 = "299dc33549f68299137e51e6d49a13b5b1da9673" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.16.1" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.FillArrays]] +deps = ["LinearAlgebra", "Random"] +git-tree-sha1 = "28e4e9c4b7b162398ec8004bdabe9a90c78c122d" +uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" +version = "1.8.0" +weakdeps = ["PDMats", "SparseArrays", "Statistics"] + + [deps.FillArrays.extensions] + FillArraysPDMatsExt = "PDMats" + FillArraysSparseArraysExt = "SparseArrays" + FillArraysStatisticsExt = "Statistics" + +[[deps.FiniteDiff]] +deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays"] +git-tree-sha1 = "c6e4a1fbe73b31a3dea94b1da449503b8830c306" +uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" +version = "2.21.1" + + [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.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.4" + +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.93+0" + +[[deps.Formatting]] +deps = ["Printf"] +git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" +uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" +version = "0.4.2" + +[[deps.ForwardDiff]] +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] +git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" +uuid = "f6369f11-7733-5829-9624-2563aa707210" +version = "0.10.36" +weakdeps = ["StaticArrays"] + + [deps.ForwardDiff.extensions] + ForwardDiffStaticArraysExt = "StaticArrays" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "d8db6a5a2fe1381c1ea4ef2cab7c69c2de7f9ea0" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.13.1+0" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.10+0" + +[[deps.FunctionWrappers]] +git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" +uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" +version = "1.1.3" + +[[deps.FunctionWrappersWrappers]] +deps = ["FunctionWrappers"] +git-tree-sha1 = "b104d487b34566608f8b4e1c39fb0b10aa279ff8" +uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf" +version = "0.1.3" + +[[deps.Functors]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "9a68d75d466ccc1218d0552a8e1631151c569545" +uuid = "d9f16b24-f501-4c13-a1f2-28368ffc5196" +version = "0.4.5" + +[[deps.Future]] +deps = ["Random"] +uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" + +[[deps.GLFW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] +git-tree-sha1 = "d972031d28c8c8d9d7b41a536ad7bb0c2579caca" +uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" +version = "3.3.8+0" + +[[deps.GPUArrays]] +deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] +git-tree-sha1 = "2e57b4a4f9cc15e85a24d603256fe08e527f48d1" +uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" +version = "8.8.1" + +[[deps.GPUArraysCore]] +deps = ["Adapt"] +git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" +uuid = "46192b85-c4d5-4398-a991-12ede77f4527" +version = "0.1.5" + +[[deps.GPUCompiler]] +deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "Scratch", "TimerOutputs", "UUIDs"] +git-tree-sha1 = "72b2e3c2ba583d1a7aa35129e56cf92e07c083e3" +uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" +version = "0.21.4" + +[[deps.GR]] +deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "UUIDs", "p7zip_jll"] +git-tree-sha1 = "27442171f28c952804dede8ff72828a96f2bfc1f" +uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" +version = "0.72.10" + +[[deps.GR_jll]] +deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "025d171a2847f616becc0f84c8dc62fe18f0f6dd" +uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" +version = "0.72.10+0" + +[[deps.GaussQuadrature]] +deps = ["SpecialFunctions"] +git-tree-sha1 = "eb6f1f48aa994f3018cbd029a17863c6535a266d" +uuid = "d54b0c1a-921d-58e0-8e36-89d8069c0969" +version = "0.5.8" + +[[deps.GenericSchur]] +deps = ["LinearAlgebra", "Printf"] +git-tree-sha1 = "fb69b2a645fa69ba5f474af09221b9308b160ce6" +uuid = "c145ed77-6b09-5dd9-b285-bf645a82121e" +version = "0.5.3" + +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.GilbertCurves]] +git-tree-sha1 = "3e076ca96e34a47e98a46657b2bec2655a366d80" +uuid = "88fa7841-ef32-4516-bb70-c6ec135699d9" +version = "0.1.0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] +git-tree-sha1 = "e94c92c7bf4819685eb80186d51c43e71d4afa17" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.76.5+0" + +[[deps.Glob]] +git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" +uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" +version = "1.3.1" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + +[[deps.Graphs]] +deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] +git-tree-sha1 = "899050ace26649433ef1af25bc17a815b3db52b7" +uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" +version = "1.9.0" + +[[deps.Grisu]] +git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" +uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" +version = "1.0.2" + +[[deps.HDF5]] +deps = ["Compat", "HDF5_jll", "Libdl", "MPIPreferences", "Mmap", "Preferences", "Printf", "Random", "Requires", "UUIDs"] +git-tree-sha1 = "26407bd1c60129062cec9da63dc7d08251544d53" +uuid = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" +version = "0.17.1" +weakdeps = ["MPI"] + + [deps.HDF5.extensions] + MPIExt = "MPI" + +[[deps.HDF5_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "LazyArtifacts", "LibCURL_jll", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "OpenSSL_jll", "TOML", "Zlib_jll", "libaec_jll"] +git-tree-sha1 = "38c8874692d48d5440d5752d6c74b0c6b0b60739" +uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" +version = "1.14.2+1" + +[[deps.HTTP]] +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "5eab648309e2e060198b45820af1a37182de3cce" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "1.10.0" + +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] +git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "2.8.1+1" + +[[deps.HostCPUFeatures]] +deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] +git-tree-sha1 = "eb8fed28f4994600e29beef49744639d985a04b2" +uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" +version = "0.1.16" + +[[deps.HypergeometricFunctions]] +deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] +git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685" +uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" +version = "0.3.23" + +[[deps.IfElse]] +git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" +uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" +version = "0.1.1" + +[[deps.ImageBase]] +deps = ["ImageCore", "Reexport"] +git-tree-sha1 = "eb49b82c172811fd2c86759fa0553a2221feb909" +uuid = "c817782e-172a-44cc-b673-b171935fbb9e" +version = "0.1.7" + +[[deps.ImageCore]] +deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "PrecompileTools", "Reexport"] +git-tree-sha1 = "fc5d1d3443a124fde6e92d0260cd9e064eba69f8" +uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" +version = "0.10.1" + +[[deps.ImageFiltering]] +deps = ["CatIndices", "ComputationalResources", "DataStructures", "FFTViews", "FFTW", "ImageBase", "ImageCore", "LinearAlgebra", "OffsetArrays", "PrecompileTools", "Reexport", "SparseArrays", "StaticArrays", "Statistics", "TiledIteration"] +git-tree-sha1 = "432ae2b430a18c58eb7eca9ef8d0f2db90bc749c" +uuid = "6a3955dd-da59-5b1f-98d4-e7296123deb5" +version = "0.7.8" + +[[deps.IncompleteLU]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "6c676e79f98abb6d33fa28122cad099f1e464afe" +uuid = "40713840-3770-5561-ab4c-a76e7d0d7895" +version = "0.2.1" + +[[deps.Inflate]] +git-tree-sha1 = "ea8031dea4aff6bd41f1df8f2fdfb25b33626381" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.4" + +[[deps.Insolation]] +deps = ["Artifacts", "Dates", "DelimitedFiles", "Interpolations"] +git-tree-sha1 = "36fe16ea725ed8c8eb5fd066fd8d0ef14adc80dd" +uuid = "e98cc03f-d57e-4e3c-b70c-8d51efe9e0d8" +version = "0.6.0" + +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2023.2.0+0" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.Interpolations]] +deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] +git-tree-sha1 = "721ec2cf720536ad005cb38f50dbba7b02419a15" +uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +version = "0.14.7" + +[[deps.IntervalSets]] +deps = ["Dates", "Statistics"] +git-tree-sha1 = "ad841eddfb05f6d9be0bff1fa48dcae32f134a2d" +uuid = "8197267c-284f-5f27-9208-e0e47529a953" +version = "0.6.2" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.2" + +[[deps.IterativeSolvers]] +deps = ["LinearAlgebra", "Printf", "Random", "RecipesBase", "SparseArrays"] +git-tree-sha1 = "b435d190ef8369cf4d79cc9dd5fba88ba0165307" +uuid = "42fd0dbc-a981-5370-80f2-aaf504508153" +version = "0.9.3" + +[[deps.IteratorInterfaceExtensions]] +git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" +uuid = "82899510-4779-5014-852e-03e436cf321d" +version = "1.0.0" + +[[deps.JLD2]] +deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "PrecompileTools", "Printf", "Reexport", "Requires", "TranscodingStreams", "UUIDs"] +git-tree-sha1 = "9bbb5130d3b4fa52846546bca4791ecbdfb52730" +uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" +version = "0.4.38" + +[[deps.JLFzf]] +deps = ["Pipe", "REPL", "Random", "fzf_jll"] +git-tree-sha1 = "a53ebe394b71470c7f97c2e7e170d51df21b17af" +uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" +version = "0.1.7" + +[[deps.JLLWrappers]] +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.5.0" + +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.4" + +[[deps.JSON3]] +deps = ["Dates", "Mmap", "Parsers", "PrecompileTools", "StructTypes", "UUIDs"] +git-tree-sha1 = "95220473901735a0f4df9d1ca5b171b568b2daa3" +uuid = "0f8b85d8-7281-11e9-16c2-39a750bddbf1" +version = "1.13.2" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6f2675ef130a300a112286de91973805fcc5ffbc" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "2.1.91+0" + +[[deps.JuliaNVTXCallbacks_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "af433a10f3942e882d3c671aacb203e006a5808f" +uuid = "9c1d0b0a-7046-5b2e-a33f-ea22f176ac7e" +version = "0.2.1+0" + +[[deps.JumpProcesses]] +deps = ["ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "FunctionWrappers", "Graphs", "LinearAlgebra", "Markdown", "PoissonRandom", "Random", "RandomNumbers", "RecursiveArrayTools", "Reexport", "SciMLBase", "StaticArrays", "TreeViews", "UnPack"] +git-tree-sha1 = "3de1d557e382cad270d921fbc22351f5628e7b1f" +uuid = "ccbc3e58-028d-4f4c-8cd5-9ae44345cda5" +version = "9.8.0" +weakdeps = ["FastBroadcast"] + + [deps.JumpProcesses.extensions] + JumpProcessFastBroadcastExt = "FastBroadcast" + +[[deps.KLU]] +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse_jll"] +git-tree-sha1 = "884c2968c2e8e7e6bf5956af88cb46aa745c854b" +uuid = "ef3ab10e-7fda-4108-b977-705223b18434" +version = "0.4.1" + +[[deps.KernelAbstractions]] +deps = ["Adapt", "Atomix", "InteractiveUtils", "LinearAlgebra", "MacroTools", "PrecompileTools", "Requires", "SparseArrays", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] +git-tree-sha1 = "b0737cbbe1c8da6f1139d1c23e35e7cea129c0af" +uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" +version = "0.9.13" +weakdeps = ["EnzymeCore"] + + [deps.KernelAbstractions.extensions] + EnzymeExt = "EnzymeCore" + +[[deps.Krylov]] +deps = ["LinearAlgebra", "Printf", "SparseArrays"] +git-tree-sha1 = "17e462054b42dcdda73e9a9ba0c67754170c88ae" +uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" +version = "0.9.4" + +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.1+0" + +[[deps.LDLFactorizations]] +deps = ["AMD", "LinearAlgebra", "SparseArrays", "Test"] +git-tree-sha1 = "70f582b446a1c3ad82cf87e62b878668beef9d13" +uuid = "40e66cde-538c-5869-a4ad-c39174c6795b" +version = "0.10.1" + +[[deps.LERC_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" +uuid = "88015f11-f218-50d7-93a8-a6af411a945d" +version = "3.0.0+1" + +[[deps.LLVM]] +deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Preferences", "Printf", "Requires", "Unicode"] +git-tree-sha1 = "c879e47398a7ab671c782e02b51a4456794a7fa3" +uuid = "929cbde3-209d-540e-8aea-75f648917ca0" +version = "6.4.0" +weakdeps = ["BFloat16s"] + + [deps.LLVM.extensions] + BFloat16sExt = "BFloat16s" + +[[deps.LLVMExtra_jll]] +deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] +git-tree-sha1 = "98eaee04d96d973e79c25d49167668c5c8fb50e2" +uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" +version = "0.0.27+1" + +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "15.0.4+0" + +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.1+0" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "50901ebc375ed41dbf8058da26f9de442febbbec" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.1" + +[[deps.Latexify]] +deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Printf", "Requires"] +git-tree-sha1 = "f428ae552340899a935973270b8d98e5a31c49fe" +uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" +version = "0.16.1" + + [deps.Latexify.extensions] + DataFramesExt = "DataFrames" + SymEngineExt = "SymEngine" + + [deps.Latexify.weakdeps] + DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" + +[[deps.LayoutPointers]] +deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface"] +git-tree-sha1 = "62edfee3211981241b57ff1cedf4d74d79519277" +uuid = "10f19ff3-798f-405d-979b-55457f8fc047" +version = "0.1.15" + +[[deps.Lazy]] +deps = ["MacroTools"] +git-tree-sha1 = "1370f8202dac30758f3c345f9909b97f53d87d3f" +uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" +version = "0.15.1" + +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" + +[[deps.LeftChildRightSiblingTrees]] +deps = ["AbstractTrees"] +git-tree-sha1 = "fb6803dafae4a5d62ea5cab204b1e657d9737e7f" +uuid = "1d6d02ad-be62-4b6b-8a6d-2f90e265016e" +version = "0.2.0" + +[[deps.LevyArea]] +deps = ["LinearAlgebra", "Random", "SpecialFunctions"] +git-tree-sha1 = "56513a09b8e0ae6485f34401ea9e2f31357958ec" +uuid = "2d8b4e74-eb68-11e8-0fb9-d5eb67b50637" +version = "1.0.0" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.4" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "8.4.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.11.0+1" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] +git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.8.7+0" + +[[deps.Libglvnd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" +version = "1.6.0+0" + +[[deps.Libgpg_error_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.42.0+0" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.17.0+0" + +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.35.0+0" + +[[deps.Libtiff_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "2da088d113af58221c52828a80378e16be7d037a" +uuid = "89763e89-9b03-5906-acba-b20f662cd828" +version = "4.5.1+1" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.36.0+0" + +[[deps.LineSearches]] +deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] +git-tree-sha1 = "7bbea35cec17305fc70a0e5b4641477dc0789d9d" +uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" +version = "7.2.0" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.LinearOperators]] +deps = ["FastClosures", "LDLFactorizations", "LinearAlgebra", "Printf", "SparseArrays", "TimerOutputs"] +git-tree-sha1 = "a58ab1d18efa0bcf9f0868c6d387e4126dad3e72" +uuid = "5c8ed15e-5a4c-59e4-a42b-c7e8811fb125" +version = "2.5.2" + +[[deps.LinearSolve]] +deps = ["ArrayInterface", "ConcreteStructs", "DocStringExtensions", "EnumX", "EnzymeCore", "FastLapackInterface", "GPUArraysCore", "InteractiveUtils", "KLU", "Krylov", "Libdl", "LinearAlgebra", "MKL_jll", "PrecompileTools", "Preferences", "RecursiveFactorization", "Reexport", "Requires", "SciMLBase", "SciMLOperators", "Setfield", "SparseArrays", "Sparspak", "SuiteSparse", "UnPack"] +git-tree-sha1 = "9f27ba34f5821a0495efb09ea3a465c31326495a" +uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" +version = "2.10.0" + + [deps.LinearSolve.extensions] + LinearSolveBlockDiagonalsExt = "BlockDiagonals" + LinearSolveCUDAExt = "CUDA" + LinearSolveEnzymeExt = "Enzyme" + LinearSolveHYPREExt = "HYPRE" + LinearSolveIterativeSolversExt = "IterativeSolvers" + LinearSolveKernelAbstractionsExt = "KernelAbstractions" + LinearSolveKrylovKitExt = "KrylovKit" + LinearSolveMetalExt = "Metal" + LinearSolvePardisoExt = "Pardiso" + + [deps.LinearSolve.weakdeps] + BlockDiagonals = "0a1fb500-61f7-11e9-3c65-f5ef3456f9f0" + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + HYPRE = "b5ffcf37-a2bd-41ab-a3da-4bd9bc8ad771" + IterativeSolvers = "42fd0dbc-a981-5370-80f2-aaf504508153" + KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" + KrylovKit = "0b1a1467-8014-51b9-945f-bf0ae24f4b77" + Metal = "dde4c033-4e86-420c-a63e-0dd931031962" + Pardiso = "46dd5b70-b6fb-5a00-ae2d-e8fea33afaf2" + +[[deps.LogExpFunctions]] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +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 = "c1dd6d7978c12545b4179fb6153b9250c96b0075" +uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" +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" +uuid = "bdcacae8-1622-11e9-2a5c-532679323890" +version = "0.12.166" +weakdeps = ["ChainRulesCore", "ForwardDiff", "SpecialFunctions"] + + [deps.LoopVectorization.extensions] + ForwardDiffExt = ["ChainRulesCore", "ForwardDiff"] + SpecialFunctionsExt = "SpecialFunctions" + +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] +git-tree-sha1 = "eb006abbd7041c28e0d16260e50a24f8f9104913" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2023.2.0+0" + +[[deps.MPI]] +deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "PkgVersion", "PrecompileTools", "Requires", "Serialization", "Sockets"] +git-tree-sha1 = "9dc0c2c256d8b53324770738e54083622f2ca187" +uuid = "da04e1cc-30fd-572f-bb4f-1f8673147195" +version = "0.20.18" + + [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 = "8a5b4d2220377d1ece13f49438d71ad20cf1ba83" +uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" +version = "4.1.2+0" + +[[deps.MPIPreferences]] +deps = ["Libdl", "Preferences"] +git-tree-sha1 = "8f6af051b9e8ec597fa09d8885ed79fd582f33c9" +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 = "6979eccb6a9edbbb62681e158443e79ecc0d056a" +uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" +version = "5.3.1+0" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "9ee1618cbf5240e6d4e0371d6f24065083f60c48" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.11" + +[[deps.ManualMemory]] +git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" +uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" +version = "0.1.8" + +[[deps.MappedArrays]] +git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e" +uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" +version = "0.4.2" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "NetworkOptions", "Random", "Sockets"] +git-tree-sha1 = "c067a280ddc25f196b5e7df3877c6b226d390aaf" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.1.9" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.2+0" + +[[deps.Measures]] +git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" +uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" +version = "0.3.2" + +[[deps.MicrosoftMPI_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "b01beb91d20b0d1312a9471a36017b5b339d26de" +uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" +version = "10.1.4+1" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.1.0" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[deps.MosaicViews]] +deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] +git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" +uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" +version = "0.3.4" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2022.10.11" + +[[deps.MuladdMacro]] +git-tree-sha1 = "cac9cc5499c25554cba55cd3c30543cff5ca4fab" +uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" +version = "0.2.4" + +[[deps.NCDatasets]] +deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "NetCDF_jll", "NetworkOptions", "Printf"] +git-tree-sha1 = "4263c4220f22e20729329838bf7e94a49d1ac32f" +uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" +version = "0.12.17" + +[[deps.NLSolversBase]] +deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] +git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" +uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" +version = "7.8.3" + +[[deps.NLsolve]] +deps = ["Distances", "LineSearches", "LinearAlgebra", "NLSolversBase", "Printf", "Reexport"] +git-tree-sha1 = "019f12e9a1a7880459d0173c182e6a99365d7ac1" +uuid = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" +version = "4.5.1" + +[[deps.NVTX]] +deps = ["Colors", "JuliaNVTXCallbacks_jll", "Libdl", "NVTX_jll"] +git-tree-sha1 = "8bc9ce4233be3c63f8dcd78ccaf1b63a9c0baa34" +uuid = "5da4648a-3479-48b8-97b9-01cb529c0a1f" +version = "0.3.3" + +[[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" +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" +uuid = "7243133f-43d8-5620-bbf4-c2c921802cf3" +version = "400.902.208+0" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.NonlinearSolve]] +deps = ["ArrayInterface", "DiffEqBase", "EnumX", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "LinearSolve", "PrecompileTools", "RecursiveArrayTools", "Reexport", "SciMLBase", "SimpleNonlinearSolve", "SparseArrays", "SparseDiffTools", "StaticArraysCore", "UnPack"] +git-tree-sha1 = "e10debcea868cd6e51249e8eeaf191c25f68a640" +uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" +version = "1.10.1" + +[[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 = "1821dce5269caa6f9dc3df3e1b97928b39f233b5" +uuid = "9e8cae18-63c1-5223-a75c-80ca9d6e9a09" +version = "0.88.0" + +[[deps.OffsetArrays]] +deps = ["Adapt"] +git-tree-sha1 = "2ac17d29c523ce1cd38e27785a7d23024853a4bb" +uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +version = "1.12.10" + +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.21+4" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+0" + +[[deps.OpenMPI_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "e25c1778a98e34219a00455d6e4384e017ea9762" +uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" +version = "4.1.6+0" + +[[deps.OpenSSL]] +deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] +git-tree-sha1 = "51901a49222b09e3743c65b8847687ae5fc78eb2" +uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" +version = "1.4.1" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "cc6e1927ac521b659af340e0ca45828a3ffc748f" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "3.0.12+0" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +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 = "01f85d9269b13fedc61e63cc72ee2213565f7a72" +uuid = "429524aa-4258-5aef-a3af-852621145aeb" +version = "1.7.8" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.2+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.6.3" + +[[deps.OrdinaryDiffEq]] +deps = ["ADTypes", "Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "ExponentialUtilities", "FastBroadcast", "FastClosures", "FiniteDiff", "ForwardDiff", "FunctionWrappersWrappers", "IfElse", "InteractiveUtils", "LineSearches", "LinearAlgebra", "LinearSolve", "Logging", "LoopVectorization", "MacroTools", "MuladdMacro", "NLsolve", "NonlinearSolve", "Polyester", "PreallocationTools", "PrecompileTools", "Preferences", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLNLSolve", "SciMLOperators", "SimpleNonlinearSolve", "SimpleUnPack", "SparseArrays", "SparseDiffTools", "StaticArrayInterface", "StaticArrays", "TruncatedStacktraces"] +git-tree-sha1 = "f0f43037c0ba045e96f32d65858eb825a211b817" +uuid = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" +version = "6.58.2" + +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.42.0+0" + +[[deps.PDMats]] +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "4e5be6bb265d33669f98eb55d2a57addd1eeb72c" +uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" +version = "0.11.30" + +[[deps.PackageExtensionCompat]] +git-tree-sha1 = "fb28e33b8a95c4cee25ce296c817d89cc2e53518" +uuid = "65ce6f38-6b18-4e1d-a461-8949797d7930" +version = "1.0.2" +weakdeps = ["Requires", "TOML"] + +[[deps.PaddedViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f" +uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" +version = "0.5.12" + +[[deps.Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.3" + +[[deps.Parsers]] +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "a935806434c9d4c506ba941871b327b96d41f2bf" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.8.0" + +[[deps.PencilArrays]] +deps = ["Adapt", "JSON3", "LinearAlgebra", "MPI", "OffsetArrays", "Random", "Reexport", "StaticArrayInterface", "StaticArrays", "StaticPermutations", "Strided", "TimerOutputs", "VersionParsing"] +git-tree-sha1 = "1a473d028436947e08436275ff3fcc2f3e9c5b06" +uuid = "0e08944d-e94e-41b1-9406-dcf66b6a9d2e" +version = "0.19.2" +weakdeps = ["DiffEqBase", "HDF5"] + + [deps.PencilArrays.extensions] + PencilArraysDiffEqExt = ["DiffEqBase"] + PencilArraysHDF5Ext = ["HDF5"] + +[[deps.PencilFFTs]] +deps = ["AbstractFFTs", "FFTW", "LinearAlgebra", "MPI", "PencilArrays", "Reexport", "TimerOutputs"] +git-tree-sha1 = "bd69f3f0ee248cfb4241800aefb705b5ded592ff" +uuid = "4a48f351-57a6-4416-9ec4-c37015456aae" +version = "0.15.1" + +[[deps.Pipe]] +git-tree-sha1 = "6842804e7867b115ca9de748a0cf6b364523c16d" +uuid = "b98c9c47-44ae-5843-9183-064241ee97a0" +version = "1.3.0" + +[[deps.Pixman_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] +git-tree-sha1 = "64779bc4c9784fee475689a1752ef4d5747c5e87" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.42.2+0" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.9.2" + +[[deps.PkgVersion]] +deps = ["Pkg"] +git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" +uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" +version = "0.3.3" + +[[deps.PlotThemes]] +deps = ["PlotUtils", "Statistics"] +git-tree-sha1 = "1f03a2d339f42dca4a4da149c7e15e9b896ad899" +uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" +version = "3.1.0" + +[[deps.PlotUtils]] +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] +git-tree-sha1 = "f92e1315dadf8c46561fb9396e525f7200cdc227" +uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" +version = "1.3.5" + +[[deps.Plots]] +deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Preferences", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] +git-tree-sha1 = "ccee59c6e48e6f2edf8a5b64dc817b6729f99eb5" +uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +version = "1.39.0" + + [deps.Plots.extensions] + FileIOExt = "FileIO" + GeometryBasicsExt = "GeometryBasics" + IJuliaExt = "IJulia" + ImageInTerminalExt = "ImageInTerminal" + UnitfulExt = "Unitful" + + [deps.Plots.weakdeps] + FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" + GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" + IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" + ImageInTerminal = "d8c32880-2388-543b-8c61-d9f865259254" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + +[[deps.PoissonRandom]] +deps = ["Random"] +git-tree-sha1 = "a0f1159c33f846aa77c3f30ebbc69795e5327152" +uuid = "e409e4f3-bfea-5376-8464-e040bb5c01ab" +version = "0.4.4" + +[[deps.Polyester]] +deps = ["ArrayInterface", "BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "ManualMemory", "PolyesterWeave", "Requires", "Static", "StaticArrayInterface", "StrideArraysCore", "ThreadingUtilities"] +git-tree-sha1 = "fca25670784a1ae44546bcb17288218310af2778" +uuid = "f517fe37-dbe3-4b94-8317-1923a5111588" +version = "0.7.9" + +[[deps.PolyesterWeave]] +deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] +git-tree-sha1 = "240d7170f5ffdb285f9427b92333c3463bf65bf6" +uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" +version = "0.2.1" + +[[deps.PositiveFactorizations]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20" +uuid = "85a6dd25-e78a-55b7-8502-1745935b8125" +version = "0.2.4" + +[[deps.PreallocationTools]] +deps = ["Adapt", "ArrayInterface", "ForwardDiff", "Requires"] +git-tree-sha1 = "f739b1b3cc7b9949af3b35089931f2b58c289163" +uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" +version = "0.4.12" + + [deps.PreallocationTools.extensions] + PreallocationToolsReverseDiffExt = "ReverseDiff" + + [deps.PreallocationTools.weakdeps] + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + +[[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 = "00805cd429dcb4870060ff49ef443486c262e38e" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.4.1" + +[[deps.PrettyTables]] +deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"] +git-tree-sha1 = "3f43c2aae6aa4a2503b05587ab74f4f6aeff9fd0" +uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" +version = "2.3.0" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.ProgressBars]] +deps = ["Printf"] +git-tree-sha1 = "b437cdb0385ed38312d91d9c00c20f3798b30256" +uuid = "49802e3a-d2f1-5c88-81d8-b72133a6f568" +version = "1.5.1" + +[[deps.ProgressLogging]] +deps = ["Logging", "SHA", "UUIDs"] +git-tree-sha1 = "80d919dee55b9c50e8d9e2da5eeafff3fe58b539" +uuid = "33c8b6b6-d38a-422a-b730-caa89a2f386c" +version = "0.1.4" + +[[deps.Qt6Base_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Vulkan_Loader_jll", "Xorg_libSM_jll", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_cursor_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "libinput_jll", "xkbcommon_jll"] +git-tree-sha1 = "37b7bb7aabf9a085e0044307e1717436117f2b3b" +uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" +version = "6.5.3+1" + +[[deps.QuadGK]] +deps = ["DataStructures", "LinearAlgebra"] +git-tree-sha1 = "9ebcd48c498668c7fa0e97a9cae873fbee7bfee1" +uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" +version = "2.9.1" + +[[deps.Quaternions]] +deps = ["LinearAlgebra", "Random", "RealDot"] +git-tree-sha1 = "9a46862d248ea548e340e30e2894118749dc7f51" +uuid = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" +version = "0.7.5" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.RRTMGP]] +deps = ["Adapt", "CUDA", "ClimaComms", "DocStringExtensions", "GaussQuadrature", "Random", "StaticArrays"] +git-tree-sha1 = "ba6fe2d8e3648f27cdc29de64fb634a1846ba670" +uuid = "a01a1ee8-cea4-48fc-987c-fc7878d79da1" +version = "0.9.3" + +[[deps.Random]] +deps = ["SHA", "Serialization"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.Random123]] +deps = ["Random", "RandomNumbers"] +git-tree-sha1 = "552f30e847641591ba3f39fd1bed559b9deb0ef3" +uuid = "74087812-796a-5b5d-8853-05524746bad3" +version = "1.6.1" + +[[deps.RandomNumbers]] +deps = ["Random", "Requires"] +git-tree-sha1 = "043da614cc7e95c703498a491e2c21f58a2b8111" +uuid = "e6cf234a-135c-5ec9-84dd-332b85af5143" +version = "1.5.3" + +[[deps.Ratios]] +deps = ["Requires"] +git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b" +uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" +version = "0.4.5" +weakdeps = ["FixedPointNumbers"] + + [deps.Ratios.extensions] + RatiosFixedPointNumbersExt = "FixedPointNumbers" + +[[deps.RealDot]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "9f0a1b71baaf7650f4fa8a1d168c7fb6ee41f0c9" +uuid = "c1ae055f-0cd5-4b69-90a6-9a35b1a98df9" +version = "0.1.0" + +[[deps.RecipesBase]] +deps = ["PrecompileTools"] +git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" +uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" +version = "1.3.4" + +[[deps.RecipesPipeline]] +deps = ["Dates", "NaNMath", "PlotUtils", "PrecompileTools", "RecipesBase"] +git-tree-sha1 = "45cf9fd0ca5839d06ef333c8201714e888486342" +uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" +version = "0.6.12" + +[[deps.RecursiveArrayTools]] +deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "Requires", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] +git-tree-sha1 = "d7087c013e8a496ff396bae843b1e16d9a30ede8" +uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" +version = "2.38.10" + + [deps.RecursiveArrayTools.extensions] + RecursiveArrayToolsMeasurementsExt = "Measurements" + RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements" + RecursiveArrayToolsTrackerExt = "Tracker" + RecursiveArrayToolsZygoteExt = "Zygote" + + [deps.RecursiveArrayTools.weakdeps] + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[[deps.RecursiveFactorization]] +deps = ["LinearAlgebra", "LoopVectorization", "Polyester", "PrecompileTools", "StrideArraysCore", "TriangularSolve"] +git-tree-sha1 = "8bc86c78c7d8e2a5fe559e3721c0f9c9e303b2ed" +uuid = "f2c3362d-daeb-58d1-803e-2bc74f2840b4" +version = "0.2.21" + +[[deps.Reexport]] +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.2.2" + +[[deps.RelocatableFolders]] +deps = ["SHA", "Scratch"] +git-tree-sha1 = "ffdaf70d81cf6ff22c2b6e733c900c3321cab864" +uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" +version = "1.0.1" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.ResettableStacks]] +deps = ["StaticArrays"] +git-tree-sha1 = "256eeeec186fa7f26f2801732774ccf277f05db9" +uuid = "ae5879a3-cd67-5da8-be7f-38c6eb64a37b" +version = "1.1.1" + +[[deps.Rmath]] +deps = ["Random", "Rmath_jll"] +git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" +uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" +version = "0.7.1" + +[[deps.Rmath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" +uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" +version = "0.4.0+0" + +[[deps.RootSolvers]] +deps = ["ForwardDiff"] +git-tree-sha1 = "833d9914e748ca9329b762a82ec912897975f8d8" +uuid = "7181ea78-2dcb-4de3-ab41-2b8ab5a31e74" +version = "0.4.1" + +[[deps.Rotations]] +deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays"] +git-tree-sha1 = "792d8fd4ad770b6d517a13ebb8dadfcac79405b8" +uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" +version = "1.6.1" + +[[deps.RuntimeGeneratedFunctions]] +deps = ["ExprTools", "SHA", "Serialization"] +git-tree-sha1 = "6aacc5eefe8415f47b3e34214c1d79d2674a0ba2" +uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" +version = "0.5.12" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.SIMDTypes]] +git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" +uuid = "94e857df-77ce-4151-89e5-788b33177be4" +version = "0.1.0" + +[[deps.SLEEFPirates]] +deps = ["IfElse", "Static", "VectorizationBase"] +git-tree-sha1 = "3aac6d68c5e57449f5b9b865c9ba50ac2970c4cf" +uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" +version = "0.6.42" + +[[deps.SciMLBase]] +deps = ["ADTypes", "ArrayInterface", "ChainRulesCore", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FillArrays", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables", "TruncatedStacktraces", "ZygoteRules"] +git-tree-sha1 = "916b8a94c0d61fa5f7c5295649d3746afb866aff" +uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" +version = "1.98.1" + + [deps.SciMLBase.extensions] + ZygoteExt = "Zygote" + + [deps.SciMLBase.weakdeps] + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[[deps.SciMLNLSolve]] +deps = ["DiffEqBase", "LineSearches", "NLsolve", "Reexport", "SciMLBase"] +git-tree-sha1 = "765b788339abd7d983618c09cfc0192e2b6b15fd" +uuid = "e9a6253c-8580-4d32-9898-8661bb511710" +version = "0.1.9" + +[[deps.SciMLOperators]] +deps = ["ArrayInterface", "DocStringExtensions", "Lazy", "LinearAlgebra", "Setfield", "SparseArrays", "StaticArraysCore", "Tricks"] +git-tree-sha1 = "51ae235ff058a64815e0a2c34b1db7578a06813d" +uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" +version = "0.3.7" + +[[deps.Scratch]] +deps = ["Dates"] +git-tree-sha1 = "3bac05bc7e74a75fd9cba4295cde4045d9fe2386" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.2.1" + +[[deps.SeawaterPolynomials]] +git-tree-sha1 = "958ba75b90c7c8a117d041d33184134201cf8c0f" +uuid = "d496a93d-167e-4197-9f49-d3af4ff8fe40" +version = "0.3.2" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.Setfield]] +deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] +git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" +uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" +version = "1.1.1" + +[[deps.SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + +[[deps.Showoff]] +deps = ["Dates", "Grisu"] +git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" +uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" +version = "1.0.3" + +[[deps.SimpleBufferStream]] +git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" +uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" +version = "1.1.0" + +[[deps.SimpleNonlinearSolve]] +deps = ["ArrayInterface", "DiffEqBase", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "PackageExtensionCompat", "PrecompileTools", "Reexport", "SciMLBase", "StaticArraysCore"] +git-tree-sha1 = "15ff97fa4881133caa324dacafe28b5ac47ad8a2" +uuid = "727e6d20-b764-4bd8-a329-72de5adea6c7" +version = "0.1.23" + + [deps.SimpleNonlinearSolve.extensions] + SimpleNonlinearSolveNNlibExt = "NNlib" + + [deps.SimpleNonlinearSolve.weakdeps] + NNlib = "872c559c-99b0-510c-b3b7-b6c96a88d5cd" + +[[deps.SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.4" + +[[deps.SimpleUnPack]] +git-tree-sha1 = "58e6353e72cde29b90a69527e56df1b5c3d8c437" +uuid = "ce78b400-467f-4804-87d8-8f486da07d0a" +version = "1.1.0" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "5165dfb9fd131cf0c6957a3a7605dede376e7b63" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.2.0" + +[[deps.SparseArrays]] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[deps.SparseDiffTools]] +deps = ["ADTypes", "Adapt", "ArrayInterface", "Compat", "DataStructures", "FiniteDiff", "ForwardDiff", "Graphs", "LinearAlgebra", "PackageExtensionCompat", "Random", "Reexport", "SciMLOperators", "Setfield", "SparseArrays", "StaticArrayInterface", "StaticArrays", "Tricks", "UnPack", "VertexSafeGraphs"] +git-tree-sha1 = "07272c80c278947baca092df0a01da4a10622ad5" +uuid = "47a9eef4-7e08-11e9-0b38-333d64bd3804" +version = "2.13.0" + + [deps.SparseDiffTools.extensions] + SparseDiffToolsEnzymeExt = "Enzyme" + SparseDiffToolsSymbolicsExt = "Symbolics" + SparseDiffToolsZygoteExt = "Zygote" + + [deps.SparseDiffTools.weakdeps] + Enzyme = "7da242da-08ed-463a-9acd-ee780be4f1d9" + Symbolics = "0c5d862f-8b57-4792-8d23-62f2024744c7" + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[[deps.Sparspak]] +deps = ["Libdl", "LinearAlgebra", "Logging", "OffsetArrays", "Printf", "SparseArrays", "Test"] +git-tree-sha1 = "342cf4b449c299d8d1ceaf00b7a49f4fbc7940e7" +uuid = "e56a9233-b9d6-4f03-8d0f-1825330902ac" +version = "0.3.9" + +[[deps.SpecialFunctions]] +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "e2cfc4012a19088254b3950b85c3c1d8882d864d" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.3.1" +weakdeps = ["ChainRulesCore"] + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + +[[deps.StackViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" +uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" +version = "0.1.1" + +[[deps.Static]] +deps = ["IfElse"] +git-tree-sha1 = "f295e0a1da4ca425659c57441bcb59abb035a4bc" +uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" +version = "0.8.8" + +[[deps.StaticArrayInterface]] +deps = ["ArrayInterface", "Compat", "IfElse", "LinearAlgebra", "PrecompileTools", "Requires", "SparseArrays", "Static", "SuiteSparse"] +git-tree-sha1 = "03fec6800a986d191f64f5c0996b59ed526eda25" +uuid = "0d7ed370-da01-4f52-bd93-41d350b8b718" +version = "1.4.1" +weakdeps = ["OffsetArrays", "StaticArrays"] + + [deps.StaticArrayInterface.extensions] + StaticArrayInterfaceOffsetArraysExt = "OffsetArrays" + StaticArrayInterfaceStaticArraysExt = "StaticArrays" + +[[deps.StaticArrays]] +deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] +git-tree-sha1 = "5ef59aea6f18c25168842bded46b16662141ab87" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "1.7.0" +weakdeps = ["Statistics"] + + [deps.StaticArrays.extensions] + StaticArraysStatisticsExt = "Statistics" + +[[deps.StaticArraysCore]] +git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.4.2" + +[[deps.StaticPermutations]] +git-tree-sha1 = "193c3daa18ff3e55c1dae66acb6a762c4a3bdb0b" +uuid = "15972242-4b8f-49a0-b8a1-9ac0e7a1a45d" +version = "0.3.0" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.9.0" + +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.7.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "1d77abd07f617c4868c33d4f5b9e1dbb2643c9cf" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.34.2" + +[[deps.StatsFuns]] +deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] +git-tree-sha1 = "f625d686d5a88bcd2b15cd81f18f98186fdc0c9a" +uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" +version = "1.3.0" + + [deps.StatsFuns.extensions] + StatsFunsChainRulesCoreExt = "ChainRulesCore" + StatsFunsInverseFunctionsExt = "InverseFunctions" + + [deps.StatsFuns.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.SteadyStateDiffEq]] +deps = ["DiffEqBase", "DiffEqCallbacks", "LinearAlgebra", "NLsolve", "Reexport", "SciMLBase"] +git-tree-sha1 = "2ca69f4be3294e4cd987d83d6019037d420d9fc1" +uuid = "9672c7b4-1e72-59bd-8a11-6ac3964bc41f" +version = "1.16.1" + +[[deps.StochasticDiffEq]] +deps = ["Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DiffEqNoiseProcess", "DocStringExtensions", "FillArrays", "FiniteDiff", "ForwardDiff", "JumpProcesses", "LevyArea", "LinearAlgebra", "Logging", "MuladdMacro", "NLsolve", "OrdinaryDiffEq", "Random", "RandomNumbers", "RecursiveArrayTools", "Reexport", "SciMLBase", "SciMLOperators", "SparseArrays", "SparseDiffTools", "StaticArrays", "UnPack"] +git-tree-sha1 = "b341540a647b39728b6d64eaeda82178e848f76e" +uuid = "789caeaf-c7a9-5a7d-9973-96adeb23e2a0" +version = "6.62.0" + +[[deps.StrideArraysCore]] +deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"] +git-tree-sha1 = "d6415f66f3d89c615929af907fdc6a3e17af0d8c" +uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" +version = "0.5.2" + +[[deps.Strided]] +deps = ["LinearAlgebra", "StridedViews", "TupleTools"] +git-tree-sha1 = "40c69be0e1b72ee2f42923b7d1ff13e0b04e675c" +uuid = "5e0ebb24-38b0-5f93-81fe-25c709ecae67" +version = "2.0.4" + +[[deps.StridedViews]] +deps = ["LinearAlgebra", "PackageExtensionCompat"] +git-tree-sha1 = "cf857ff7de76f39e5daef6d032e8a74279ddff6a" +uuid = "4db3bf67-4bd7-4b4e-b153-31dc3fb37143" +version = "0.2.1" +weakdeps = ["CUDA"] + + [deps.StridedViews.extensions] + StridedViewsCUDAExt = "CUDA" + +[[deps.StringEncodings]] +deps = ["Libiconv_jll"] +git-tree-sha1 = "b765e46ba27ecf6b44faf70df40c57aa3a547dcb" +uuid = "69024149-9ee7-55f6-a4c4-859efe599b68" +version = "0.3.7" + +[[deps.StringManipulation]] +deps = ["PrecompileTools"] +git-tree-sha1 = "a04cabe79c5f01f4d723cc6704070ada0b9d46d5" +uuid = "892a3eda-7b42-436c-8928-eab12a02cf0e" +version = "0.3.4" + +[[deps.StructArrays]] +deps = ["Adapt", "ConstructionBase", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] +git-tree-sha1 = "0a3db38e4cce3c54fe7a71f831cd7b6194a54213" +uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" +version = "0.6.16" + +[[deps.StructTypes]] +deps = ["Dates", "UUIDs"] +git-tree-sha1 = "ca4bccb03acf9faaf4137a9abc1881ed1841aa70" +uuid = "856f2bd8-1eba-4b0a-8007-ebc267875bd4" +version = "1.10.0" + +[[deps.SuiteSparse]] +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 = "5.10.1+6" + +[[deps.Sundials]] +deps = ["CEnum", "DataStructures", "DiffEqBase", "Libdl", "LinearAlgebra", "Logging", "PrecompileTools", "Reexport", "SciMLBase", "SparseArrays", "Sundials_jll"] +git-tree-sha1 = "71dc65a2d7decdde5500299c9b04309e0138d1b4" +uuid = "c3572dad-4567-51f8-b174-8c6c989267f4" +version = "4.20.1" + +[[deps.Sundials_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "OpenBLAS_jll", "Pkg", "SuiteSparse_jll"] +git-tree-sha1 = "04777432d74ec5bc91ca047c9e0e0fd7f81acdb6" +uuid = "fb77eaff-e24c-56d4-86b1-d163f2edb164" +version = "5.2.1+0" + +[[deps.SurfaceFluxes]] +deps = ["CLIMAParameters", "DocStringExtensions", "Logging", "RootSolvers", "Thermodynamics"] +git-tree-sha1 = "7f83013a0654d6504226d93ba0cba94d94e1b0b0" +uuid = "49b00bb7-8bd4-4f2b-b78c-51cd0450215f" +version = "0.8.0" + +[[deps.SymbolicIndexingInterface]] +deps = ["DocStringExtensions"] +git-tree-sha1 = "f8ab052bfcbdb9b48fad2c80c873aa0d0344dfe5" +uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" +version = "0.2.2" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.TableTraits]] +deps = ["IteratorInterfaceExtensions"] +git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" +uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" +version = "1.0.1" + +[[deps.Tables]] +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits"] +git-tree-sha1 = "cb76cf677714c095e535e3501ac7954732aeea2d" +uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" +version = "1.11.1" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.TaylorSeries]] +deps = ["LinearAlgebra", "Markdown", "Requires", "SparseArrays"] +git-tree-sha1 = "50718b4fc1ce20cecf28d85215028c78b4d875c2" +uuid = "6aa5eb33-94cf-58f4-a9d0-e4b2c4fc25ea" +version = "0.15.2" + + [deps.TaylorSeries.extensions] + TaylorSeriesIAExt = "IntervalArithmetic" + + [deps.TaylorSeries.weakdeps] + IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" + +[[deps.TensorCore]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" +uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" +version = "0.1.1" + +[[deps.TerminalLoggers]] +deps = ["LeftChildRightSiblingTrees", "Logging", "Markdown", "Printf", "ProgressLogging", "UUIDs"] +git-tree-sha1 = "f133fab380933d042f6796eda4e130272ba520ca" +uuid = "5d786b92-1e48-4d6f-9151-6b4477ca9bed" +version = "0.1.7" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.TextWrap]] +git-tree-sha1 = "9250ef9b01b66667380cf3275b3f7488d0e25faf" +uuid = "b718987f-49a8-5099-9789-dcd902bef87d" +version = "1.0.1" + +[[deps.Thermodynamics]] +deps = ["DocStringExtensions", "KernelAbstractions", "Random", "RootSolvers"] +git-tree-sha1 = "2de4b5ccc71baf3578959928c295a2fa13105db7" +uuid = "b60c26fb-14c3-4610-9d3e-2d17fe7ff00c" +version = "0.11.2" + +[[deps.ThreadingUtilities]] +deps = ["ManualMemory"] +git-tree-sha1 = "eda08f7e9818eb53661b3deb74e3159460dfbc27" +uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" +version = "0.5.2" + +[[deps.TiledIteration]] +deps = ["OffsetArrays", "StaticArrayInterface"] +git-tree-sha1 = "1176cc31e867217b06928e2f140c90bd1bc88283" +uuid = "06e1c1a7-607b-532d-9fad-de7d9aa2abac" +version = "0.5.0" + +[[deps.TimerOutputs]] +deps = ["ExprTools", "Printf"] +git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" +uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" +version = "0.5.23" + +[[deps.TranscodingStreams]] +git-tree-sha1 = "1fbeaaca45801b4ba17c251dd8603ef24801dd84" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.10.2" +weakdeps = ["Random", "Test"] + + [deps.TranscodingStreams.extensions] + TestExt = ["Test", "Random"] + +[[deps.TreeViews]] +deps = ["Test"] +git-tree-sha1 = "8d0d7a3fe2f30d6a7f833a5f19f7c7a5b396eae6" +uuid = "a2a6695c-b41b-5b7d-aed9-dbfdeacea5d7" +version = "0.3.0" + +[[deps.TriangularSolve]] +deps = ["CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "LoopVectorization", "Polyester", "Static", "VectorizationBase"] +git-tree-sha1 = "fadebab77bf3ae041f77346dd1c290173da5a443" +uuid = "d5829a12-d9aa-46ab-831f-fb7c9ab06edf" +version = "0.1.20" + +[[deps.Tricks]] +git-tree-sha1 = "eae1bb484cd63b36999ee58be2de6c178105112f" +uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" +version = "0.1.8" + +[[deps.TruncatedStacktraces]] +deps = ["InteractiveUtils", "MacroTools", "Preferences"] +git-tree-sha1 = "ea3e54c2bdde39062abf5a9758a23735558705e1" +uuid = "781d530d-4396-4725-bb49-402e4bee1e77" +version = "1.4.0" + +[[deps.TupleTools]] +git-tree-sha1 = "155515ed4c4236db30049ac1495e2969cc06be9d" +uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" +version = "1.4.3" + +[[deps.URIs]] +git-tree-sha1 = "67db6cc7b3821e19ebe75791a9dd19c9b1188f2b" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.5.1" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.UnicodeFun]] +deps = ["REPL"] +git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" +uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" +version = "0.4.1" + +[[deps.Unitful]] +deps = ["Dates", "LinearAlgebra", "Random"] +git-tree-sha1 = "242982d62ff0d1671e9029b52743062739255c7e" +uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "1.18.0" + + [deps.Unitful.extensions] + ConstructionBaseUnitfulExt = "ConstructionBase" + InverseFunctionsUnitfulExt = "InverseFunctions" + + [deps.Unitful.weakdeps] + ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.UnitfulLatexify]] +deps = ["LaTeXStrings", "Latexify", "Unitful"] +git-tree-sha1 = "e2d817cc500e960fdbafcf988ac8436ba3208bfd" +uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" +version = "1.6.3" + +[[deps.UnsafeAtomics]] +git-tree-sha1 = "6331ac3440856ea1988316b46045303bef658278" +uuid = "013be700-e6cd-48c3-b4a1-df204f14c38f" +version = "0.2.1" + +[[deps.UnsafeAtomicsLLVM]] +deps = ["LLVM", "UnsafeAtomics"] +git-tree-sha1 = "323e3d0acf5e78a56dfae7bd8928c989b4f3083e" +uuid = "d80eeb9a-aca5-4d75-85e5-170c8b632249" +version = "0.1.3" + +[[deps.Unzip]] +git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" +uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" +version = "0.2.0" + +[[deps.VectorizationBase]] +deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static", "StaticArrayInterface"] +git-tree-sha1 = "b182207d4af54ac64cbc71797765068fdeff475d" +uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" +version = "0.21.64" + +[[deps.VersionParsing]] +git-tree-sha1 = "58d6e80b4ee071f5efd07fda82cb9fbe17200868" +uuid = "81def892-9a0e-5fdd-b105-ffc91e053289" +version = "1.3.0" + +[[deps.VertexSafeGraphs]] +deps = ["Graphs"] +git-tree-sha1 = "8351f8d73d7e880bfc042a8b6922684ebeafb35c" +uuid = "19fa3120-7c27-5ec5-8db8-b0b0aa330d6f" +version = "0.2.0" + +[[deps.Vulkan_Loader_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Wayland_jll", "Xorg_libX11_jll", "Xorg_libXrandr_jll", "xkbcommon_jll"] +git-tree-sha1 = "2f0486047a07670caad3a81a075d2e518acc5c59" +uuid = "a44049a8-05dd-5a78-86c9-5fde0876e88c" +version = "1.3.243+0" + +[[deps.Wayland_jll]] +deps = ["Artifacts", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "7558e29847e99bc3f04d6569e82d0f5c54460703" +uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" +version = "1.21.0+1" + +[[deps.Wayland_protocols_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4528479aa01ee1b3b4cd0e6faef0e04cf16466da" +uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" +version = "1.25.0+0" + +[[deps.WoodburyMatrices]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "5f24e158cf4cee437052371455fe361f526da062" +uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" +version = "0.5.6" + +[[deps.XML2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] +git-tree-sha1 = "da69178aacc095066bad1f69d2f59a60a1dd8ad1" +uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" +version = "2.12.0+0" + +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.34+0" + +[[deps.XZ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "522b8414d40c4cbbab8dee346ac3a09f9768f25d" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.4.5+0" + +[[deps.Xorg_libICE_jll]] +deps = ["Libdl", "Pkg"] +git-tree-sha1 = "e5becd4411063bdcac16be8b66fc2f9f6f1e8fe5" +uuid = "f67eecfb-183a-506d-b269-f58e52b52d7c" +version = "1.0.10+1" + +[[deps.Xorg_libSM_jll]] +deps = ["Libdl", "Pkg", "Xorg_libICE_jll"] +git-tree-sha1 = "4a9d9e4c180e1e8119b5ffc224a7b59d3a7f7e18" +uuid = "c834827a-8449-5923-a945-d239c165b7dd" +version = "1.2.3+0" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.8.6+0" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.11+0" + +[[deps.Xorg_libXcursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" +uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" +version = "1.2.0+4" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.4+0" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.4+4" + +[[deps.Xorg_libXfixes_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" +uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" +version = "5.0.3+4" + +[[deps.Xorg_libXi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] +git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" +uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" +version = "1.7.10+4" + +[[deps.Xorg_libXinerama_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] +git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" +uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" +version = "1.1.4+4" + +[[deps.Xorg_libXrandr_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" +uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" +version = "1.5.2+4" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.10+4" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.1+0" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "b4bfde5d5b652e22b9c790ad00af08b6d042b97d" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.15.0+0" + +[[deps.Xorg_libxkbfile_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "730eeca102434283c50ccf7d1ecdadf521a765a4" +uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" +version = "1.1.2+0" + +[[deps.Xorg_xcb_util_cursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_jll", "Xorg_xcb_util_renderutil_jll"] +git-tree-sha1 = "04341cb870f29dcd5e39055f895c39d016e18ccd" +uuid = "e920d4aa-a673-5f3a-b3d7-f755a4d47c43" +version = "0.1.4+0" + +[[deps.Xorg_xcb_util_image_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" +uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] +git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" +uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_keysyms_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" +uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_renderutil_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" +uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" +version = "0.3.9+1" + +[[deps.Xorg_xcb_util_wm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" +uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" +version = "0.4.1+1" + +[[deps.Xorg_xkbcomp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"] +git-tree-sha1 = "330f955bc41bb8f5270a369c473fc4a5a4e4d3cb" +uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" +version = "1.4.6+0" + +[[deps.Xorg_xkeyboard_config_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] +git-tree-sha1 = "691634e5453ad362044e2ad653e79f3ee3bb98c3" +uuid = "33bec58e-1273-512f-9401-5d533626f822" +version = "2.39.0+0" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.5.0+0" + +[[deps.YAML]] +deps = ["Base64", "Dates", "Printf", "StringEncodings"] +git-tree-sha1 = "e6330e4b731a6af7959673621e91645eb1356884" +uuid = "ddb6d928-2868-570f-bddf-ab3f9cf99eb6" +version = "0.4.9" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+0" + +[[deps.Zstd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.5.5+0" + +[[deps.ZygoteRules]] +deps = ["ChainRulesCore", "MacroTools"] +git-tree-sha1 = "9d749cd449fb448aeca4feee9a2f4186dbb5d184" +uuid = "700de1a5-db45-46bc-99cf-38207098b444" +version = "0.2.4" + +[[deps.eudev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "gperf_jll"] +git-tree-sha1 = "431b678a28ebb559d224c0b6b6d01afce87c51ba" +uuid = "35ca27e7-8b34-5b7f-bca9-bdc33f59eb06" +version = "3.2.9+0" + +[[deps.fzf_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "a68c9655fbe6dfcab3d972808f1aafec151ce3f8" +uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" +version = "0.43.0+0" + +[[deps.gperf_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "3516a5630f741c9eecb3720b1ec9d8edc3ecc033" +uuid = "1a1c6b14-54f6-533d-8383-74cd7377aa70" +version = "3.1.1+0" + +[[deps.libaec_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "eddd19a8dea6b139ea97bdc8a0e2667d4b661720" +uuid = "477f73a3-ac25-53e9-8cc3-50b2fa2566f0" +version = "1.0.6+1" + +[[deps.libaom_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" +uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" +version = "3.4.0+0" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.1+0" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.8.0+0" + +[[deps.libevdev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "141fe65dc3efabb0b1d5ba74e91f6ad26f84cc22" +uuid = "2db6ffa8-e38f-5e21-84af-90c45d0032cc" +version = "1.11.0+0" + +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.2+0" + +[[deps.libinput_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "eudev_jll", "libevdev_jll", "mtdev_jll"] +git-tree-sha1 = "ad50e5b90f222cfe78aa3d5183a20a12de1322ce" +uuid = "36db933b-70db-51c0-b978-0f229ee0e533" +version = "1.18.0+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.38+0" + +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+1" + +[[deps.mtdev_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "814e154bdb7be91d78b6802843f76b6ece642f11" +uuid = "009596ad-96f7-51b1-9f1b-5ce2d5e8a71e" +version = "1.1.6+0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.52.0+1" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+0" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "2021.5.5+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.5.0+0" + +[[deps.xkbcommon_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] +git-tree-sha1 = "9c304562909ab2bab0262639bd4f444d7bc2be37" +uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" +version = "1.4.1+1" diff --git a/experiments/ClimaCore/Project.toml b/experiments/ClimaCore/Project.toml index 46eec54c6b..3a6432c6ea 100644 --- a/experiments/ClimaCore/Project.toml +++ b/experiments/ClimaCore/Project.toml @@ -2,6 +2,7 @@ CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" ClimaAtmos = "b2c96348-7fb7-4fe0-8da9-78d88439e717" ClimaCore = "d414da3d-4745-48bb-8d80-42e94e092884" +ClimaTimeSteppers = "595c0a79-7f3d-439a-bc5a-b232dc3bde79" DifferentialEquations = "0c46a032-eb83-5123-abaf-570d42b7fbaa" FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" @@ -10,13 +11,22 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" Oceananigans = "9e8cae18-63c1-5223-a75c-80ca9d6e9a09" OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" +Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +PrettyTables = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd" SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" +Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" TerminalLoggers = "5d786b92-1e48-4d6f-9151-6b4477ca9bed" Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" [compat] +DifferentialEquations = "7.10" +FileIO = "1.16" IntervalSets = "0.6" +LinearAlgebra = "1.0" +Oceananigans = "0.88" OrdinaryDiffEq = "6.15" +PrettyTables = "2.3" +RecursiveArrayTools = "2.38" SciMLBase = "1.40" TerminalLoggers = "0.1" diff --git a/experiments/ClimaCore/README.md b/experiments/ClimaCore/README.md index 75a842cbba..9ef9ba8931 100644 --- a/experiments/ClimaCore/README.md +++ b/experiments/ClimaCore/README.md @@ -2,31 +2,20 @@ - prerequisites: Julia 1.6+ - these experiments represent the basic cases for testing physical soundness of coupling methods in [ClimaCore.jl](https://github.com/CliMA/ClimaCore.jl/) - - 1D finite-difference column test cases + - 1D finite-difference column test cases - Integration tests for individual functionalities - - TC1: Dry heat diffusion + slab - - Purpose: + - Dry heat diffusion + slab (`experiments/ClimaCore/heat-diffusion/`) + - Purpose: - minimal example for prototype developments and integration tests - flux calculation / accumulation inside the atmos model `rhs!` - one-file tutorial - - to be maintained by CI - - TC2: Ekman column + slab - - uses ClimaAtmos interface - - not maintained by CI (discontinued upon final clean up of TC3) - - TC4: Dry Ekman Column + slab + surface fluxes - - uses local ClimaAtmos hack - - Purpose: - - for prototyping ClimaCore-like equations with some lightweight ClimaAtmos interface wrappers - - all flux calculations / accumulations inside atmos model `rhs!` - - compare effect of different `calculate_sfc_fluxes_energy` functions - - maintained by CI - Interface tests - - TC3: Ekman column + Land (+ Oceananigans) + - Ekman column + Land (+ Oceananigans) (`experiments/ClimaCore/atm-ocn-lnd/`) - Purpose: - combine all three interfaces - showcase ClimaCoupler interface functions - let flux calculation be done by coupler - tested with SurfaceFluxes.jl -- documentation and test results can be found in our [Design Doc](https://www.overleaf.com/read/bgfmhgtncpws). \ No newline at end of file +- documentation and test results can be found in our [Design Doc](https://www.overleaf.com/read/bgfmhgtncpws). diff --git a/experiments/ClimaCore/tc3_atm-ocn-lnd/README.tex.md b/experiments/ClimaCore/atm-ocn-lnd/README.tex.md similarity index 100% rename from experiments/ClimaCore/tc3_atm-ocn-lnd/README.tex.md rename to experiments/ClimaCore/atm-ocn-lnd/README.tex.md diff --git a/experiments/ClimaCore/tc3_atm-ocn-lnd/atmos_rhs.jl b/experiments/ClimaCore/atm-ocn-lnd/atmos_rhs.jl similarity index 100% rename from experiments/ClimaCore/tc3_atm-ocn-lnd/atmos_rhs.jl rename to experiments/ClimaCore/atm-ocn-lnd/atmos_rhs.jl diff --git a/experiments/ClimaCore/tc3_atm-ocn-lnd/atmos_simulation.jl b/experiments/ClimaCore/atm-ocn-lnd/atmos_simulation.jl similarity index 100% rename from experiments/ClimaCore/tc3_atm-ocn-lnd/atmos_simulation.jl rename to experiments/ClimaCore/atm-ocn-lnd/atmos_simulation.jl diff --git a/experiments/ClimaCore/tc3_atm-ocn-lnd/dummy_surface_fluxes.jl b/experiments/ClimaCore/atm-ocn-lnd/dummy_surface_fluxes.jl similarity index 100% rename from experiments/ClimaCore/tc3_atm-ocn-lnd/dummy_surface_fluxes.jl rename to experiments/ClimaCore/atm-ocn-lnd/dummy_surface_fluxes.jl diff --git a/experiments/ClimaCore/tc3_atm-ocn-lnd/land_simulation.jl b/experiments/ClimaCore/atm-ocn-lnd/land_simulation.jl similarity index 100% rename from experiments/ClimaCore/tc3_atm-ocn-lnd/land_simulation.jl rename to experiments/ClimaCore/atm-ocn-lnd/land_simulation.jl diff --git a/experiments/ClimaCore/tc3_atm-ocn-lnd/ocean_simulation.jl b/experiments/ClimaCore/atm-ocn-lnd/ocean_simulation.jl similarity index 100% rename from experiments/ClimaCore/tc3_atm-ocn-lnd/ocean_simulation.jl rename to experiments/ClimaCore/atm-ocn-lnd/ocean_simulation.jl diff --git a/experiments/ClimaCore/tc3_atm-ocn-lnd/run_coupled_simulation.jl b/experiments/ClimaCore/atm-ocn-lnd/run_coupled_simulation.jl similarity index 100% rename from experiments/ClimaCore/tc3_atm-ocn-lnd/run_coupled_simulation.jl rename to experiments/ClimaCore/atm-ocn-lnd/run_coupled_simulation.jl diff --git a/experiments/ClimaCore/bc-wave-slab/Manifest.toml b/experiments/ClimaCore/bc-wave-slab/Manifest.toml deleted file mode 100644 index ab58acbfd3..0000000000 --- a/experiments/ClimaCore/bc-wave-slab/Manifest.toml +++ /dev/null @@ -1,1688 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.7.1" -manifest_format = "2.0" -project_hash = "76ed02fff745b8d35c713258782ec9ac17ca37a0" - -[[deps.AbstractFFTs]] -deps = ["ChainRulesCore", "LinearAlgebra"] -git-tree-sha1 = "6f1d9bc1c08f9f4a8fa92e3ea3cb50153a1b40d4" -uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" -version = "1.1.0" - -[[deps.AbstractTrees]] -git-tree-sha1 = "03e0550477d86222521d254b741d470ba17ea0b5" -uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -version = "0.3.4" - -[[deps.Adapt]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "af92965fb30777147966f58acb05da51c5616b5f" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.3.3" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" - -[[deps.ArnoldiMethod]] -deps = ["LinearAlgebra", "Random", "StaticArrays"] -git-tree-sha1 = "62e51b39331de8911e4a7ff6f5aaf38a5f4cc0ae" -uuid = "ec485272-7323-5ecc-a04f-4719b315124d" -version = "0.2.0" - -[[deps.ArrayInterface]] -deps = ["Compat", "IfElse", "LinearAlgebra", "Requires", "SparseArrays", "Static"] -git-tree-sha1 = "c933ce606f6535a7c7b98e1d86d5d1014f730596" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "5.0.7" - -[[deps.ArrayLayouts]] -deps = ["FillArrays", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "c23473c60476e62579c077534b9643ec400f792b" -uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" -version = "0.8.6" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[deps.BFloat16s]] -deps = ["LinearAlgebra", "Printf", "Random", "Test"] -git-tree-sha1 = "a598ecb0d717092b5539dbbe890c98bac842b072" -uuid = "ab4f0b2a-ad5b-11e8-123f-65d77653426b" -version = "0.2.0" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.BitTwiddlingConvenienceFunctions]] -deps = ["Static"] -git-tree-sha1 = "28bbdbf0354959db89358d1d79d421ff31ef0b5e" -uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" -version = "0.1.3" - -[[deps.BlockArrays]] -deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra"] -git-tree-sha1 = "18f1eda0090a516927c5bede54c1ea36b5bf13d5" -uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" -version = "0.16.16" - -[[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" -uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+0" - -[[deps.CEnum]] -git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.2" - -[[deps.CFTime]] -deps = ["Dates", "Printf"] -git-tree-sha1 = "ed2e76c1c3c43fd9d0cb9248674620b29d71f2d1" -uuid = "179af706-886a-5703-950a-314cd64e0468" -version = "0.1.2" - -[[deps.CLIMAParameters]] -deps = ["Test"] -git-tree-sha1 = "17ece0add9940728f8120a1561fc3361be6a6f26" -uuid = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" -version = "0.4.3" - -[[deps.CPUSummary]] -deps = ["CpuId", "IfElse", "Static"] -git-tree-sha1 = "baaac45b4462b3b0be16726f38b789bf330fcb7a" -uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -version = "0.1.21" - -[[deps.CUDA]] -deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CompilerSupportLibraries_jll", "ExprTools", "GPUArrays", "GPUCompiler", "LLVM", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "SpecialFunctions", "TimerOutputs"] -git-tree-sha1 = "ba75320aaa092b3e17c020a2d8b9e0a572dbfa6a" -uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" -version = "3.9.0" - -[[deps.Cairo_jll]] -deps = ["Artifacts", "Bzip2_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" -uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.16.1+1" - -[[deps.Calculus]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" -uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" -version = "0.5.1" - -[[deps.Cassette]] -git-tree-sha1 = "063b2e77c5537a548c5bf2f44161f1d3e1ab3227" -uuid = "7057c7e9-c182-5462-911a-8362d720325c" -version = "0.3.10" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "9950387274246d08af38f6eef8cb5480862a435f" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.14.0" - -[[deps.ChangesOfVariables]] -deps = ["ChainRulesCore", "LinearAlgebra", "Test"] -git-tree-sha1 = "bf98fa45a0a4cee295de98d4c1462be26345b9a1" -uuid = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" -version = "0.1.2" - -[[deps.ClimaAtmos]] -deps = ["CLIMAParameters", "ClimaCore", "ClimaCorePlots", "ClimaCoreVTK", "CloudMicrophysics", "DiffEqCallbacks", "IntervalSets", "JLD2", "LinearAlgebra", "OrdinaryDiffEq", "Pkg", "Printf", "StaticArrays", "Test", "Thermodynamics", "UnPack"] -git-tree-sha1 = "4eb67a5ad2be76c6686ab6659448dd353b8bea46" -repo-rev = "jh_ln/external_boundary_conditons" -repo-url = "https://github.com/CliMA/ClimaAtmos.jl" -uuid = "b2c96348-7fb7-4fe0-8da9-78d88439e717" -version = "0.1.0" - -[[deps.ClimaComms]] -deps = ["CUDA", "KernelAbstractions", "StaticArrays"] -git-tree-sha1 = "50fbb76557f11e28ec21ad2fbe5e7547f1b1f432" -uuid = "3a4d1b5c-c61d-41fd-a00a-5873ba7a1b0d" -version = "0.3.0" - -[[deps.ClimaCore]] -deps = ["Adapt", "BlockArrays", "CUDA", "ClimaComms", "CubedSphere", "DataStructures", "DiffEqBase", "DocStringExtensions", "ForwardDiff", "GaussQuadrature", "InteractiveUtils", "IntervalSets", "LinearAlgebra", "RecursiveArrayTools", "RootSolvers", "Rotations", "SparseArrays", "Static", "StaticArrays", "Statistics", "UnPack"] -git-tree-sha1 = "009f1bcb7abe7bcd33e2e744ac3843d1d5c8bda3" -uuid = "d414da3d-4745-48bb-8d80-42e94e092884" -version = "0.10.1" - -[[deps.ClimaCorePlots]] -deps = ["ClimaCore", "RecipesBase", "StaticArrays", "TriplotBase"] -git-tree-sha1 = "fb369432478d010ba9a2bd06b288d7a40467903b" -uuid = "cf7c7e5a-b407-4c48-9047-11a94a308626" -version = "0.2.3" - -[[deps.ClimaCoreTempestRemap]] -deps = ["ClimaCore", "Dates", "LinearAlgebra", "NCDatasets", "PkgVersion", "TempestRemap_jll", "Test"] -git-tree-sha1 = "f70e2666a48c38bc95cb40d5cc99bedc0dc8b0e3" -uuid = "d934ef94-cdd4-4710-83d6-720549644b70" -version = "0.3.3" - -[[deps.ClimaCoreVTK]] -deps = ["ClimaCore", "WriteVTK"] -git-tree-sha1 = "2a0f6f12ccdf50089e708b68e73b1fe08fb53cd8" -uuid = "c8b6d40d-e815-466f-95ae-c48aefa668fa" -version = "0.7.1" - -[[deps.CloseOpenIntervals]] -deps = ["ArrayInterface", "Static"] -git-tree-sha1 = "f576084239e6bdf801007c80e27e2cc2cd963fe0" -uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" -version = "0.1.6" - -[[deps.CloudMicrophysics]] -deps = ["CLIMAParameters", "DocStringExtensions", "SpecialFunctions", "Thermodynamics"] -git-tree-sha1 = "f349c11d71a056a7d39533cdd60e32120d808af2" -uuid = "6a9e3e04-43cd-43ba-94b9-e8782df3c71b" -version = "0.3.3" - -[[deps.CodeTracking]] -deps = ["InteractiveUtils", "UUIDs"] -git-tree-sha1 = "6d4fa04343a7fc9f9cb9cff9558929f3d2752717" -uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" -version = "1.0.9" - -[[deps.CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "ded953804d019afa9a3f98981d99b33e3db7b6da" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.0" - -[[deps.ColorSchemes]] -deps = ["ColorTypes", "Colors", "FixedPointNumbers", "Random"] -git-tree-sha1 = "12fc73e5e0af68ad3137b886e3f7c1eacfca2640" -uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.17.1" - -[[deps.ColorTypes]] -deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "024fe24d83e4a5bf5fc80501a314ce0d1aa35597" -uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.11.0" - -[[deps.Colors]] -deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "417b0ed7b8b838aa6ca0a87aadf1bb9eb111ce40" -uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.12.8" - -[[deps.CommonSolve]] -git-tree-sha1 = "68a0743f578349ada8bc911a5cbd5a2ef6ed6d1f" -uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" -version = "0.2.0" - -[[deps.CommonSubexpressions]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.0" - -[[deps.Compat]] -deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] -git-tree-sha1 = "b153278a25dd42c65abbf4e62344f9d22e59191b" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "3.43.0" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" - -[[deps.ConstructionBase]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "f74e9d5388b8620b4cee35d4c5a618dd4dc547f4" -uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.3.0" - -[[deps.Contour]] -deps = ["StaticArrays"] -git-tree-sha1 = "9f02045d934dc030edad45944ea80dbd1f0ebea7" -uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.5.7" - -[[deps.CpuId]] -deps = ["Markdown"] -git-tree-sha1 = "fcbb72b032692610bfbdb15018ac16a36cf2e406" -uuid = "adafc99b-e345-5852-983c-f28acb93d879" -version = "0.3.1" - -[[deps.CubedSphere]] -deps = ["Elliptic", "Printf", "Rotations", "TaylorSeries", "Test"] -git-tree-sha1 = "f66fabd1ee5df59a7ba47c7873a6332c19e0c03f" -uuid = "7445602f-e544-4518-8976-18f8e8ae6cdb" -version = "0.2.0" - -[[deps.DEDataArrays]] -deps = ["ArrayInterface", "DocStringExtensions", "LinearAlgebra", "RecursiveArrayTools", "SciMLBase", "StaticArrays"] -git-tree-sha1 = "5e5f8f363c8c9a2415ef9185c4e0ff6966c87d52" -uuid = "754358af-613d-5f8d-9788-280bf1605d4c" -version = "0.2.2" - -[[deps.DataAPI]] -git-tree-sha1 = "fb5f5316dd3fd4c5e7c30a24d50643b73e37cd40" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.10.0" - -[[deps.DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "3daef5523dd2e769dad2365274f760ff5f282c7d" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.11" - -[[deps.DataValueInterfaces]] -git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" -uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" -version = "1.0.0" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[deps.DelimitedFiles]] -deps = ["Mmap"] -uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" - -[[deps.DensityInterface]] -deps = ["InverseFunctions", "Test"] -git-tree-sha1 = "80c3e8639e3353e5d2912fb3a1916b8455e2494b" -uuid = "b429d917-457f-4dbc-8f4c-0cc954292b1d" -version = "0.4.0" - -[[deps.DiffEqBase]] -deps = ["ArrayInterface", "ChainRulesCore", "DEDataArrays", "DataStructures", "Distributions", "DocStringExtensions", "FastBroadcast", "ForwardDiff", "FunctionWrappers", "IterativeSolvers", "LabelledArrays", "LinearAlgebra", "Logging", "MuladdMacro", "NonlinearSolve", "Parameters", "PreallocationTools", "Printf", "RecursiveArrayTools", "RecursiveFactorization", "Reexport", "Requires", "SciMLBase", "Setfield", "SparseArrays", "StaticArrays", "Statistics", "SuiteSparse", "ZygoteRules"] -git-tree-sha1 = "3c55535145325e0e3fa7a397e3a50e5f220d1edc" -uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" -version = "6.83.2" - -[[deps.DiffEqCallbacks]] -deps = ["DataStructures", "DiffEqBase", "ForwardDiff", "LinearAlgebra", "NLsolve", "OrdinaryDiffEq", "Parameters", "RecipesBase", "RecursiveArrayTools", "SciMLBase", "StaticArrays"] -git-tree-sha1 = "c4b99e3a199e293e7290eea94ba89364d47ee557" -uuid = "459566f4-90b8-5000-8ac3-15dfb0a30def" -version = "2.22.0" - -[[deps.DiffResults]] -deps = ["StaticArrays"] -git-tree-sha1 = "c18e98cba888c6c25d1c3b048e4b3380ca956805" -uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "1.0.3" - -[[deps.DiffRules]] -deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "28d605d9a0ac17118fe2c5e9ce0fbb76c3ceb120" -uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.11.0" - -[[deps.Distances]] -deps = ["LinearAlgebra", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "3258d0659f812acde79e8a74b11f17ac06d0ca04" -uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.7" - -[[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 = "f206814c860c2a909d2a467af0484d08edd05ee7" -uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.57" - -[[deps.DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "b19534d1895d702889b219c382a6e18010797f0b" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.8.6" - -[[deps.Downloads]] -deps = ["ArgTools", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" - -[[deps.DualNumbers]] -deps = ["Calculus", "NaNMath", "SpecialFunctions"] -git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" -uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" -version = "0.6.8" - -[[deps.EarCut_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "3f3a2501fa7236e9b911e0f7a588c657e822bb6d" -uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" -version = "2.2.3+0" - -[[deps.Elliptic]] -git-tree-sha1 = "71c79e77221ab3a29918aaf6db4f217b89138608" -uuid = "b305315f-e792-5b7a-8f41-49f472929428" -version = "1.0.1" - -[[deps.Expat_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bad72f730e9e91c08d9427d5e8db95478a3c323d" -uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.4.8+0" - -[[deps.ExponentialUtilities]] -deps = ["ArrayInterface", "GenericSchur", "LinearAlgebra", "Printf", "Requires", "SparseArrays", "libblastrampoline_jll"] -git-tree-sha1 = "789a5aaec6856ad774a95cdb558806afeeb256f9" -uuid = "d4d017d3-3776-5f7e-afef-a10c40355c18" -version = "1.15.0" - -[[deps.ExprTools]] -git-tree-sha1 = "56559bbef6ca5ea0c0818fa5c90320398a6fbf8d" -uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.8" - -[[deps.FFMPEG]] -deps = ["FFMPEG_jll"] -git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" -uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" -version = "0.4.1" - -[[deps.FFMPEG_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "Pkg", "Zlib_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "d8a578692e3077ac998b50c0217dfd67f21d1e5f" -uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.0+0" - -[[deps.FastBroadcast]] -deps = ["LinearAlgebra", "Polyester", "Static"] -git-tree-sha1 = "b6bf57ec7a3f294c97ae46124705a9e6b906a209" -uuid = "7034ab61-46d4-4ed7-9d0f-46aef9175898" -version = "0.1.15" - -[[deps.FastClosures]] -git-tree-sha1 = "acebe244d53ee1b461970f8910c235b259e772ef" -uuid = "9aa1b823-49e4-5ca5-8b0f-3971ec8bab6a" -version = "0.3.2" - -[[deps.FileIO]] -deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "9267e5f50b0e12fdfd5a2455534345c4cf2c7f7a" -uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.14.0" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[deps.FillArrays]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "246621d23d1f43e3b9c368bf3b72b2331a27c286" -uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.13.2" - -[[deps.FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Requires", "SparseArrays", "StaticArrays"] -git-tree-sha1 = "56956d1e4c1221000b7781104c58c34019792951" -uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.11.0" - -[[deps.FixedPointNumbers]] -deps = ["Statistics"] -git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" -uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.4" - -[[deps.Fontconfig_jll]] -deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" -uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.13.93+0" - -[[deps.Formatting]] -deps = ["Printf"] -git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" -uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" -version = "0.4.2" - -[[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "34e6147e7686a101c245f12dba43b743c7afda96" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.27" - -[[deps.FreeType2_jll]] -deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "87eb71354d8ec1a96d4a7636bd57a7347dde3ef9" -uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.10.4+0" - -[[deps.FriBidi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" -uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.10+0" - -[[deps.FunctionWrappers]] -git-tree-sha1 = "241552bc2209f0fa068b6415b1942cc0aa486bcc" -uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" -version = "1.1.2" - -[[deps.Future]] -deps = ["Random"] -uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" - -[[deps.GLFW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] -git-tree-sha1 = "51d2dfe8e590fbd74e7a842cf6d13d8a2f45dc01" -uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.3.6+0" - -[[deps.GPUArrays]] -deps = ["Adapt", "LLVM", "LinearAlgebra", "Printf", "Random", "Serialization", "Statistics"] -git-tree-sha1 = "c783e8883028bf26fb05ed4022c450ef44edd875" -uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "8.3.2" - -[[deps.GPUCompiler]] -deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "TimerOutputs", "UUIDs"] -git-tree-sha1 = "556190e1e0ea3e37d83059fc9aa576f1e2104375" -uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" -version = "0.14.1" - -[[deps.GR]] -deps = ["Base64", "DelimitedFiles", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Printf", "Random", "RelocatableFolders", "Serialization", "Sockets", "Test", "UUIDs"] -git-tree-sha1 = "af237c08bda486b74318c8070adb96efa6952530" -uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.64.2" - -[[deps.GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Pkg", "Qt5Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "cd6efcf9dc746b06709df14e462f0a3fe0786b1e" -uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.64.2+0" - -[[deps.GaussQuadrature]] -deps = ["SpecialFunctions"] -git-tree-sha1 = "45bf52a9fb04350d8771ad694772c18c878683b6" -uuid = "d54b0c1a-921d-58e0-8e36-89d8069c0969" -version = "0.5.7" - -[[deps.GenericSchur]] -deps = ["LinearAlgebra", "Printf"] -git-tree-sha1 = "fb69b2a645fa69ba5f474af09221b9308b160ce6" -uuid = "c145ed77-6b09-5dd9-b285-bf645a82121e" -version = "0.5.3" - -[[deps.GeometryBasics]] -deps = ["EarCut_jll", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] -git-tree-sha1 = "83ea630384a13fc4f002b77690bc0afeb4255ac9" -uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" -version = "0.4.2" - -[[deps.Gettext_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" -uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" -version = "0.21.0+0" - -[[deps.Glib_jll]] -deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "a32d672ac2c967f3deb8a81d828afc739c838a06" -uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.68.3+2" - -[[deps.Graphite2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" -uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.14+0" - -[[deps.Graphs]] -deps = ["ArnoldiMethod", "Compat", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] -git-tree-sha1 = "57c021de207e234108a6f1454003120a1bf350c4" -uuid = "86223c79-3864-5bf0-83f7-82e725a168b6" -version = "1.6.0" - -[[deps.Grisu]] -git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" -uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" -version = "1.0.2" - -[[deps.HDF5_jll]] -deps = ["Artifacts", "JLLWrappers", "LibCURL_jll", "Libdl", "OpenSSL_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "bab67c0d1c4662d2c4be8c6007751b0b6111de5c" -uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" -version = "1.12.1+0" - -[[deps.HTTP]] -deps = ["Base64", "Dates", "IniFile", "Logging", "MbedTLS", "NetworkOptions", "Sockets", "URIs"] -git-tree-sha1 = "0fa77022fe4b511826b39c894c90daf5fce3334a" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "0.9.17" - -[[deps.HarfBuzz_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] -git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" -uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "2.8.1+1" - -[[deps.HostCPUFeatures]] -deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] -git-tree-sha1 = "18be5268cf415b5e27f34980ed25a7d34261aa83" -uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" -version = "0.1.7" - -[[deps.Hwloc]] -deps = ["Hwloc_jll"] -git-tree-sha1 = "92d99146066c5c6888d5a3abc871e6a214388b91" -uuid = "0e44f5e4-bd66-52a0-8798-143a42290a1d" -version = "2.0.0" - -[[deps.Hwloc_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "303d70c961317c4c20fafaf5dbe0e6d610c38542" -uuid = "e33a78d0-f292-5ffc-b300-72abe9b543c8" -version = "2.7.1+0" - -[[deps.HypergeometricFunctions]] -deps = ["DualNumbers", "LinearAlgebra", "SpecialFunctions", "Test"] -git-tree-sha1 = "65e4589030ef3c44d3b90bdc5aac462b4bb05567" -uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.8" - -[[deps.IfElse]] -git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.1" - -[[deps.Inflate]] -git-tree-sha1 = "f5fc07d4e706b84f72d54eedcc1c13d92fb0871c" -uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" -version = "0.1.2" - -[[deps.IniFile]] -git-tree-sha1 = "f550e6e32074c939295eb5ea6de31849ac2c9625" -uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" -version = "0.5.1" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.IntervalSets]] -deps = ["Dates", "Statistics"] -git-tree-sha1 = "eb381d885e30ef859068fce929371a8a5d06a914" -uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.6.1" - -[[deps.InverseFunctions]] -deps = ["Test"] -git-tree-sha1 = "91b5dcf362c5add98049e6c29ee756910b03051d" -uuid = "3587e190-3f89-42d0-90ee-14403ec27112" -version = "0.1.3" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "7fd44fd4ff43fc60815f8e764c0f352b83c49151" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.1.1" - -[[deps.IterTools]] -git-tree-sha1 = "fa6287a4469f5e048d763df38279ee729fbd44e5" -uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" -version = "1.4.0" - -[[deps.IterativeSolvers]] -deps = ["LinearAlgebra", "Printf", "Random", "RecipesBase", "SparseArrays"] -git-tree-sha1 = "1169632f425f79429f245113b775a0e3d121457c" -uuid = "42fd0dbc-a981-5370-80f2-aaf504508153" -version = "0.9.2" - -[[deps.IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[deps.JLD2]] -deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "Pkg", "Printf", "Reexport", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "81b9477b49402b47fbe7f7ae0b252077f53e4a08" -uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.22" - -[[deps.JLLWrappers]] -deps = ["Preferences"] -git-tree-sha1 = "abc9885a7ca2052a736a600f7fa66209f96506e1" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.4.1" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "3c837543ddb02250ef42f4738347454f95079d4e" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.3" - -[[deps.JpegTurbo_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b53380851c6e6664204efb2e62cd24fa5c47e4ba" -uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "2.1.2+0" - -[[deps.JuliaInterpreter]] -deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] -git-tree-sha1 = "52617c41d2761cc05ed81fe779804d3b7f14fff7" -uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" -version = "0.9.13" - -[[deps.KLU]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse_jll"] -git-tree-sha1 = "cae5e3dfd89b209e01bcd65b3a25e74462c67ee0" -uuid = "ef3ab10e-7fda-4108-b977-705223b18434" -version = "0.3.0" - -[[deps.KernelAbstractions]] -deps = ["Adapt", "Cassette", "InteractiveUtils", "MacroTools", "SpecialFunctions", "StaticArrays", "UUIDs"] -git-tree-sha1 = "cb7d8b805413025a5bc866fc036b426223ffc059" -uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.7.2" - -[[deps.Krylov]] -deps = ["LinearAlgebra", "Printf", "SparseArrays"] -git-tree-sha1 = "82f5afb342a5624dc4651981584a841f6088166b" -uuid = "ba0b0d4f-ebba-5204-a429-3ac8c609bfb7" -version = "0.8.0" - -[[deps.KrylovKit]] -deps = ["LinearAlgebra", "Printf"] -git-tree-sha1 = "49b0c1dd5c292870577b8f58c51072bd558febb9" -uuid = "0b1a1467-8014-51b9-945f-bf0ae24f4b77" -version = "0.5.4" - -[[deps.LAME_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" -uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.1+0" - -[[deps.LERC_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" -uuid = "88015f11-f218-50d7-93a8-a6af411a945d" -version = "3.0.0+1" - -[[deps.LLVM]] -deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "c9b86064be5ae0f63e50816a5a90b08c474507ae" -uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "4.9.1" - -[[deps.LLVMExtra_jll]] -deps = ["Artifacts", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "5558ad3c8972d602451efe9d81c78ec14ef4f5ef" -uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.14+2" - -[[deps.LZO_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" -uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.1+0" - -[[deps.LaTeXStrings]] -git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" -uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.0" - -[[deps.LabelledArrays]] -deps = ["ArrayInterface", "ChainRulesCore", "LinearAlgebra", "MacroTools", "StaticArrays"] -git-tree-sha1 = "fbd884a02f8bf98fd90c53c1c9d2b21f9f30f42a" -uuid = "2ee39098-c373-598a-b85f-a56591580800" -version = "1.8.0" - -[[deps.Latexify]] -deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "Printf", "Requires"] -git-tree-sha1 = "46a39b9c58749eefb5f2dc1178cb8fab5332b1ab" -uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.15.15" - -[[deps.LayoutPointers]] -deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static"] -git-tree-sha1 = "b651f573812d6c36c22c944dd66ef3ab2283dfa1" -uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.6" - -[[deps.LazyArtifacts]] -deps = ["Artifacts", "Pkg"] -uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" - -[[deps.LeftChildRightSiblingTrees]] -deps = ["AbstractTrees"] -git-tree-sha1 = "b864cb409e8e445688bc478ef87c0afe4f6d1f8d" -uuid = "1d6d02ad-be62-4b6b-8a6d-2f90e265016e" -version = "0.1.3" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" - -[[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[deps.Libffi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" -uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.2.2+1" - -[[deps.Libgcrypt_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] -git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" -uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" -version = "1.8.7+0" - -[[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "7739f837d6447403596a75d19ed01fd08d6f56bf" -uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.3.0+3" - -[[deps.Libgpg_error_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" -uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" -version = "1.42.0+0" - -[[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "42b62845d70a619f063a7da093d995ec8e15e778" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.16.1+1" - -[[deps.Libmount_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" -uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.35.0+0" - -[[deps.Libtiff_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "c9551dd26e31ab17b86cbd00c2ede019c08758eb" -uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.3.0+1" - -[[deps.Libuuid_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" -uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.36.0+0" - -[[deps.LightXML]] -deps = ["Libdl", "XML2_jll"] -git-tree-sha1 = "e129d9391168c677cd4800f5c0abb1ed8cb3794f" -uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" -version = "0.9.0" - -[[deps.LineSearches]] -deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] -git-tree-sha1 = "f27132e551e959b3667d8c93eae90973225032dd" -uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -version = "7.1.1" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[deps.LinearSolve]] -deps = ["ArrayInterface", "DocStringExtensions", "IterativeSolvers", "KLU", "Krylov", "KrylovKit", "LinearAlgebra", "RecursiveFactorization", "Reexport", "Requires", "SciMLBase", "Setfield", "SparseArrays", "SuiteSparse", "UnPack"] -git-tree-sha1 = "6eb8e10ed29b85673495c29bd77ee0dfa8929977" -uuid = "7ed4a6bd-45f5-4d41-b270-4a48e9bafcae" -version = "1.15.0" - -[[deps.LogExpFunctions]] -deps = ["ChainRulesCore", "ChangesOfVariables", "DocStringExtensions", "InverseFunctions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "76c987446e8d555677f064aaac1145c4c17662f8" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.14" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[deps.LoopVectorization]] -deps = ["ArrayInterface", "CPUSummary", "ChainRulesCore", "CloseOpenIntervals", "DocStringExtensions", "ForwardDiff", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "SIMDDualNumbers", "SLEEFPirates", "SpecialFunctions", "Static", "ThreadingUtilities", "UnPack", "VectorizationBase"] -git-tree-sha1 = "4acc35e95bf18de5e9562d27735bef0950f2ed74" -uuid = "bdcacae8-1622-11e9-2a5c-532679323890" -version = "0.12.108" - -[[deps.LoweredCodeUtils]] -deps = ["JuliaInterpreter"] -git-tree-sha1 = "dedbebe234e06e1ddad435f5c6f4b85cd8ce55f7" -uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" -version = "2.2.2" - -[[deps.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "3d3e902b31198a27340d0bf00d6ac452866021cf" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.9" - -[[deps.ManualMemory]] -git-tree-sha1 = "bcaef4fc7a0cfe2cba636d84cda54b5e4e4ca3cd" -uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" -version = "0.1.8" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"] -git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.0.3" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" - -[[deps.Measures]] -git-tree-sha1 = "e498ddeee6f9fdb4551ce855a46f54dbd900245f" -uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" -version = "0.3.1" - -[[deps.Missings]] -deps = ["DataAPI"] -git-tree-sha1 = "bf210ce90b6c9eed32d25dbcae1ebc565df2687f" -uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.0.2" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" - -[[deps.MuladdMacro]] -git-tree-sha1 = "c6190f9a7fc5d9d5915ab29f2134421b12d24a68" -uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" -version = "0.2.2" - -[[deps.NCDatasets]] -deps = ["CFTime", "DataStructures", "Dates", "NetCDF_jll", "Printf"] -git-tree-sha1 = "17e39eb5bbe564f48bdbefbd103bd3f49fcfcb9b" -uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.11.9" - -[[deps.NLSolversBase]] -deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] -git-tree-sha1 = "50310f934e55e5ca3912fb941dec199b49ca9b68" -uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" -version = "7.8.2" - -[[deps.NLsolve]] -deps = ["Distances", "LineSearches", "LinearAlgebra", "NLSolversBase", "Printf", "Reexport"] -git-tree-sha1 = "019f12e9a1a7880459d0173c182e6a99365d7ac1" -uuid = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" -version = "4.5.1" - -[[deps.NaNMath]] -git-tree-sha1 = "b086b7ea07f8e38cf122f5016af580881ac914fe" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "0.3.7" - -[[deps.NetCDF_jll]] -deps = ["Artifacts", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Pkg", "Zlib_jll", "nghttp2_jll"] -git-tree-sha1 = "598f1a5e9829b3e57f233f98b34a22b376dff373" -uuid = "7243133f-43d8-5620-bbf4-c2c921802cf3" -version = "400.702.402+0" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" - -[[deps.NonlinearSolve]] -deps = ["ArrayInterface", "FiniteDiff", "ForwardDiff", "IterativeSolvers", "LinearAlgebra", "RecursiveArrayTools", "RecursiveFactorization", "Reexport", "SciMLBase", "Setfield", "StaticArrays", "UnPack"] -git-tree-sha1 = "aeebff6a2a23506e5029fd2248a26aca98e477b3" -uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" -version = "0.3.16" - -[[deps.OffsetArrays]] -deps = ["Adapt"] -git-tree-sha1 = "043017e0bdeff61cfbb7afeb558ab29536bbb5ed" -uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.10.8" - -[[deps.Ogg_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" -uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" -version = "1.3.5+1" - -[[deps.OpenBLAS32_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9c6c2ed4b7acd2137b878eb96c68e63b76199d0f" -uuid = "656ef2d0-ae68-5445-9ca0-591084a874a2" -version = "0.3.17+0" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" - -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ab05aa4cc89736e95915b01e7279e61b1bfe33b8" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "1.1.14+0" - -[[deps.OpenSpecFun_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" -uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.5+0" - -[[deps.Opus_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" -uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.3.2+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.4.1" - -[[deps.OrdinaryDiffEq]] -deps = ["Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "ExponentialUtilities", "FastClosures", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "LinearSolve", "Logging", "LoopVectorization", "MacroTools", "MuladdMacro", "NLsolve", "NonlinearSolve", "Polyester", "PreallocationTools", "RecursiveArrayTools", "Reexport", "SciMLBase", "SparseArrays", "SparseDiffTools", "StaticArrays", "UnPack"] -git-tree-sha1 = "8031a288c9b418664a3dfbac36e464a3f61ace73" -uuid = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" -version = "6.10.0" - -[[deps.PCRE_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b2a7af664e098055a7529ad1a900ded962bca488" -uuid = "2f80f16e-611a-54ab-bc61-aa92de5b98fc" -version = "8.44.0+0" - -[[deps.PDMats]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "3114946c67ef9925204cc024a73c9e679cebe0d7" -uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.8" - -[[deps.Parameters]] -deps = ["OrderedCollections", "UnPack"] -git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" -uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" -version = "0.12.3" - -[[deps.Parsers]] -deps = ["Dates"] -git-tree-sha1 = "1285416549ccfcdf0c50d4997a94331e88d68413" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.3.1" - -[[deps.Pixman_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b4f5d02549a10e20780a24fce72bea96b6329e29" -uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.40.1+0" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" - -[[deps.PkgVersion]] -deps = ["Pkg"] -git-tree-sha1 = "a7a7e1a88853564e551e4eba8650f8c38df79b37" -uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" -version = "0.1.1" - -[[deps.PlotThemes]] -deps = ["PlotUtils", "Statistics"] -git-tree-sha1 = "8162b2f8547bc23876edd0c5181b27702ae58dce" -uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "3.0.0" - -[[deps.PlotUtils]] -deps = ["ColorSchemes", "Colors", "Dates", "Printf", "Random", "Reexport", "Statistics"] -git-tree-sha1 = "bb16469fd5224100e422f0b027d26c5a25de1200" -uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.2.0" - -[[deps.Plots]] -deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "GeometryBasics", "JSON", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun", "Unzip"] -git-tree-sha1 = "d05baca9ec540de3d8b12ef660c7353aae9f9477" -uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.28.1" - -[[deps.Polyester]] -deps = ["ArrayInterface", "BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "ManualMemory", "PolyesterWeave", "Requires", "Static", "StrideArraysCore", "ThreadingUtilities"] -git-tree-sha1 = "8d95a735921204f5d551ac300b20d802a150433a" -uuid = "f517fe37-dbe3-4b94-8317-1923a5111588" -version = "0.6.8" - -[[deps.PolyesterWeave]] -deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] -git-tree-sha1 = "7e597df97e46ffb1c8adbaddfa56908a7a20194b" -uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" -version = "0.1.5" - -[[deps.PreallocationTools]] -deps = ["Adapt", "ArrayInterface", "ForwardDiff", "LabelledArrays"] -git-tree-sha1 = "6c138c8510111fa47b5d2ed8ada482d97e279bee" -uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" -version = "0.2.4" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "47e5f437cc0e7ef2ce8406ce1e7e24d44915f88d" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.3.0" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.ProgressLogging]] -deps = ["Logging", "SHA", "UUIDs"] -git-tree-sha1 = "80d919dee55b9c50e8d9e2da5eeafff3fe58b539" -uuid = "33c8b6b6-d38a-422a-b730-caa89a2f386c" -version = "0.1.4" - -[[deps.Qt5Base_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"] -git-tree-sha1 = "c6c0f690d0cc7caddb74cef7aa847b824a16b256" -uuid = "ea2cea3b-5b76-57ae-a6ef-0a8af62496e1" -version = "5.15.3+1" - -[[deps.QuadGK]] -deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "78aadffb3efd2155af139781b8a8df1ef279ea39" -uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.4.2" - -[[deps.Quaternions]] -deps = ["DualNumbers", "LinearAlgebra", "Random"] -git-tree-sha1 = "b327e4db3f2202a4efafe7569fcbe409106a1f75" -uuid = "94ee1d12-ae83-5a48-8b1c-48b8ff168ae0" -version = "0.5.6" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA", "Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.Random123]] -deps = ["Random", "RandomNumbers"] -git-tree-sha1 = "afeacaecf4ed1649555a19cb2cad3c141bbc9474" -uuid = "74087812-796a-5b5d-8853-05524746bad3" -version = "1.5.0" - -[[deps.RandomNumbers]] -deps = ["Random", "Requires"] -git-tree-sha1 = "043da614cc7e95c703498a491e2c21f58a2b8111" -uuid = "e6cf234a-135c-5ec9-84dd-332b85af5143" -version = "1.5.3" - -[[deps.RecipesBase]] -git-tree-sha1 = "6bf3f380ff52ce0832ddd3a2a7b9538ed1bcca7d" -uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.2.1" - -[[deps.RecipesPipeline]] -deps = ["Dates", "NaNMath", "PlotUtils", "RecipesBase"] -git-tree-sha1 = "dc1e451e15d90347a7decc4221842a022b011714" -uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" -version = "0.5.2" - -[[deps.RecursiveArrayTools]] -deps = ["Adapt", "ArrayInterface", "ChainRulesCore", "DocStringExtensions", "FillArrays", "LinearAlgebra", "RecipesBase", "Requires", "StaticArrays", "Statistics", "ZygoteRules"] -git-tree-sha1 = "bfe14f127f3e7def02a6c2b1940b39d0dabaa3ef" -uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "2.26.3" - -[[deps.RecursiveFactorization]] -deps = ["LinearAlgebra", "LoopVectorization", "Polyester", "StrideArraysCore", "TriangularSolve"] -git-tree-sha1 = "a9a852c7ebb08e2a40e8c0ab9830a744fa283690" -uuid = "f2c3362d-daeb-58d1-803e-2bc74f2840b4" -version = "0.2.10" - -[[deps.Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[deps.RelocatableFolders]] -deps = ["SHA", "Scratch"] -git-tree-sha1 = "cdbd3b1338c72ce29d9584fdbe9e9b70eeb5adca" -uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "0.1.3" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.0" - -[[deps.Revise]] -deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Pkg", "REPL", "Requires", "UUIDs", "Unicode"] -git-tree-sha1 = "4d4239e93531ac3e7ca7e339f15978d0b5149d03" -uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" -version = "3.3.3" - -[[deps.Rmath]] -deps = ["Random", "Rmath_jll"] -git-tree-sha1 = "bf3188feca147ce108c76ad82c2792c57abe7b1f" -uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" -version = "0.7.0" - -[[deps.Rmath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "68db32dff12bb6127bac73c209881191bf0efbb7" -uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" -version = "0.3.0+0" - -[[deps.RootSolvers]] -deps = ["DocStringExtensions", "ForwardDiff"] -git-tree-sha1 = "08c746c1b621e88953650133e46428bfecc11058" -uuid = "7181ea78-2dcb-4de3-ab41-2b8ab5a31e74" -version = "0.3.0" - -[[deps.Rotations]] -deps = ["LinearAlgebra", "Quaternions", "Random", "StaticArrays", "Statistics"] -git-tree-sha1 = "3177100077c68060d63dd71aec209373c3ec339b" -uuid = "6038ab10-8711-5258-84ad-4b1120ba62dc" -version = "1.3.1" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" - -[[deps.SIMDDualNumbers]] -deps = ["ForwardDiff", "IfElse", "SLEEFPirates", "VectorizationBase"] -git-tree-sha1 = "62c2da6eb66de8bb88081d20528647140d4daa0e" -uuid = "3cdde19b-5bb0-4aaf-8931-af3e248e098b" -version = "0.1.0" - -[[deps.SIMDTypes]] -git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" -uuid = "94e857df-77ce-4151-89e5-788b33177be4" -version = "0.1.0" - -[[deps.SLEEFPirates]] -deps = ["IfElse", "Static", "VectorizationBase"] -git-tree-sha1 = "ac399b5b163b9140f9c310dfe9e9aaa225617ff6" -uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" -version = "0.6.32" - -[[deps.SciMLBase]] -deps = ["ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "RecipesBase", "RecursiveArrayTools", "StaticArrays", "Statistics", "Tables", "TreeViews"] -git-tree-sha1 = "194a569a247b8180e7171f7ee59dabfd5a095f9f" -uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "1.31.3" - -[[deps.Scratch]] -deps = ["Dates"] -git-tree-sha1 = "0b4b7f1393cff97c33891da2a0bf69c6ed241fda" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.1.0" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.Setfield]] -deps = ["ConstructionBase", "Future", "MacroTools", "Requires"] -git-tree-sha1 = "38d88503f695eb0301479bc9b0d4320b378bafe5" -uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" -version = "0.8.2" - -[[deps.SharedArrays]] -deps = ["Distributed", "Mmap", "Random", "Serialization"] -uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" - -[[deps.Showoff]] -deps = ["Dates", "Grisu"] -git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" -uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" -version = "1.0.3" - -[[deps.SimpleTraits]] -deps = ["InteractiveUtils", "MacroTools"] -git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" -uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" -version = "0.9.4" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.SortingAlgorithms]] -deps = ["DataStructures"] -git-tree-sha1 = "b3363d7460f7d098ca0912c69b082f75625d7508" -uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.0.1" - -[[deps.SparseArrays]] -deps = ["LinearAlgebra", "Random"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[deps.SparseDiffTools]] -deps = ["Adapt", "ArrayInterface", "Compat", "DataStructures", "FiniteDiff", "ForwardDiff", "Graphs", "LinearAlgebra", "Requires", "SparseArrays", "StaticArrays", "VertexSafeGraphs"] -git-tree-sha1 = "314a07e191ea4a5ea5a2f9d6b39f03833bde5e08" -uuid = "47a9eef4-7e08-11e9-0b38-333d64bd3804" -version = "1.21.0" - -[[deps.SpecialFunctions]] -deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "cbf21db885f478e4bd73b286af6e67d1beeebe4c" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "1.8.4" - -[[deps.Static]] -deps = ["IfElse"] -git-tree-sha1 = "91181e5820a400d1171db4382aa36e7fd19bee27" -uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.6.3" - -[[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "Statistics"] -git-tree-sha1 = "cd56bf18ed715e8b09f06ef8c6b781e6cdc49911" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.4.4" - -[[deps.Statistics]] -deps = ["LinearAlgebra", "SparseArrays"] -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - -[[deps.StatsAPI]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "c82aaa13b44ea00134f8c9c89819477bd3986ecd" -uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.3.0" - -[[deps.StatsBase]] -deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "8977b17906b0a1cc74ab2e3a05faa16cf08a8291" -uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.33.16" - -[[deps.StatsFuns]] -deps = ["ChainRulesCore", "HypergeometricFunctions", "InverseFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "ca9f8a0c9f2e41431dc5b7697058a3f8f8b89498" -uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "1.0.0" - -[[deps.StrideArraysCore]] -deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "ManualMemory", "Requires", "SIMDTypes", "Static", "ThreadingUtilities"] -git-tree-sha1 = "70d9007ff05440058c0301985b2275edc2b2ce25" -uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" -version = "0.3.3" - -[[deps.StructArrays]] -deps = ["Adapt", "DataAPI", "StaticArrays", "Tables"] -git-tree-sha1 = "8f705dd141733d79aa2932143af6c6e0b6cea8df" -uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.6" - -[[deps.SuiteSparse]] -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" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" - -[[deps.TableTraits]] -deps = ["IteratorInterfaceExtensions"] -git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" -uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" -version = "1.0.1" - -[[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] -git-tree-sha1 = "5ce79ce186cc678bbb5c5681ca3379d1ddae11a1" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.7.0" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" - -[[deps.TaylorSeries]] -deps = ["InteractiveUtils", "LinearAlgebra", "Markdown", "Requires", "SparseArrays"] -git-tree-sha1 = "66f4d1993bae49eeba21a1634b5f65782585a42c" -uuid = "6aa5eb33-94cf-58f4-a9d0-e4b2c4fc25ea" -version = "0.10.13" - -[[deps.TempestRemap_jll]] -deps = ["Artifacts", "HDF5_jll", "JLLWrappers", "Libdl", "NetCDF_jll", "OpenBLAS32_jll", "Pkg"] -git-tree-sha1 = "36382ed08c138a6e2696976bf8abaae5ff4e5bd4" -uuid = "8573a8c5-1df0-515e-a024-abad257ee284" -version = "2.1.3+2" - -[[deps.TerminalLoggers]] -deps = ["LeftChildRightSiblingTrees", "Logging", "Markdown", "Printf", "ProgressLogging", "UUIDs"] -git-tree-sha1 = "62846a48a6cd70e63aa29944b8c4ef704360d72f" -uuid = "5d786b92-1e48-4d6f-9151-6b4477ca9bed" -version = "0.1.5" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.Thermodynamics]] -deps = ["CLIMAParameters", "DocStringExtensions", "KernelAbstractions", "Random", "RootSolvers"] -git-tree-sha1 = "f7ac397969443f08957a7beccd7376925905c882" -uuid = "b60c26fb-14c3-4610-9d3e-2d17fe7ff00c" -version = "0.5.11" - -[[deps.ThreadingUtilities]] -deps = ["ManualMemory"] -git-tree-sha1 = "f8629df51cab659d70d2e5618a430b4d3f37f2c3" -uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" -version = "0.5.0" - -[[deps.TimerOutputs]] -deps = ["ExprTools", "Printf"] -git-tree-sha1 = "d3bfa83f95c706485de9ae755a23a6ce5b1c30a3" -uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.18" - -[[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "216b95ea110b5972db65aa90f88d8d89dcb8851c" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.6" - -[[deps.TreeViews]] -deps = ["Test"] -git-tree-sha1 = "8d0d7a3fe2f30d6a7f833a5f19f7c7a5b396eae6" -uuid = "a2a6695c-b41b-5b7d-aed9-dbfdeacea5d7" -version = "0.3.0" - -[[deps.TriangularSolve]] -deps = ["CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "LoopVectorization", "Polyester", "Static", "VectorizationBase"] -git-tree-sha1 = "b8d08f55b02625770c09615d96927b3a8396925e" -uuid = "d5829a12-d9aa-46ab-831f-fb7c9ab06edf" -version = "0.1.11" - -[[deps.TriplotBase]] -git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" -uuid = "981d1d27-644d-49a2-9326-4793e63143c3" -version = "0.1.0" - -[[deps.URIs]] -git-tree-sha1 = "97bbe755a53fe859669cd907f2d96aee8d2c1355" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.3.0" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[deps.UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[deps.UnicodeFun]] -deps = ["REPL"] -git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" -uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" -version = "0.4.1" - -[[deps.Unzip]] -git-tree-sha1 = "34db80951901073501137bdbc3d5a8e7bbd06670" -uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" -version = "0.1.2" - -[[deps.VectorizationBase]] -deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "Hwloc", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static"] -git-tree-sha1 = "858e541ffc21873e45aeaf744e0d015966e0328e" -uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" -version = "0.21.30" - -[[deps.VertexSafeGraphs]] -deps = ["Graphs"] -git-tree-sha1 = "8351f8d73d7e880bfc042a8b6922684ebeafb35c" -uuid = "19fa3120-7c27-5ec5-8db8-b0b0aa330d6f" -version = "0.2.0" - -[[deps.Wayland_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "3e61f0b86f90dacb0bc0e73a0c5a83f6a8636e23" -uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" -version = "1.19.0+0" - -[[deps.Wayland_protocols_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4528479aa01ee1b3b4cd0e6faef0e04cf16466da" -uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" -version = "1.25.0+0" - -[[deps.WriteVTK]] -deps = ["Base64", "CodecZlib", "FillArrays", "LightXML", "TranscodingStreams"] -git-tree-sha1 = "bff2f6b5ff1e60d89ae2deba51500ce80014f8f6" -uuid = "64499a7a-5c06-52f2-abe2-ccb03c286192" -version = "1.14.2" - -[[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "1acf5bdf07aa0907e0a37d3718bb88d4b687b74a" -uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.9.12+0" - -[[deps.XSLT_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" -uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.34+0" - -[[deps.Xorg_libX11_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "5be649d550f3f4b95308bf0183b82e2582876527" -uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.6.9+4" - -[[deps.Xorg_libXau_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4e490d5c960c314f33885790ed410ff3a94ce67e" -uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.9+4" - -[[deps.Xorg_libXcursor_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" -uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" -version = "1.2.0+4" - -[[deps.Xorg_libXdmcp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fe47bd2247248125c428978740e18a681372dd4" -uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.3+4" - -[[deps.Xorg_libXext_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" -uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.4+4" - -[[deps.Xorg_libXfixes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" -uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" -version = "5.0.3+4" - -[[deps.Xorg_libXi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] -git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" -uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" -version = "1.7.10+4" - -[[deps.Xorg_libXinerama_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] -git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" -uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" -version = "1.1.4+4" - -[[deps.Xorg_libXrandr_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" -uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" -version = "1.5.2+4" - -[[deps.Xorg_libXrender_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" -uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.10+4" - -[[deps.Xorg_libpthread_stubs_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6783737e45d3c59a4a4c4091f5f88cdcf0908cbb" -uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.0+3" - -[[deps.Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "daf17f441228e7a3833846cd048892861cff16d6" -uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.13.0+3" - -[[deps.Xorg_libxkbfile_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "926af861744212db0eb001d9e40b5d16292080b2" -uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" -version = "1.1.0+4" - -[[deps.Xorg_xcb_util_image_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" -uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] -git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" -uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_keysyms_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" -uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_renderutil_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" -uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" -version = "0.3.9+1" - -[[deps.Xorg_xcb_util_wm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" -uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" -version = "0.4.1+1" - -[[deps.Xorg_xkbcomp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxkbfile_jll"] -git-tree-sha1 = "4bcbf660f6c2e714f87e960a171b119d06ee163b" -uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" -version = "1.4.2+4" - -[[deps.Xorg_xkeyboard_config_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "5c8424f8a67c3f2209646d4425f3d415fee5931d" -uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.27.0+4" - -[[deps.Xorg_xtrans_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "79c31e7844f6ecf779705fbc12146eb190b7d845" -uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.4.0+3" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" - -[[deps.Zstd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e45044cd873ded54b6a5bac0eb5c971392cf1927" -uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.2+0" - -[[deps.ZygoteRules]] -deps = ["MacroTools"] -git-tree-sha1 = "8c1a8e4dfacb1fd631745552c8db35d0deb09ea0" -uuid = "700de1a5-db45-46bc-99cf-38207098b444" -version = "0.2.2" - -[[deps.libass_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" -uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.15.1+0" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl", "OpenBLAS_jll"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" - -[[deps.libfdk_aac_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" -uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.2+0" - -[[deps.libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" -uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.38+0" - -[[deps.libvorbis_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] -git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" -uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.7+1" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" - -[[deps.x264_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" -uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "2021.5.5+0" - -[[deps.x265_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" -uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" -version = "3.5.0+0" - -[[deps.xkbcommon_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] -git-tree-sha1 = "ece2350174195bb31de1a63bea3a41ae1aa593b6" -uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" -version = "0.9.1+5" diff --git a/experiments/ClimaCore/bc-wave-slab/Project.toml b/experiments/ClimaCore/bc-wave-slab/Project.toml deleted file mode 100644 index 33707f744d..0000000000 --- a/experiments/ClimaCore/bc-wave-slab/Project.toml +++ /dev/null @@ -1,20 +0,0 @@ -[deps] -CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" -ClimaAtmos = "b2c96348-7fb7-4fe0-8da9-78d88439e717" -ClimaCore = "d414da3d-4745-48bb-8d80-42e94e092884" -ClimaCorePlots = "cf7c7e5a-b407-4c48-9047-11a94a308626" -ClimaCoreTempestRemap = "d934ef94-cdd4-4710-83d6-720549644b70" -IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" -LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" -OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" -Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -Revise = "295af30f-e4ad-537b-8983-00126c2a3abe" -SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" -TerminalLoggers = "5d786b92-1e48-4d6f-9151-6b4477ca9bed" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" -Thermodynamics = "b60c26fb-14c3-4610-9d3e-2d17fe7ff00c" - -[extras] -CPUSummary = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" diff --git a/experiments/ClimaCore/bc-wave-slab/README.md b/experiments/ClimaCore/bc-wave-slab/README.md deleted file mode 100644 index d6876b2d73..0000000000 --- a/experiments/ClimaCore/bc-wave-slab/README.md +++ /dev/null @@ -1,101 +0,0 @@ -# **Baroclinic Wave + Slab** - -# Atmosphere -The momentum equations are in the advective form, and tracers in the consevative form, namely: - -- Density: -$$ \frac{\partial \rho}{\partial t} + \nabla \cdot ({\rho \vec{u}})= 0 $$ - -- Momentum (flux form): -$$ \frac{\partial \vec{u_h}}{\partial t} + \vec{u} \cdot \nabla \vec{u_h} = - \frac{1}{\rho}\nabla_h p -+ \frac{\partial}{\partial z} K_v \frac{\partial}{\partial z} \vec{u_h} -$$ -$$ \frac{\partial w}{\partial t} + \vec{u} \cdot \nabla w= -- \frac{1}{\rho}\frac{\partial p}{\partial z} -- \nabla_z \Phi -+ \frac{\partial}{\partial z} K_v \frac{\partial}{\partial z} w -$$ - -- Total energy: -$$ \frac{\partial \rho e_{tot}}{\partial t} + \nabla \cdot (\rho h_{tot} \vec{u}) = \frac{\partial}{\partial z} K_v \frac{\partial}{\partial z} h_{tot} -$$ - -where the total specific enthalpy and total specific energy are -$$ h_{tot} = e_{tot} + \frac{p}{\rho} \,\,\,\,\,\,\,\, \,\,\,\,\,\,\,\, e_{tot} = c_v T + \Phi + \frac{1}{2}\vec{u}^2 -$$ -(note that $h_{tot} \neq h = c_vT + p/\rho = c_p T$, the specific enthalpy in the thermodynamic sense), $\Phi = gz$ is the geopotential, -$u_h$ is the horizontal velocity vector, $w$ the vertical velocity, $\rho$ the density, $p$ pressure, $K_v$ the vertical diffusivity (assumed constant here). - -## Boundary conditions (BCs) -- We implement BCs similarly to other climate models. - - First-order fluxes (i.e., advective fluxes) are always set to zero, corresponding to the *free-slip* and *impenetrable* BC, where: - $$ - w = 0 \,\,\,\,\,\,\, \partial_t w = 0 \,\,\,\,\,\,\, \nabla \times\vec{u_h}=0 \,\,\,\,\,\,\, \nabla \cdot \vec{\rho u_h}=0 \,\,\,\,\,\,\, \nabla \cdot \rho h_{tot} \vec{u_h}=0 - $$ - - Second-order fluxes (i.e., diffusive fluxes) - - `NoFlux()`: By default we have *impenetrable* or *insulating* BCs (no second-order fluxes) at all boundaries. - - `BulkFormula()`: Applied to tracers (e.g., temperature and moisture), this imposes a boundary fluxes (e.g., sensible and latent heat) calculated using the bulk aerodynamic formulae using prescribed surface values of ($T_{sfc}$ and $q_{sfc}^{sat}$). At the surface, the bulk sensible heat flux formula for total enthalpy essentially replaces the above: - $$ (K_v \rho \partial_z h_{tot})_{sfc}$$ - For **total energy**, we have two choices: - - 1. enthalpy flux: - $$ (K_v \rho \partial_z h_{tot})_{sfc} \rightarrow - \hat{n} \cdot \rho C_H ||u||^{1} (h^1- h_{sfc}) - = F_S - $$ - - 2. sensible (and latent) heat flux. The sensible heat flux is: - $$ (K_v \rho \partial_z h_{tot})_{sfc} \rightarrow - \hat{n} \cdot C_H c_{pd} ρ^{1} ||u||^{1} (T^{1} - T_{sfc}) - + \hat{n} \cdot C_H ρ^{1} ||u||^{1} (\Phi^{1} - \Phi_{sfc}) - = F_S - $$ - where $^{1}$ corresponds to the lowest model level, $C_H$ is the dimensionless thermal transfer coefficient, $c_{pd}$ is the specific heat capacity for dry air $||u||$ the wind speed. This is the *bulk turbulent sensible heat flux* parameterization, and $F_S$ is positive when atmosphere receives energy from the surface. - The contribution of the kinetic energy is usually O(1e4) smaller and is neglected, but it can be added to F_S as: - $$ - F_{S_{tot}} = F_S + \hat{n} \cdot C_D ρ^{1} ||u||^{1} (\vec{u_h}^{1})^2 - $$ - - ` DragLaw()`: essentially the bulk formula for momentum - $$ \frac{\partial}{\partial z} K_v \frac{\partial}{\partial z} \vec{u_h} \rightarrow - \hat{n} \cdot C_D ρ^{1} ||u||^{1} \vec{u_h}^{1} - = F_M - $$ - - - - `BulkFormulaCoupled()`: same as `BulkFormula()`, but $T_{sfc}$ is passed from the neighboring model. - - - The diffusive fluxes are applied via the `vertical_diffusion` ClimaAtmos model sub-component. To apply boundary fluxes without diffusion in the atmospheric interior, the viscosity coefficient needs to be set to zero: $ν = FT(0)$ -- Current setup - - total energy and momentum: - - at z=0, we use `BulkFormulaCoupled()` with the enthalpy flux formulation, and the `DragLaw()`, with $C_D = C_H = 0.001$ - - interior diffusivity is set to $\nu = 5$ m^2/s - - the the top $F_S = F_M = 0$ - - All other boundary fluxes are set to 0. - -## Initial conditions -- we initialize with a perturbation in a balanced background state, as in: -https://climate.ucdavis.edu/pubs/UMJS2013QJRMS.pdf - -# Heat Slab -The slab solves for temperature in a single layer, whose tendency is the accumulated fluxes divided by the coupling timestep plus a parameterisation of the internal processes, $G$. -$$ -\rho c h_s \, \partial_t T_{sfc} = - F_{integ} / \Delta t_{coupler} -$$ - -# Conservation checks -- this uses the `sum` of `ClimaCore/Fields/mapreduce.jl`, which produces a sum weighted by the area Jacobian. - -# NB: -- first coupled iteration does not call rhs!s -- slab `T_sfc` gets huge numbers when using `SSPRK33`. ok with `Euler` - -# TODO -- calculate fluxes at cell faces (not centers) - interp -- need better CA interface for specifying sensible / latent heat fluxes - i.e. fluxes in terms of temp and q, not enthaplpy fluxes -- add more precise flux accumulation -- conservation tests - add error threshold and exception, interval, show option, and make a general interface for it - -# References -- [Kang et al 2021](https://arxiv.org/abs/2101.09263) - - - - diff --git a/experiments/ClimaCore/bc-wave-slab/atmos.jl b/experiments/ClimaCore/bc-wave-slab/atmos.jl deleted file mode 100644 index 667097a264..0000000000 --- a/experiments/ClimaCore/bc-wave-slab/atmos.jl +++ /dev/null @@ -1,73 +0,0 @@ -# from ClimaAtmos:test/test_cases/run_3d_baroclinic_wave.jl, removing `step!` - -using OrdinaryDiffEq: SSPRK33 -using ClimaCorePlots, Plots - -import ClimaCore -import ClimaCore: Fields, Geometry, Operators -import ClimaCore.Geometry: ⊗ - -using ClimaAtmos.Utils.InitialConditions: init_3d_baroclinic_wave -using ClimaAtmos.Domains -using ClimaAtmos.BoundaryConditions -using ClimaAtmos.Models: ConstantViscosity -using ClimaAtmos.Models.Nonhydrostatic3DModels -using ClimaAtmos.Simulations - -using CLIMAParameters -struct DryBaroclinicWaveParameters <: CLIMAParameters.AbstractEarthParameterSet end - -# initiate the lower Atmos boundary Field -function atmos_bcfield_init(domain) - center_space, face_space = make_function_space(domain) - ClimaCore.Fields.level(ClimaCore.Fields.zeros(center_space), 1) -end - -function atmos_bcvectorfield_init(domain) - center_space, face_space = make_function_space(domain) - zero_field = ClimaCore.Fields.zeros(center_space) - uv_local = Geometry.UVVector.(zero_field, zero_field) - ClimaCore.Fields.level(Geometry.Covariant3Vector.(zero_field) .⊗ Geometry.Covariant12Vector.(uv_local), 1) -end - -function atmos_init(::Type{FT}, tspan; stepper = SSPRK33(), nelements = (6, 10), npolynomial = 4, dt = 0.02) where {FT} - params = DryBaroclinicWaveParameters() - - domain = SphericalShell( - FT, - radius = CLIMAParameters.Planet.planet_radius(params), - height = FT(30.0e3), - nelements = nelements, - npolynomial = npolynomial, - ) - - # initiate boundary conditions - boundary_conditions = (; - ρe_tot = ( - top = NoFlux(), - bottom = CouplerEnergyFlux( - FT(0.001), # transfer coefficient, default: 1e-3 [dimenisonless] - atmos_bcfield_init(domain), - ), # surface specific enthalpy ~ (T_sfc * c_p) - ), - uh = (top = NoVectorFlux(), bottom = CouplerVectorFlux(FT(0.001), atmos_bcvectorfield_init(domain))), - ) - - model = Nonhydrostatic3DModel( - domain = domain, - boundary_conditions = boundary_conditions, - parameters = params, - hyperdiffusivity = FT(1e16), - vertical_diffusion = ConstantViscosity(ν = FT(5)), #default: 5 m^2/s - ) - - # execute (using the regression test from ClimaAtmos) - simulation = Simulation(model, stepper, dt = dt, tspan = tspan) - - # test set function - (; ρ, uh, w, ρe_tot) = init_3d_baroclinic_wave(FT, params) - set!(simulation, :base, ρ = ρ, uh = uh, w = w) - set!(simulation, :thermodynamics, ρe_tot = ρe_tot) - - simulation -end diff --git a/experiments/ClimaCore/bc-wave-slab/conservation.jl b/experiments/ClimaCore/bc-wave-slab/conservation.jl deleted file mode 100644 index 28d3fa5f7b..0000000000 --- a/experiments/ClimaCore/bc-wave-slab/conservation.jl +++ /dev/null @@ -1,28 +0,0 @@ -# generalise this into coupler-specific function - -struct ConservationCheck{A} - ρe_tot_atmos::A - ρe_tot_slab::A -end - -function check_conservation(cs, atmos_sim, slab_sim) - atmos_field = atmos_sim.integrator.u.thermodynamics.ρe_tot - slab_field = get_total_energy(slab_sim) - - ρe_tot_atmos = sum(atmos_field) - ρe_tot_slab = sum(slab_field) - - push!(cs.ρe_tot_atmos, ρe_tot_atmos) - push!(cs.ρe_tot_slab, ρe_tot_slab) -end - -function get_total_energy(slab_sim) - ρe_tot = slab_sim.params.ρ .* slab_sim.params.c .* slab_sim.integrator.u.T_sfc .* slab_sim.params.h -end - -# struct ConservationCheck{F, E, I, S} -# fields::F -# exception::E -# interval::I -# show::S -# end diff --git a/experiments/ClimaCore/bc-wave-slab/coupled_bc.jl b/experiments/ClimaCore/bc-wave-slab/coupled_bc.jl deleted file mode 100644 index 79038ce105..0000000000 --- a/experiments/ClimaCore/bc-wave-slab/coupled_bc.jl +++ /dev/null @@ -1,156 +0,0 @@ -coupler_atmos_boundary_flux(_, ..) = nothing - -# momentum -struct CouplerVectorFlux{C, F} <: AbstractBoundary - coefficients::C - flux::F -end -function get_boundary_flux(model, bc::CouplerVectorFlux, var::Fields.Field, Y, Ya) # TODO: adapt for Field BC (CC#325) - flux = Geometry.Covariant3Vector(FT(1)) ⊗ Geometry.Covariant12Vector(FT(1), FT(1)) * parent(bc.flux)[1] -end -""" -get_boundary_flux( - model, - bc::CouplerVectorFlux, - ρc::Fields.Field, - Y, - Ya, -) - -This is an extenison of ClimaAtmos.get_boundary_flux for momentum -""" -function coupler_atmos_boundary_flux(bc::CouplerVectorFlux, atmos_sim, slab_sim, F_a_space, F_s_space) - - Y_atm = atmos_sim.integrator.u - FT = eltype(Y_atm) - - uv = Y_atm.base.uh - - uh1_cov = Fields.level(uv.components.data.:1, 1) # TODO: change to Field - pending ClimaCore PR #325 - uh2_cov = Fields.level(uv.components.data.:2, 1) # TODO: change to Field - pending ClimaCore PR #325 - - # physical scale (wind * coeff) - uv_1 = Fields.level(Geometry.UVVector.(uv), 1) - u_wind = norm(uv_1) # TODO: this will need to be spatially variable - - # unit vector in W direction on central space - normal_unit_vector = Fields.level(similar(Geometry.WVector.(Y_atm.thermodynamics.ρe_tot)), 1) # TODO: for topography, needs to be perp to surface - parent(normal_unit_vector) .= FT(1) - local_geometry = Fields.local_geometry_field(axes(normal_unit_vector)) - - # contravariant scale - scale_con = - Geometry.Contravariant3Vector.( - Geometry.WVector.(normal_unit_vector .* bc.coefficients .* u_wind), - local_geometry, - ) - - parent(bc.flux) .= - parent(Geometry.Contravariant3Vector.(scale_con) .⊗ Geometry.Covariant12Vector.(uh1_cov, uh2_cov)) -end - -# energy -struct CouplerEnergyFlux{C, F} <: AbstractBoundary - coefficients::C - flux::F -end - -""" -get_boundary_flux( - model, - bc::CouplerEnergyFlux, - ρc::Fields.Field, - Y, - Ya, -) - -This is an extenison of ClimaAtmos.get_boundary_flux for enthalpy -""" -function get_boundary_flux(model, bc::CouplerEnergyFlux, ρc::ClimaCore.Fields.Field, Y, Ya) - bulk_flux = bc.flux - ClimaCore.Geometry.WVector.(parent(bulk_flux)[1]) #flux = Geometry.Contravariant3Vector.(bulk_flux) # need CC extension - waiting for PR (https://github.com/CliMA/ClimaCore.jl/pull/325) -end - -""" -coupler_boundary_flux( - model, - bc::CouplerEnergyFlux, - ρc::Fields.Field, - Y, - Ya, -) - -Vertical fluxes for arbitrary variables with the bulk aerodynamic turbulent formula, -given variable exchange coefficients. (e.g. for energy, or tracers) -Currently this is a simplified version of the bulk formula for testing. -""" -function coupler_atmos_boundary_flux(bc::CouplerEnergyFlux, atmos_sim, slab_sim, F_a_space, F_s_space) - - Y_atm = atmos_sim.integrator.u - FT = eltype(Y_atm) - - T_1 = ClimaCore.Fields.level(calculate_temperature(atmos_sim, FT), 1) - - ρ_1 = ClimaCore.Fields.level(Y_atm.base.ρ, 1) - - # remap slab > atmos - T_sfc_atmos_grid = ClimaCore.Fields.zeros(F_a_space) - T_sfc_slab_grid = copy(slab_sim.integrator.u.T_sfc) - # ClimaCoreTempestRemap.remap!(T_sfc_atmos_grid, T_sfc_slab_grid, R_slab2atm) - dummmy_remap!(T_sfc_slab_grid, T_sfc_atmos_grid) - - # save in atmos BCs - c_pd = CLIMAParameters.Planet.cp_d(atmos_sim.model.parameters) - # parent(bc.flux) .= bc.coefficients .* c_pd .* parent(ρ_1) .* (parent(T_1) .- parent(T_sfc_atmos_grid)) # parent(bc.flux) .= bc.coefficients .* parent(ρ_1 .* u_wind) .* (parent(c_1) .- parent(c_sfc)) # TODO: make neater - same space but different instance error otherwise - parent(bc.flux) .= FT(10) - # TODO: make neater - same space but different instance error otherwise - nothing -end - -# code below should be moved to CA / thermodyn -using LinearAlgebra: norm_sqr -using Thermodynamics - -function calculate_temperature(atmos_sim, FT) - model = atmos_sim.model - Y = atmos_sim.integrator.u - p = calculate_pressure(Y, Y, model.thermodynamics, model.moisture, model.moisture, model.parameters, FT) - R = FT(287) - T = p ./ R ./ Y.base.ρ -end - -@inline function calculate_gravitational_potential(Y, Ya, params, FT) - g::FT = CLIMAParameters.Planet.grav(params) - ρ = Y.base.ρ - z = Fields.coordinate_field(axes(ρ)).z - - return @. g * z -end - -@inline function calculate_pressure(Y, Ya, i, ii, iii, params, FT) - ρ = Y.base.ρ - uh = Y.base.uh - w = Y.base.w - ρe_tot = Y.thermodynamics.ρe_tot - - interp_f2c = Operators.InterpolateF2C() - - z = Fields.coordinate_field(axes(ρ)).z - K = calculate_kinetic_energy(Y, Y, params, FT) - Φ = calculate_gravitational_potential(Y, Y, params, FT) - - e_int = @. ρe_tot / ρ - Φ - K - p = Thermodynamics.air_pressure.(Thermodynamics.PhaseDry.(params, e_int, ρ)) - - return p -end - -@inline function calculate_kinetic_energy(Y, Ya, params, FT) - cuₕ = Y.base.uh # Covariant12Vector on centers - fw = Y.base.w # Covariant3Vector on faces - If2c = Operators.InterpolateF2C() - - cuvw = Geometry.Covariant123Vector.(cuₕ) .+ Geometry.Covariant123Vector.(If2c.(fw)) - cK = @. norm_sqr(cuvw) / 2 - return cK -end diff --git a/experiments/ClimaCore/bc-wave-slab/run.jl b/experiments/ClimaCore/bc-wave-slab/run.jl deleted file mode 100644 index 44bdf6df8a..0000000000 --- a/experiments/ClimaCore/bc-wave-slab/run.jl +++ /dev/null @@ -1,89 +0,0 @@ -const FT = Float64 -import SciMLBase: step! -using OrdinaryDiffEq -using OrdinaryDiffEq: ODEProblem, solve, SSPRK33, savevalues!, Euler -using LinearAlgebra -using ClimaCore - -# pending PR merge: -# import Pkg; Pkg.add(url="https://github.com/CliMA/ClimaCore.jl",rev="sb/online-sphere-remap", subdir = "lib/ClimaCoreTempestRemap") - -# using old interface - before the new one is consolidated: -import Pkg; -Pkg.add(url = "https://github.com/CliMA/ClimaAtmos.jl", rev = "jh_ln/external_boundary_conditons"); -using ClimaCoreTempestRemap - -import Test: @test -import ClimaAtmos.BoundaryConditions: get_boundary_flux, AbstractBoundary -export get_boundary_flux - -include("atmos.jl") -include("slab.jl") -include("coupled_bc.jl") -include("conservation.jl") - -# initiate spatial and temporal info -tspan = (0.0, 1300.0) # 172800.0) -cpl_Δt = 5.0 # seconds -atmos_dt, slab_dt = (5.0, 5.0) # seconds - -slab_sim = slab_init(FT, tspan, dt = atmos_dt, npolynomial = 3) -atmos_sim = atmos_init(FT, tspan, dt = slab_dt, npolynomial = 3) - -# parameter exchange -slab_sim.integrator.p.cp_d .= CLIMAParameters.Planet.cp_d(atmos_sim.model.parameters) - -# regridding init -atmos_energy_bc = atmos_sim.model.boundary_conditions.ρe_tot.bottom -atmos_momentum_bc = atmos_sim.model.boundary_conditions.uh.bottom - -F_a_space = axes(atmos_energy_bc.flux) -F_s_space = axes(slab_sim.integrator.u.T_sfc) - -# weightfile = tempname() -# R_atm2slab = ClimaCoreTempestRemap.generate_map( # bring back once CC #614 is resolved/ merged -# F_s_space, #target -# F_a_space, #source -# weightfile = weightfile, -# ) -# R_slab2atm = ClimaCoreTempestRemap.generate_map(# bring back once CC #614 is resolved/ merged -# F_a_space, #target -# F_s_space, #source -# weightfile = weightfile, -# ) -function dummmy_remap!(target, source) # delete when can use Tempest again - parent(target) .= parent(source) -end - -# init conservation info collector -CS = ConservationCheck([], []) - -# coupling loop -for t in (tspan[1]:cpl_Δt:tspan[end]) - @show t - - ## Atmos - # calculate surface fluxes for Atmos BCs - coupler_atmos_boundary_flux(atmos_energy_bc, atmos_sim, slab_sim, F_a_space, F_s_space) - coupler_atmos_boundary_flux(atmos_momentum_bc, atmos_sim, slab_sim, F_a_space, F_s_space) - - # run - step!(atmos_sim.integrator, t - atmos_sim.integrator.t, true) # NOTE: use (t - integ_atm.t) here instead of Δt_cpl to avoid accumulating roundoff error in our timestepping. - - ## Slab - # pre: get accumulated flux from atmos - F_S = ClimaCore.Fields.zeros(F_s_space) - - # ClimaCoreTempestRemap.remap!(F_S, atmoatmos_energy_bcs_bc.flux, R_atm2slab) - dummmy_remap!(F_S, atmos_energy_bc.flux) - - # save the accumulated flux - slab_F_sfc = slab_sim.integrator.p.F_sfc - slab_F_sfc .= F_S .* cpl_Δt - - # run - step!(slab_sim.integrator, t - slab_sim.integrator.t, true) - - # conservation info - check_conservation(CS, atmos_sim, slab_sim) -end diff --git a/experiments/ClimaCore/bc-wave-slab/slab.jl b/experiments/ClimaCore/bc-wave-slab/slab.jl deleted file mode 100644 index 643202d93b..0000000000 --- a/experiments/ClimaCore/bc-wave-slab/slab.jl +++ /dev/null @@ -1,78 +0,0 @@ -# slab_rhs! -using ClimaCore - -struct ThermalSlabParameters# <: CLIMAParameters.AbstractEarthParameterSet{F} - h::FT - ρ::FT - c::FT - T_init::FT -end - -# domain -function ShellDomain(; radius = 6371e3, Nel = 8, Nq = 2) - domain = ClimaCore.Domains.SphereDomain(radius) - mesh = ClimaCore.Meshes.EquiangularCubedSphere(domain, Nel) - topology = ClimaCore.Topologies.Topology2D(mesh) - quad = ClimaCore.Spaces.Quadratures.GLL{Nq}() - space = ClimaCore.Spaces.SpectralElementSpace2D(topology, quad) -end - -# init simulation -function slab_space_init(; radius = 6371e3, Nel = 8, Nq = 2) - - # construct domain spaces - get only surface layer (NB: z should be zero, not z = first central height) - space = ShellDomain(radius = radius, Nel = Nel, Nq = Nq) - coords = ClimaCore.Fields.coordinate_field(space) - - # initial condition - T_sfc = map(coords) do coord - T_sfc = 281.0 # close to the average of T_1 in atmos - # x_rnge = xmax - xmin - # T_sfc = 270.0 + 5.0 * coord.x / x_rnge - end - - # prognostic variable - Y = ClimaCore.Fields.FieldVector(T_sfc = T_sfc) - - return Y, space -end - -# ode -function slab_rhs!(Y, dY, Ya, t) - """ - Slab ocean: - ∂_t T_sfc = F_sfc + G - """ - p, F_sfc = Ya - dT_sfc = dY.T_sfc - - dY.T_sfc .+= F_sfc ./ (p.h .* p.ρ .* p.c) -end - -struct SlabSimulation{P, Y, D, I} - params::P - Y_init::Y - domain::D - integrator::I -end - -function slab_init( - ::Type{FT}, - tspan; - stepper = Euler(), - nelements = 6, - npolynomial = 4, - dt = 0.02, - saveat = 1.0e10, -) where {FT} - - params = ThermalSlabParameters(0.5, 1500.0, 800.0, 260.0) - - Y, space = slab_space_init(Nel = nelements, Nq = npolynomial + 1) - - Ya = (params = params, F_sfc = ClimaCore.Fields.zeros(space), cp_d = [FT(0.0)]) #auxiliary - problem = OrdinaryDiffEq.ODEProblem(slab_rhs!, Y, tspan, Ya) - integrator = OrdinaryDiffEq.init(problem, stepper, dt = dt, saveat = saveat) - - simulation = SlabSimulation(params, Y, space, integrator) -end diff --git a/experiments/ClimaCore/tc1_heat-diffusion-with-slab/run.jl b/experiments/ClimaCore/heat-diffusion/run.jl similarity index 71% rename from experiments/ClimaCore/tc1_heat-diffusion-with-slab/run.jl rename to experiments/ClimaCore/heat-diffusion/run.jl index dafc401180..d830011c48 100644 --- a/experiments/ClimaCore/tc1_heat-diffusion-with-slab/run.jl +++ b/experiments/ClimaCore/heat-diffusion/run.jl @@ -62,6 +62,10 @@ # - `T1` is the atm temperature near the surface (here assumed equal to the first model level) # - `λ` a constant relaxation timescale +# The atmosphere's surface flux, `atm_F_sfc`, is calculated by the atmosphere's timestepping. +# It is then passed to the land model via the coupler. The land model's `lnd_F_sfc` gets updated +# with this value from the atmosphere, but the surface flux is not calculated by the land model itself. + # Note that in a more realistic setup the above equations would be weighted by their domains' densities and thermal heat capacities, so that the thermal flux would have the units of W m$^{-2}$. # Here we assume these are unity for both domains. @@ -85,17 +89,16 @@ # - load external packages: import LinearAlgebra import ClimaCore: Fields, Domains, Topologies, Meshes, DataLayouts, Operators, Geometry, Spaces +import ClimaTimeSteppers as CTS using Base: show_supertypes -using OrdinaryDiffEq: ODEProblem, solve, SSPRK33 +import SciMLBase: step!, ODEProblem, init using Logging: global_logger using TerminalLoggers: TerminalLogger using RecursiveArrayTools -using OrdinaryDiffEq - using Statistics # Load utilities for coupling @@ -145,19 +148,25 @@ We also use this model to calculate and accumulate the downward surface fluxes, F_integrated is reset to 0 at the beginning of each coupling cycle T1 = atm temperature near the surface (here assumed equal to the first model level) """ -function ∑tendencies_atm!(du, u, (parameters, T_sfc), t) - T = u.x[1] # u.x = vector of prognostic variables from DifferentialEquations - F_sfc = calculate_flux(T_sfc[1], parent(T)[1], parameters) - ## set BCs - bcs_bottom = Operators.SetValue(Geometry.Cartesian3Vector(F_sfc)) # F_sfc is converted to a Cartesian vector in direction 3 (vertical) - bcs_top = Operators.SetValue(FT(parameters.T_top)) - - gradc2f = Operators.GradientC2F(top = bcs_top) # Dirichlet BC (center-to-face) - gradf2c = Operators.DivergenceF2C(bottom = bcs_bottom) # Neumann BC (face-to-center) - - ## tendency calculations - @. du.x[1] = gradf2c(parameters.μ * gradc2f(T)) # dT/dt - du.x[2] .= -F_sfc[1] # d(F_integrated)/dt +function ∑tendencies_atm!(du, u, cache, t) + parameters, T_sfc = cache + T_atm = u.T_atm + F_sfc = calculate_flux(T_sfc[1], parent(T_atm)[1], parameters) + + ## set boundary conditions + C3 = Geometry.WVector + # note: F_sfc is converted to a Cartesian vector in direction 3 (vertical) + bcs_bottom = Operators.SetValue(C3(F_sfc)) + bcs_top = Operators.SetValue(C3(FT(0))) + + ## gradient and divergence operators needed for diffusion in tendency calc. + ᶠgradᵥ = Operators.GradientC2F() + ᶜdivᵥ = Operators.DivergenceF2C(bottom = bcs_bottom, top = bcs_top) + + ## perform tendency calculations + # note: `atm_F_sfc` is a prognostic variable (i.e. is timestepped) in the atmosphere model + @. du.T_atm = ᶜdivᵥ(parameters.μ * ᶠgradᵥ(T_atm)) # dT/dt + @. du.atm_F_sfc = -F_sfc[1] # d(F_integrated)/dt end # - Model 2 (lnd) Equations @@ -202,15 +211,15 @@ ics = (; atm = T_atm_0, lnd = T_lnd_0) stepping = (; Δt_min = 0.02, timerange = (0.0, 6.0), - Δt_coupler = 1.0, - odesolver = SSPRK33(), + Δt_coupler = 0.1, + odesolver = CTS.ExplicitAlgorithm(CTS.RK4()), nsteps_atm = 8, # number of timesteps of atm per coupling cycle nsteps_lnd = 1, # number of timesteps of lnd per coupling cycle ); # ## Define the sequential coupling loop function coupler_solve!(stepping, ics, parameters) - t = 0.0 + ## access start time, end time, and timesteps Δt_min = stepping.Δt_min Δt_coupler = stepping.Δt_coupler t_start = stepping.timerange[1] @@ -227,39 +236,51 @@ function coupler_solve!(stepping, ics, parameters) ## SETUP ATMOS ## put all prognostic variable arrays into a vector and ensure that solve can partition them T_atm = ics.atm - Y_atm = ArrayPartition((T_atm, atm_F_sfc)) - prob_atm = ODEProblem(∑tendencies_atm!, Y_atm, (t_start, t_end), (parameters, atm_T_lnd)) - integ_atm = init(prob_atm, stepping.odesolver, dt = Δt_min, saveat = 10 * Δt_min) + Y_atm = Fields.FieldVector(T_atm = T_atm, atm_F_sfc = atm_F_sfc) + + ode_algo = stepping.odesolver + ode_function = CTS.ClimaODEFunction(T_exp! = ∑tendencies_atm!) + + # `saveat` determines the frequency with which the solution is saved + # `adaptive` determines whether the solver should use an adaptive timestep + prob_atm = ODEProblem(ode_function, Y_atm, (t_start, t_end), (parameters = parameters, T_sfc = atm_T_lnd)) + integ_atm = init(prob_atm, ode_algo, dt = Δt_min, saveat = 10 * Δt_min, adaptive = false) ## land copies of coupler variables + # note: `lnd_F_sfc` is a diagnostic variable (i.e. is not timestepped) in the land model T_lnd = ics.lnd lnd_F_sfc = copy(coupler_F_sfc) ## SETUP LAND - prob_lnd = ODEProblem(∑tendencies_lnd!, T_lnd, (t_start, t_end), (parameters, lnd_F_sfc)) - integ_lnd = init(prob_lnd, stepping.odesolver, dt = Δt_min, saveat = 10 * Δt_min) + ode_function = CTS.ClimaODEFunction(T_exp! = ∑tendencies_lnd!) + + prob_lnd = ODEProblem(ode_function, T_lnd, (t_start, t_end), (parameters, lnd_F_sfc)) + integ_lnd = init(prob_lnd, ode_algo, dt = Δt_min, saveat = 10 * Δt_min, adaptive = false) + ## coupler stepping - for t in (t_start:Δt_coupler:t_end) + for t in ((t_start + Δt_coupler):Δt_coupler:t_end) ## STEP ATMOS ## pre_atmos - integ_atm.p[2] .= coupler_get_(coupler_T_lnd) # integ_atm.p is the parameter vector of an ODEProblem from DifferentialEquations - integ_atm.u.x[2] .= [0.0] # surface flux to be accumulated + integ_atm.p[2] .= coupler_get_(coupler_T_lnd) # integ_atm.p is the parameter vector of an ODEProblem from SciMLBase + integ_atm.u.atm_F_sfc .= 0.0 # surface flux to be accumulated ## run atmos ## NOTE: use (t - integ_atm.t) here instead of Δt_coupler to avoid accumulating roundoff error in our timestepping. - OrdinaryDiffEq.step!(integ_atm, t - integ_atm.t, true) + step!(integ_atm, t - integ_atm.t, true) ## post_atmos - coupler_F_sfc .= coupler_put_(integ_atm.u.x[2]) / Δt_coupler + ## retrieve the updated surface flux from the atmosphere model + coupler_F_sfc .= coupler_put_(integ_atm.u.atm_F_sfc) / Δt_coupler ## STEP LAND ## pre_land + ## provide the updated surface flux to the land model lnd_F_sfc .= coupler_get_(coupler_F_sfc) ## run land - OrdinaryDiffEq.step!(integ_lnd, t - integ_lnd.t, true) + step!(integ_lnd, t - integ_lnd.t, true) ## post land coupler_T_lnd .= coupler_put_(integ_lnd.u) # update T_sfc @@ -274,12 +295,13 @@ sol_atm, sol_lnd = integ_atm.sol, integ_lnd.sol; # ## Postprocessing and Visualization -# Each integrator output (`sol_atm`, `sol_lnd`), contains the DifferentialEquations variable `.u` (the name is hard coded). -# If `ArrayPartition` was used for combining multiple prognostic variables, `u` will include an additional variable `x` (also hard coded) +# Each integrator output (`sol_atm`, `sol_lnd`), contains the SciMLBase variable `.u` (the name is hard coded). +# If multiple prognostic variables were solved for, `u` will contain all of those. # `parent()` accesses the `Field` values. -# So, for example, the structure of `u` from Model 1 is: - -# `parent(sol_atm.u[].x[])[,]` +# So, for example, the structure of `u` from the atmosphere model is: +# `parent(sol_atm.u[].T_atm)[,]` +# and +# `parent(sol_atm.u[].atm_F_sfc)[,]` ENV["GKSwstype"] = "nul" import Plots @@ -291,8 +313,8 @@ path = joinpath(dirname(@__FILE__), "images/") mkpath(path); # - Vertical profile at start and end -t0_ = parent(sol_atm.u[1].x[1])[:, 1]; -tend_ = parent(sol_atm.u[end].x[1])[:, 1]; +t0_ = parent(sol_atm.u[1].T_atm)[:, 1]; +tend_ = parent(sol_atm.u[end].T_atm)[:, 1]; z_centers = parent(Fields.coordinate_field(center_space_atm))[:, 1]; show_plots ? Plots.png( @@ -303,15 +325,17 @@ Plots.png( labels = ["t=0" "t=end"], xlabel = "T (K)", ylabel = "z (m)", + linewidth = 2, ), - joinpath(path, "tc1_f1.png"), + joinpath(path, "heat-diffusion_f1.png"), ) : nothing -# ![](images/tc1_f1.png) +# ![](images/heat-diffusion_f1.png) # - Conservation: absolute "energy" of both models with time # convert to the same units (analogous to energy conservation, assuming that is both domains density=1 and thermal capacity=1) lnd_sfc_u_t = [u[1] for u in sol_lnd.u] .* parameters.h_lnd; -atm_sum_u_t = [sum(parent(u.x[1])[:]) for u in sol_atm.u] .* (parameters.zmax_atm - parameters.zmin_atm) ./ parameters.n; +atm_sum_u_t = + [sum(parent(u.T_atm)[:]) for u in sol_atm.u] .* (parameters.zmax_atm - parameters.zmin_atm) ./ parameters.n; v1 = lnd_sfc_u_t .- lnd_sfc_u_t[1]; v2 = atm_sum_u_t .- atm_sum_u_t[1]; show_plots ? @@ -322,24 +346,33 @@ Plots.png( labels = ["lnd" "atm" "tot"], xlabel = "time (s)", ylabel = "pseudo-energy (J / m2)", + linewidth = 2, ), - joinpath(path, "tc1_f2.png"), + joinpath(path, "heat-diffusion_f2.png"), ) : nothing -# ![](images/tc1_f2.png) +# ![](images/heat-diffusion_f2.png) # - Conservation: relative error with time total = atm_sum_u_t + lnd_sfc_u_t; -rel_error = (total .- total[1]) / mean(total); +rel_error = abs.(total .- total[1]) / mean(total); show_plots ? Plots.png( - Plots.plot(sol_lnd.t, rel_error, labels = ["tot"], xlabel = "time (s)", ylabel = "relative error"), - joinpath(path, "tc1_f3.png"), + Plots.plot( + sol_lnd.t, + rel_error, + labels = nothing, + xlabel = "simulation time (s)", + ylabel = "relative error", + title = "Total Energy Conservation", + linewidth = 2, + ), + joinpath(path, "heat-diffusion_f3.png"), ) : nothing -# ![](images/tc1_f3.png) +# ![](images/heat-diffusion_f3.png) #src # - Animation #src anim = Plots.@animate for u in sol_atm.u -#src Plots.plot(u.x[1], xlim=(220,280)) +#src Plots.plot(u.T_atm, xlim=(220,280)) #src end #src Plots.mp4(anim, joinpath(path, "heat.mp4"), fps = 10) #src diff --git a/experiments/ClimaCore/sea_breeze/Manifest.toml b/experiments/ClimaCore/sea_breeze/Manifest.toml index dea170677a..5858cadc25 100644 --- a/experiments/ClimaCore/sea_breeze/Manifest.toml +++ b/experiments/ClimaCore/sea_breeze/Manifest.toml @@ -206,9 +206,9 @@ version = "0.2.2" [[deps.CUDA_Runtime_jll]] deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "92394521ec4582c11d089a3b15b76ef2cb850994" +git-tree-sha1 = "9704e50c9158cf8896c2776b8dbc5edd136caf80" uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" -version = "0.10.0+1" +version = "0.10.1+0" [[deps.Cairo_jll]] deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] @@ -246,9 +246,9 @@ version = "0.5.6" [[deps.ClimaCore]] deps = ["Adapt", "BandedMatrices", "BlockArrays", "CUDA", "ClimaComms", "CubedSphere", "DataStructures", "DocStringExtensions", "ForwardDiff", "GaussQuadrature", "GilbertCurves", "HDF5", "InteractiveUtils", "IntervalSets", "LinearAlgebra", "PkgVersion", "RecursiveArrayTools", "Requires", "RootSolvers", "SparseArrays", "Static", "StaticArrays", "Statistics", "UnPack"] -git-tree-sha1 = "4a5138604b65cfa2d30b90ddf5252106874940c3" +git-tree-sha1 = "ecbb0f31a6932f956e4b1e6908feae01c552ba20" uuid = "d414da3d-4745-48bb-8d80-42e94e092884" -version = "0.10.55" +version = "0.10.56" [[deps.ClimaCoreTempestRemap]] deps = ["ClimaComms", "ClimaCore", "Dates", "LinearAlgebra", "NCDatasets", "PkgVersion", "TempestRemap_jll"] @@ -480,9 +480,9 @@ version = "6.130.0" [[deps.DiffEqCallbacks]] deps = ["DataStructures", "DiffEqBase", "ForwardDiff", "Functors", "LinearAlgebra", "Markdown", "NLsolve", "Parameters", "RecipesBase", "RecursiveArrayTools", "SciMLBase", "StaticArraysCore"] -git-tree-sha1 = "6cb07ea2557f425a5464ab1bd21c50464368c1a2" +git-tree-sha1 = "4e4de57a0ac47b2f20aae62f132355b058e9f0cd" uuid = "459566f4-90b8-5000-8ac3-15dfb0a30def" -version = "2.33.1" +version = "2.34.0" [deps.DiffEqCallbacks.weakdeps] OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" @@ -635,15 +635,20 @@ uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" [[deps.FillArrays]] deps = ["LinearAlgebra", "Random"] -git-tree-sha1 = "35f0c0f345bff2c6d636f95fdb136323b5a796ef" +git-tree-sha1 = "28e4e9c4b7b162398ec8004bdabe9a90c78c122d" uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "1.7.0" -weakdeps = ["SparseArrays", "Statistics"] +version = "1.8.0" [deps.FillArrays.extensions] + FillArraysPDMatsExt = "PDMats" FillArraysSparseArraysExt = "SparseArrays" FillArraysStatisticsExt = "Statistics" + [deps.FillArrays.weakdeps] + PDMats = "90014a1f-27ba-587c-ab20-58faa44d9150" + SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" + [[deps.FiniteDiff]] deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays"] git-tree-sha1 = "c6e4a1fbe73b31a3dea94b1da449503b8830c306" @@ -926,9 +931,9 @@ version = "0.4.38" [[deps.JLFzf]] deps = ["Pipe", "REPL", "Random", "fzf_jll"] -git-tree-sha1 = "9fb0b890adab1c0a4a475d4210d51f228bfc250d" +git-tree-sha1 = "a53ebe394b71470c7f97c2e7e170d51df21b17af" uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" -version = "0.1.6" +version = "0.1.7" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] @@ -1579,10 +1584,10 @@ uuid = "21216c6a-2e73-6563-6e65-726566657250" version = "1.4.1" [[deps.PrettyTables]] -deps = ["Crayons", "LaTeXStrings", "Markdown", "Printf", "Reexport", "StringManipulation", "Tables"] -git-tree-sha1 = "6842ce83a836fbbc0cfeca0b5a4de1a4dcbdb8d1" +deps = ["Crayons", "LaTeXStrings", "Markdown", "PrecompileTools", "Printf", "Reexport", "StringManipulation", "Tables"] +git-tree-sha1 = "3f43c2aae6aa4a2503b05587ab74f4f6aeff9fd0" uuid = "08abe8d2-0d0c-5749-adfa-8a2ac140af0d" -version = "2.2.8" +version = "2.3.0" [[deps.Printf]] deps = ["Unicode"] @@ -1874,10 +1879,10 @@ weakdeps = ["OffsetArrays", "StaticArrays"] StaticArrayInterfaceStaticArraysExt = "StaticArrays" [[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "StaticArraysCore"] -git-tree-sha1 = "0adf069a2a490c47273727e029371b31d44b72b2" +deps = ["LinearAlgebra", "PrecompileTools", "Random", "StaticArraysCore"] +git-tree-sha1 = "5ef59aea6f18c25168842bded46b16662141ab87" uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.6.5" +version = "1.7.0" weakdeps = ["Statistics"] [deps.StaticArrays.extensions] @@ -1907,9 +1912,9 @@ version = "0.34.2" [[deps.StrideArraysCore]] deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "ManualMemory", "SIMDTypes", "Static", "StaticArrayInterface", "ThreadingUtilities"] -git-tree-sha1 = "e7dd250422df290cee14960c1ee144b44ac3dd77" +git-tree-sha1 = "d6415f66f3d89c615929af907fdc6a3e17af0d8c" uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" -version = "0.5.1" +version = "0.5.2" [[deps.StringEncodings]] deps = ["Libiconv_jll"] @@ -2342,10 +2347,10 @@ uuid = "35ca27e7-8b34-5b7f-bca9-bdc33f59eb06" version = "3.2.9+0" [[deps.fzf_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "47cf33e62e138b920039e8ff9f9841aafe1b733e" +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "a68c9655fbe6dfcab3d972808f1aafec151ce3f8" uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" -version = "0.35.1+0" +version = "0.43.0+0" [[deps.gperf_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] diff --git a/experiments/ClimaCore/tc1_heat-diffusion-with-slab/Project.toml b/experiments/ClimaCore/tc1_heat-diffusion-with-slab/Project.toml deleted file mode 100644 index 86c6aea550..0000000000 --- a/experiments/ClimaCore/tc1_heat-diffusion-with-slab/Project.toml +++ /dev/null @@ -1,15 +0,0 @@ -[deps] -CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" -ClimaCore = "d414da3d-4745-48bb-8d80-42e94e092884" -DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" -KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" -OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" -Plots = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd" -SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -TerminalLoggers = "5d786b92-1e48-4d6f-9151-6b4477ca9bed" diff --git a/experiments/ClimaCore/tc2_ekman-column-with-slab/README.md b/experiments/ClimaCore/tc2_ekman-column-with-slab/README.md deleted file mode 100644 index 846ed719a1..0000000000 --- a/experiments/ClimaCore/tc2_ekman-column-with-slab/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# Test Case 2: Ekman column with a slab - -The Ekamn column includes advection, diffusion and Coriolis terms. The slab land remains the same as in Test Case 1. This slightly more complex case extends the previous case, thereby enabling: -- using prognostic variables similar and equations to CliMA (can start thinking about BCs) -- using `ClimaAtmos.jl's` interface which will eventually be cast over all CliMA models -- zeroth-order inclusion of surface fluxes, which will eventually be replaced by importing `SurfaceFluxes.jl` - -Parameter descriptions and values for the equations below can be found [here](run.jl). - -## Model 1: Ekman Column -The equations of motion for this problem are (see also section 5 in the Numerics chapter of the CliMADesignDocs): -$$ -\partial_t \rho = - \partial_z (w \rho) -$$ -$$ -\partial_t \rho \theta= \partial_z ( \mu \partial_z \theta - w \partial_z \rho \theta) -$$ -$$ -\partial_t u = \partial_z (\mu \partial_z u) + f (v - v_g) - w \partial_z u ) -$$ -$$ -\partial_t v = \partial_z (\mu \partial_z v) - f (u - u_g) - w \partial_z v ) -$$ - -The boundary conditions are impermeable for mass at both boundaries -$$ w\rho = 0.$$ - -For momentum and temperature, the top boundary is impenetrable and insulating (i.e. zero fluxes) and the bottom is forced by a diffusive flux: -$$\mu \partial_z u= F_u,$$ -$$\mu \partial_z v= F_v,$$ -$$\mu \partial_\rho\theta v= F_{\rho\theta},$$ -and at the top boundary the velocities are set equal to their geostrophic counterparts ($u = u_g$ and -$v = v_g$). All advective fluxes are set to zero at both boundaries. - -The vertical velocity tendency is set to zero at the boundaries where we solve: -$$ -\partial_t w_1 = - c_p \theta_1 \partial_z \Pi - \partial_z (\mu \partial_z w) - g - w \partial_{z1} w -$$ -where the subscript $_1$ refers to variables at the boundary faces, and the Exner function is $\Pi = (p_{\theta} / p_0)^{R / c_p}$. - -We also use this model to calculate surface fluxes, $F_{sfc}$, as described below. - -## Model 2: Slab -The slab solves for temperature in a single layer, whose tendency is the accumulated fluxes divided by the coupling timestep plus a parameterisation of the internal processes, $G$. -$$ -\rho c h_s \, \partial_t T_{sfc} = - F_{integ} / \Delta t_{coupler} + G -$$ -with -$$G = \kappa_s (T_{sfc}-T_h)/h_s$$ - where $T_h$ is the temperature at depth $h_s$ and the $_1$ subscript refers to variables extrapolated to the surface. For this simple example, we set the thermal capacity ($c$) and density ($\rho$) of both domains to be one. $G=0$ in the default example with conservation checks. - - -## Flux calculation and accumulation -We use Model 1 to calculate the thermal surface fluxes, $F_{sfc}$ (usually this should be done by the model with the shortest timestep). We parameterize the surface fluxes as: -$$ -F_{sfc} = R_{SW} - R_{LW} - SH -$$ -The zeroth order representation of the short (SW) and long (LW) wave radiation fluxes and sensible heat flux (SH) are calculated as: - $$SH = cp_d g_a (\theta_{sfc} - \theta_a) = cp_d g_a (\theta_{sfc} - \theta_1)$$ - $$R_{SW} = F_{sfc}^d - F_{sfc}^u = (1-\mu)\tau F_{sol} (1 + \sin(2 \pi \tau_d^{-1} t))$$ - $$R_{LW} = F_{sfc}^u - F_{sfc}^d = \epsilon \sigma \theta_{sfc}^4 - \epsilon F_{a}$$ - -The fluxes are accumulated as anogther second 'prognostic' equation of Model 1 as -$$ -\partial_t F_{integ} = - F_{sfc}. -$$ - -## Conservation tests -For this simple example, assume that the thermal heat capacity and density of both domains is one, so that the temperatures are analogous to specific energies in the conservation tests. Results can be viewed [here](https://www.overleaf.com/read/bgfmhgtncpws). diff --git a/experiments/ClimaCore/tc2_ekman-column-with-slab/atmos_rhs_fully_coupled.jl b/experiments/ClimaCore/tc2_ekman-column-with-slab/atmos_rhs_fully_coupled.jl deleted file mode 100644 index 61aaa9dec9..0000000000 --- a/experiments/ClimaCore/tc2_ekman-column-with-slab/atmos_rhs_fully_coupled.jl +++ /dev/null @@ -1,92 +0,0 @@ -# Atmos RHS - -#= -Ekman column: - ∂_t ρ = ∇ (μ ∇ ρ - w ρ) - ∂_t ρθ = ∇ (μ ∇ ρθ - w ρθ) - ∂_t u = ∇ (μ ∇ u - w u) + (v - v_g) - ∂_t v = ∇ (μ ∇ v - w v) - (u - u_g) - ∂_t w = ∇ (μ ∇ w - w w) - g - c_p θ ∂_z Π - -where - Π = (p/p_0)^{R/c_p} - -top BCs are insulating and impenetrable: - ∂_t T = 0 - u = u_g - v = v_g - w = 0.0 - ∂_t ρ = 0 - -and bottom BCs use bulk formulae for surface fluxes of heat and momentum: - ∂_t ρθ = F₃ = -Ch ρ ||u|| (T_sfc - ρθ / ρ) - ∂_t u = F₁ = -Cd u ||u|| - ∂_t v = F₂ = -Cd v ||u|| - w = 0.0 - ∂_t ρ = 0 - -We also use this model to accumulate fluxes it calculates - ∂_t F_accum = -(F₁, F₂, F₃) -=# -function ∑tendencies_atm!(dY, Y, (parameters, T_sfc), t) - - (; Cd, f, ν, ug, vg, C_p, MSLP, R_d, R_m, C_v, grav) = parameters - - (Yc, Yf, _) = Y.x - (dYc, dYf, dF_sfc) = dY.x - (; ρ, u, v, ρθ) = Yc - (; w) = Yf - dρ = dYc.ρ - du = dYc.u - dv = dYc.v - dρθ = dYc.ρθ - dw = dYf.w - - # auxiliary calculations of surface variables (can be replaced by functions which call exatrapolation or MO) - If = Operators.InterpolateC2F(bottom = Operators.Extrapolate(), top = Operators.Extrapolate()) # XXX is this correct? (testing: all elems aside from boundaries change) - u_1 = parent(If(u))[1] - v_1 = parent(If(v))[1] - ρ_1 = parent(If(ρ))[1] - θ_1 = parent(If(ρθ))[1] / parent(If(ρ))[1] - u_wind = sqrt(u_1^2 + v_1^2) - - # surface flux calculations - F_sfc = -calculate_sfc_fluxes_energy(DryBulkFormulaWithRadiation(), parameters, T_sfc[1], θ_1, u_1, v_1, ρ_1, t) # W / m2 - dY.x[3] .= -F_sfc[1] - - # density (centers) - gradc2f = Operators.GradientC2F() - gradf2c = Operators.GradientF2C(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) - - If = Operators.InterpolateC2F(bottom = Operators.Extrapolate(), top = Operators.Extrapolate()) - @. dρ = gradf2c(-w * If(ρ)) # Eq. 4.11 - - # potential temperature (centers) - gradc2f = Operators.GradientC2F() - gradf2c = Operators.GradientF2C(bottom = Operators.SetValue(F_sfc), top = Operators.SetValue(0.0)) - - @. dρθ = gradf2c(-w * If(ρθ) + ν * gradc2f(ρθ / ρ)) - # u velocity (centers) - gradc2f = Operators.GradientC2F(top = Operators.SetValue(ug)) - gradf2c = Operators.GradientF2C(bottom = Operators.SetValue(Cd * u_wind * u_1)) - - A = Operators.AdvectionC2C(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) - @. du = gradf2c(ν * gradc2f(u)) + f * (v - vg) - A(w, u) - - # v velocity (centers) - gradc2f = Operators.GradientC2F(top = Operators.SetValue(vg)) - gradf2c = Operators.GradientF2C(bottom = Operators.SetValue(Cd * u_wind * v_1)) - - A = Operators.AdvectionC2C(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) - @. dv = gradf2c(ν * gradc2f(v)) - f * (u - ug) - A(w, v) - - # w velocity (faces) - gradc2f = Operators.GradientC2F() - gradf2c = Operators.GradientF2C(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) - - B = Operators.SetBoundaryOperator(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) - Π(ρθ) = C_p .* (R_d .* ρθ ./ MSLP) .^ (R_m ./ C_v) ## This should be R_d/ C_p (but needs stabilising...reported to original developer) - @. dw = B(-(If(ρθ / ρ) * gradc2f(Π(ρθ))) - grav + gradc2f(ν * gradf2c(w)) - w * If(gradf2c(w))) - return dY - -end diff --git a/experiments/ClimaCore/tc2_ekman-column-with-slab/atmos_rhs_generator_propagator.jl b/experiments/ClimaCore/tc2_ekman-column-with-slab/atmos_rhs_generator_propagator.jl deleted file mode 100644 index 020eb02a64..0000000000 --- a/experiments/ClimaCore/tc2_ekman-column-with-slab/atmos_rhs_generator_propagator.jl +++ /dev/null @@ -1,91 +0,0 @@ -# Atmos RHS - -function ∑tendencies_atm!(dY, Y, (parameters, T_sfc), t) - # Heat diffusion: - # ∂_t ρ = ∇ (μ ∇ ρ - w ρ) - # ∂_t ρθ = ∇ (μ ∇ ρθ - w ρθ) - # ∂_t w = ∇ (μ ∇ w - w w) - - # where - # ∂_t T = n \cdot F at z = zmin_atm - # ∂_t T = 0 at z = zmax_atm - # We also use this model to accumulate fluxes - # ∂_t ϕ_bottom = n \cdot F - - # μ = FT(0.0001) # diffusion coefficient - - # T = u.x[1] - - # F_sfc = - calculate_flux( T_sfc[1], parent(T)[1] ) - - # # set BCs - # bcs_bottom = Operators.SetValue(F_sfc) # struct w bottom BCs - # bcs_top = Operators.SetValue(FT(280.0)) - - # gradc2f = Operators.GradientC2F(top = bcs_top) # gradient struct w BCs - # gradf2c = Operators.GradientF2C(bottom = bcs_bottom) - # @. du.x[1] = gradf2c( μ * gradc2f(T)) - # du.x[2] .= - F_sfc[1] - - (; Cd, f, ν, ug, vg, C_p, MSLP, R_d, R_m, C_v, grav) = parameters - - (Yc, Yf, F_sfc) = Y.x - (dYc, dYf, dF_sfc) = dY.x - (; ρ, u, v, ρθ) = Yc - (; w) = Yf - dρ = dYc.ρ - du = dYc.u - dv = dYc.v - dρθ = dYc.ρθ - dw = dYf.w - - # auxiliary calculations - u_1 = parent(u)[1] - v_1 = parent(v)[1] - u_wind = sqrt(u_1^2 + v_1^2) - - # density (centers) - gradc2f = Operators.GradientC2F() - gradf2c = Operators.GradientF2C(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) - - If = Operators.InterpolateC2F(bottom = Operators.Extrapolate(), top = Operators.Extrapolate()) - @. dρ = gradf2c(-w * If(ρ)) # Eq. 4.11 - - # potential temperature (centers) - gradc2f = Operators.GradientC2F() - gradf2c = Operators.GradientF2C(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) # Eq. 4.20, 4.21 - - @. dρθ = gradf2c(-w * If(ρθ) + ν * gradc2f(ρθ / ρ)) # Eq. 4.12 - - # u velocity (centers) - gradc2f = Operators.GradientC2F(top = Operators.SetValue(ug)) # Eq. 4.18 - gradf2c = Operators.GradientF2C(bottom = Operators.SetValue(Cd * u_wind * u_1)) # Eq. 4.16 - - A = Operators.AdvectionC2C(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) - @. du = gradf2c(ν * gradc2f(u)) + f * (v - vg) - A(w, u) # Eq. 4.8 - - # v velocity (centers) - gradc2f = Operators.GradientC2F(top = Operators.SetValue(vg)) # Eq. 4.18 - gradf2c = Operators.GradientF2C(bottom = Operators.SetValue(Cd * u_wind * v_1)) # Eq. 4.16 - - A = Operators.AdvectionC2C(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) - @. dv = gradf2c(ν * gradc2f(v)) - f * (u - ug) - A(w, v) # Eq. 4.9 - - # w velocity (faces) - gradc2f = Operators.GradientC2F() - gradf2c = Operators.GradientF2C(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) - - B = Operators.SetBoundaryOperator(bottom = Operators.SetValue(0.0), top = Operators.SetValue(0.0)) - If = Operators.InterpolateC2F(bottom = Operators.Extrapolate(), top = Operators.Extrapolate()) - Π(ρθ) = C_p .* (R_d .* ρθ ./ MSLP) .^ (R_m ./ C_v) - #dw = ρθ .* 0.0 - @. dw = B(-(If(ρθ / ρ) * gradc2f(Π(ρθ))) - grav + gradc2f(ν * gradf2c(w)) - w * If(gradf2c(w))) # Eq. 4.10 - - return dY - - - - - - -end diff --git a/experiments/ClimaCore/tc2_ekman-column-with-slab/dummy_surface_fluxes.jl b/experiments/ClimaCore/tc2_ekman-column-with-slab/dummy_surface_fluxes.jl deleted file mode 100644 index fa9122de5c..0000000000 --- a/experiments/ClimaCore/tc2_ekman-column-with-slab/dummy_surface_fluxes.jl +++ /dev/null @@ -1,27 +0,0 @@ -export calculate_sfc_fluxes_energy -export DryBulkFormulaWithRadiation, DryBulkFormula, LinearRelaxation -#surface_fluxes -""" -dummy for SurfaceFluxes.jl -""" -abstract type SurfaceFluxType end - -struct LinearRelaxation <: SurfaceFluxType end -struct DryBulkFormula <: SurfaceFluxType end -struct DryBulkFormulaWithRadiation <: SurfaceFluxType end - -calculate_sfc_fluxes_energy(forumation::LinearRelaxation, p, θ_sfc, θ1) = p.λ .* (θ_sfc .- θ1) - -calculate_sfc_fluxes_energy(forumation::DryBulkFormula, p, θ_sfc, θ1, u_1, v_1, ρ_1) = - p.Ch * p.C_p * ρ_1 * sqrt(u_1^2 + v_1^2) * (θ_sfc .- θ1) - -function calculate_sfc_fluxes_energy(forumation::DryBulkFormulaWithRadiation, parameters, θ_sfc, θ1, u_1, v_1, ρ_1, t) - - p = parameters - - R_SW = (1 - p.α) * p.τ * p.F_sol * (1 .+ sin(t * 2π / p.τ_d)) - R_LW = p.ϵ * (p.σ * θ_sfc .^ 4 - p.σ * θ1 .^ 4) - SH = p.Ch * p.C_p * ρ_1 * sqrt(u_1^2 + v_1^2) * (θ_sfc - θ1) - - F_tot = -(R_SW - R_LW - SH) -end diff --git a/experiments/ClimaCore/tc2_ekman-column-with-slab/run.jl b/experiments/ClimaCore/tc2_ekman-column-with-slab/run.jl deleted file mode 100644 index 2a98aaee0a..0000000000 --- a/experiments/ClimaCore/tc2_ekman-column-with-slab/run.jl +++ /dev/null @@ -1,341 +0,0 @@ -using Base: show_supertypes -#push!(LOAD_PATH, joinpath(@__DIR__, "..", "..")) - -# add https://github.com/CliMA/ClimaCore.jl/#main -# add https://github.com/CliMA/ClimaAtmos.jl/#main - -# import required modules -import ClimaCore.Geometry, LinearAlgebra -import ClimaCore: Fields, Domains, Topologies, Meshes, DataLayouts, Operators, Geometry, Spaces - -using ClimaAtmos - -using OrdinaryDiffEq: ODEProblem, solve, SSPRK33 - -using Logging: global_logger -using TerminalLoggers: TerminalLogger - -using RecursiveArrayTools - -using OrdinaryDiffEq, Test, Random - -global_logger(TerminalLogger()) - -const CI = !isnothing(get(ENV, "CI", nothing)) - -# general parameters -const FT = Float64 - -# Load utilities for coupling -include("../CoupledSims/coupled_sim.jl") -# Placeholder for SurfaceFluxes.jl -include("dummy_surface_fluxes.jl") - - -######## -# Set up parameters -######## - -parameters = ( - # timestepping parameters - Δt_min = 0.02, # minimum model timestep [s] - timerange = (0.0, 100.0), # start time and end time [s] - odesolver = SSPRK33(), # timestepping method from DifferentialEquations.jl (used in both models here) - nsteps_atm = 1, # no. time steps of atm before coupling - nsteps_lnd = 1, # no. time steps of lnd before coupling - saveat = 0.2, # interval at which to save diagnostics [s] - - # atmos domain - zmin_atm = FT(0.0), # height of atmos stack bottom - zmax_atm = FT(200.0), # height of atmos domain top - n = 30, # number of vertical levels - - # atmos physics (eventually will be importing/overwriting CliMAParameters defaults?) - T_surf = 300.0, # K - T_min_ref = 230.0, #K - MSLP = 1e5, # mean sea level pressure [Pa] - grav = 9.8, # gravitational constant [m /s^2] - R_d = 287.058, # R dry (gas constant / mol mass dry air) [J / K / kg] - C_p = 287.058 * 1.4 / (1.4 - 1), # heat capacity at constant pressure [J / K / kg] - C_v = 287.058 / (1.4 - 1), # heat capacity at constant volume [J / K / kg] - R_m = 87.058, # moist R, assumed to be dry [J / K / kg] - f = 7.29e-5,#5e-5,# Coriolis parameters [1/s] - ν = 0.1, #0.01,# viscosity, diffusivity - Cd = 0.01 / (2e2 / 30.0), #drag coeff - Ch = 0.01 / (2e2 / 30.0), #thermal transfer coefficient - ug = 1.0, - vg = 0.0, - d = sqrt(2.0 * 0.01 / 5e-5), #? - - # soil slab - h_s = 100, # depth of the modelled soil model [m] - c_s = 800, # specific heat for land (soil) [J / K / kg] - κ_s = 0.0, # soil conductivity [W / m / K] (set to 0 for energy conservation checks) - T_h = 280, # temperature of soil at depth h [K] - ρ_s = 1500, # density for land (soil) [kg / m^3] - - # radiation - τ = 0.9, # atmospheric transmissivity - α = 0.5, # surface albedo - σ = 5.67e-8, # Steffan Boltzmann constant [kg / s^3 / K^4] - g_a = 0.06, # aerodynamic conductance for heat transfer [kg / m^2 / s] - ϵ = 0.98, # broadband emissivity / absorptivity of the surface - F_a = 0.0, # downward LW flux from the atmosphere [W / m^2] - F_sol = 1361, # incoming solar TOA radiation [W / m^2] - τ_d = 10, # idealized daily cycle period [s] - - # surface fluxes - λ = FT(0.01),#FT(1e-5) # coupling transfer coefficient (to be replaced by the bulk formula) - - # Q: ML??? -) - - -######## -# Set up atmos domain -######## - -domain_atm = Domains.IntervalDomain(parameters.zmin_atm, parameters.zmax_atm, x3boundary = (:bottom, :top)) # struct -mesh_atm = Meshes.IntervalMesh(domain_atm, nelems = parameters.n) # struct, allocates face boundaries to 5,6 -center_space_atm = Spaces.CenterFiniteDifferenceSpace(mesh_atm) # collection of the above, discretises space into FD and provides coords -face_space_atm = Spaces.FaceFiniteDifferenceSpace(center_space_atm) - - -######## -# Set up inital conditions -######## -function init_centers(zc, parameters) - (; T_surf, T_min_ref, grav, C_p, MSLP, R_d) = parameters - - # temperature - Γ = grav / C_p - T = max(T_surf - Γ * zc, T_min_ref) - - # pressure - p = MSLP * (T / T_surf)^(grav / (R_d * Γ)) - if T == T_min_ref - z_top = (T_surf - T_min_ref) / Γ - H_min = R_d * T_min_ref / grav - p *= exp(-(zc - z_top) / H_min) - end - - # potential temperature - θ = T_surf - - # density - ρ = p / (R_d * θ * (p / MSLP)^(R_d / C_p)) - - # velocties - u = 1.0 - v = 0.0 - - return (ρ = ρ, u = u, v = v, ρθ = ρ * θ) -end - -function init_faces(zf, parameters) - return (; w = 0.0 .* zf) -end - -# atmos IC state -z_centers = Fields.coordinate_field(center_space_atm) -z_faces = Fields.coordinate_field(face_space_atm) -Yc = init_centers.(z_centers, Ref(parameters)) -Yf = init_faces.(z_faces, Ref(parameters)) -T_atm_0 = (; Yc = Yc, Yf = Yf) - -# land IC state -T_lnd_0 = [260.0] # initiates lnd progostic var - -ics = (; atm = T_atm_0, lnd = T_lnd_0) - - -######## -# Set up rhs! and BCs -######## - -# define model equations: -include("atmos_rhs_fully_coupled.jl") - -function ∑tendencies_lnd!(dT_sfc, T_sfc, (parameters, F_sfc), t) - """ - Slab ocean: - ∂_t T_sfc = F_sfc + G - """ - p = parameters - G = 0.0 # place holder for soil dynamics - - @. dT_sfc = (F_sfc * p.C_p + G) / (p.h_s * p.ρ_s * p.c_s) -end - - -######## -# Set up time steppers -######## - -# specify timestepping info -stepping = (; - Δt_min = parameters.Δt_min, - timerange = parameters.timerange, - Δt_cpl = max(parameters.nsteps_atm, parameters.nsteps_lnd) * parameters.Δt_min, # period of coupling cycle [s] - odesolver = parameters.odesolver, - nsteps_atm = parameters.nsteps_atm, - nsteps_lnd = parameters.nsteps_lnd, -) - -# coupler comm functions which export / import / transform variables -coupler_get(x) = x -coupler_put(x) = x - -# Solve the ODE operator -function coupler_solve!(stepping, ics, parameters) - t = 0.0 - Δt_min = stepping.Δt_min - Δt_cpl = stepping.Δt_cpl - t_start = stepping.timerange[1] - t_end = stepping.timerange[2] - nsteps_atm = stepping.nsteps_atm - nsteps_lnd = stepping.nsteps_lnd - - # init coupler fields - coupler_F_sfc = coupler_put([0.0]) - coupler_T_lnd = coupler_put(copy(ics.lnd)) - - # atmos copies of coupler variables - atm_T_lnd = coupler_get(copy(coupler_T_lnd)) - atm_F_sfc = coupler_get(copy(coupler_F_sfc)) - - # SETUP ATMOS - # put all prognostic variable arrays into a vector and ensure that solve can partition them - T_atm = ics.atm - Y_atm = ArrayPartition((T_atm_0.Yc, T_atm_0.Yf, atm_F_sfc)) - prob_atm = ODEProblem(∑tendencies_atm!, Y_atm, (t_start, t_end), (parameters, atm_T_lnd)) - integ_atm = init(prob_atm, stepping.odesolver, dt = Δt_cpl / nsteps_atm, saveat = parameters.saveat) - - # land copies of coupler variables - T_lnd = ics.lnd - lnd_F_sfc = copy(coupler_F_sfc) - - # SETUP LAND - prob_lnd = ODEProblem(∑tendencies_lnd!, T_lnd, (t_start, t_end), (parameters, lnd_F_sfc)) - integ_lnd = init(prob_lnd, stepping.odesolver, dt = Δt_cpl / nsteps_lnd, saveat = parameters.saveat) - - # coupler stepping - for t in (t_start:Δt_cpl:t_end) - - ## Atmos - # pre_atmos - # coupler_get_atmosphere!(atmos_simulation, coupler) - # 1) get the land state (e.g., temperature) from the coupler - # 2) reset the flux accumulator to 0 - - integ_atm.p[2] .= coupler_get(coupler_T_lnd) # get land temperature and set on atmosphere (Tland is prognostic) - integ_atm.u.x[3] .= [0.0] # surface flux to be accumulated - - - # run atmos - # NOTE: use (t - integ_atm.t) here instead of Δt_cpl to avoid accumulating roundoff error in our timestepping. - step!(integ_atm, t - integ_atm.t, true) - - # post_atmos - # coupler_put_atmosphere!(atmos_simulation, coupler) - # 1) compute the time-averaged flux to/from the land - # 2) regrid - # 3) store that in the coupler - - # negate sign - coupler_F_sfc .= -coupler_put(integ_atm.u.x[3]) / Δt_cpl - - ## Land - - # pre_land - # coupler_get_land!(land_simulation, coupler) - # 1) get thet time-averaged flux from the coupler and save it in the `lnd_F_sfc` parameter of `integ_lnd` - lnd_F_sfc .= coupler_get(coupler_F_sfc) - - # run land - step!(integ_lnd, t - integ_lnd.t, true) - - # post land - # coupler_put_land!(land_simulation, coupler) - # 1) store required land state (e.g., temperature) in the coupler - coupler_T_lnd .= coupler_put(integ_lnd.u) # update T_sfc - end - - return integ_atm, integ_lnd -end - - -######## -# Run simulation -######## - -integ_atm, integ_lnd = coupler_solve!(stepping, ics, parameters) -sol_atm, sol_lnd = integ_atm.sol, integ_lnd.sol - - -######## -# Visualisation -######## - -ENV["GKSwstype"] = "nul" -import Plots -Plots.GRBackend() - -dirname = "heat" -path = joinpath(@__DIR__, "output", dirname) -mkpath(path) - -# animation -# anim = Plots.@animate for u in sol_atm.u -# Plots.plot(u.x[1], xlim=(220,280)) -# end -# Plots.mp4(anim, joinpath(path, "heat.mp4"), fps = 10) - -# atmos vertical profile at t=0 and t=end -t0_ρθ = parent(sol_atm.u[1].x[1])[:, 4] -tend_ρθ = parent(sol_atm.u[end].x[1])[:, 4] -t0_u = parent(sol_atm.u[1].x[1])[:, 2] -tend_u = parent(sol_atm.u[end].x[1])[:, 2] -t0_v = parent(sol_atm.u[1].x[1])[:, 3] -tend_v = parent(sol_atm.u[end].x[1])[:, 3] -z_centers = collect(1:1:length(tend_u))#parent(Fields.coordinate_field(center_space_atm))[:,1] -Plots.png(Plots.plot([t0_ρθ tend_ρθ], z_centers, labels = ["t=0" "t=end"]), joinpath(path, "T_atm_height.png")) -Plots.png(Plots.plot([t0_u tend_u], z_centers, labels = ["t=0" "t=end"]), joinpath(path, "u_atm_height.png")) -Plots.png(Plots.plot([t0_v tend_v], z_centers, labels = ["t=0" "t=end"]), joinpath(path, "v_atm_height.png")) - -# time evolution -atm_sum_u_t = [sum(parent(u.x[1])[:, 4]) for u in sol_atm.u] ./ parameters.n .* parameters.zmax_atm * parameters.C_p # J / m2 -lnd_sfc_u_t = [u[1] for u in sol_lnd.u] * parameters.h_s * parameters.ρ_s * parameters.c_s # J / m2 - -v1 = lnd_sfc_u_t .- lnd_sfc_u_t[1] -v2 = atm_sum_u_t .- atm_sum_u_t[1] -Plots.png( - Plots.plot(sol_lnd.t, [v1 v2 v1 + v2], labels = ["lnd" "atm" "tot"]), - joinpath(path, "energy_both_surface_time.png"), -) - -# relative error -using Statistics -total = atm_sum_u_t + lnd_sfc_u_t -rel_error = (total .- total[1]) / mean(total) -Plots.png(Plots.plot(sol_lnd.t, rel_error, labels = ["tot"]), joinpath(path, "rel_error_surface_time.png")) - -function linkfig(figpath, alt = "") - # buildkite-agent upload figpath - # link figure in logs if we are running on CI - if get(ENV, "BUILDKITE", "") == "true" - artifact_url = "artifact://$figpath" - print("\033]1338;url='$(artifact_url)';alt='$(alt)'\a\n") - end -end - -linkfig("output/$(dirname)/heat_end.png", "Heat End Simulation") - -# TODO here -# - integrate ClimaCoupler.jl -# - revamp for 2D -# - integrate SurfaceFluxes.jl -# - revamp for 2D - -# Questions / Comments -# diff --git a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/Manifest.toml b/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/Manifest.toml deleted file mode 100644 index 2425999a7b..0000000000 --- a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/Manifest.toml +++ /dev/null @@ -1,1511 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -[[ANSIColoredPrinters]] -git-tree-sha1 = "574baf8110975760d391c710b6341da1afa48d8c" -uuid = "a4c015fc-c6ff-483c-b24f-f7ea428134e9" -version = "0.0.1" - -[[AbstractFFTs]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "485ee0867925449198280d4af84bdb46a2a404d0" -uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" -version = "1.0.1" - -[[AbstractTrees]] -git-tree-sha1 = "03e0550477d86222521d254b741d470ba17ea0b5" -uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -version = "0.3.4" - -[[Adapt]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "84918055d15b3114ede17ac6a7182f68870c16f7" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.3.1" - -[[ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" - -[[ArnoldiMethod]] -deps = ["LinearAlgebra", "Random", "StaticArrays"] -git-tree-sha1 = "f87e559f87a45bece9c9ed97458d3afe98b1ebb9" -uuid = "ec485272-7323-5ecc-a04f-4719b315124d" -version = "0.1.0" - -[[ArrayInterface]] -deps = ["Compat", "IfElse", "LinearAlgebra", "Requires", "SparseArrays", "Static"] -git-tree-sha1 = "b8d49c34c3da35f220e7295659cd0bab8e739fed" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "3.1.33" - -[[ArrayLayouts]] -deps = ["FillArrays", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "a745df3fdce8aff885e6f4a3b7427cc27ce5f86c" -uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" -version = "0.7.6" - -[[Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[BFloat16s]] -deps = ["LinearAlgebra", "Test"] -git-tree-sha1 = "4af69e205efc343068dc8722b8dfec1ade89254a" -uuid = "ab4f0b2a-ad5b-11e8-123f-65d77653426b" -version = "0.1.0" - -[[Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[BitTwiddlingConvenienceFunctions]] -deps = ["Static"] -git-tree-sha1 = "652aab0fc0d6d4db4cc726425cadf700e9f473f1" -uuid = "62783981-4cbd-42fc-bca8-16325de8dc4b" -version = "0.1.0" - -[[BlockArrays]] -deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra"] -git-tree-sha1 = "57a7b84893e2e11739e345ecfef14e43d7ed1143" -uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" -version = "0.16.7" - -[[Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" -uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+0" - -[[CEnum]] -git-tree-sha1 = "215a9aa4a1f23fbd05b92769fdd62559488d70e9" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.1" - -[[CLIMAParameters]] -deps = ["Test"] -git-tree-sha1 = "0801216ee1670a1e5280cdb0e5fda60cc4b992ca" -uuid = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" -version = "0.2.0" - -[[CPUSummary]] -deps = ["Hwloc", "IfElse", "Static"] -git-tree-sha1 = "38d0941d2ce6dd96427fd033d45471e1f26c3865" -uuid = "2a0fbf3d-bb9c-48f3-b0a9-814d99fd7ab9" -version = "0.1.5" - -[[CUDA]] -deps = ["AbstractFFTs", "Adapt", "BFloat16s", "CEnum", "CompilerSupportLibraries_jll", "ExprTools", "GPUArrays", "GPUCompiler", "LLVM", "LazyArtifacts", "Libdl", "LinearAlgebra", "Logging", "Printf", "Random", "Random123", "RandomNumbers", "Reexport", "Requires", "SparseArrays", "SpecialFunctions", "TimerOutputs"] -git-tree-sha1 = "335b3d2373733919b4972a51215a6840c7a33828" -uuid = "052768ef-5323-5732-b1bb-66c8b64840ba" -version = "3.4.2" - -[[Cairo_jll]] -deps = ["Artifacts", "Bzip2_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "f2202b55d816427cd385a9a4f3ffb226bee80f99" -uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.16.1+0" - -[[Cassette]] -git-tree-sha1 = "6ce3cd755d4130d43bab24ea5181e77b89b51839" -uuid = "7057c7e9-c182-5462-911a-8362d720325c" -version = "0.3.9" - -[[ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "1417269aa4238b85967827f11f3e0ce5722b7bf0" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.7.1" - -[[ClimaAtmos]] -deps = ["ClimaCore", "DiffEqBase", "DiffEqCallbacks", "Documenter", "DocumenterTools", "GaussQuadrature", "IntervalSets", "JLD2", "LinearAlgebra", "MPI", "OrdinaryDiffEq", "Pkg", "Plots", "Printf", "RecursiveArrayTools", "StaticArrays", "Test", "UnPack"] -git-tree-sha1 = "3ef84509567f780b2a866f0b07764062c57849fb" -repo-rev = "main" -repo-url = "https://github.com/CliMA/ClimaAtmos.jl" -uuid = "b2c96348-7fb7-4fe0-8da9-78d88439e717" -version = "0.1.0" - -[[ClimaCore]] -deps = ["Adapt", "BlockArrays", "CUDA", "DiffEqBase", "DocStringExtensions", "ForwardDiff", "GaussQuadrature", "IntervalSets", "LinearAlgebra", "Plots", "RecipesBase", "RecursiveArrayTools", "StaticArrays", "UnPack", "UnicodePlots"] -git-tree-sha1 = "9e70b7587cc8c0031cd762816dad4cf9944f84a0" -uuid = "d414da3d-4745-48bb-8d80-42e94e092884" -version = "0.1.1" - -[[CloseOpenIntervals]] -deps = ["ArrayInterface", "Static"] -git-tree-sha1 = "ce9c0d07ed6e1a4fecd2df6ace144cbd29ba6f37" -uuid = "fb6a15b2-703c-40df-9091-08a04967cfa9" -version = "0.1.2" - -[[ColorSchemes]] -deps = ["ColorTypes", "Colors", "FixedPointNumbers", "Random"] -git-tree-sha1 = "a851fec56cb73cfdf43762999ec72eff5b86882a" -uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.15.0" - -[[ColorTypes]] -deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "024fe24d83e4a5bf5fc80501a314ce0d1aa35597" -uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.11.0" - -[[Colors]] -deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "417b0ed7b8b838aa6ca0a87aadf1bb9eb111ce40" -uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.12.8" - -[[CommonSolve]] -git-tree-sha1 = "68a0743f578349ada8bc911a5cbd5a2ef6ed6d1f" -uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" -version = "0.2.0" - -[[CommonSubexpressions]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.0" - -[[Compat]] -deps = ["Base64", "Dates", "DelimitedFiles", "Distributed", "InteractiveUtils", "LibGit2", "Libdl", "LinearAlgebra", "Markdown", "Mmap", "Pkg", "Printf", "REPL", "Random", "SHA", "Serialization", "SharedArrays", "Sockets", "SparseArrays", "Statistics", "Test", "UUIDs", "Unicode"] -git-tree-sha1 = "31d0151f5716b655421d9d75b7fa74cc4e744df2" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "3.39.0" - -[[CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" - -[[ConstructionBase]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "f74e9d5388b8620b4cee35d4c5a618dd4dc547f4" -uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.3.0" - -[[Contour]] -deps = ["StaticArrays"] -git-tree-sha1 = "9f02045d934dc030edad45944ea80dbd1f0ebea7" -uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.5.7" - -[[Crayons]] -git-tree-sha1 = "3f71217b538d7aaee0b69ab47d9b7724ca8afa0d" -uuid = "a8cc5b0e-0ffa-5ad4-8c14-923d3ee1735f" -version = "4.0.4" - -[[DEDataArrays]] -deps = ["ArrayInterface", "DocStringExtensions", "LinearAlgebra", "RecursiveArrayTools", "SciMLBase", "StaticArrays"] -git-tree-sha1 = "31186e61936fbbccb41d809ad4338c9f7addf7ae" -uuid = "754358af-613d-5f8d-9788-280bf1605d4c" -version = "0.2.0" - -[[DataAPI]] -git-tree-sha1 = "cc70b17275652eb47bc9e5f81635981f13cea5c8" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.9.0" - -[[DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "7d9d316f04214f7efdbb6398d545446e246eff02" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.10" - -[[DataValueInterfaces]] -git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" -uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" -version = "1.0.0" - -[[Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[DelimitedFiles]] -deps = ["Mmap"] -uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" - -[[DiffEqBase]] -deps = ["ArrayInterface", "ChainRulesCore", "DEDataArrays", "DataStructures", "Distributions", "DocStringExtensions", "FastBroadcast", "ForwardDiff", "FunctionWrappers", "IterativeSolvers", "LabelledArrays", "LinearAlgebra", "Logging", "MuladdMacro", "NonlinearSolve", "Parameters", "PreallocationTools", "Printf", "RecursiveArrayTools", "RecursiveFactorization", "Reexport", "Requires", "SciMLBase", "Setfield", "SparseArrays", "StaticArrays", "Statistics", "SuiteSparse", "ZygoteRules"] -git-tree-sha1 = "420ad175d5e420e2c55a0ed8a9c18556e6735f80" -uuid = "2b5f629d-d688-5b77-993f-72d75c75574e" -version = "6.73.2" - -[[DiffEqCallbacks]] -deps = ["DataStructures", "DiffEqBase", "ForwardDiff", "LinearAlgebra", "NLsolve", "OrdinaryDiffEq", "Parameters", "RecipesBase", "RecursiveArrayTools", "StaticArrays"] -git-tree-sha1 = "35bc7f8be9dd2155336fe999b11a8f5e44c0d602" -uuid = "459566f4-90b8-5000-8ac3-15dfb0a30def" -version = "2.17.0" - -[[DiffResults]] -deps = ["StaticArrays"] -git-tree-sha1 = "c18e98cba888c6c25d1c3b048e4b3380ca956805" -uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "1.0.3" - -[[DiffRules]] -deps = ["NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "7220bc21c33e990c14f4a9a319b1d242ebc5b269" -uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.3.1" - -[[Distances]] -deps = ["LinearAlgebra", "Statistics", "StatsAPI"] -git-tree-sha1 = "9f46deb4d4ee4494ffb5a40a27a2aced67bdd838" -uuid = "b4f34e82-e78d-54a5-968a-f98e89d6e8f7" -version = "0.10.4" - -[[Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[Distributions]] -deps = ["ChainRulesCore", "FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SparseArrays", "SpecialFunctions", "Statistics", "StatsBase", "StatsFuns"] -git-tree-sha1 = "a9b99024b57d12fb19892d3f2230856f6d9671a4" -uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.17" - -[[DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "a32185f5428d3986f47c2ab78b1f216d5e6cc96f" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.8.5" - -[[Documenter]] -deps = ["ANSIColoredPrinters", "Base64", "Dates", "DocStringExtensions", "IOCapture", "InteractiveUtils", "JSON", "LibGit2", "Logging", "Markdown", "REPL", "Test", "Unicode"] -git-tree-sha1 = "8b43e37cfb4f4edc2b6180409acc0cebce7fede8" -uuid = "e30172f5-a6a5-5a46-863b-614d45cd2de4" -version = "0.27.7" - -[[DocumenterTools]] -deps = ["AbstractTrees", "Base64", "DocStringExtensions", "Documenter", "FileWatching", "Gumbo", "LibGit2", "Sass"] -git-tree-sha1 = "d0574a2a4950fdcde104b7f3d1b34f0417fa9f10" -uuid = "35a29f4d-8980-5a13-9543-d66fff28ecb8" -version = "0.1.13" - -[[Downloads]] -deps = ["ArgTools", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" - -[[EarCut_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "3f3a2501fa7236e9b911e0f7a588c657e822bb6d" -uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" -version = "2.2.3+0" - -[[EllipsisNotation]] -deps = ["ArrayInterface"] -git-tree-sha1 = "8041575f021cba5a099a456b4163c9a08b566a02" -uuid = "da5c29d0-fa7d-589e-88eb-ea29b0a81949" -version = "1.1.0" - -[[Expat_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b3bfd02e98aedfa5cf885665493c5598c350cd2f" -uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.2.10+0" - -[[ExponentialUtilities]] -deps = ["ArrayInterface", "LinearAlgebra", "Printf", "Requires", "SparseArrays"] -git-tree-sha1 = "54b4bd8f88278fd544a566465c943ce4f8da7b7f" -uuid = "d4d017d3-3776-5f7e-afef-a10c40355c18" -version = "1.10.0" - -[[ExprTools]] -git-tree-sha1 = "b7e3d17636b348f005f11040025ae8c6f645fe92" -uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.6" - -[[FFMPEG]] -deps = ["FFMPEG_jll"] -git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" -uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" -version = "0.4.1" - -[[FFMPEG_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "Pkg", "Zlib_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "d8a578692e3077ac998b50c0217dfd67f21d1e5f" -uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.0+0" - -[[FastBroadcast]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "26be48918640ce002f5833e8fc537b2ba7ed0234" -uuid = "7034ab61-46d4-4ed7-9d0f-46aef9175898" -version = "0.1.8" - -[[FastClosures]] -git-tree-sha1 = "acebe244d53ee1b461970f8910c235b259e772ef" -uuid = "9aa1b823-49e4-5ca5-8b0f-3971ec8bab6a" -version = "0.3.2" - -[[FileIO]] -deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "3c041d2ac0a52a12a27af2782b34900d9c3ee68c" -uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.11.1" - -[[FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[FillArrays]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "Statistics"] -git-tree-sha1 = "29890dfbc427afa59598b8cfcc10034719bd7744" -uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "0.12.6" - -[[FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Requires", "SparseArrays", "StaticArrays"] -git-tree-sha1 = "8b3c09b56acaf3c0e581c66638b85c8650ee9dca" -uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.8.1" - -[[FixedPointNumbers]] -deps = ["Statistics"] -git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" -uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.4" - -[[Fontconfig_jll]] -deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" -uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.13.93+0" - -[[Formatting]] -deps = ["Printf"] -git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" -uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" -version = "0.4.2" - -[[ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "NaNMath", "Printf", "Random", "SpecialFunctions", "StaticArrays"] -git-tree-sha1 = "b5e930ac60b613ef3406da6d4f42c35d8dc51419" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.19" - -[[FreeType2_jll]] -deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "87eb71354d8ec1a96d4a7636bd57a7347dde3ef9" -uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.10.4+0" - -[[FriBidi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" -uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.10+0" - -[[FunctionWrappers]] -git-tree-sha1 = "241552bc2209f0fa068b6415b1942cc0aa486bcc" -uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" -version = "1.1.2" - -[[Future]] -deps = ["Random"] -uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" - -[[GLFW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] -git-tree-sha1 = "dba1e8614e98949abfa60480b13653813d8f0157" -uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.3.5+0" - -[[GPUArrays]] -deps = ["Adapt", "LinearAlgebra", "Printf", "Random", "Serialization", "Statistics"] -git-tree-sha1 = "69faa5f1c5706ca9ca067604acf797ee3a8ec6f6" -uuid = "0c68f7d7-f131-5f86-a1c3-88cf8149b2d7" -version = "8.1.1" - -[[GPUCompiler]] -deps = ["ExprTools", "InteractiveUtils", "LLVM", "Libdl", "Logging", "TimerOutputs", "UUIDs"] -git-tree-sha1 = "4ed2616d5e656c8716736b64da86755467f26cf5" -uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" -version = "0.12.9" - -[[GR]] -deps = ["Base64", "DelimitedFiles", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Printf", "Random", "Serialization", "Sockets", "Test", "UUIDs"] -git-tree-sha1 = "c2178cfbc0a5a552e16d097fae508f2024de61a3" -uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.59.0" - -[[GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Pkg", "Qt5Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "ef49a187604f865f4708c90e3f431890724e9012" -uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.59.0+0" - -[[GaussQuadrature]] -deps = ["SpecialFunctions"] -git-tree-sha1 = "45bf52a9fb04350d8771ad694772c18c878683b6" -uuid = "d54b0c1a-921d-58e0-8e36-89d8069c0969" -version = "0.5.7" - -[[GeometryBasics]] -deps = ["EarCut_jll", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] -git-tree-sha1 = "58bcdf5ebc057b085e58d95c138725628dd7453c" -uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" -version = "0.4.1" - -[[Gettext_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" -uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" -version = "0.21.0+0" - -[[Glib_jll]] -deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "7bf67e9a481712b3dbe9cb3dac852dc4b1162e02" -uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.68.3+0" - -[[Graphite2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" -uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.14+0" - -[[Grisu]] -git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" -uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" -version = "1.0.2" - -[[Gumbo]] -deps = ["AbstractTrees", "Gumbo_jll", "Libdl"] -git-tree-sha1 = "e711d08d896018037d6ff0ad4ebe675ca67119d4" -uuid = "708ec375-b3d6-5a57-a7ce-8257bf98657a" -version = "0.8.0" - -[[Gumbo_jll]] -deps = ["Libdl", "Pkg"] -git-tree-sha1 = "86111f5523d7c42da0edd85ef7999c663881ac1e" -uuid = "528830af-5a63-567c-a44a-034ed33b8444" -version = "0.10.1+1" - -[[HTTP]] -deps = ["Base64", "Dates", "IniFile", "Logging", "MbedTLS", "NetworkOptions", "Sockets", "URIs"] -git-tree-sha1 = "14eece7a3308b4d8be910e265c724a6ba51a9798" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "0.9.16" - -[[HarfBuzz_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] -git-tree-sha1 = "8a954fed8ac097d5be04921d595f741115c1b2ad" -uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "2.8.1+0" - -[[HostCPUFeatures]] -deps = ["BitTwiddlingConvenienceFunctions", "IfElse", "Libdl", "Static"] -git-tree-sha1 = "3169c8b31863f9a409be1d17693751314241e3eb" -uuid = "3e5b6fbb-0976-4d2c-9146-d79de83f2fb0" -version = "0.1.4" - -[[Hwloc]] -deps = ["Hwloc_jll"] -git-tree-sha1 = "92d99146066c5c6888d5a3abc871e6a214388b91" -uuid = "0e44f5e4-bd66-52a0-8798-143a42290a1d" -version = "2.0.0" - -[[Hwloc_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "3395d4d4aeb3c9d31f5929d32760d8baeee88aaf" -uuid = "e33a78d0-f292-5ffc-b300-72abe9b543c8" -version = "2.5.0+0" - -[[IOCapture]] -deps = ["Logging", "Random"] -git-tree-sha1 = "f7be53659ab06ddc986428d3a9dcc95f6fa6705a" -uuid = "b5f81e59-6552-4d32-b1f0-c071b021bf89" -version = "0.2.2" - -[[IfElse]] -git-tree-sha1 = "28e837ff3e7a6c3cdb252ce49fb412c8eb3caeef" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.0" - -[[Inflate]] -git-tree-sha1 = "f5fc07d4e706b84f72d54eedcc1c13d92fb0871c" -uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" -version = "0.1.2" - -[[IniFile]] -deps = ["Test"] -git-tree-sha1 = "098e4d2c533924c921f9f9847274f2ad89e018b8" -uuid = "83e8ac13-25f8-5344-8a64-a9f2b223428f" -version = "0.5.0" - -[[InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[IntervalSets]] -deps = ["Dates", "EllipsisNotation", "Statistics"] -git-tree-sha1 = "3cc368af3f110a767ac786560045dceddfc16758" -uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.5.3" - -[[IrrationalConstants]] -git-tree-sha1 = "f76424439413893a832026ca355fe273e93bce94" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.1.0" - -[[IterTools]] -git-tree-sha1 = "05110a2ab1fc5f932622ffea2a003221f4782c18" -uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" -version = "1.3.0" - -[[IterativeSolvers]] -deps = ["LinearAlgebra", "Printf", "Random", "RecipesBase", "SparseArrays"] -git-tree-sha1 = "1a8c6237e78b714e901e406c096fc8a65528af7d" -uuid = "42fd0dbc-a981-5370-80f2-aaf504508153" -version = "0.9.1" - -[[IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[JLD2]] -deps = ["DataStructures", "FileIO", "MacroTools", "Mmap", "Pkg", "Printf", "Reexport", "TranscodingStreams", "UUIDs"] -git-tree-sha1 = "192934b3e2a94e897ce177423fd6cf7bdf464bce" -uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.14" - -[[JLLWrappers]] -deps = ["Preferences"] -git-tree-sha1 = "642a199af8b68253517b80bd3bfd17eb4e84df6e" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.3.0" - -[[JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "8076680b162ada2a031f707ac7b4953e30667a37" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.2" - -[[JpegTurbo_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "d735490ac75c5cb9f1b00d8b5509c11984dc6943" -uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "2.1.0+0" - -[[KernelAbstractions]] -deps = ["Adapt", "Cassette", "InteractiveUtils", "MacroTools", "SpecialFunctions", "StaticArrays", "UUIDs"] -git-tree-sha1 = "7244ffd3549bdfc422162602f27d23b467fa0884" -uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.6.3" - -[[LAME_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" -uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.1+0" - -[[LLVM]] -deps = ["CEnum", "LLVMExtra_jll", "Libdl", "Printf", "Unicode"] -git-tree-sha1 = "46092047ca4edc10720ecab437c42283cd7c44f3" -uuid = "929cbde3-209d-540e-8aea-75f648917ca0" -version = "4.6.0" - -[[LLVMExtra_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6a2af408fe809c4f1a54d2b3f188fdd3698549d6" -uuid = "dad2f222-ce93-54a1-a47d-0025e8a3acab" -version = "0.0.11+0" - -[[LZO_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" -uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.1+0" - -[[LaTeXStrings]] -git-tree-sha1 = "c7f1c695e06c01b95a67f0cd1d34994f3e7db104" -uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.2.1" - -[[LabelledArrays]] -deps = ["ArrayInterface", "LinearAlgebra", "MacroTools", "StaticArrays"] -git-tree-sha1 = "8f5fd068dfee92655b79e0859ecad8b492dfe8b1" -uuid = "2ee39098-c373-598a-b85f-a56591580800" -version = "1.6.5" - -[[Latexify]] -deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "Printf", "Requires"] -git-tree-sha1 = "a4b12a1bd2ebade87891ab7e36fdbce582301a92" -uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.15.6" - -[[LayoutPointers]] -deps = ["ArrayInterface", "LinearAlgebra", "ManualMemory", "SIMDTypes", "Static"] -git-tree-sha1 = "d2bda6aa0b03ce6f141a2dc73d0bcb7070131adc" -uuid = "10f19ff3-798f-405d-979b-55457f8fc047" -version = "0.1.3" - -[[LazyArtifacts]] -deps = ["Artifacts", "Pkg"] -uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" - -[[LeftChildRightSiblingTrees]] -deps = ["AbstractTrees"] -git-tree-sha1 = "71be1eb5ad19cb4f61fa8c73395c0338fd092ae0" -uuid = "1d6d02ad-be62-4b6b-8a6d-2f90e265016e" -version = "0.1.2" - -[[LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" - -[[LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" - -[[LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" - -[[Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[Libffi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "761a393aeccd6aa92ec3515e428c26bf99575b3b" -uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.2.2+0" - -[[Libgcrypt_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] -git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" -uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" -version = "1.8.7+0" - -[[Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "7739f837d6447403596a75d19ed01fd08d6f56bf" -uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.3.0+3" - -[[Libgpg_error_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" -uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" -version = "1.42.0+0" - -[[Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "42b62845d70a619f063a7da093d995ec8e15e778" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.16.1+1" - -[[Libmount_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" -uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.35.0+0" - -[[Libtiff_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "340e257aada13f95f98ee352d316c3bed37c8ab9" -uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.3.0+0" - -[[Libuuid_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" -uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.36.0+0" - -[[LightGraphs]] -deps = ["ArnoldiMethod", "DataStructures", "Distributed", "Inflate", "LinearAlgebra", "Random", "SharedArrays", "SimpleTraits", "SparseArrays", "Statistics"] -git-tree-sha1 = "432428df5f360964040ed60418dd5601ecd240b6" -uuid = "093fc24a-ae57-5d10-9952-331d41423f4d" -version = "1.3.5" - -[[LineSearches]] -deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] -git-tree-sha1 = "f27132e551e959b3667d8c93eae90973225032dd" -uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -version = "7.1.1" - -[[LinearAlgebra]] -deps = ["Libdl"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[LogExpFunctions]] -deps = ["ChainRulesCore", "DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "34dc30f868e368f8a17b728a1238f3fcda43931a" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.3" - -[[Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[LoopVectorization]] -deps = ["ArrayInterface", "CPUSummary", "CloseOpenIntervals", "DocStringExtensions", "HostCPUFeatures", "IfElse", "LayoutPointers", "LinearAlgebra", "OffsetArrays", "PolyesterWeave", "Requires", "SLEEFPirates", "Static", "ThreadingUtilities", "UnPack", "VectorizationBase"] -git-tree-sha1 = "c2c1a765d943267ffc01fd6a127fcb482e80f63a" -uuid = "bdcacae8-1622-11e9-2a5c-532679323890" -version = "0.12.82" - -[[MPI]] -deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "Pkg", "Random", "Requires", "Serialization", "Sockets"] -git-tree-sha1 = "e4549a5ced642a73bd8ba2dd1d3b1d30b3530d94" -uuid = "da04e1cc-30fd-572f-bb4f-1f8673147195" -version = "0.19.0" - -[[MPICH_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c6cafe3f9747c0a0740611e2dffc4d37248fb691" -uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" -version = "3.4.2+0" - -[[MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "5a5bc6bf062f0f95e62d0fe0a2d99699fed82dd9" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.8" - -[[ManualMemory]] -git-tree-sha1 = "9cb207b18148b2199db259adfa923b45593fe08e" -uuid = "d125e4d3-2237-4719-b19c-fa641b8a4667" -version = "0.1.6" - -[[Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "Random", "Sockets"] -git-tree-sha1 = "1c38e51c3d08ef2278062ebceade0e46cefc96fe" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.0.3" - -[[MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" - -[[Measures]] -git-tree-sha1 = "e498ddeee6f9fdb4551ce855a46f54dbd900245f" -uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" -version = "0.3.1" - -[[MicrosoftMPI_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e5c90234b3967684c9c6f87b4a54549b4ce21836" -uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.3+0" - -[[Missings]] -deps = ["DataAPI"] -git-tree-sha1 = "bf210ce90b6c9eed32d25dbcae1ebc565df2687f" -uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.0.2" - -[[Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" - -[[MuladdMacro]] -git-tree-sha1 = "c6190f9a7fc5d9d5915ab29f2134421b12d24a68" -uuid = "46d2c3a1-f734-5fdb-9937-b9b9aeba4221" -version = "0.2.2" - -[[NLSolversBase]] -deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] -git-tree-sha1 = "144bab5b1443545bc4e791536c9f1eacb4eed06a" -uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" -version = "7.8.1" - -[[NLsolve]] -deps = ["Distances", "LineSearches", "LinearAlgebra", "NLSolversBase", "Printf", "Reexport"] -git-tree-sha1 = "019f12e9a1a7880459d0173c182e6a99365d7ac1" -uuid = "2774e3e8-f4cf-5e23-947b-6d7e65073b56" -version = "4.5.1" - -[[NaNMath]] -git-tree-sha1 = "bfe47e760d60b82b66b61d2d44128b62e3a369fb" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "0.3.5" - -[[NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" - -[[NonlinearSolve]] -deps = ["ArrayInterface", "FiniteDiff", "ForwardDiff", "IterativeSolvers", "LinearAlgebra", "RecursiveArrayTools", "RecursiveFactorization", "Reexport", "SciMLBase", "Setfield", "StaticArrays", "UnPack"] -git-tree-sha1 = "e9ffc92217b8709e0cf7b8808f6223a4a0936c95" -uuid = "8913a72c-1f9b-4ce2-8d82-65094dcecaec" -version = "0.3.11" - -[[NonlinearSolvers]] -deps = ["DocStringExtensions", "ForwardDiff"] -git-tree-sha1 = "ba6bcd4f251b164aa804bf543ca3bed286f10585" -uuid = "f4b8ab15-8e73-4e04-9661-b5912071d22b" -version = "0.1.1" - -[[OffsetArrays]] -deps = ["Adapt"] -git-tree-sha1 = "c0e9e582987d36d5a61e650e6e543b9e44d9914b" -uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.10.7" - -[[Ogg_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "7937eda4681660b4d6aeeecc2f7e1c81c8ee4e2f" -uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" -version = "1.3.5+0" - -[[OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" - -[[OpenMPI_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "a784e5133fc7e204c900f2cf38ed37a92ff9248d" -uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "4.1.1+2" - -[[OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "15003dcb7d8db3c6c857fda14891a539a8f2705a" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "1.1.10+0" - -[[OpenSpecFun_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" -uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.5+0" - -[[Opus_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" -uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.3.2+0" - -[[OrderedCollections]] -git-tree-sha1 = "85f8e6578bf1f9ee0d11e7bb1b1456435479d47c" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.4.1" - -[[OrdinaryDiffEq]] -deps = ["Adapt", "ArrayInterface", "DataStructures", "DiffEqBase", "DocStringExtensions", "ExponentialUtilities", "FastClosures", "FiniteDiff", "ForwardDiff", "LinearAlgebra", "Logging", "LoopVectorization", "MacroTools", "MuladdMacro", "NLsolve", "Polyester", "RecursiveArrayTools", "Reexport", "SparseArrays", "SparseDiffTools", "StaticArrays", "UnPack"] -git-tree-sha1 = "66816b9f09c3925ae3b072eb9ef1835c68282ed1" -uuid = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" -version = "5.64.0" - -[[PCRE_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b2a7af664e098055a7529ad1a900ded962bca488" -uuid = "2f80f16e-611a-54ab-bc61-aa92de5b98fc" -version = "8.44.0+0" - -[[PDMats]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "4dd403333bcf0909341cfe57ec115152f937d7d8" -uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.1" - -[[Parameters]] -deps = ["OrderedCollections", "UnPack"] -git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" -uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" -version = "0.12.3" - -[[Parsers]] -deps = ["Dates"] -git-tree-sha1 = "a8709b968a1ea6abc2dc1967cb1db6ac9a00dfb6" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.0.5" - -[[Pixman_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "b4f5d02549a10e20780a24fce72bea96b6329e29" -uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.40.1+0" - -[[Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" - -[[PlotThemes]] -deps = ["PlotUtils", "Requires", "Statistics"] -git-tree-sha1 = "a3a964ce9dc7898193536002a6dd892b1b5a6f1d" -uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "2.0.1" - -[[PlotUtils]] -deps = ["ColorSchemes", "Colors", "Dates", "Printf", "Random", "Reexport", "Statistics"] -git-tree-sha1 = "2537ed3c0ed5e03896927187f5f2ee6a4ab342db" -uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.0.14" - -[[Plots]] -deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "GeometryBasics", "JSON", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "PlotThemes", "PlotUtils", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs"] -git-tree-sha1 = "cfbd033def161db9494f86c5d18fbf874e09e514" -uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.22.3" - -[[Polyester]] -deps = ["ArrayInterface", "BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "ManualMemory", "PolyesterWeave", "Requires", "Static", "StrideArraysCore", "ThreadingUtilities"] -git-tree-sha1 = "97794179584fbb0336821d6c03c93682f19803bf" -uuid = "f517fe37-dbe3-4b94-8317-1923a5111588" -version = "0.5.3" - -[[PolyesterWeave]] -deps = ["BitTwiddlingConvenienceFunctions", "CPUSummary", "IfElse", "Static", "ThreadingUtilities"] -git-tree-sha1 = "371a19bb801c1b420b29141750f3a34d6c6634b9" -uuid = "1d0040c9-8b98-4ee7-8388-3f51789ca0ad" -version = "0.1.0" - -[[PreallocationTools]] -deps = ["ArrayInterface", "ForwardDiff", "LabelledArrays"] -git-tree-sha1 = "361c1f60ffdeeddf02f36b463ab8b138194e5f25" -uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" -version = "0.1.1" - -[[Preferences]] -deps = ["TOML"] -git-tree-sha1 = "00cfd92944ca9c760982747e9a1d0d5d86ab1e5a" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.2.2" - -[[Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[ProgressLogging]] -deps = ["Logging", "SHA", "UUIDs"] -git-tree-sha1 = "80d919dee55b9c50e8d9e2da5eeafff3fe58b539" -uuid = "33c8b6b6-d38a-422a-b730-caa89a2f386c" -version = "0.1.4" - -[[Qt5Base_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"] -git-tree-sha1 = "ad368663a5e20dbb8d6dc2fddeefe4dae0781ae8" -uuid = "ea2cea3b-5b76-57ae-a6ef-0a8af62496e1" -version = "5.15.3+0" - -[[QuadGK]] -deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "78aadffb3efd2155af139781b8a8df1ef279ea39" -uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.4.2" - -[[REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[Random]] -deps = ["Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[Random123]] -deps = ["Libdl", "Random", "RandomNumbers"] -git-tree-sha1 = "0e8b146557ad1c6deb1367655e052276690e71a3" -uuid = "74087812-796a-5b5d-8853-05524746bad3" -version = "1.4.2" - -[[RandomNumbers]] -deps = ["Random", "Requires"] -git-tree-sha1 = "043da614cc7e95c703498a491e2c21f58a2b8111" -uuid = "e6cf234a-135c-5ec9-84dd-332b85af5143" -version = "1.5.3" - -[[RecipesBase]] -git-tree-sha1 = "44a75aa7a527910ee3d1751d1f0e4148698add9e" -uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.1.2" - -[[RecipesPipeline]] -deps = ["Dates", "NaNMath", "PlotUtils", "RecipesBase"] -git-tree-sha1 = "7ad0dfa8d03b7bcf8c597f59f5292801730c55b8" -uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" -version = "0.4.1" - -[[RecursiveArrayTools]] -deps = ["ArrayInterface", "ChainRulesCore", "DocStringExtensions", "LinearAlgebra", "RecipesBase", "Requires", "StaticArrays", "Statistics", "ZygoteRules"] -git-tree-sha1 = "00bede2eb099dcc1ddc3f9ec02180c326b420ee2" -uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "2.17.2" - -[[RecursiveFactorization]] -deps = ["LinearAlgebra", "LoopVectorization", "Polyester", "StrideArraysCore", "TriangularSolve"] -git-tree-sha1 = "575c18c6b00ce409f75d96fefe33ebe01575457a" -uuid = "f2c3362d-daeb-58d1-803e-2bc74f2840b4" -version = "0.2.4" - -[[Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "4036a3bd08ac7e968e27c203d45f5fff15020621" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.1.3" - -[[Rmath]] -deps = ["Random", "Rmath_jll"] -git-tree-sha1 = "bf3188feca147ce108c76ad82c2792c57abe7b1f" -uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" -version = "0.7.0" - -[[Rmath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "68db32dff12bb6127bac73c209881191bf0efbb7" -uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" -version = "0.3.0+0" - -[[SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" - -[[SIMDTypes]] -git-tree-sha1 = "330289636fb8107c5f32088d2741e9fd7a061a5c" -uuid = "94e857df-77ce-4151-89e5-788b33177be4" -version = "0.1.0" - -[[SLEEFPirates]] -deps = ["IfElse", "Static", "VectorizationBase"] -git-tree-sha1 = "2e8150c7d2a14ac68537c7aac25faa6577aff046" -uuid = "476501e8-09a2-5ece-8869-fb82de89a1fa" -version = "0.6.27" - -[[Sass]] -deps = ["libsass_jll"] -git-tree-sha1 = "aa841c3738cec78b5dbccd56dda332710f35f6a5" -uuid = "322a6be2-4ae8-5d68-aaf1-3e960788d1d9" -version = "0.2.0" - -[[SciMLBase]] -deps = ["ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "RecipesBase", "RecursiveArrayTools", "StaticArrays", "Statistics", "Tables", "TreeViews"] -git-tree-sha1 = "91e29a2bb257a4b992c48f35084064578b87d364" -uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "1.19.0" - -[[Scratch]] -deps = ["Dates"] -git-tree-sha1 = "0b4b7f1393cff97c33891da2a0bf69c6ed241fda" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.1.0" - -[[Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[Setfield]] -deps = ["ConstructionBase", "Future", "MacroTools", "Requires"] -git-tree-sha1 = "fca29e68c5062722b5b4435594c3d1ba557072a3" -uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" -version = "0.7.1" - -[[SharedArrays]] -deps = ["Distributed", "Mmap", "Random", "Serialization"] -uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" - -[[Showoff]] -deps = ["Dates", "Grisu"] -git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" -uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" -version = "1.0.3" - -[[SimpleTraits]] -deps = ["InteractiveUtils", "MacroTools"] -git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" -uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" -version = "0.9.4" - -[[Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[SortingAlgorithms]] -deps = ["DataStructures"] -git-tree-sha1 = "b3363d7460f7d098ca0912c69b082f75625d7508" -uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.0.1" - -[[SparseArrays]] -deps = ["LinearAlgebra", "Random"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[SparseDiffTools]] -deps = ["Adapt", "ArrayInterface", "Compat", "DataStructures", "FiniteDiff", "ForwardDiff", "LightGraphs", "LinearAlgebra", "Requires", "SparseArrays", "StaticArrays", "VertexSafeGraphs"] -git-tree-sha1 = "36a4d27a02af48a1eafd2baff58b32deeeb68926" -uuid = "47a9eef4-7e08-11e9-0b38-333d64bd3804" -version = "1.16.5" - -[[SpecialFunctions]] -deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "793793f1df98e3d7d554b65a107e9c9a6399a6ed" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "1.7.0" - -[[Static]] -deps = ["IfElse"] -git-tree-sha1 = "a8f30abc7c64a39d389680b74e749cf33f872a70" -uuid = "aedffcd0-7271-4cad-89d0-dc628f76c6d3" -version = "0.3.3" - -[[StaticArrays]] -deps = ["LinearAlgebra", "Random", "Statistics"] -git-tree-sha1 = "3c76dde64d03699e074ac02eb2e8ba8254d428da" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.2.13" - -[[Statistics]] -deps = ["LinearAlgebra", "SparseArrays"] -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" - -[[StatsAPI]] -git-tree-sha1 = "1958272568dc176a1d881acb797beb909c785510" -uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.0.0" - -[[StatsBase]] -deps = ["DataAPI", "DataStructures", "LinearAlgebra", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "8cbbc098554648c84f79a463c9ff0fd277144b6c" -uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.33.10" - -[[StatsFuns]] -deps = ["ChainRulesCore", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "95072ef1a22b057b1e80f73c2a89ad238ae4cfff" -uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "0.9.12" - -[[StrideArraysCore]] -deps = ["ArrayInterface", "CloseOpenIntervals", "IfElse", "LayoutPointers", "ManualMemory", "Requires", "SIMDTypes", "Static", "ThreadingUtilities"] -git-tree-sha1 = "1258e25e171aec339866f283a11e7d75867e77d7" -uuid = "7792a7ef-975c-4747-a70f-980b88e8d1da" -version = "0.2.4" - -[[StructArrays]] -deps = ["Adapt", "DataAPI", "StaticArrays", "Tables"] -git-tree-sha1 = "2ce41e0d042c60ecd131e9fb7154a3bfadbf50d3" -uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.3" - -[[SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] -uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" - -[[SurfaceFluxes]] -deps = ["CLIMAParameters", "DocStringExtensions", "KernelAbstractions", "NonlinearSolvers", "StaticArrays"] -git-tree-sha1 = "0f2685b633ebf751e50842ee3525880f7d043162" -uuid = "49b00bb7-8bd4-4f2b-b78c-51cd0450215f" -version = "0.1.1" - -[[TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" - -[[TableTraits]] -deps = ["IteratorInterfaceExtensions"] -git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" -uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" -version = "1.0.1" - -[[Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "TableTraits", "Test"] -git-tree-sha1 = "1162ce4a6c4b7e31e0e6b14486a6986951c73be9" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.5.2" - -[[Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" - -[[TerminalLoggers]] -deps = ["LeftChildRightSiblingTrees", "Logging", "Markdown", "Printf", "ProgressLogging", "UUIDs"] -git-tree-sha1 = "d620a061cb2a56930b52bdf5cf908a5c4fa8e76a" -uuid = "5d786b92-1e48-4d6f-9151-6b4477ca9bed" -version = "0.1.4" - -[[Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[ThreadingUtilities]] -deps = ["ManualMemory"] -git-tree-sha1 = "03013c6ae7f1824131b2ae2fc1d49793b51e8394" -uuid = "8290d209-cae3-49c0-8002-c8c24d57dab5" -version = "0.4.6" - -[[TimerOutputs]] -deps = ["ExprTools", "Printf"] -git-tree-sha1 = "7cb456f358e8f9d102a8b25e8dfedf58fa5689bc" -uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.13" - -[[TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "216b95ea110b5972db65aa90f88d8d89dcb8851c" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.6" - -[[TreeViews]] -deps = ["Test"] -git-tree-sha1 = "8d0d7a3fe2f30d6a7f833a5f19f7c7a5b396eae6" -uuid = "a2a6695c-b41b-5b7d-aed9-dbfdeacea5d7" -version = "0.3.0" - -[[TriangularSolve]] -deps = ["CloseOpenIntervals", "IfElse", "LayoutPointers", "LinearAlgebra", "LoopVectorization", "Polyester", "Static", "VectorizationBase"] -git-tree-sha1 = "ed55426a514db35f58d36c3812aae89cfc057401" -uuid = "d5829a12-d9aa-46ab-831f-fb7c9ab06edf" -version = "0.1.6" - -[[URIs]] -git-tree-sha1 = "97bbe755a53fe859669cd907f2d96aee8d2c1355" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.3.0" - -[[UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - -[[Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[UnicodePlots]] -deps = ["Crayons", "Dates", "SparseArrays", "StatsBase"] -git-tree-sha1 = "f1d09f14722f5f3cef029bcb031be91a92613ae9" -uuid = "b8865327-cd53-5732-bb35-84acbb429228" -version = "2.4.6" - -[[VectorizationBase]] -deps = ["ArrayInterface", "CPUSummary", "HostCPUFeatures", "Hwloc", "IfElse", "LayoutPointers", "Libdl", "LinearAlgebra", "SIMDTypes", "Static"] -git-tree-sha1 = "b41a09fb935b6de8243b851727b335eec0a9eb6f" -uuid = "3d5dd08c-fd9d-11e8-17fa-ed2836048c2f" -version = "0.21.12" - -[[VertexSafeGraphs]] -deps = ["LightGraphs"] -git-tree-sha1 = "b9b450c99a3ca1cc1c6836f560d8d887bcbe356e" -uuid = "19fa3120-7c27-5ec5-8db8-b0b0aa330d6f" -version = "0.1.2" - -[[Wayland_jll]] -deps = ["Artifacts", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "3e61f0b86f90dacb0bc0e73a0c5a83f6a8636e23" -uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" -version = "1.19.0+0" - -[[Wayland_protocols_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll"] -git-tree-sha1 = "2839f1c1296940218e35df0bbb220f2a79686670" -uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" -version = "1.18.0+4" - -[[XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "1acf5bdf07aa0907e0a37d3718bb88d4b687b74a" -uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.9.12+0" - -[[XSLT_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" -uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.34+0" - -[[Xorg_libX11_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "5be649d550f3f4b95308bf0183b82e2582876527" -uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.6.9+4" - -[[Xorg_libXau_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4e490d5c960c314f33885790ed410ff3a94ce67e" -uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.9+4" - -[[Xorg_libXcursor_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" -uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" -version = "1.2.0+4" - -[[Xorg_libXdmcp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fe47bd2247248125c428978740e18a681372dd4" -uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.3+4" - -[[Xorg_libXext_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" -uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.4+4" - -[[Xorg_libXfixes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" -uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" -version = "5.0.3+4" - -[[Xorg_libXi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] -git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" -uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" -version = "1.7.10+4" - -[[Xorg_libXinerama_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] -git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" -uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" -version = "1.1.4+4" - -[[Xorg_libXrandr_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" -uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" -version = "1.5.2+4" - -[[Xorg_libXrender_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" -uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.10+4" - -[[Xorg_libpthread_stubs_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6783737e45d3c59a4a4c4091f5f88cdcf0908cbb" -uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.0+3" - -[[Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "daf17f441228e7a3833846cd048892861cff16d6" -uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.13.0+3" - -[[Xorg_libxkbfile_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "926af861744212db0eb001d9e40b5d16292080b2" -uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" -version = "1.1.0+4" - -[[Xorg_xcb_util_image_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" -uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" -version = "0.4.0+1" - -[[Xorg_xcb_util_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] -git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" -uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" -version = "0.4.0+1" - -[[Xorg_xcb_util_keysyms_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" -uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" -version = "0.4.0+1" - -[[Xorg_xcb_util_renderutil_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" -uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" -version = "0.3.9+1" - -[[Xorg_xcb_util_wm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" -uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" -version = "0.4.1+1" - -[[Xorg_xkbcomp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxkbfile_jll"] -git-tree-sha1 = "4bcbf660f6c2e714f87e960a171b119d06ee163b" -uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" -version = "1.4.2+4" - -[[Xorg_xkeyboard_config_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "5c8424f8a67c3f2209646d4425f3d415fee5931d" -uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.27.0+4" - -[[Xorg_xtrans_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "79c31e7844f6ecf779705fbc12146eb190b7d845" -uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.4.0+3" - -[[Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" - -[[Zstd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "cc4bf3fdde8b7e3e9fa0351bdeedba1cf3b7f6e6" -uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.0+0" - -[[ZygoteRules]] -deps = ["MacroTools"] -git-tree-sha1 = "8c1a8e4dfacb1fd631745552c8db35d0deb09ea0" -uuid = "700de1a5-db45-46bc-99cf-38207098b444" -version = "0.2.2" - -[[libass_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" -uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.15.1+0" - -[[libfdk_aac_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" -uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.2+0" - -[[libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" -uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.38+0" - -[[libsass_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "663428b7ebaf60c60ee147f0f9466430e9959ad6" -uuid = "47bcb7c8-5119-555a-9eeb-0afcc36cd728" -version = "3.5.5+0" - -[[libvorbis_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] -git-tree-sha1 = "c45f4e40e7aafe9d086379e5578947ec8b95a8fb" -uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.7+0" - -[[nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" - -[[p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" - -[[x264_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" -uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "2021.5.5+0" - -[[x265_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" -uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" -version = "3.5.0+0" - -[[xkbcommon_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] -git-tree-sha1 = "ece2350174195bb31de1a63bea3a41ae1aa593b6" -uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" -version = "0.9.1+5" diff --git a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/Project.toml b/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/Project.toml deleted file mode 100644 index bed9a28921..0000000000 --- a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/Project.toml +++ /dev/null @@ -1,19 +0,0 @@ -[deps] -CLIMAParameters = "6eacf6c3-8458-43b9-ae03-caf5306d3d53" -ClimaAtmos = "b2c96348-7fb7-4fe0-8da9-78d88439e717" -ClimaCore = "d414da3d-4745-48bb-8d80-42e94e092884" -DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -IntervalSets = "8197267c-284f-5f27-9208-e0e47529a953" -KernelAbstractions = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" -Logging = "56ddb016-857b-54e1-b83d-db4d58db5568" -NonlinearSolvers = "f4b8ab15-8e73-4e04-9661-b5912071d22b" -OrdinaryDiffEq = "1dea7af3-3e70-54e6-95c3-0bf5283fa5ed" -Printf = "de0858da-6303-5e67-8744-51eddeeeb8d7" -RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd" -SciMLBase = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -Statistics = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -SurfaceFluxes = "49b00bb7-8bd4-4f2b-b78c-51cd0450215f" -TerminalLoggers = "5d786b92-1e48-4d6f-9151-6b4477ca9bed" -Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40" diff --git a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/README.md b/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/README.md deleted file mode 100644 index a0f1e334a6..0000000000 --- a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/README.md +++ /dev/null @@ -1,58 +0,0 @@ -# Ekman Column + Slab with SurfaceFluxes.jl - -This is a prototype for testing the surface flux model, using the ClimaAtmos Ekamn column and a slab, similar to Test Case 2 in the(see [Coupler Design Docs](https://www.overleaf.com/project/610c13492c7d0e8d459e72b8) for details). We're using the Nishizawa and Kitamura (2018) to formulate the flux calculations below, as in `SurfaceFluxes.jl`. - - -# Coupled boundary conditions - -$$ -\frac{\partial \rho \theta}{\partial t} = - \frac{\partial}{\partial z} \rho \overline{w'\theta'} -$$ -$$ -\frac{\partial u }{\partial t} = - \frac{\partial}{\partial z} \overline{u'w'} -$$ - - -Where we parameterise: -$$ -\overline{u'w'} = u*u* \approx - \tau / \rho = - g_{am} = cd_m|| , -$$ -$$ -\overline{w'\theta'}= u*\theta* \approx - H / (\rho c_p) =g_{ac} (<\theta> - \theta_{sfc}) = cd_h || (<\theta> - \theta_{sfc}). -$$ - - Note that the units of $g$ are m/s; this is a slightly different $g$ definition compared with Bonan, Ch 7, where his $g$ is multiplied by a molar density. Figure 1.10 is helpful in clarifying the different representations of turbulent fluxes across communities. - -Numerical iterations solve for -$$ -u* = \frac{\kappa}{\log(\Delta z/ z_{z0m}) - \Psi_m(\Delta z/ L) + \frac{z_{0m}}{\Delta z} \Psi_m (z_{0m}/L) + R_{z0m}[\Psi_m(z_{0m}/L) - 1]} = \sqrt{cd_m} = \sqrt{g_{am} / \rho} -$$ -$$ -\theta* = \frac{\kappa / Pr}{\log(\Delta z/ z_{0h}) - \Psi_h(\Delta z/ L) + \frac{z_{0h}}{\Delta z} \Psi_h (z_{0h}/L) + R_{z0m}[\Psi_h(z_{0h}/L) - 1]} (<\theta> - \theta_{sfc}) = \sqrt{cd_h^2 / cd_m} (<\theta> - \theta_{sfc}) = \sqrt{g_{ac}^2/({g_{am} \rho )}} (<\theta> - \theta_{sfc}) -$$ -with -$$ - = \frac{1}{\Delta z} \int_0^{\Delta z} u(z) dz \,\,\,\,\,\,\,\,\,\,\,\,\, <\theta> = \frac{1}{\Delta z} \int_0^{\Delta z} \theta(z) dz -$$ -and - -$$ -R_{z0m} = 1 - z_{0m} / \Delta z \,\,\,\,\,\,\,\,\,\,\,\,\, R_{z0h} = 1 - z_{0h} / \Delta z -$$ -The Obukhov length is defined as: -$$ -L = - \frac{u*^3 \overline{\theta}}{\kappa g \overline{w'\theta'|_s}} \,\,\,\,\,\,\,\,\,\,\,\,\, -$$ - -where $\overline{\theta}$ is the basic potential temperature (reference used for buoyancy calculations). - -## Adapter for `SurfaceFluxes.jl` -- `dummy_surface_fluxes.jl` extracts the required drag/transfer coefficients from `SurfaceFluxes.jl` as in Buyn (1990), i.e.: -$$cd_m (z)= \frac{u*^2}{ u(z)^2} \,\,\,\,\,\,\,\,\,\,\,\,\, cd_h(z) = \frac{u*\theta * }{ u(z) \Delta \theta (z)}$$ -- the coefficients are then used to calculate the fluxes, similarly to the bulk formula (which assumes that the coefficients are constant) - -## References -- [Nishizawa and Kitamura (2018)](https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2018MS001534) -- [Bonan (2019)](https://www.cambridge.org/core/books/climate-change-and-terrestrial-ecosystem-modeling/7D31B7BC519E3E892EFDC01F0B54F701) -- [Buyn (1990)](https://journals.ametsoc.org/view/journals/apme/29/7/1520-0450_1990_029_0652_otasof_2_0_co_2.xml) -- [SurfaceFluxes.jl docs](http://faculty.nps.edu/jekozdon/CLIMA_site/Atmos/SurfaceFluxes.html) \ No newline at end of file diff --git a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/atmos_rhs.jl b/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/atmos_rhs.jl deleted file mode 100644 index 8b0807c5fe..0000000000 --- a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/atmos_rhs.jl +++ /dev/null @@ -1,167 +0,0 @@ -# Atmos RHS - -""" -This is a slightly modified ClimaAtmos Ekman column model -""" - -#= -Ekman column: - ∂_t ρ = ∇ (μ ∇ ρ - w ρ) - ∂_t ρθ = ∇ (μ ∇ ρθ - w ρθ) - ∂_t u = ∇ (μ ∇ u - w u) + (v - v_g) - ∂_t v = ∇ (μ ∇ v - w v) - (u - u_g) - ∂_t w = ∇ (μ ∇ w - w w) - g - c_p θ ∂_z Π - -where - Π = (p/p_0)^{R/c_p} - -top BCs are insulating and impenetrable: - ∂_t T = 0 - u = u_g - v = v_g - w = 0.0 - ∂_t ρ = 0 - -and bottom BCs use bulk formulae for surface fluxes of heat and momentum: - ∂_t ρθ = F₃ = -Ch ρ ||u|| (T_sfc - ρθ / ρ) - ∂_t u = F₁ = -Cd u ||u|| - ∂_t v = F₂ = -Cd v ||u|| - w = 0.0 - ∂_t ρ = 0 - -We also use this model to accumulate fluxes it calculates - ∂_t F_accum = -(F₁, F₂, F₃) -=# - -function ∑tendencies_atm!(dY, Y, (parameters, T_sfc), t) - (; Cd, f, ν, uvg, C_p, MSLP, R_d, R_m, C_v, grav) = parameters - - # unpack tendencies and state - (Yc, Yf, F_sfc) = Y.x - (dYc, dYf, dF_sfc) = dY.x - - (; ρ, uv, ρθ) = Yc - - w = Yf - dρ = dYc.ρ - duv = dYc.uv - dρθ = dYc.ρθ - dw = dYf - - # auxiliary calculations - ρ_1 = parent(ρ)[1] - ρθ_1 = parent(ρθ)[1] - uv_1 = Operators.getidx(uv, Operators.Interior(), 1) - u_wind = LinearAlgebra.norm(uv_1) - - # surface flux calculations - fluxes = calculate_sfc_fluxes(DryMonin(), parameters, T_sfc[1], ρθ_1 / ρ_1, uv_1, ρ_1, t) - - surface_flux_ρθ = fluxes.SH - surface_flux_uv = fluxes.τ - - # accumulate in the required right units - @inbounds begin - dY.x[3][1] = (surface_flux_ρθ) - dY.x[3][2] = (surface_flux_uv)[1] - dY.x[3][2] = (surface_flux_uv)[2] - end - - # boundary conditions - bcs_bottom_uv_flux = Operators.SetValue(surface_flux_uv) - bcs_top_uv_value = Operators.SetValue(uvg) - - bcs_bottom_ρθ_flux = Operators.SetValue(Geometry.Cartesian3Vector(surface_flux_ρθ)) - bcs_top_ρθ_flux = Operators.SetValue(Geometry.Cartesian3Vector(zero(FT))) - - bcs_bottom_ρ_flux = Operators.SetValue(Geometry.Cartesian3Vector(zero(FT))) - bcs_top_ρ_flux = Operators.SetValue(Geometry.Cartesian3Vector(zero(FT))) - - # density - If = Operators.InterpolateC2F() - ∂f = Operators.GradientC2F() - ∂c = Operators.DivergenceF2C(bottom = bcs_bottom_ρ_flux, top = bcs_top_ρ_flux) - @. dρ = -∂c(w * If(ρ)) - - # potential temperature - If = Operators.InterpolateC2F() - ∂f = Operators.GradientC2F() - ∂c_adv = Operators.DivergenceF2C( - bottom = Operators.SetValue(Geometry.Cartesian3Vector(zero(FT))), - top = Operators.SetValue(Geometry.Cartesian3Vector(zero(FT))), - ) - ∂c_diff = Operators.DivergenceF2C(bottom = bcs_bottom_ρθ_flux, top = bcs_top_ρθ_flux) - # TODO!: Undesirable casting to vector required - - @. dρθ = -∂c_adv(w * If(ρθ)) + ρ * ∂c_diff(Geometry.CartesianVector(ν * ∂f(ρθ / ρ))) - - A = Operators.AdvectionC2C( - bottom = Operators.SetValue(Geometry.Cartesian12Vector(0.0, 0.0)), - top = Operators.SetValue(Geometry.Cartesian12Vector(0.0, 0.0)), - ) - - # uv - ∂c = Operators.DivergenceF2C(bottom = bcs_bottom_uv_flux) - ∂f = Operators.GradientC2F(top = bcs_top_uv_value) - duv .= (uv .- Ref(uvg)) .× Ref(Geometry.Cartesian3Vector(f)) - - @. duv += ∂c(ν * ∂f(uv)) - A(w, uv) - - # w - If = Operators.InterpolateC2F(bottom = Operators.Extrapolate(), top = Operators.Extrapolate()) - ∂f = Operators.GradientC2F() - ∂c = Operators.GradientF2C() - Af = Operators.AdvectionF2F() - divf = Operators.DivergenceC2F() - B = Operators.SetBoundaryOperator( - bottom = Operators.SetValue(Geometry.Cartesian3Vector(zero(FT))), - top = Operators.SetValue(Geometry.Cartesian3Vector(zero(FT))), - ) - Φ(z) = grav * z - Π(ρθ) = C_p * (R_d * ρθ / MSLP)^(R_m / C_v) - zc = Fields.coordinate_field(axes(ρ)) - @. dw = B(Geometry.CartesianVector(-(If(ρθ / ρ) * ∂f(Π(ρθ))) - ∂f(Φ(zc))) + divf(ν * ∂c(w)) - Af(w, w)) - - return dY -end - - -""" -Initialize fields located at cell centers in the vertical. -""" -@inline function init_ekman_column_1d_c(z, params::NamedTuple) - (; grav, C_p, MSLP, R_d, T_surf_atm, T_min_ref, u0, v0, w0) = params - - T_surf = T_surf_atm - Γ = grav / C_p - T = max(T_surf - Γ * z, T_min_ref) - p = MSLP * (T / T_surf)^(grav / (R_d * Γ)) - if T == T_min_ref - z_top = (T_surf - T_min_ref) / Γ - H_min = R_d * T_min_ref / grav - p *= exp(-(z - z_top) / H_min) - end - θ = T_surf # potential temperature - - ρ = p / (R_d * θ * (p / MSLP)^(R_d / C_p)) - - # velocity - uv = Geometry.Cartesian12Vector(u0, v0) # u, v components - - # potential temperature - ρθ = ρ * T_surf - - return (ρ = ρ, uv = uv, ρθ = ρθ) -end - - -""" -Initialize fields located at cell interfaces in the vertical. -""" -@inline function init_ekman_column_1d_f(z, params::NamedTuple) - (; grav, C_p, MSLP, R_d, T_surf_atm, T_min_ref, u0, v0, w0) = params - - w = Geometry.Cartesian3Vector(w0) # w component - - return (w = w) -end diff --git a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/dummy_surface_fluxes.jl b/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/dummy_surface_fluxes.jl deleted file mode 100644 index 58683ed2fc..0000000000 --- a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/dummy_surface_fluxes.jl +++ /dev/null @@ -1,113 +0,0 @@ -import NonlinearSolvers -const NS = NonlinearSolvers - -export calculate_sfc_fluxes_energy -export DryBulkFormulaWithRadiation, DryBulkFormula, LinearRelaxation, DryMonin - -""" -Options for calulating surface fluxes -""" -abstract type SurfaceFluxType end - -struct LinearRelaxation <: SurfaceFluxType end -struct DryBulkFormula <: SurfaceFluxType end -struct DryBulkFormulaWithRadiation <: SurfaceFluxType end -struct DryMonin <: SurfaceFluxType end - - -SF.surface_conditions( - args...; - wθ_flux_star::Union{Nothing, FT} = nothing, - universal_func::Union{Nothing, F} = SF.UniversalFunctions.Businger, - sol_type::NS.SolutionType = NS.CompactSolution(), - tol::NS.AbstractTolerance = NS.ResidualTolerance{FT}(sqrt(eps(FT))), - maxiter::Int = 10_000, -) where {FT <: AbstractFloat, APS, F} = - SF.surface_conditions(args..., wθ_flux_star, universal_func, sol_type, tol, maxiter) - -calculate_sfc_fluxes_energy(formulation::LinearRelaxation, p, θ_sfc, θ_1) = p.λ .* (θ_sfc .- θ_1) - -""" - calculate_sfc_fluxes_energy(formulation::DryBulkFormula, parameters, θ_sfc, θ_1, u_1, v_1, ρ_1, t ) - -- calculates momentum and sensible heat fluxes using a bulk formula with constant drag/transfer coefficients -""" -calculate_sfc_fluxes_energy(formulation::DryBulkFormula, p, θ_sfc, θ_1, u_1, v_1, ρ_1) = - p.Ch * p.C_p * ρ_1 * sqrt(u_1^2 + v_1^2) * (θ_sfc .- θ_1) - - -""" - calculate_sfc_fluxes_energy(formulation::DryBulkFormulaWithRadiation, parameters, θ_sfc, θ_1, u_1, v_1, ρ_1, t ) - -- calculates momentum and sensible heat fluxes using a bulk formula with constant drag/transfer coefficients -- includes a simple representation of surface radiative fluxes with a temporal dependency -""" -function calculate_sfc_fluxes_energy(formulation::DryBulkFormulaWithRadiation, parameters, θ_sfc, θ_1, u_1, v_1, ρ_1, t) - - R_LW_incoming = 0.0 - p = parameters - R_SW = (1 - p.α) * p.τ * p.F_sol * (1 .+ sin(t * 2π / p.τ_d)) - R_LW = p.ϵ * (p.σ * θ_sfc .^ 4) - R_LW_incoming - SH = p.Ch * p.C_p * ρ_1 * sqrt(u_1^2 + v_1^2) * (θ_sfc - θ_1) # convert to theta!! - #p_sfc = p.pₒ - #LH = p.lambda * p.g_w * (q_sat(θ_sfc, p_sfc) - q_a) - - F_tot = -(R_SW - R_LW - SH)#- LH -end - - -""" - calculate_sfc_fluxes_energy(formulation::DryMonin, parameters, θ_sfc, θ_1, windspeed_1, ρ_1, t ) - -- calculates momentum and sensible heat fluxes using drag/transfer coefficients calculated in CliMA's `SurfaceFluxes.jl` module. This uses the Monin Obukhov theory and Nishizawa and Kitamura (2018) method for the finite volume discretization -""" -function calculate_sfc_fluxes(formulation::DryMonin, parameters, θ_sfc, θ_1, uv_1, ρ_1, t) - - domain_atm = Domains.IntervalDomain(0, parameters.atmos_Lz, x3boundary = (:bottom, :top)) - mesh_atm = Meshes.IntervalMesh(domain_atm, nelems = parameters.atmos_Nz) - center_space_atm = Spaces.CenterFiniteDifferenceSpace(mesh_atm) - z_centers = Fields.coordinate_field(center_space_atm) - z_in = parent(z_centers)[1] - - windspeed_1 = LinearAlgebra.norm(uv_1) - p = parameters - - z_0m = 1e-5 # eventually DryMonin.z_0m? (use cases: where atmos will get it with prescribed land, or vice versa, or coupled) - z_0c = z_0m # z_0c = function(z0m, ustar...) eventually - z_0 = [z_0m, z_0c] - x_in = [windspeed_1, θ_1] - - x_s = [windspeed_1 * 0.0, θ_sfc] # we are assuming θ_sfc = T(-\Delta z). - θ_basic = deepcopy(θ_1) # for buoyancy calculation - - # Initial guesses for MO parameters, these should be a function of state. - LMO_init = z_in * 100 # Initial value so that ξ_init<<1 - u_star_init = 0.1 * windspeed_1 - th_star_init = 1.0 * θ_1 - MO_param_guess = [LMO_init, u_star_init, th_star_init] # guess based on current atmos state - - output = SF.surface_conditions( - CLIMAparam_set, - MO_param_guess, - x_in, - x_s, - z_0, - θ_basic, - z_in, - SF.PointValueScheme(), - # TODO Check if statement below is still problematic - maxiter = 500, # often unconverged + coeffs v small, check with FMS (esp Mo_params_guess), update for conditional states - ) - - C_exchange = output.C_exchange - Cd = C_exchange[1] # Cd - Ch = C_exchange[2] # Ch - - # upward sensible potential temperature flux - SH = Ch * ρ_1 * windspeed_1 * (θ_1 - θ_sfc) - - # wind stress - τ = Geometry.Cartesian3Vector(Cd * windspeed_1) ⊗ uv_1 - - fluxes = (τ = τ, SH = SH) -end diff --git a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/experiment.jl b/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/experiment.jl deleted file mode 100644 index acb875eedb..0000000000 --- a/experiments/ClimaCore/tc4_atm-lnd-sfc-fluxes/experiment.jl +++ /dev/null @@ -1,327 +0,0 @@ -# Minimal Example for SurfaceFluxes - -# add https://github.com/CliMA/ClimaCore.jl/#main -# add https://github.com/CliMA/ClimaAtmos.jl/#main -# add https://github.com/CliMA/ClimaCoupler.jl/#main -# import Plots - -using ClimaCore.Geometry - -using ClimaCore: DataLayouts, Operators, Geometry -using ClimaAtmos.Simulations: Simulation -using ClimaCore: Fields, Domains, Topologies, Meshes, Spaces - -using OrdinaryDiffEq: ODEProblem, solve, SSPRK33 -using Logging: global_logger -using TerminalLoggers: TerminalLogger - -using RecursiveArrayTools -using LinearAlgebra -using OrdinaryDiffEq -using Random -using Statistics - -using DocStringExtensions - -using CLIMAParameters -struct EarthParameterSet <: AbstractEarthParameterSet end -const CLIMAparam_set = EarthParameterSet() - -abstract type AbstractNonlinearSolverMethod{FT} end -abstract type AbstractTolerance{FT} end - -const FTypes = Union{AbstractFloat, AbstractArray} - -global_logger(TerminalLogger()) - -const CI = !isnothing(get(ENV, "CI", nothing)) - -import SciMLBase: step! - -const FT = Float64 - -import SurfaceFluxes -const SF = SurfaceFluxes - -include("dummy_surface_fluxes.jl") -include("atmos_rhs.jl") - -parameters_ = ( - # timestepping parameters - Δt_min = 0.01, # minimum model timestep [s] - timerange = (0.0, 10.0), # start time and end time [s] - odesolver = SSPRK33(), # timestepping method from DifferentialEquations.jl (used in both models here) - nsteps_atm = 1, # no. time steps of atm before coupling - nsteps_lnd = 1, # no. time steps of lnd before coupling - saveat = 0.2, # interval at which to save diagnostics [s] - - # atmos domain - atmos_Lz = 300, - atmos_Nz = 10, - - # atmos physics (overwriting CliMAParameters-v2 defaults?) - MSLP = FT(1e5), # mean sea level pressure - grav = FT(9.8), # gravitational constant - R_d = FT(287.058), # R dry (gas constant / mol mass dry air) - C_p = FT(287.058 * 7 / 2), # heat capacity at constant pressure - C_v = FT(287.058 * 5 / 2), # heat capacity at constant volume - R_m = FT(287.058), # moist R, assumed to be dry - f = FT(5e-5), # Coriolis parameters - ν = FT(0.01), - uvg = Geometry.Cartesian12Vector(FT(1.0), FT(0.0)), - T_min_ref = FT(230.0), - T_surf_atm = FT(270.0), # initial near-surface temperature [K] - u0 = FT(1.0), - v0 = FT(0.0), - w0 = FT(0.0), - - # soil slab - h_s = 100, # depth of the modelled soil model [m] - c_s = 800, # specific heat for land (soil) [J / K / kg] - κ_s = 0.0, # soil conductivity [W / m / K] (set to 0 for energy conservation checks) - T_h = 280, # temperature of soil at depth h [K] - ρ_s = 1500, # density for land (soil) [kg / m^3] - T_surf_lnd = 280.0, # initial land surface temperature [K] - - # radiation parameters for DryBulkFormulaWithRadiation() SurfaceFluxType - τ = 0.9, # atmospheric transmissivity - α = 0.5, # surface albedo - σ = 5.67e-8, # Steffan Boltzmann constant [kg / s^3 / K^4] - g_a = 0.06, # aerodynamic conductance for heat transfer [kg / m^2 / s] - ϵ = 0.98, # broadband emissivity / absorptivity of the surface - F_a = 0.0, # downward LW flux from the atmosphere [W / m^2] - F_sol = 1361, # incoming solar TOA radiation [W / m^2] - τ_d = 10, # idealized daily cycle period [s] - - # surface fluxes - λ = FT(0.01),#FT(1e-5) # coupling transfer coefficient for LinearRelaxation() SurfaceFluxType - Ch = 0.0015, # bulk transfer coefficient for sensible heat - Cd = 0.0015, # drag coefficient -) - -# define land model equations: -function ∑tendencies_lnd!(dT_sfc, T_sfc, (parameters, F_sfc), t) - """ - Slab ocean: - ∂_t T_sfc = F_sfc + G - """ - p = parameters - G = 0.0 # place holder for soil dynamics - - @. dT_sfc = (F_sfc[1] * p.C_p + G) / (p.h_s * p.ρ_s * p.c_s) -end - -# Solve the ODE operator -function coupler_solve!(stepping, ics, parameters) - t = 0.0 - Δt_min = stepping.Δt_min - Δt_cpl = stepping.Δt_cpl - t_start = stepping.timerange[1] - t_end = stepping.timerange[2] - nsteps_atm = stepping.nsteps_atm - nsteps_lnd = stepping.nsteps_lnd - - # atmos copies of input vars (to be provided by coupler) - atm_T_sfc_0 = ics.lnd - atm_F_sfc_0 = [0.0, 0.0, 0.0] - - # SETUP ATMOS - # put all prognostic variable arrays into a vector and ensure that solve can partition them - Y_atm = ArrayPartition((ics.atm.x[1], ics.atm.x[2], atm_F_sfc_0)) - prob_atm = ODEProblem(∑tendencies_atm!, Y_atm, (t_start, t_end), (parameters, atm_T_sfc_0)) - integ_atm = init(prob_atm, stepping.odesolver, dt = Δt_cpl / nsteps_atm, saveat = parameters.saveat) - - # land copies of coupler variables - lnd_T_sfc = ics.lnd - lnd_F_sfc = deepcopy(integ_atm.u.x[3] / Δt_cpl) - - # SETUP LAND - prob_lnd = ODEProblem(∑tendencies_lnd!, lnd_T_sfc, (t_start, t_end), (parameters, lnd_F_sfc)) - integ_lnd = init(prob_lnd, stepping.odesolver, dt = Δt_cpl / nsteps_lnd, saveat = parameters.saveat) - - # coupler stepping - for t in (t_start:Δt_cpl:t_end) - - ## Atmos - # pre_atmos - integ_atm.u.x[3] .= [0.0, 0.0, 0.0] # surface flux to be accumulated - - # run atmos - # NOTE: use (t - integ_atm.t) here instead of Δt_cpl to avoid accumulating roundoff error in our timestepping. - step!(integ_atm, t - integ_atm.t, true) - - ## Land - # pre_land - integ_lnd.p[2] .= integ_atm.u.x[3] / Δt_cpl - - # run land - step!(integ_lnd, t - integ_lnd.t, true) - - # post land - integ_atm.p[2] .= integ_lnd.u # get lnd_T_sfc from lnd and setup as aux variable for atm - end - - return integ_atm, integ_lnd -end - -######## -# Experiment TC4 -######## -function exp_tc4(parameters::NamedTuple) - ######## - # Set up atmos domain - ######## - - z_centers, z_faces = get_height_levels(parameters) # helper function defined below - - ######## - # Initiate prognostic variables - ######## - - # atmos IC state - Yc = init_ekman_column_1d_c.(z_centers, Ref(parameters)) - Yf = init_ekman_column_1d_f.(z_faces, Ref(parameters)) - Y_atm_0 = ArrayPartition((Yc, Yf)) # (Y_centers, Y_faces, surface_fluxes) - - # land IC state - Y_lnd_0 = [parameters.T_surf_lnd] # initiates lnd progostic var - - ics = (; atm = Y_atm_0, lnd = Y_lnd_0) - - ######## - # Set up time steppers - ######## - - # specify timestepping info - stepping = (; - Δt_min = parameters.Δt_min, - timerange = parameters.timerange, - Δt_cpl = max(parameters.nsteps_atm, parameters.nsteps_lnd) * parameters.Δt_min, # period of coupling cycle [s] - odesolver = parameters.odesolver, - nsteps_atm = parameters.nsteps_atm, - nsteps_lnd = parameters.nsteps_lnd, - ) - - ######## - # Run simulation - ######## - - integ_atm, integ_lnd = coupler_solve!(stepping, ics, parameters) - sol_atm, sol_lnd = integ_atm.sol, integ_lnd.sol - - return sol_atm, sol_lnd -end - -######## -# Visualisation -######## - -function postprocess(sol_atm, sol_lnd; visualize = false) - ENV["GKSwstype"] = "nul" - - dirname = "heat" - path = joinpath(@__DIR__, "output", dirname) - mkpath(path) - - # animation - # anim = Plots.@animate for u in sol_atm.u - # Plots.plot(u.x[1], xlim=(220,280)) - # end - # Plots.mp4(anim, joinpath(path, "heat.mp4"), fps = 10) - - # atmos vertical profile at t=0 and t=end - t0_ρθ = parent(sol_atm.u[1].x[1])[:, 4] - tend_ρθ = parent(sol_atm.u[end].x[1])[:, 4] - t0_u = parent(sol_atm.u[1].x[1])[:, 2] - tend_u = parent(sol_atm.u[end].x[1])[:, 2] - t0_v = parent(sol_atm.u[1].x[1])[:, 3] - tend_v = parent(sol_atm.u[end].x[1])[:, 3] - z_centers = collect(1:1:length(tend_u))#parent(Fields.coordinate_field(center_space_atm))[:,1] - if visualize == true - Plots.GRBackend() - Plots.png(Plots.plot([t0_ρθ tend_ρθ], z_centers, labels = ["t=0" "t=end"]), joinpath(path, "T_atm_height.png")) - Plots.png(Plots.plot([t0_u tend_u], z_centers, labels = ["t=0" "t=end"]), joinpath(path, "u_atm_height.png")) - Plots.png(Plots.plot([t0_v tend_v], z_centers, labels = ["t=0" "t=end"]), joinpath(path, "v_atm_height.png")) - end - - # time evolution (convert to total_energy in final test when operators fixed) - atm_sum_u_t = - [sum(parent(u.x[1])[:, 4]) for u in sol_atm.u] ./ parameters_.atmos_Nz .* parameters_.atmos_Lz * parameters_.C_p # J / m2 - z_c, _ = get_height_levels(parameters_) - static_energy_ = [ - sum( - static_energy( - parent(u.x[1])[:, 4], - parent(u.x[1])[:, 1], - parent(z_c), - parameters_.C_p, - parameters_.R_d, - parameters_.grav, - parameters_.MSLP, - ) + kinetic_energy.(parent(u.x[1])[:, 2], parent(u.x[1])[:, 3]) .* 0.0, - ) for u in sol_atm.u - ] - atm_sum_u_t = static_energy_ ./ parameters_.atmos_Nz .* parameters_.atmos_Lz # J / m2 - lnd_sfc_u_t = [u[1] for u in sol_lnd.u] * parameters_.h_s * parameters_.ρ_s * parameters_.c_s # J / m2 - - v1 = lnd_sfc_u_t .- lnd_sfc_u_t[1] - v2 = atm_sum_u_t .- atm_sum_u_t[1] - if visualize == true - Plots.png( - Plots.plot(sol_lnd.t, [v1 v2 v1 + v2], labels = ["lnd" "atm" "tot"]), - joinpath(path, "energy_both_surface_time.png"), - ) - end - - # relative error - total = atm_sum_u_t + lnd_sfc_u_t - rel_error = (total .- total[1]) / mean(total) - if visualize == true - Plots.png(Plots.plot(sol_lnd.t, rel_error, labels = ["tot"]), joinpath(path, "rel_error_surface_time.png")) - end - - function linkfig(figpath, alt = "") - # buildkite-agent upload figpath - # link figure in logs if we are running on CI - if get(ENV, "BUILDKITE", "") == "true" - artifact_url = "artifact://$figpath" - print("\033]1338;url='$(artifact_url)';alt='$(alt)'\a\n") - end - end - if visualize == true - linkfig("output/$(dirname)/TC4_end.png", "TC4 End Simulation") - end - return rel_error -end -#= -sol_atm, sol_lnd = exp_tc4(parameters_) -rel_error = postprocess(sol_atm, sol_lnd, visualize = false ); -=# - -# helpers -function get_height_levels(parameters) - domain_atm = Domains.IntervalDomain(0, parameters.atmos_Lz, x3boundary = (:bottom, :top)) # struct - mesh_atm = Meshes.IntervalMesh(domain_atm, nelems = parameters.atmos_Nz) # struct, allocates face boundaries to 5,6 - center_space_atm = Spaces.CenterFiniteDifferenceSpace(mesh_atm) # collection of the above, discretises space into FD and provides coords - face_space_atm = Spaces.FaceFiniteDifferenceSpace(center_space_atm) - - # Initialize the atmospheric states Yc and Yf - z_centers = Fields.coordinate_field(center_space_atm) - z_faces = Fields.coordinate_field(face_space_atm) - return z_centers, z_faces -end - -# dummy thermodynamics -static_energy(ρθ, ρ, z, C_p, R_d, g, MSLP) = Φ(g, z) .+ h(ρθ, ρ, C_p, R_d, g, z, MSLP) - -Φ(g, z) = g * z - -h(ρθ, ρ, C_p, R_d, g, z, MSLP) = C_p * ρθ / ρ * Π(p(ρ, g, z, MSLP), MSLP, R_d, C_p) - -Π(p, MSLP, R_d, C_p) = (p ./ MSLP) .^ (R_d / C_p) - -p(ρ, g, z, MSLP) = -g * int_ρz(abs(z[2] - z[1]), ρ) .+ MSLP - -int_ρz(Δz, ρ) = cumsum(Δz * ρ) # refine if used beyond this test - -kinetic_energy(u, v) = 0.5 * (u^2 + v^2) diff --git a/experiments/Project.toml b/experiments/Project.toml deleted file mode 100644 index 7dd1e3672c..0000000000 --- a/experiments/Project.toml +++ /dev/null @@ -1,2 +0,0 @@ -[deps] -ArtifactWrappers = "a14bc488-3040-4b00-9dc1-f6467924858a"