diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index a36e304..0275399 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,6 +15,7 @@ on: - 'src/*' - 'test/*' - '.github/workflows/*' + - 'Project.toml' jobs: test: name: Julia ${{ matrix.version }} - ${{ matrix.os }} - ${{ matrix.arch }} - ${{ github.event_name }} diff --git a/Manifest.toml b/Manifest.toml index bd6d26f..834125e 100644 --- a/Manifest.toml +++ b/Manifest.toml @@ -2,7 +2,7 @@ julia_version = "1.10.2" manifest_format = "2.0" -project_hash = "acc6dd5077921f9cacb46eb572b93736282df7cc" +project_hash = "7808e031a1e5bb5d5205932a9f745393528190e7" [[deps.AbstractFFTs]] deps = ["LinearAlgebra"] @@ -144,9 +144,9 @@ version = "0.12.11" [[deps.CommonDataModel]] deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf", "Statistics"] -git-tree-sha1 = "d6fb5bf939a2753c74984b11434ea25d6c397a58" +git-tree-sha1 = "98d64d5b9e5263884276656a43c45424b3a645c2" uuid = "1fbeeb36-5f17-413c-809b-666fb144f157" -version = "0.3.6" +version = "0.3.7" [[deps.CommonSolve]] git-tree-sha1 = "0eee5eb66b1cf62cd6ad1b460238e60e4b09400c" @@ -283,9 +283,9 @@ version = "3.3.10+1" [[deps.FileIO]] deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "62ca0547a14c57e98154423419d8a342dca75ca9" +git-tree-sha1 = "91e0e5c68d02bcdaae76d3c8ceb4361e8f28d2e9" uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.4" +version = "1.16.5" [[deps.FileWatching]] uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" @@ -323,6 +323,18 @@ git-tree-sha1 = "a846f297ce9d09ccba02ead0cae70690e072a119" uuid = "61eb1bfa-7361-4325-ad38-22787b887f55" version = "0.25.0" +[[deps.GibbsSeaWater]] +deps = ["GibbsSeaWater_jll", "Libdl", "Test"] +git-tree-sha1 = "d1642ddc78d0754603d747d76fac0042a5a85104" +uuid = "9a22fb26-0b63-4589-b28e-8f9d0b5c3d05" +version = "0.1.3" + +[[deps.GibbsSeaWater_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c91ca76546871efaa1aefdd2b19cc41c3ead2160" +uuid = "6727f6b2-98ea-5d0a-8239-2f72283ddb11" +version = "3.5.2+0" + [[deps.Glob]] git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" @@ -342,9 +354,9 @@ version = "1.14.2+1" [[deps.Hwloc_jll]] deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "dd3b49277ec2bb2c6b94eb1604d4d0616016f7a6" +git-tree-sha1 = "50aedf345a709ab75872f80a2779568dc0bb461b" uuid = "e33a78d0-f292-5ffc-b300-72abe9b543c8" -version = "2.11.2+0" +version = "2.11.2+1" [[deps.IncompleteLU]] deps = ["LinearAlgebra", "SparseArrays"] @@ -403,9 +415,9 @@ version = "1.0.0" [[deps.JLD2]] deps = ["FileIO", "MacroTools", "Mmap", "OrderedCollections", "PrecompileTools", "Requires", "TranscodingStreams"] -git-tree-sha1 = "a0746c21bdc986d0dc293efa6b1faee112c37c28" +git-tree-sha1 = "ce5737c0d4490b0e0040b5dc77fbb6a351ddf188" uuid = "033835bb-8acc-5ee8-8aae-3f567f8a3819" -version = "0.4.53" +version = "0.5.8" [[deps.JLLWrappers]] deps = ["Artifacts", "Preferences"] @@ -633,16 +645,16 @@ uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" version = "1.2.0" [[deps.OceanBioME]] -deps = ["Adapt", "CUDA", "JLD2", "KernelAbstractions", "Oceananigans", "Roots", "StructArrays"] -git-tree-sha1 = "b6a607fa123252f29c2edfc2694ca2418a1a6e43" +deps = ["Adapt", "Atomix", "CUDA", "GibbsSeaWater", "JLD2", "KernelAbstractions", "Oceananigans", "OffsetArrays", "Roots", "SeawaterPolynomials"] +git-tree-sha1 = "4173718e24440a0fec3c7107b5e7d49d351af2dc" uuid = "a49af516-9db8-4be4-be45-1dad61c5a376" -version = "0.10.5" +version = "0.13.2" [[deps.Oceananigans]] deps = ["Adapt", "CUDA", "Crayons", "CubedSphere", "Dates", "Distances", "DocStringExtensions", "FFTW", "Glob", "IncompleteLU", "InteractiveUtils", "IterativeSolvers", "JLD2", "KernelAbstractions", "LinearAlgebra", "Logging", "MPI", "NCDatasets", "OffsetArrays", "OrderedCollections", "Pkg", "Printf", "Random", "Rotations", "SeawaterPolynomials", "SparseArrays", "Statistics", "StructArrays"] -git-tree-sha1 = "a5ed75f8c44375c4612a55969d78ef700420992b" +git-tree-sha1 = "cddb567fbab1c40b22914e24ad2fe917ff00d8c9" uuid = "9e8cae18-63c1-5223-a75c-80ca9d6e9a09" -version = "0.91.15" +version = "0.93.1" [deps.Oceananigans.extensions] OceananigansEnzymeExt = "Enzyme" @@ -924,20 +936,16 @@ version = "1.10.0" [[deps.TaylorSeries]] deps = ["LinearAlgebra", "Markdown", "Requires", "SparseArrays"] -git-tree-sha1 = "90c9bc500f4c5cdd235c81503ec91b2048f06423" +git-tree-sha1 = "abc13c4d3cccd1703335ba03abdaf0dc8ecc97e2" uuid = "6aa5eb33-94cf-58f4-a9d0-e4b2c4fc25ea" -version = "0.17.8" +version = "0.17.3" [deps.TaylorSeries.extensions] TaylorSeriesIAExt = "IntervalArithmetic" - TaylorSeriesJLD2Ext = "JLD2" - TaylorSeriesRATExt = "RecursiveArrayTools" TaylorSeriesSAExt = "StaticArrays" [deps.TaylorSeries.weakdeps] IntervalArithmetic = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" - JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819" - RecursiveArrayTools = "731186ca-8d62-57ce-b412-fbd966d074cd" StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" [[deps.Test]] diff --git a/Project.toml b/Project.toml index 46eaa6e..875dd2e 100644 --- a/Project.toml +++ b/Project.toml @@ -14,8 +14,8 @@ Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" Adapt = "3.7" CUDA = "5" KernelAbstractions = "0.9.22" -OceanBioME = "0.10.5" -Oceananigans = "0.91.7" +OceanBioME = "0.13" +Oceananigans = "0.93" Roots = "2" Test = "1.10" julia = "1.10" diff --git a/src/radiative_transfer/homogeneous_body_heating.jl b/src/radiative_transfer/homogeneous_body_heating.jl index 03ec3b8..a63a168 100644 --- a/src/radiative_transfer/homogeneous_body_heating.jl +++ b/src/radiative_transfer/homogeneous_body_heating.jl @@ -60,7 +60,7 @@ julia> body_heating = HomogeneousBodyHeating(; surface_flux = (x, y, t) -> 100) julia> model = NonhydrostaticModel(; grid, forcing = (; T = Forcing(body_heating, discrete_form=true)), tracers = :T) NonhydrostaticModel{CPU, RectilinearGrid}(time = 0 seconds, iteration = 0) ├── grid: 128×128×128 RectilinearGrid{Float64, Oceananigans.Grids.Periodic, Oceananigans.Grids.Periodic, Oceananigans.Grids.Bounded} on Oceananigans.Architectures.CPU with 3×3×3 halo -├── timestepper: QuasiAdamsBashforth2TimeStepper +├── timestepper: RungeKutta3TimeStepper ├── advection scheme: Centered reconstruction order 2 ├── tracers: T ├── closure: Nothing diff --git a/test/test_heating.jl b/test/test_heating.jl index a036d3e..3729d48 100644 --- a/test/test_heating.jl +++ b/test/test_heating.jl @@ -41,6 +41,7 @@ required_biogeochemical_tracers(::JustPhytoplankton) = (:P, ) model = NonhydrostaticModel(; grid, tracers = :T, + timestepper = :QuasiAdamsBashforth2, boundary_conditions = (; T = FieldBoundaryConditions(top = surface_heat_exchange))) set!(model, T = -273.15) @@ -65,6 +66,7 @@ required_biogeochemical_tracers(::JustPhytoplankton) = (:P, ) model = NonhydrostaticModel(; grid, tracers = :T, + timestepper = :QuasiAdamsBashforth2, boundary_conditions = (; T = FieldBoundaryConditions(top = surface_heat_exchange))) set!(model, T = -273.15) @@ -92,6 +94,7 @@ required_biogeochemical_tracers(::JustPhytoplankton) = (:P, ) model = NonhydrostaticModel(; grid, tracers = :T, + timestepper = :QuasiAdamsBashforth2, boundary_conditions = (; T = FieldBoundaryConditions(top = surface_heat_exchange))) # no heat exchange when temperatures equal @@ -138,6 +141,7 @@ required_biogeochemical_tracers(::JustPhytoplankton) = (:P, ) model = NonhydrostaticModel(; grid, tracers = :T, + timestepper = :QuasiAdamsBashforth2, boundary_conditions = (; T = FieldBoundaryConditions(top = surface_heat_exchange))) # no heat exchange when vapour pressure equalised @@ -178,7 +182,7 @@ required_biogeochemical_tracers(::JustPhytoplankton) = (:P, ) biogeochemistry = Biogeochemistry(JustPhytoplankton(); light_attenuation = light_attenuation_model) - model = NonhydrostaticModel(; grid, biogeochemistry, forcing = (; T = Forcing(body_heating, discrete_form=true)), tracers = :T) + model = NonhydrostaticModel(; grid, biogeochemistry, timestepper = :QuasiAdamsBashforth2, forcing = (; T = Forcing(body_heating, discrete_form=true)), tracers = :T) Pᵢ(x, y, z) = 2.5 + z