From 11f9e218142d135302ca5641c4729cd35dd688a6 Mon Sep 17 00:00:00 2001 From: Gabriele Bozzola Date: Thu, 5 Dec 2024 13:49:26 -0800 Subject: [PATCH] Remove WTE from cache This commit removes the `WallTimeEstimate` from the cache and moves it to an isolated place. In the process, I refactored the struct to split reporting with updating, so that reporting can be done with any frequency/schedule desired using the same Schedule infrastructure used by other functions/diagnostics as well. --- .dev/Manifest.toml | 6 +- docs/Manifest.toml | 248 ++++++++++++++------------- examples/Manifest.toml | 94 ++++++----- perf/Manifest.toml | 268 +++++++++++++++--------------- src/cache/cache.jl | 12 +- src/callbacks/callback_helpers.jl | 42 +++++ src/callbacks/callbacks.jl | 92 ---------- src/callbacks/get_callbacks.jl | 19 ++- src/compat.jl | 75 +++++++++ test/coupler_compatibility.jl | 2 - 10 files changed, 439 insertions(+), 419 deletions(-) diff --git a/.dev/Manifest.toml b/.dev/Manifest.toml index f199b30d7a..fa9a4440fe 100644 --- a/.dev/Manifest.toml +++ b/.dev/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.10.6" +julia_version = "1.10.7" manifest_format = "2.0" project_hash = "b280bcf3b481823c97fa1a62c1b5e65114b8fa18" @@ -67,9 +67,9 @@ deps = ["Base64"] uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" [[deps.OrderedCollections]] -git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +git-tree-sha1 = "12f1439c4f986bb868acda6ea33ebc78e19b95ad" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.3" +version = "1.7.0" [[deps.PrecompileTools]] deps = ["Preferences"] diff --git a/docs/Manifest.toml b/docs/Manifest.toml index 6ce866b6b1..1d45bad467 100644 --- a/docs/Manifest.toml +++ b/docs/Manifest.toml @@ -1,13 +1,13 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.10.6" +julia_version = "1.10.7" manifest_format = "2.0" project_hash = "64afcb8dacf7a673d0068ba1a72602801e8d529a" [[deps.ADTypes]] -git-tree-sha1 = "30bb95a372787af850addf28ac937f1be7b79173" +git-tree-sha1 = "72af59f5b8f09faee36b4ec48e014a79210f2f4f" uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" -version = "1.10.0" +version = "1.11.0" weakdeps = ["ChainRulesCore", "ConstructionBase", "EnzymeCore"] [deps.ADTypes.extensions] @@ -38,9 +38,9 @@ version = "0.4.5" [[deps.Accessors]] deps = ["CompositionsBase", "ConstructionBase", "InverseFunctions", "LinearAlgebra", "MacroTools", "Markdown"] -git-tree-sha1 = "b392ede862e506d451fc1616e79aa6f4c673dab8" +git-tree-sha1 = "96bed9b1b57cf750cca50c311a197e306816a1cc" uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" -version = "0.1.38" +version = "0.1.39" [deps.Accessors.extensions] AccessorsAxisKeysExt = "AxisKeys" @@ -84,9 +84,9 @@ version = "1.1.3" [[deps.Animations]] deps = ["Colors"] -git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" +git-tree-sha1 = "e092fa223bf66a3c41f9c022bd074d916dc303e7" uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" -version = "0.4.1" +version = "0.4.2" [[deps.ArgParse]] deps = ["Logging", "TextWrap"] @@ -100,9 +100,9 @@ version = "1.1.1" [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra"] -git-tree-sha1 = "d60a1922358aa203019b7857a2c8c37329b8736c" +git-tree-sha1 = "d5140b60b87473df18cf4fe66382b7c3596df047" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.17.0" +version = "7.17.1" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" @@ -132,9 +132,9 @@ version = "7.17.0" [[deps.ArrayLayouts]] deps = ["FillArrays", "LinearAlgebra"] -git-tree-sha1 = "492681bc44fac86804706ddb37da10880a2bd528" +git-tree-sha1 = "2bf6e01f453284cb61c312836b4680331ddfc44b" uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" -version = "1.10.4" +version = "1.11.0" weakdeps = ["SparseArrays"] [deps.ArrayLayouts.extensions] @@ -157,9 +157,19 @@ version = "0.1.7" [[deps.Atomix]] deps = ["UnsafeAtomics"] -git-tree-sha1 = "c06a868224ecba914baa6942988e2f2aade419be" +git-tree-sha1 = "14e254ef74e44cd6ed27fbb751d4e1f9bbf085cc" uuid = "a9b6321e-bd34-4604-b9c9-b65b8de01458" -version = "0.1.0" +version = "1.0.0" + + [deps.Atomix.extensions] + AtomixCUDAExt = "CUDA" + AtomixMetalExt = "Metal" + AtomixoneAPIExt = "oneAPI" + + [deps.Atomix.weakdeps] + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + Metal = "dde4c033-4e86-420c-a63e-0dd931031962" + oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b" [[deps.Automa]] deps = ["PrecompileTools", "SIMD", "TranscodingStreams"] @@ -181,9 +191,9 @@ version = "0.4.7" [[deps.BandedMatrices]] deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "PrecompileTools"] -git-tree-sha1 = "a2c85f53ddcb15b4099da59867868bd40f005579" +git-tree-sha1 = "2a81cc8adf470ac6bd87eef3ca3d194d08a8754c" uuid = "aae01518-5342-5314-be14-df237901396f" -version = "1.7.5" +version = "1.8.0" weakdeps = ["SparseArrays"] [deps.BandedMatrices.extensions] @@ -218,9 +228,9 @@ version = "0.1.6" [[deps.BlockArrays]] deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra"] -git-tree-sha1 = "d434647f798823bcae510aee0bc0401927f64391" +git-tree-sha1 = "b406207917260364a2e0287b42e4c6772cb9db88" uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" -version = "1.1.1" +version = "1.3.0" weakdeps = ["BandedMatrices"] [deps.BlockArrays.extensions] @@ -360,14 +370,13 @@ version = "0.7.38" StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" [[deps.ClimaUtilities]] -deps = ["Artifacts", "Dates"] -git-tree-sha1 = "f99f60059af1de49a24d16049dfa8d65e3d3907d" +deps = ["Artifacts", "ClimaComms", "Dates"] +git-tree-sha1 = "cd699551a7c9f721363bbf92b2c61c436b1a3959" uuid = "b3f4f4ca-9299-4f7f-bd9b-81e1242a7513" -version = "0.1.18" +version = "0.1.20" [deps.ClimaUtilities.extensions] - ClimaUtilitiesClimaCommsCUDAExt = ["ClimaComms", "CUDA"] - ClimaUtilitiesClimaCommsExt = "ClimaComms" + ClimaUtilitiesCUDAExt = "CUDA" ClimaUtilitiesClimaCoreExt = "ClimaCore" ClimaUtilitiesClimaCoreInterpolationsExt = ["ClimaCore", "Interpolations"] ClimaUtilitiesClimaCoreNCDatasetsExt = ["ClimaCore", "NCDatasets"] @@ -377,7 +386,6 @@ version = "0.1.18" [deps.ClimaUtilities.weakdeps] Adapt = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - ClimaComms = "3a4d1b5c-c61d-41fd-a00a-5873ba7a1b0d" ClimaCore = "d414da3d-4745-48bb-8d80-42e94e092884" ClimaCoreTempestRemap = "d934ef94-cdd4-4710-83d6-720549644b70" Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" @@ -391,9 +399,9 @@ version = "0.1.13" [[deps.CloudMicrophysics]] deps = ["ClimaParams", "DocStringExtensions", "ForwardDiff", "HCubature", "LazyArtifacts", "QuadGK", "RootSolvers", "SpecialFunctions", "Thermodynamics"] -git-tree-sha1 = "8f93d0c730dd4f41fade18a1954abf1eb5ac69ce" +git-tree-sha1 = "e3b2ae212b68aea23d11c03300abb1268a56af87" uuid = "6a9e3e04-43cd-43ba-94b9-e8782df3c71b" -version = "0.22.4" +version = "0.22.5" [deps.CloudMicrophysics.extensions] EmulatorModelsExt = ["DataFrames", "MLJ"] @@ -552,10 +560,10 @@ deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[deps.DelaunayTriangulation]] -deps = ["AdaptivePredicates", "EnumX", "ExactPredicates", "PrecompileTools", "Random"] -git-tree-sha1 = "89df54fbe66e5872d91d8c2cd3a375f660c3fd64" +deps = ["AdaptivePredicates", "EnumX", "ExactPredicates", "Random"] +git-tree-sha1 = "e1371a23fd9816080c828d0ce04373857fe73d33" uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" -version = "1.6.1" +version = "1.6.3" [[deps.DelimitedFiles]] deps = ["Mmap"] @@ -670,9 +678,9 @@ uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" version = "1.0.4" [[deps.EnzymeCore]] -git-tree-sha1 = "e333ffd38ecffcf5c6c2dafd10788404ac46fb9f" +git-tree-sha1 = "0cdb7af5c39e92d78a0ee8d0a447d32f7593137e" uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" -version = "0.8.6" +version = "0.8.8" weakdeps = ["Adapt"] [deps.EnzymeCore.extensions] @@ -691,9 +699,9 @@ version = "2.2.5" [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cc5231d52eb1771251fbd37171dbc408bcc8a1b6" +git-tree-sha1 = "e51db81749b0777b2147fbe7b783ee79045b8e99" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.6.4+0" +version = "2.6.4+1" [[deps.ExprTools]] git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" @@ -775,9 +783,15 @@ version = "0.3.1" [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "91e0e5c68d02bcdaae76d3c8ceb4361e8f28d2e9" +git-tree-sha1 = "2dd20384bf8c6d411b5c7370865b1e9b26cb2ea3" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.5" +version = "1.16.6" + + [deps.FileIO.extensions] + HTTPExt = "HTTP" + + [deps.FileIO.weakdeps] + HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" [[deps.FilePaths]] deps = ["FilePathsBase", "MacroTools", "Reexport", "Requires"] @@ -846,15 +860,15 @@ version = "4.1.1" [[deps.FreeType2_jll]] deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "5c1d8ae0efc6c2e7b1fc502cbe25def8f661b7bc" +git-tree-sha1 = "786e968a8d2fb167f2e4880baba62e0e26bd8e4e" uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.13.2+0" +version = "2.13.3+1" [[deps.FreeTypeAbstraction]] deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] -git-tree-sha1 = "77e2b094e61d939f9626181ab23d0b76e78f9fd3" +git-tree-sha1 = "d52e255138ac21be31fa633200b65e4e71d26802" uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" -version = "0.10.5" +version = "0.10.6" [[deps.FriBidi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -877,16 +891,11 @@ version = "0.1.3" deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" -[[deps.GMP_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" -version = "6.2.1+6" - [[deps.GPUArraysCore]] deps = ["Adapt"] -git-tree-sha1 = "ec632f177c0d990e64d955ccc1b8c04c485a0950" +git-tree-sha1 = "83cf05ab16a73219e5f6bd1bdfa9848fa24ac627" uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.1.6" +version = "0.2.0" [[deps.GaussQuadrature]] deps = ["SpecialFunctions"] @@ -936,21 +945,15 @@ version = "1.3.1" [[deps.Git_jll]] deps = ["Artifacts", "Expat_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Libiconv_jll", "OpenSSL_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "ea372033d09e4552a04fd38361cd019f9003f4f4" +git-tree-sha1 = "399f4a308c804b446ae4c91eeafadb2fe2c54ff9" uuid = "f8c6e375-362e-5223-8a59-34ff63f689eb" -version = "2.46.2+0" +version = "2.47.1+0" [[deps.Glib_jll]] deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Zlib_jll"] -git-tree-sha1 = "674ff0db93fffcd11a3573986e550d66cd4fd71f" +git-tree-sha1 = "48b5d4c75b2c9078ead62e345966fa51a25c05ad" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.80.5+0" - -[[deps.GnuTLS_jll]] -deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Nettle_jll", "P11Kit_jll", "Zlib_jll"] -git-tree-sha1 = "383db7d3f900f4c1f47a8a04115b053c095e48d3" -uuid = "0951126a-58fd-58f1-b5b3-b08c7c4a876d" -version = "3.8.4+0" +version = "2.82.2+1" [[deps.Graphics]] deps = ["Colors", "LinearAlgebra", "NaNMath"] @@ -960,15 +963,15 @@ version = "1.1.3" [[deps.Graphite2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +git-tree-sha1 = "01979f9b37367603e2848ea225918a3b3861b606" uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.14+0" +version = "1.3.14+1" [[deps.GridLayoutBase]] deps = ["GeometryBasics", "InteractiveUtils", "Observables"] -git-tree-sha1 = "fc713f007cff99ff9e50accba6373624ddd33588" +git-tree-sha1 = "dc6bed05c15523624909b3953686c5f5ffa10adc" uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" -version = "0.11.0" +version = "0.11.1" [[deps.Grisu]] git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" @@ -1202,9 +1205,9 @@ version = "0.2.1+0" [[deps.KernelAbstractions]] deps = ["Adapt", "Atomix", "InteractiveUtils", "MacroTools", "PrecompileTools", "Requires", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "e73a077abc7fe798fe940deabe30ef6c66bdde52" +git-tree-sha1 = "27044736be7c5727d35fc4318d7949dee33c37b4" uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.9.29" +version = "0.9.30" weakdeps = ["EnzymeCore", "LinearAlgebra", "SparseArrays"] [deps.KernelAbstractions.extensions] @@ -1350,10 +1353,10 @@ uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" version = "1.11.0+0" [[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "ff3b4b9d35de638936a525ecd36e86a8bb919d11" uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.6.0+0" +version = "1.7.0+0" [[deps.Libgpg_error_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1369,9 +1372,9 @@ version = "1.17.0+1" [[deps.Libmount_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "0c4f9c4f1a50d8f35048fa0532dabbadf702f81e" +git-tree-sha1 = "84eef7acd508ee5b3e956a2ae51b05024181dee0" uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.40.1+0" +version = "2.40.2+0" [[deps.Libtiff_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] @@ -1381,9 +1384,9 @@ version = "4.7.0+0" [[deps.Libuuid_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807" +git-tree-sha1 = "edbf5309f9ddf1cab25afc344b1e8150b7c832f9" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.40.1+0" +version = "2.40.2+0" [[deps.LinearAlgebra]] deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] @@ -1510,9 +1513,9 @@ version = "2.28.2+1" [[deps.MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f12a29c4400ba812841c6ace3f4efbb6dbb3ba01" +git-tree-sha1 = "bc95bf4149bf535c09602e3acdf950d9b4376227" uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.4+2" +version = "10.1.4+3" [[deps.Missings]] deps = ["DataAPI"] @@ -1558,9 +1561,9 @@ version = "0.14.6" [[deps.NVTX]] deps = ["Colors", "JuliaNVTXCallbacks_jll", "Libdl", "NVTX_jll"] -git-tree-sha1 = "53046f0483375e3ed78e49190f1154fa0a4083a1" +git-tree-sha1 = "6a6f8bfaa91bb2e40ff562ab9f30dc827741daef" uuid = "5da4648a-3479-48b8-97b9-01cb529c0a1f" -version = "0.3.4" +version = "0.3.5" [[deps.NVTX_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -1586,12 +1589,6 @@ git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd" uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" version = "1.1.1" -[[deps.Nettle_jll]] -deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "eca63e3847dad608cfa6a3329b95ef674c7160b4" -uuid = "4c82536e-c426-54e4-b420-14f461c4ed8b" -version = "3.7.2+0" - [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" @@ -1640,9 +1637,9 @@ version = "0.8.1+2" [[deps.OpenMPI_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML", "Zlib_jll"] -git-tree-sha1 = "bfce6d523861a6c562721b262c0d1aaeead2647f" +git-tree-sha1 = "2dace87e14256edb1dd0724ab7ba831c779b96bd" uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "5.0.5+0" +version = "5.0.6+0" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1663,15 +1660,9 @@ uuid = "91d4177d-7536-5919-b921-800302f37372" version = "1.3.3+0" [[deps.OrderedCollections]] -git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +git-tree-sha1 = "12f1439c4f986bb868acda6ea33ebc78e19b95ad" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.3" - -[[deps.P11Kit_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "2cd396108e178f3ae8dedbd8e938a18726ab2fbf" -uuid = "c2071276-7c44-58a7-b746-946036e04d0a" -version = "0.24.1+0" +version = "1.7.0" [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] @@ -1698,9 +1689,9 @@ weakdeps = ["Requires", "TOML"] [[deps.Packing]] deps = ["GeometryBasics"] -git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501" +git-tree-sha1 = "bc5bf2ea3d5351edf285a06b0016788a121ce92c" uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566" -version = "0.5.0" +version = "0.5.1" [[deps.PaddedViews]] deps = ["OffsetArrays"] @@ -1874,9 +1865,9 @@ version = "1.3.4" [[deps.RecursiveArrayTools]] deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] -git-tree-sha1 = "6f4dca5fd8e97087a76b7ab8384d1c3086ace0b7" +git-tree-sha1 = "32f824db4e5bab64e25a12b22483a30a6b813d08" uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "3.27.3" +version = "3.27.4" [deps.RecursiveArrayTools.extensions] RecursiveArrayToolsFastBroadcastExt = "FastBroadcast" @@ -1885,6 +1876,7 @@ version = "3.27.3" RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements" RecursiveArrayToolsReverseDiffExt = ["ReverseDiff", "Zygote"] RecursiveArrayToolsSparseArraysExt = ["SparseArrays"] + RecursiveArrayToolsStructArraysExt = "StructArrays" RecursiveArrayToolsTrackerExt = "Tracker" RecursiveArrayToolsZygoteExt = "Zygote" @@ -1895,6 +1887,7 @@ version = "3.27.3" MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" @@ -1967,9 +1960,9 @@ version = "0.1.0" [[deps.SciMLBase]] deps = ["ADTypes", "Accessors", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "Expronicon", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "SciMLStructures", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface"] -git-tree-sha1 = "cacc7bc54bab8749b1fc1032c4911fe80cffb959" +git-tree-sha1 = "899468ac3c2fa6b87151cb3fa29367329017d365" uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "2.61.0" +version = "2.66.0" [deps.SciMLBase.extensions] SciMLBaseChainRulesCoreExt = "ChainRulesCore" @@ -2003,9 +1996,9 @@ weakdeps = ["SparseArrays", "StaticArraysCore"] [[deps.SciMLStructures]] deps = ["ArrayInterface"] -git-tree-sha1 = "25514a6f200219cd1073e4ff23a6324e4a7efe64" +git-tree-sha1 = "0444a37a25fab98adbd90baa806ee492a3af133a" uuid = "53ae85a6-f571-4167-b2af-e1d143709226" -version = "1.5.0" +version = "1.6.1" [[deps.Scratch]] deps = ["Dates"] @@ -2178,14 +2171,15 @@ version = "0.4.0" [[deps.StructArrays]] deps = ["ConstructionBase", "DataAPI", "Tables"] -git-tree-sha1 = "f4dc295e983502292c4c3f951dbb4e985e35b3be" +git-tree-sha1 = "9537ef82c42cdd8c5d443cbc359110cbb36bae10" uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.18" -weakdeps = ["Adapt", "GPUArraysCore", "SparseArrays", "StaticArrays"] +version = "0.6.21" +weakdeps = ["Adapt", "GPUArraysCore", "KernelAbstractions", "LinearAlgebra", "SparseArrays", "StaticArrays"] [deps.StructArrays.extensions] StructArraysAdaptExt = "Adapt" - StructArraysGPUArraysCoreExt = "GPUArraysCore" + StructArraysGPUArraysCoreExt = ["GPUArraysCore", "KernelAbstractions"] + StructArraysLinearAlgebraExt = "LinearAlgebra" StructArraysSparseArraysExt = "SparseArrays" StructArraysStaticArraysExt = "StaticArrays" @@ -2216,9 +2210,9 @@ weakdeps = ["ClimaParams"] [[deps.SymbolicIndexingInterface]] deps = ["Accessors", "ArrayInterface", "RuntimeGeneratedFunctions", "StaticArraysCore"] -git-tree-sha1 = "6c6761e08bf5a270905cdd065be633abfa1b155b" +git-tree-sha1 = "8db233b54917e474165d582bef2244fa040e0a56" uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" -version = "0.3.35" +version = "0.3.36" [[deps.TOML]] deps = ["Dates"] @@ -2304,9 +2298,9 @@ version = "0.11.1" [[deps.TimerOutputs]] deps = ["ExprTools", "Printf"] -git-tree-sha1 = "3a6f063d690135f5c1ba351412c82bae4d1402bf" +git-tree-sha1 = "d7298ebdfa1654583468a487e8e83fae9d72dac3" uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.25" +version = "0.5.26" [[deps.TranscodingStreams]] git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" @@ -2349,9 +2343,9 @@ version = "0.4.1" [[deps.Unitful]] deps = ["Dates", "LinearAlgebra", "Random"] -git-tree-sha1 = "d95fe458f26209c66a187b1114df96fd70839efd" +git-tree-sha1 = "01915bfcd62be15329c9a07235447a89d588327c" uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.21.0" +version = "1.21.1" weakdeps = ["ConstructionBase", "InverseFunctions"] [deps.Unitful.extensions] @@ -2380,9 +2374,9 @@ version = "0.2.1" [[deps.UnsafeAtomicsLLVM]] deps = ["LLVM", "UnsafeAtomics"] -git-tree-sha1 = "2d17fabcd17e67d7625ce9c531fb9f40b7c42ce4" +git-tree-sha1 = "de4287a6569bcf3a8d6201d387991a8dda25c954" uuid = "d80eeb9a-aca5-4d75-85e5-170c8b632249" -version = "0.2.1" +version = "0.2.2" [[deps.VectorInterface]] deps = ["LinearAlgebra"] @@ -2410,9 +2404,9 @@ version = "2.13.5+0" [[deps.XSLT_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc" +git-tree-sha1 = "7d1671acbe47ac88e981868a078bd6b4e27c5191" uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.41+0" +version = "1.1.42+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -2422,27 +2416,27 @@ version = "5.6.3+0" [[deps.Xorg_libX11_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +git-tree-sha1 = "9dafcee1d24c4f024e7edc92603cedba72118283" uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.8.6+0" +version = "1.8.6+1" [[deps.Xorg_libXau_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +git-tree-sha1 = "2b0e27d52ec9d8d483e2ca0b72b3cb1a8df5c27a" uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.11+0" +version = "1.0.11+1" [[deps.Xorg_libXdmcp_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +git-tree-sha1 = "02054ee01980c90297412e4c809c8694d7323af3" uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.4+0" +version = "1.1.4+1" [[deps.Xorg_libXext_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85" +git-tree-sha1 = "d7155fea91a4123ef59f42c4afb5ab3b4ca95058" uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.6+0" +version = "1.3.6+1" [[deps.Xorg_libXrender_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] @@ -2452,21 +2446,21 @@ version = "0.9.11+0" [[deps.Xorg_libpthread_stubs_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +git-tree-sha1 = "fee57a273563e273f0f53275101cd41a8153517a" uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.1+0" +version = "0.1.1+1" [[deps.Xorg_libxcb_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e" +git-tree-sha1 = "1a74296303b6524a0472a8cb12d3d87a78eb3612" uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.17.0+0" +version = "1.17.0+1" [[deps.Xorg_xtrans_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +git-tree-sha1 = "b9ead2d2bdb27330545eb14234a2e300da61232e" uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.5.0+0" +version = "1.5.0+1" [[deps.YAML]] deps = ["Base64", "Dates", "Printf", "StringEncodings"] @@ -2545,10 +2539,10 @@ uuid = "c5f90fcd-3b7e-5836-afba-fc50a0988cb2" version = "1.4.0+0" [[deps.libzip_jll]] -deps = ["Artifacts", "Bzip2_jll", "GnuTLS_jll", "JLLWrappers", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "668ac0297e6bd8f4d53dfdcd3ace71f2e00f4a35" +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "OpenSSL_jll", "XZ_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "e797fa066eba69f4c0585ffbd81bc780b5118ce2" uuid = "337d8026-41b4-5cde-a456-74a10e5b31d1" -version = "1.11.1+0" +version = "1.11.2+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] diff --git a/examples/Manifest.toml b/examples/Manifest.toml index ba93fa277f..9aedb1b950 100644 --- a/examples/Manifest.toml +++ b/examples/Manifest.toml @@ -1,6 +1,6 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.10.5" +julia_version = "1.10.7" manifest_format = "2.0" project_hash = "13bc74579bbfd1b4bab2e5d6cddd05f9a01dba06" @@ -33,9 +33,9 @@ version = "0.4.5" [[deps.Accessors]] deps = ["CompositionsBase", "ConstructionBase", "InverseFunctions", "LinearAlgebra", "MacroTools", "Markdown"] -git-tree-sha1 = "b392ede862e506d451fc1616e79aa6f4c673dab8" +git-tree-sha1 = "96bed9b1b57cf750cca50c311a197e306816a1cc" uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" -version = "0.1.38" +version = "0.1.39" [deps.Accessors.extensions] AccessorsAxisKeysExt = "AxisKeys" @@ -127,9 +127,9 @@ version = "7.17.1" [[deps.ArrayLayouts]] deps = ["FillArrays", "LinearAlgebra"] -git-tree-sha1 = "492681bc44fac86804706ddb37da10880a2bd528" +git-tree-sha1 = "2bf6e01f453284cb61c312836b4680331ddfc44b" uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" -version = "1.10.4" +version = "1.11.0" weakdeps = ["SparseArrays"] [deps.ArrayLayouts.extensions] @@ -152,9 +152,19 @@ version = "0.1.7" [[deps.Atomix]] deps = ["UnsafeAtomics"] -git-tree-sha1 = "c06a868224ecba914baa6942988e2f2aade419be" +git-tree-sha1 = "14e254ef74e44cd6ed27fbb751d4e1f9bbf085cc" uuid = "a9b6321e-bd34-4604-b9c9-b65b8de01458" -version = "0.1.0" +version = "1.0.0" + + [deps.Atomix.extensions] + AtomixCUDAExt = "CUDA" + AtomixMetalExt = "Metal" + AtomixoneAPIExt = "oneAPI" + + [deps.Atomix.weakdeps] + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + Metal = "dde4c033-4e86-420c-a63e-0dd931031962" + oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b" [[deps.Automa]] deps = ["PrecompileTools", "SIMD", "TranscodingStreams"] @@ -182,9 +192,9 @@ version = "0.5.0" [[deps.BandedMatrices]] deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "PrecompileTools"] -git-tree-sha1 = "a2c85f53ddcb15b4099da59867868bd40f005579" +git-tree-sha1 = "2a81cc8adf470ac6bd87eef3ca3d194d08a8754c" uuid = "aae01518-5342-5314-be14-df237901396f" -version = "1.7.5" +version = "1.8.0" weakdeps = ["SparseArrays"] [deps.BandedMatrices.extensions] @@ -201,9 +211,9 @@ version = "0.1.6" [[deps.BlockArrays]] deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra"] -git-tree-sha1 = "62551a412126a8c979febd1a05a986928719639e" +git-tree-sha1 = "b406207917260364a2e0287b42e4c6772cb9db88" uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" -version = "1.2.0" +version = "1.3.0" weakdeps = ["BandedMatrices"] [deps.BlockArrays.extensions] @@ -418,9 +428,9 @@ version = "0.7.38" [[deps.ClimaUtilities]] deps = ["Artifacts", "ClimaComms", "Dates"] -git-tree-sha1 = "ae6e4d3223ecb29d3f3d9c5f82b622bae12f3bff" +git-tree-sha1 = "cd699551a7c9f721363bbf92b2c61c436b1a3959" uuid = "b3f4f4ca-9299-4f7f-bd9b-81e1242a7513" -version = "0.1.19" +version = "0.1.20" weakdeps = ["Adapt", "CUDA", "ClimaCore", "ClimaCoreTempestRemap", "Interpolations", "NCDatasets"] [deps.ClimaUtilities.extensions] @@ -718,9 +728,9 @@ uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" version = "1.0.4" [[deps.EnzymeCore]] -git-tree-sha1 = "2c366bfe21936e8f44b607eb86a1f4c110f0d841" +git-tree-sha1 = "0cdb7af5c39e92d78a0ee8d0a447d32f7593137e" uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" -version = "0.8.7" +version = "0.8.8" weakdeps = ["Adapt"] [deps.EnzymeCore.extensions] @@ -739,9 +749,9 @@ version = "2.2.5" [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cc5231d52eb1771251fbd37171dbc408bcc8a1b6" +git-tree-sha1 = "e51db81749b0777b2147fbe7b783ee79045b8e99" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.6.4+0" +version = "2.6.4+1" [[deps.ExprTools]] git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" @@ -900,9 +910,9 @@ version = "4.1.1" [[deps.FreeType2_jll]] deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "fa8e19f44de37e225aa0f1695bc223b05ed51fb4" +git-tree-sha1 = "786e968a8d2fb167f2e4880baba62e0e26bd8e4e" uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.13.3+0" +version = "2.13.3+1" [[deps.FreeTypeAbstraction]] deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] @@ -991,9 +1001,9 @@ 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 = "b36c7e110080ae48fdef61b0c31e6b17ada23b33" +git-tree-sha1 = "48b5d4c75b2c9078ead62e345966fa51a25c05ad" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.82.2+0" +version = "2.82.2+1" [[deps.Glob]] git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" @@ -1268,9 +1278,9 @@ version = "0.2.1+0" [[deps.KernelAbstractions]] deps = ["Adapt", "Atomix", "InteractiveUtils", "MacroTools", "PrecompileTools", "Requires", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "e73a077abc7fe798fe940deabe30ef6c66bdde52" +git-tree-sha1 = "27044736be7c5727d35fc4318d7949dee33c37b4" uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.9.29" +version = "0.9.30" weakdeps = ["EnzymeCore", "LinearAlgebra", "SparseArrays"] [deps.KernelAbstractions.extensions] @@ -1414,10 +1424,10 @@ uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" version = "1.11.0+0" [[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "ff3b4b9d35de638936a525ecd36e86a8bb919d11" uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.6.0+0" +version = "1.7.0+0" [[deps.Libgpg_error_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -2093,9 +2103,9 @@ version = "0.1.0" [[deps.SciMLBase]] deps = ["ADTypes", "Accessors", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "Expronicon", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "SciMLStructures", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface"] -git-tree-sha1 = "6f156f48d3603e8023e59917547b141218f2656d" +git-tree-sha1 = "899468ac3c2fa6b87151cb3fa29367329017d365" uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "2.64.0" +version = "2.66.0" [deps.SciMLBase.extensions] SciMLBaseChainRulesCoreExt = "ChainRulesCore" @@ -2342,9 +2352,9 @@ weakdeps = ["ClimaParams"] [[deps.SymbolicIndexingInterface]] deps = ["Accessors", "ArrayInterface", "RuntimeGeneratedFunctions", "StaticArraysCore"] -git-tree-sha1 = "6c6761e08bf5a270905cdd065be633abfa1b155b" +git-tree-sha1 = "8db233b54917e474165d582bef2244fa040e0a56" uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" -version = "0.3.35" +version = "0.3.36" [[deps.TOML]] deps = ["Dates"] @@ -2424,9 +2434,9 @@ version = "0.11.1" [[deps.TimerOutputs]] deps = ["ExprTools", "Printf"] -git-tree-sha1 = "3a6f063d690135f5c1ba351412c82bae4d1402bf" +git-tree-sha1 = "d7298ebdfa1654583468a487e8e83fae9d72dac3" uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.25" +version = "0.5.26" [[deps.TranscodingStreams]] git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" @@ -2464,9 +2474,9 @@ version = "0.4.1" [[deps.Unitful]] deps = ["Dates", "LinearAlgebra", "Random"] -git-tree-sha1 = "d95fe458f26209c66a187b1114df96fd70839efd" +git-tree-sha1 = "01915bfcd62be15329c9a07235447a89d588327c" uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.21.0" +version = "1.21.1" weakdeps = ["ConstructionBase", "InverseFunctions"] [deps.Unitful.extensions] @@ -2495,9 +2505,9 @@ version = "0.2.1" [[deps.UnsafeAtomicsLLVM]] deps = ["LLVM", "UnsafeAtomics"] -git-tree-sha1 = "2d17fabcd17e67d7625ce9c531fb9f40b7c42ce4" +git-tree-sha1 = "de4287a6569bcf3a8d6201d387991a8dda25c954" uuid = "d80eeb9a-aca5-4d75-85e5-170c8b632249" -version = "0.2.1" +version = "0.2.2" [[deps.VTKBase]] git-tree-sha1 = "c2d0db3ef09f1942d08ea455a9e252594be5f3b6" @@ -2548,9 +2558,9 @@ version = "5.6.3+0" [[deps.Xorg_libX11_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +git-tree-sha1 = "9dafcee1d24c4f024e7edc92603cedba72118283" uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.8.6+0" +version = "1.8.6+1" [[deps.Xorg_libXau_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -2566,9 +2576,9 @@ version = "1.1.4+1" [[deps.Xorg_libXext_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85" +git-tree-sha1 = "d7155fea91a4123ef59f42c4afb5ab3b4ca95058" uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.6+0" +version = "1.3.6+1" [[deps.Xorg_libXrender_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] @@ -2584,9 +2594,9 @@ version = "0.1.1+1" [[deps.Xorg_libxcb_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e" +git-tree-sha1 = "1a74296303b6524a0472a8cb12d3d87a78eb3612" uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.17.0+0" +version = "1.17.0+1" [[deps.Xorg_xtrans_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] diff --git a/perf/Manifest.toml b/perf/Manifest.toml index bcd287a7ba..4ba87b1cc6 100644 --- a/perf/Manifest.toml +++ b/perf/Manifest.toml @@ -1,13 +1,13 @@ # This file is machine-generated - editing it directly is not advised -julia_version = "1.10.6" +julia_version = "1.10.7" manifest_format = "2.0" project_hash = "2f611439b5493d24cc947b54f198bca09f559d40" [[deps.ADTypes]] -git-tree-sha1 = "30bb95a372787af850addf28ac937f1be7b79173" +git-tree-sha1 = "72af59f5b8f09faee36b4ec48e014a79210f2f4f" uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" -version = "1.10.0" +version = "1.11.0" weakdeps = ["ChainRulesCore", "ConstructionBase", "EnzymeCore"] [deps.ADTypes.extensions] @@ -33,9 +33,9 @@ version = "0.4.5" [[deps.Accessors]] deps = ["CompositionsBase", "ConstructionBase", "InverseFunctions", "LinearAlgebra", "MacroTools", "Markdown"] -git-tree-sha1 = "b392ede862e506d451fc1616e79aa6f4c673dab8" +git-tree-sha1 = "96bed9b1b57cf750cca50c311a197e306816a1cc" uuid = "7d9f7c33-5ae7-4f3b-8dc6-eff91059b697" -version = "0.1.38" +version = "0.1.39" [deps.Accessors.extensions] AccessorsAxisKeysExt = "AxisKeys" @@ -79,9 +79,9 @@ version = "1.1.3" [[deps.Animations]] deps = ["Colors"] -git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" +git-tree-sha1 = "e092fa223bf66a3c41f9c022bd074d916dc303e7" uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" -version = "0.4.1" +version = "0.4.2" [[deps.ArgParse]] deps = ["Logging", "TextWrap"] @@ -95,9 +95,9 @@ version = "1.1.1" [[deps.ArrayInterface]] deps = ["Adapt", "LinearAlgebra"] -git-tree-sha1 = "d60a1922358aa203019b7857a2c8c37329b8736c" +git-tree-sha1 = "d5140b60b87473df18cf4fe66382b7c3596df047" uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.17.0" +version = "7.17.1" [deps.ArrayInterface.extensions] ArrayInterfaceBandedMatricesExt = "BandedMatrices" @@ -127,9 +127,9 @@ version = "7.17.0" [[deps.ArrayLayouts]] deps = ["FillArrays", "LinearAlgebra"] -git-tree-sha1 = "492681bc44fac86804706ddb37da10880a2bd528" +git-tree-sha1 = "2bf6e01f453284cb61c312836b4680331ddfc44b" uuid = "4c555306-a7a7-4459-81d9-ec55ddd5c99a" -version = "1.10.4" +version = "1.11.0" weakdeps = ["SparseArrays"] [deps.ArrayLayouts.extensions] @@ -152,9 +152,19 @@ version = "0.1.7" [[deps.Atomix]] deps = ["UnsafeAtomics"] -git-tree-sha1 = "c06a868224ecba914baa6942988e2f2aade419be" +git-tree-sha1 = "14e254ef74e44cd6ed27fbb751d4e1f9bbf085cc" uuid = "a9b6321e-bd34-4604-b9c9-b65b8de01458" -version = "0.1.0" +version = "1.0.0" + + [deps.Atomix.extensions] + AtomixCUDAExt = "CUDA" + AtomixMetalExt = "Metal" + AtomixoneAPIExt = "oneAPI" + + [deps.Atomix.weakdeps] + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + Metal = "dde4c033-4e86-420c-a63e-0dd931031962" + oneAPI = "8f75cd03-7ff8-4ecb-9b8f-daf728133b1b" [[deps.Automa]] deps = ["PrecompileTools", "SIMD", "TranscodingStreams"] @@ -182,9 +192,9 @@ version = "0.5.0" [[deps.BandedMatrices]] deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra", "PrecompileTools"] -git-tree-sha1 = "a2c85f53ddcb15b4099da59867868bd40f005579" +git-tree-sha1 = "2a81cc8adf470ac6bd87eef3ca3d194d08a8754c" uuid = "aae01518-5342-5314-be14-df237901396f" -version = "1.7.5" +version = "1.8.0" weakdeps = ["SparseArrays"] [deps.BandedMatrices.extensions] @@ -207,9 +217,9 @@ version = "0.1.6" [[deps.BlockArrays]] deps = ["ArrayLayouts", "FillArrays", "LinearAlgebra"] -git-tree-sha1 = "d434647f798823bcae510aee0bc0401927f64391" +git-tree-sha1 = "b406207917260364a2e0287b42e4c6772cb9db88" uuid = "8e7c35d0-a365-5155-bbbb-fb81a777f24e" -version = "1.1.1" +version = "1.3.0" weakdeps = ["BandedMatrices"] [deps.BlockArrays.extensions] @@ -278,9 +288,9 @@ weakdeps = ["ChainRulesCore", "EnzymeCore", "SpecialFunctions"] [[deps.CUDA_Driver_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ccd1e54610c222fadfd4737dac66bff786f63656" +git-tree-sha1 = "14996d716a2eaaeccfc8d7bc854dd87fde720ac1" uuid = "4ee394cb-3365-5eb0-8335-949819d2adfc" -version = "0.10.3+0" +version = "0.10.4+0" [[deps.CUDA_Runtime_Discovery]] deps = ["Libdl"] @@ -290,9 +300,9 @@ version = "0.3.5" [[deps.CUDA_Runtime_jll]] deps = ["Artifacts", "CUDA_Driver_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "TOML"] -git-tree-sha1 = "ed8a056a88f5b852df94046060f6770a57334728" +git-tree-sha1 = "17f1536c600133f7c4113bae0a2d98dbf27c7ebc" uuid = "76a88914-d11a-5bdc-97e0-2f5a05c973a2" -version = "0.15.4+0" +version = "0.15.5+0" [[deps.Cairo]] deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] @@ -323,18 +333,18 @@ weakdeps = ["SparseArrays"] ChainRulesCoreSparseArraysExt = "SparseArrays" [[deps.ClimaAnalysis]] -deps = ["NCDatasets", "OrderedCollections", "Reexport", "Statistics"] -git-tree-sha1 = "8e11ef61b19226e8f3bd63004bed583bb1a4d107" +deps = ["Dates", "Interpolations", "NCDatasets", "NaNStatistics", "OrderedCollections", "Reexport", "Statistics"] +git-tree-sha1 = "e13d742cd5a5ad287cf72ab22cb0927780cfe596" uuid = "29b5916a-a76c-4e73-9657-3c8fd22e65e6" -version = "0.5.6" +version = "0.5.7" [deps.ClimaAnalysis.extensions] - CairoMakieExt = "CairoMakie" GeoMakieExt = "GeoMakie" + MakieExt = "Makie" [deps.ClimaAnalysis.weakdeps] - CairoMakie = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" GeoMakie = "db073c08-6b98-4ee5-b6a4-5efafb3259c6" + Makie = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" [[deps.ClimaAtmos]] deps = ["ArgParse", "ArtifactWrappers", "Artifacts", "AtmosphericProfilesLibrary", "ClimaComms", "ClimaCore", "ClimaDiagnostics", "ClimaParams", "ClimaTimeSteppers", "ClimaUtilities", "CloudMicrophysics", "Dates", "DiffEqBase", "FastGaussQuadrature", "Insolation", "Interpolations", "LazyArtifacts", "LinearAlgebra", "Logging", "NCDatasets", "NVTX", "RRTMGP", "Random", "SciMLBase", "StaticArrays", "Statistics", "SurfaceFluxes", "Thermodynamics", "UnrolledUtilities", "YAML"] @@ -416,15 +426,14 @@ weakdeps = ["BenchmarkTools", "CUDA", "OrderedCollections", "PrettyTables", "Sta ClimaTimeSteppersBenchmarkToolsExt = ["CUDA", "BenchmarkTools", "OrderedCollections", "StatsBase", "PrettyTables"] [[deps.ClimaUtilities]] -deps = ["Artifacts", "Dates"] -git-tree-sha1 = "f99f60059af1de49a24d16049dfa8d65e3d3907d" +deps = ["Artifacts", "ClimaComms", "Dates"] +git-tree-sha1 = "cd699551a7c9f721363bbf92b2c61c436b1a3959" uuid = "b3f4f4ca-9299-4f7f-bd9b-81e1242a7513" -version = "0.1.18" -weakdeps = ["Adapt", "CUDA", "ClimaComms", "ClimaCore", "ClimaCoreTempestRemap", "Interpolations", "NCDatasets"] +version = "0.1.20" +weakdeps = ["Adapt", "CUDA", "ClimaCore", "ClimaCoreTempestRemap", "Interpolations", "NCDatasets"] [deps.ClimaUtilities.extensions] - ClimaUtilitiesClimaCommsCUDAExt = ["ClimaComms", "CUDA"] - ClimaUtilitiesClimaCommsExt = "ClimaComms" + ClimaUtilitiesCUDAExt = "CUDA" ClimaUtilitiesClimaCoreExt = "ClimaCore" ClimaUtilitiesClimaCoreInterpolationsExt = ["ClimaCore", "Interpolations"] ClimaUtilitiesClimaCoreNCDatasetsExt = ["ClimaCore", "NCDatasets"] @@ -439,9 +448,9 @@ version = "0.1.13" [[deps.CloudMicrophysics]] deps = ["ClimaParams", "DocStringExtensions", "ForwardDiff", "HCubature", "LazyArtifacts", "QuadGK", "RootSolvers", "SpecialFunctions", "Thermodynamics"] -git-tree-sha1 = "8f93d0c730dd4f41fade18a1954abf1eb5ac69ce" +git-tree-sha1 = "e3b2ae212b68aea23d11c03300abb1268a56af87" uuid = "6a9e3e04-43cd-43ba-94b9-e8782df3c71b" -version = "0.22.4" +version = "0.22.5" [deps.CloudMicrophysics.extensions] EmulatorModelsExt = ["DataFrames", "MLJ"] @@ -612,10 +621,10 @@ deps = ["Printf"] uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" [[deps.DelaunayTriangulation]] -deps = ["AdaptivePredicates", "EnumX", "ExactPredicates", "PrecompileTools", "Random"] -git-tree-sha1 = "89df54fbe66e5872d91d8c2cd3a375f660c3fd64" +deps = ["AdaptivePredicates", "EnumX", "ExactPredicates", "Random"] +git-tree-sha1 = "e1371a23fd9816080c828d0ce04373857fe73d33" uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" -version = "1.6.1" +version = "1.6.3" [[deps.DelimitedFiles]] deps = ["Mmap"] @@ -659,9 +668,9 @@ version = "6.160.0" [[deps.DiffEqNoiseProcess]] deps = ["DiffEqBase", "Distributions", "GPUArraysCore", "LinearAlgebra", "Markdown", "Optim", "PoissonRandom", "QuadGK", "Random", "Random123", "RandomNumbers", "RecipesBase", "RecursiveArrayTools", "ResettableStacks", "SciMLBase", "StaticArraysCore", "Statistics"] -git-tree-sha1 = "ab1e6515ce15f01316a9825b02729fefa51726bd" +git-tree-sha1 = "880d1fcf95e6492a4e7d65c2866dbdbf6580d4f8" uuid = "77a26b50-5914-5dd7-bc55-306e6241c503" -version = "5.23.0" +version = "5.24.0" [deps.DiffEqNoiseProcess.extensions] DiffEqNoiseProcessReverseDiffExt = "ReverseDiff" @@ -730,9 +739,9 @@ uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" version = "1.0.4" [[deps.EnzymeCore]] -git-tree-sha1 = "e333ffd38ecffcf5c6c2dafd10788404ac46fb9f" +git-tree-sha1 = "0cdb7af5c39e92d78a0ee8d0a447d32f7593137e" uuid = "f151be2c-9106-41f4-ab19-57ee4f262869" -version = "0.8.6" +version = "0.8.8" weakdeps = ["Adapt"] [deps.EnzymeCore.extensions] @@ -751,9 +760,9 @@ version = "2.2.5" [[deps.Expat_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cc5231d52eb1771251fbd37171dbc408bcc8a1b6" +git-tree-sha1 = "e51db81749b0777b2147fbe7b783ee79045b8e99" uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.6.4+0" +version = "2.6.4+1" [[deps.ExprTools]] git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" @@ -835,9 +844,15 @@ version = "0.3.1" [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "91e0e5c68d02bcdaae76d3c8ceb4361e8f28d2e9" +git-tree-sha1 = "2dd20384bf8c6d411b5c7370865b1e9b26cb2ea3" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.5" +version = "1.16.6" + + [deps.FileIO.extensions] + HTTPExt = "HTTP" + + [deps.FileIO.weakdeps] + HTTP = "cd3eb016-35fb-5094-929b-558a96fad6f3" [[deps.FilePaths]] deps = ["FilePathsBase", "MacroTools", "Reexport", "Requires"] @@ -873,9 +888,9 @@ weakdeps = ["PDMats", "SparseArrays", "Statistics"] [[deps.FiniteDiff]] deps = ["ArrayInterface", "LinearAlgebra", "Setfield"] -git-tree-sha1 = "b10bdafd1647f57ace3885143936749d61638c3b" +git-tree-sha1 = "84e3a47db33be7248daa6274b287507dd6ff84e8" uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.26.0" +version = "2.26.2" [deps.FiniteDiff.extensions] FiniteDiffBandedMatricesExt = "BandedMatrices" @@ -930,15 +945,15 @@ version = "4.1.1" [[deps.FreeType2_jll]] deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "5c1d8ae0efc6c2e7b1fc502cbe25def8f661b7bc" +git-tree-sha1 = "786e968a8d2fb167f2e4880baba62e0e26bd8e4e" uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.13.2+0" +version = "2.13.3+1" [[deps.FreeTypeAbstraction]] deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] -git-tree-sha1 = "77e2b094e61d939f9626181ab23d0b76e78f9fd3" +git-tree-sha1 = "d52e255138ac21be31fa633200b65e4e71d26802" uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" -version = "0.10.5" +version = "0.10.6" [[deps.FriBidi_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -961,11 +976,6 @@ version = "0.1.3" deps = ["Random"] uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" -[[deps.GMP_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "781609d7-10c4-51f6-84f2-b8444358ff6d" -version = "6.2.1+6" - [[deps.GPUArrays]] deps = ["Adapt", "GPUArraysCore", "LLVM", "LinearAlgebra", "Printf", "Random", "Reexport", "Serialization", "Statistics"] git-tree-sha1 = "62ee71528cca49be797076a76bdc654a170a523e" @@ -1026,21 +1036,15 @@ 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 = "674ff0db93fffcd11a3573986e550d66cd4fd71f" +git-tree-sha1 = "48b5d4c75b2c9078ead62e345966fa51a25c05ad" uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.80.5+0" +version = "2.82.2+1" [[deps.Glob]] git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" version = "1.3.1" -[[deps.GnuTLS_jll]] -deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Nettle_jll", "P11Kit_jll", "Zlib_jll"] -git-tree-sha1 = "383db7d3f900f4c1f47a8a04115b053c095e48d3" -uuid = "0951126a-58fd-58f1-b5b3-b08c7c4a876d" -version = "3.8.4+0" - [[deps.Graphics]] deps = ["Colors", "LinearAlgebra", "NaNMath"] git-tree-sha1 = "a641238db938fff9b2f60d08ed9030387daf428c" @@ -1049,9 +1053,9 @@ version = "1.1.3" [[deps.Graphite2_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +git-tree-sha1 = "01979f9b37367603e2848ea225918a3b3861b606" uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.14+0" +version = "1.3.14+1" [[deps.Graphviz_jll]] deps = ["Artifacts", "Cairo_jll", "Expat_jll", "JLLWrappers", "Libdl", "Pango_jll", "Pkg"] @@ -1275,9 +1279,9 @@ version = "0.9.12" [[deps.JLD2]] deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "Requires", "TranscodingStreams"] -git-tree-sha1 = "ce5737c0d4490b0e0040b5dc77fbb6a351ddf188" +git-tree-sha1 = "f1a1c1037af2a4541ea186b26b0c0e7eeaad232b" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.5.8" +version = "0.5.10" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] @@ -1305,9 +1309,9 @@ version = "3.0.4+0" [[deps.JuliaInterpreter]] deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] -git-tree-sha1 = "fc8504eca188aaae4345649ca6105806bc584b70" +git-tree-sha1 = "10da5154188682e5c0726823c2b5125957ec3778" uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" -version = "0.9.37" +version = "0.9.38" [[deps.JuliaNVTXCallbacks_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -1317,9 +1321,9 @@ version = "0.2.1+0" [[deps.KernelAbstractions]] deps = ["Adapt", "Atomix", "InteractiveUtils", "MacroTools", "PrecompileTools", "Requires", "StaticArrays", "UUIDs", "UnsafeAtomics", "UnsafeAtomicsLLVM"] -git-tree-sha1 = "e73a077abc7fe798fe940deabe30ef6c66bdde52" +git-tree-sha1 = "27044736be7c5727d35fc4318d7949dee33c37b4" uuid = "63c18a36-062a-441e-b654-da1e3ab1ce7c" -version = "0.9.29" +version = "0.9.30" weakdeps = ["EnzymeCore", "LinearAlgebra", "SparseArrays"] [deps.KernelAbstractions.extensions] @@ -1469,10 +1473,10 @@ uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" version = "1.11.0+0" [[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "ff3b4b9d35de638936a525ecd36e86a8bb919d11" uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.6.0+0" +version = "1.7.0+0" [[deps.Libgpg_error_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1488,9 +1492,9 @@ version = "1.17.0+1" [[deps.Libmount_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "0c4f9c4f1a50d8f35048fa0532dabbadf702f81e" +git-tree-sha1 = "84eef7acd508ee5b3e956a2ae51b05024181dee0" uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.40.1+0" +version = "2.40.2+0" [[deps.Libtiff_jll]] deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] @@ -1500,9 +1504,9 @@ version = "4.7.0+0" [[deps.Libuuid_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "5ee6203157c120d79034c748a2acba45b82b8807" +git-tree-sha1 = "edbf5309f9ddf1cab25afc344b1e8150b7c832f9" uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.40.1+0" +version = "2.40.2+0" [[deps.LightXML]] deps = ["Libdl", "XML2_jll"] @@ -1563,9 +1567,9 @@ uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" [[deps.LoweredCodeUtils]] deps = ["JuliaInterpreter"] -git-tree-sha1 = "260dc274c1bc2cb839e758588c63d9c8b5e639d1" +git-tree-sha1 = "688d6d9e098109051ae33d126fcfc88c4ce4a021" uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" -version = "3.0.5" +version = "3.1.0" [[deps.Lz4_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1661,9 +1665,9 @@ version = "2.28.2+1" [[deps.MicrosoftMPI_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f12a29c4400ba812841c6ace3f4efbb6dbb3ba01" +git-tree-sha1 = "bc95bf4149bf535c09602e3acdf950d9b4376227" uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.4+2" +version = "10.1.4+3" [[deps.Missings]] deps = ["DataAPI"] @@ -1712,9 +1716,9 @@ version = "7.8.3" [[deps.NVTX]] deps = ["Colors", "JuliaNVTXCallbacks_jll", "Libdl", "NVTX_jll"] -git-tree-sha1 = "53046f0483375e3ed78e49190f1154fa0a4083a1" +git-tree-sha1 = "6a6f8bfaa91bb2e40ff562ab9f30dc827741daef" uuid = "5da4648a-3479-48b8-97b9-01cb529c0a1f" -version = "0.3.4" +version = "0.3.5" [[deps.NVTX_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] @@ -1728,6 +1732,12 @@ git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" version = "1.0.2" +[[deps.NaNStatistics]] +deps = ["PrecompileTools", "Static", "StaticArrayInterface"] +git-tree-sha1 = "f2a685149d4e7d62865babd606092f8e89a6d8f8" +uuid = "b946abbf-3ea7-4610-9019-9858bfdeaf2d" +version = "0.6.43" + [[deps.NetCDF_jll]] deps = ["Artifacts", "Blosc_jll", "Bzip2_jll", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "OpenMPI_jll", "XML2_jll", "Zlib_jll", "Zstd_jll", "libzip_jll"] git-tree-sha1 = "a8af1798e4eb9ff768ce7fdefc0e957097793f15" @@ -1740,12 +1750,6 @@ git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd" uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" version = "1.1.1" -[[deps.Nettle_jll]] -deps = ["Artifacts", "GMP_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "eca63e3847dad608cfa6a3329b95ef674c7160b4" -uuid = "4c82536e-c426-54e4-b420-14f461c4ed8b" -version = "3.7.2+0" - [[deps.NetworkOptions]] uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" @@ -1806,9 +1810,9 @@ version = "0.8.1+2" [[deps.OpenMPI_jll]] deps = ["Artifacts", "CompilerSupportLibraries_jll", "Hwloc_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML", "Zlib_jll"] -git-tree-sha1 = "bfce6d523861a6c562721b262c0d1aaeead2647f" +git-tree-sha1 = "2dace87e14256edb1dd0724ab7ba831c779b96bd" uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "5.0.5+0" +version = "5.0.6+0" [[deps.OpenSSL_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -1841,15 +1845,9 @@ uuid = "91d4177d-7536-5919-b921-800302f37372" version = "1.3.3+0" [[deps.OrderedCollections]] -git-tree-sha1 = "dfdf5519f235516220579f949664f1bf44e741c5" +git-tree-sha1 = "12f1439c4f986bb868acda6ea33ebc78e19b95ad" uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.3" - -[[deps.P11Kit_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "2cd396108e178f3ae8dedbd8e938a18726ab2fbf" -uuid = "c2071276-7c44-58a7-b746-946036e04d0a" -version = "0.24.1+0" +version = "1.7.0" [[deps.PCRE2_jll]] deps = ["Artifacts", "Libdl"] @@ -1882,9 +1880,9 @@ weakdeps = ["Requires", "TOML"] [[deps.Packing]] deps = ["GeometryBasics"] -git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501" +git-tree-sha1 = "bc5bf2ea3d5351edf285a06b0016788a121ce92c" uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566" -version = "0.5.0" +version = "0.5.1" [[deps.PaddedViews]] deps = ["OffsetArrays"] @@ -2113,9 +2111,9 @@ version = "1.3.4" [[deps.RecursiveArrayTools]] deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] -git-tree-sha1 = "6f4dca5fd8e97087a76b7ab8384d1c3086ace0b7" +git-tree-sha1 = "32f824db4e5bab64e25a12b22483a30a6b813d08" uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "3.27.3" +version = "3.27.4" [deps.RecursiveArrayTools.extensions] RecursiveArrayToolsFastBroadcastExt = "FastBroadcast" @@ -2124,6 +2122,7 @@ version = "3.27.3" RecursiveArrayToolsMonteCarloMeasurementsExt = "MonteCarloMeasurements" RecursiveArrayToolsReverseDiffExt = ["ReverseDiff", "Zygote"] RecursiveArrayToolsSparseArraysExt = ["SparseArrays"] + RecursiveArrayToolsStructArraysExt = "StructArrays" RecursiveArrayToolsTrackerExt = "Tracker" RecursiveArrayToolsZygoteExt = "Zygote" @@ -2134,6 +2133,7 @@ version = "3.27.3" MonteCarloMeasurements = "0987c9cc-fe09-11e8-30f0-b96dd679fdca" ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + StructArrays = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" @@ -2206,9 +2206,9 @@ version = "0.1.0" [[deps.SciMLBase]] deps = ["ADTypes", "Accessors", "ArrayInterface", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "Expronicon", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "Printf", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "SciMLStructures", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface"] -git-tree-sha1 = "cacc7bc54bab8749b1fc1032c4911fe80cffb959" +git-tree-sha1 = "899468ac3c2fa6b87151cb3fa29367329017d365" uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "2.61.0" +version = "2.66.0" [deps.SciMLBase.extensions] SciMLBaseChainRulesCoreExt = "ChainRulesCore" @@ -2242,9 +2242,9 @@ weakdeps = ["SparseArrays", "StaticArraysCore"] [[deps.SciMLStructures]] deps = ["ArrayInterface"] -git-tree-sha1 = "25514a6f200219cd1073e4ff23a6324e4a7efe64" +git-tree-sha1 = "0444a37a25fab98adbd90baa806ee492a3af133a" uuid = "53ae85a6-f571-4167-b2af-e1d143709226" -version = "1.5.0" +version = "1.6.1" [[deps.Scratch]] deps = ["Dates"] @@ -2479,9 +2479,9 @@ weakdeps = ["ClimaParams"] [[deps.SymbolicIndexingInterface]] deps = ["Accessors", "ArrayInterface", "RuntimeGeneratedFunctions", "StaticArraysCore"] -git-tree-sha1 = "6c6761e08bf5a270905cdd065be633abfa1b155b" +git-tree-sha1 = "8db233b54917e474165d582bef2244fa040e0a56" uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" -version = "0.3.35" +version = "0.3.36" [[deps.TOML]] deps = ["Dates"] @@ -2561,9 +2561,9 @@ version = "0.11.1" [[deps.TimerOutputs]] deps = ["ExprTools", "Printf"] -git-tree-sha1 = "3a6f063d690135f5c1ba351412c82bae4d1402bf" +git-tree-sha1 = "d7298ebdfa1654583468a487e8e83fae9d72dac3" uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.25" +version = "0.5.26" [[deps.TranscodingStreams]] git-tree-sha1 = "0c45878dcfdcfa8480052b6ab162cdd138781742" @@ -2626,9 +2626,9 @@ version = "0.2.1" [[deps.UnsafeAtomicsLLVM]] deps = ["LLVM", "UnsafeAtomics"] -git-tree-sha1 = "2d17fabcd17e67d7625ce9c531fb9f40b7c42ce4" +git-tree-sha1 = "de4287a6569bcf3a8d6201d387991a8dda25c954" uuid = "d80eeb9a-aca5-4d75-85e5-170c8b632249" -version = "0.2.1" +version = "0.2.2" [[deps.VTKBase]] git-tree-sha1 = "c2d0db3ef09f1942d08ea455a9e252594be5f3b6" @@ -2667,9 +2667,9 @@ version = "2.13.5+0" [[deps.XSLT_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "a54ee957f4c86b526460a720dbc882fa5edcbefc" +git-tree-sha1 = "7d1671acbe47ac88e981868a078bd6b4e27c5191" uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.41+0" +version = "1.1.42+0" [[deps.XZ_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] @@ -2679,27 +2679,27 @@ version = "5.6.3+0" [[deps.Xorg_libX11_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +git-tree-sha1 = "9dafcee1d24c4f024e7edc92603cedba72118283" uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.8.6+0" +version = "1.8.6+1" [[deps.Xorg_libXau_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +git-tree-sha1 = "2b0e27d52ec9d8d483e2ca0b72b3cb1a8df5c27a" uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.11+0" +version = "1.0.11+1" [[deps.Xorg_libXdmcp_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +git-tree-sha1 = "02054ee01980c90297412e4c809c8694d7323af3" uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.4+0" +version = "1.1.4+1" [[deps.Xorg_libXext_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "d2d1a5c49fae4ba39983f63de6afcbea47194e85" +git-tree-sha1 = "d7155fea91a4123ef59f42c4afb5ab3b4ca95058" uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.6+0" +version = "1.3.6+1" [[deps.Xorg_libXrender_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] @@ -2709,21 +2709,21 @@ version = "0.9.11+0" [[deps.Xorg_libpthread_stubs_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +git-tree-sha1 = "fee57a273563e273f0f53275101cd41a8153517a" uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.1+0" +version = "0.1.1+1" [[deps.Xorg_libxcb_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "bcd466676fef0878338c61e655629fa7bbc69d8e" +git-tree-sha1 = "1a74296303b6524a0472a8cb12d3d87a78eb3612" uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.17.0+0" +version = "1.17.0+1" [[deps.Xorg_xtrans_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +git-tree-sha1 = "b9ead2d2bdb27330545eb14234a2e300da61232e" uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.5.0+0" +version = "1.5.0+1" [[deps.YAML]] deps = ["Base64", "Dates", "Printf", "StringEncodings"] @@ -2808,10 +2808,10 @@ uuid = "c5f90fcd-3b7e-5836-afba-fc50a0988cb2" version = "1.4.0+0" [[deps.libzip_jll]] -deps = ["Artifacts", "Bzip2_jll", "GnuTLS_jll", "JLLWrappers", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "668ac0297e6bd8f4d53dfdcd3ace71f2e00f4a35" +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "OpenSSL_jll", "XZ_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "e797fa066eba69f4c0585ffbd81bc780b5118ce2" uuid = "337d8026-41b4-5cde-a456-74a10e5b31d1" -version = "1.11.1+0" +version = "1.11.2+0" [[deps.nghttp2_jll]] deps = ["Artifacts", "Libdl"] diff --git a/src/cache/cache.jl b/src/cache/cache.jl index 6aecd88e95..2dc4215a18 100644 --- a/src/cache/cache.jl +++ b/src/cache/cache.jl @@ -1,7 +1,5 @@ struct AtmosCache{ FT <: AbstractFloat, - FTE, - WTE, AM, NUM, CAP, @@ -28,12 +26,6 @@ struct AtmosCache{ """Timestep of the simulation (in seconds). This is also used by callbacks and tendencies""" dt::FT - """End time of the simulation (in seconds). This used by callbacks""" - t_end::FTE - - """Walltime estimate""" - walltime_estimate::WTE - """AtmosModel""" atmos::AM @@ -98,7 +90,7 @@ end # The model also depends on f_plane_coriolis_frequency(params) # This is a constant Coriolis frequency that is only used if space is flat function build_cache(Y, atmos, params, surface_setup, sim_info, aerosol_names) - (; dt, t_end, start_date) = sim_info + (; dt, start_date, output_dir) = sim_info FT = eltype(params) ᶜcoord = Fields.local_geometry_field(Y.c).coordinates @@ -180,8 +172,6 @@ function build_cache(Y, atmos, params, surface_setup, sim_info, aerosol_names) args = ( dt, - t_end, - WallTimeEstimate(), atmos, numerics, params, diff --git a/src/callbacks/callback_helpers.jl b/src/callbacks/callback_helpers.jl index 74bd40f902..94474ead62 100644 --- a/src/callbacks/callback_helpers.jl +++ b/src/callbacks/callback_helpers.jl @@ -1,4 +1,5 @@ import SciMLBase + ##### ##### Callback helpers ##### @@ -109,3 +110,44 @@ end n_steps_per_cycle_per_cb_diagnostic(cbs) = [callback_frequency(cb).n for cb in cbs if callback_frequency(cb).n > 0] + + +# TODO: Move to ClimaUtilities once we move the schedules there +import ClimaDiagnostics.Schedules: AbstractSchedule + +""" + CappedGeometricSeriesSchedule(max_steps) + +True every 2^N iterations or every `max_steps`. + +This is useful to have an exponential ramp up of something that saturates to a constant +frequency. (For instance, reporting something more frequently at the beginning of the +simulation, and less frequency later) +""" +struct CappedGeometricSeriesSchedule <: AbstractSchedule + """GeometricSeriesSchedule(integrator) is true every 2^N iterations or every max_steps""" + max_steps::Int + """Last step that this returned true""" + step_last::Base.RefValue{Int} + + function CappedGeometricSeriesSchedule(max_steps; step_last = Ref(0)) + return new(max_steps, step_last) + end +end + +""" + CappedGeometricSeriesSchedule(integrator) + +Returns true if `integrator.step >= last_step + max_steps`, or when `integrator.step` is a +power of 2. `last_step` is the last step this function was true and `max_step` is maximum +allowed interval as defined in the schedule. +""" +function (schedule::CappedGeometricSeriesSchedule)(integrator)::Bool + if isinteger(log2(integrator.step)) || + integrator.step > schedule.step_last[] + schedule.max_steps + schedule.step_last[] = integrator.step + return true + else + return false + end +end diff --git a/src/callbacks/callbacks.jl b/src/callbacks/callbacks.jl index 4344298061..1334d397ae 100644 --- a/src/callbacks/callbacks.jl +++ b/src/callbacks/callbacks.jl @@ -364,98 +364,6 @@ NVTX.@annotate function save_state_to_disk_func(integrator, output_dir) return nothing end -Base.@kwdef mutable struct WallTimeEstimate - """Number of calls to the callback""" - n_calls::Int = 0 - """Int indicating next time the callback will print to the log""" - n_next::Int = 1 - """Wall time of previous call to update `WallTimeEstimate`""" - t_wall_last::Float64 = -1 - """Sum of elapsed walltime over calls to `step!`""" - ∑Δt_wall::Float64 = 0 - """Fixed increment to increase n_next by after 5% completion""" - n_fixed_increment::Float64 = -1 -end -import Dates -function print_walltime_estimate(integrator) - (; walltime_estimate, dt, t_end) = integrator.p - t_start = integrator.sol.prob.tspan[1] - wte = walltime_estimate - - # Notes on `ready_to_report` - # - The very first call (when `n_calls == 0`), there's no elapsed - # times to report (and this is called during initialization, - # before `step!` has been called). - # - The second call (`n_calls == 1`) is after `step!` is called - # for the first time, but we don't want to report this since it - # includes compilation time. - # - Calls after that (`n_calls > 1`) exclude compilation and provide - # the best wall time estimates - - ready_to_report = wte.n_calls > 1 - if ready_to_report - # We need to account for skipping cost of `Δt_wall` when `n_calls == 1`: - factor = wte.n_calls == 2 ? 2 : 1 - Δt_wall = factor * (time() - wte.t_wall_last) - else - wte.n_calls == 1 && @info "Progress: Completed first step" - Δt_wall = Float64(0) - wte.n_next = wte.n_calls + 1 - end - wte.∑Δt_wall += Δt_wall - wte.t_wall_last = time() - - if wte.n_calls == wte.n_next && ready_to_report - t = integrator.t - n_steps_total = ceil(Int, (t_end - t_start) / dt) - n_steps = ceil(Int, (t - t_start) / dt) - wall_time_ave_per_step = wte.∑Δt_wall / n_steps - wall_time_ave_per_step_str = time_and_units_str(wall_time_ave_per_step) - percent_complete = round((t - t_start) / t_end * 100; digits = 1) - n_steps_remaining = n_steps_total - n_steps - wall_time_remaining = wall_time_ave_per_step * n_steps_remaining - wall_time_remaining_str = time_and_units_str(wall_time_remaining) - wall_time_total = - time_and_units_str(wall_time_ave_per_step * n_steps_total) - wall_time_spent = time_and_units_str(wte.∑Δt_wall) - simulation_time = time_and_units_str(Float64(t)) - es = EfficiencyStats((t_start, t), wte.∑Δt_wall) - _sypd = simulated_years_per_day(es) - _sypd_str = string(round(_sypd; digits = 3)) - sypd = _sypd_str * if _sypd < 0.01 - sdpd = round(_sypd * 365, digits = 3) - " (sdpd = $sdpd)" - else - "" - end - estimated_finish_date = - Dates.now() + compound_period(wall_time_remaining, Dates.Second) - @info "Progress" simulation_time = simulation_time n_steps_completed = - n_steps wall_time_per_step = wall_time_ave_per_step_str wall_time_total = - wall_time_total wall_time_remaining = wall_time_remaining_str wall_time_spent = - wall_time_spent percent_complete = "$percent_complete%" sypd = sypd date_now = - Dates.now() estimated_finish_date = estimated_finish_date - - # the first fixed increment is equivalent to - # doubling (which puts us at 10%), so we check - # if we're below 5%. - if percent_complete < 5 - # doubling factor (to reduce log noise) - wte.n_next *= 2 - else - if wte.n_fixed_increment == -1 - wte.n_fixed_increment = wte.n_next - end - # increase by fixed increment after 10% - # completion to maintain logs after 50%. - wte.n_next += wte.n_fixed_increment - end - end - wte.n_calls += 1 - - return nothing -end - function gc_func(integrator) num_pre = Base.gc_num() alloc_since_last = (num_pre.allocd + num_pre.deferred_alloc) / 2^20 diff --git a/src/callbacks/get_callbacks.jl b/src/callbacks/get_callbacks.jl index be491a65a7..469731c03d 100644 --- a/src/callbacks/get_callbacks.jl +++ b/src/callbacks/get_callbacks.jl @@ -234,14 +234,17 @@ function get_callbacks(config, sim_info, atmos, params, Y, p, t_start) callbacks = () if parsed_args["log_progress"] - @info "Progress logging enabled." - callbacks = ( - callbacks..., - call_every_n_steps( - (integrator) -> print_walltime_estimate(integrator); - skip_first = true, - ), - ) + @info "Progress logging enabled" + walltime_info = WallTimeInfo() + tot_steps = ceil(Int, (sim_info.t_end - t_start) / dt) + five_percent_steps = ceil(Int, 0.05 * tot_steps) + cond = let schedule = CappedGeometricSeriesSchedule(five_percent_steps) + (u, t, integrator) -> schedule(integrator) + end + affect! = let wt = walltime_info + (integrator) -> report_walltime(wt, integrator) + end + callbacks = (callbacks..., SciMLBase.DiscreteCallback(cond, affect!)) end check_nan_every = parsed_args["check_nan_every"] if check_nan_every > 0 diff --git a/src/compat.jl b/src/compat.jl index 143bb888c8..03b9931e53 100644 --- a/src/compat.jl +++ b/src/compat.jl @@ -1,4 +1,5 @@ import ClimaCore +import ClimaUtilities import ClimaCore: Domains, Spaces, Topologies # To allow for backwards compatibility of ClimaCore: @@ -20,3 +21,77 @@ if pkgversion(ClimaCore) < v"0.14.18" else z_max(s::Spaces.AbstractSpace) = Spaces.z_max(s) end + +if pkgversion(ClimaUtilities) < v"0.1.20" + # From ClimaUtilities.OnlineLogging.WallTimeInfo + struct WallTimeInfo + n_calls::Base.RefValue{Int} + t_wall_last::Base.RefValue{Float64} + ∑Δt_wall::Base.RefValue{Float64} + function WallTimeInfo() + n_calls = Ref(0) + t_wall_last = Ref(-1.0) + ∑Δt_wall = Ref(0.0) + return new(n_calls, t_wall_last, ∑Δt_wall) + end + end + function _update!(wt::WallTimeInfo) + if wt.n_calls[] == 0 || wt.n_calls[] == 1 + Δt_wall = 0.0 + else + Δt_wall = time() - wt.t_wall_last[] + wt.n_calls[] == 2 && (Δt_wall = 2Δt_wall) + end + wt.n_calls[] += 1 + wt.t_wall_last[] = time() + wt.∑Δt_wall[] += Δt_wall + return nothing + end + function report_walltime(wt, integrator) + _update!(wt) + + t_start, t_end = integrator.sol.prob.tspan + dt = integrator.dt + t = integrator.t + + n_steps_total = ceil(Int, (t_end - t_start) / dt) + n_steps = ceil(Int, (t - t_start) / dt) + + wall_time_ave_per_step = wt.∑Δt_wall[] / n_steps + wall_time_ave_per_step_str = time_and_units_str(wall_time_ave_per_step) + percent_complete = round((t - t_start) / t_end * 100; digits = 1) + n_steps_remaining = n_steps_total - n_steps + wall_time_remaining = wall_time_ave_per_step * n_steps_remaining + wall_time_remaining_str = time_and_units_str(wall_time_remaining) + wall_time_total = + time_and_units_str(wall_time_ave_per_step * n_steps_total) + wall_time_spent = time_and_units_str(wt.∑Δt_wall[]) + simulation_time = time_and_units_str(Float64(t)) + + simulated_seconds_per_second = (t - t_start) / wt.∑Δt_wall[] + simulated_seconds_per_day = simulated_seconds_per_second * 86400 + simulated_days_per_day = simulated_seconds_per_day / 86400 + simulated_years_per_day = simulated_days_per_day / 365.25 + + sypd_estimate = string(round(simulated_years_per_day; digits = 3)) + if simulated_years_per_day < 0.01 + sdpd_estimate = round(simulated_days_per_day, digits = 3) + sypd_estimate *= " (sdpd_estimate = $sdpd_estimate)" + end + + estimated_finish_date = + Dates.now() + Dates.Second(ceil(wall_time_remaining)) + + @info "Progress" simulation_time = simulation_time n_steps_completed = + n_steps wall_time_per_step = wall_time_ave_per_step_str wall_time_total = + wall_time_total wall_time_remaining = wall_time_remaining_str wall_time_spent = + wall_time_spent percent_complete = "$percent_complete%" estimated_sypd = + sypd_estimate date_now = Dates.now() estimated_finish_date = + estimated_finish_date + + return nothing + end +else + WallTimeInfo = ClimaUtilities.OnlineLogging.WallTimeInfo + report_walltime = ClimaUtilities.OnlineLogging.report_walltime +end diff --git a/test/coupler_compatibility.jl b/test/coupler_compatibility.jl index fada5d40a3..70fb3a9fa0 100644 --- a/test/coupler_compatibility.jl +++ b/test/coupler_compatibility.jl @@ -66,8 +66,6 @@ const T2 = 290 @. sfc_setup = (surface_state,) p_overwritten = CA.AtmosCache( p.dt, - simulation.t_end, - CA.WallTimeEstimate(), p.atmos, p.numerics, p.params,