From b5fc7c88d653bc17431df20e230272c9f72d4eea Mon Sep 17 00:00:00 2001 From: Julia Sloan Date: Tue, 14 Jan 2025 11:18:09 -0800 Subject: [PATCH] add Field sum reproducer --- test/Fields/sum_repro.jl | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 test/Fields/sum_repro.jl diff --git a/test/Fields/sum_repro.jl b/test/Fields/sum_repro.jl new file mode 100644 index 0000000000..75a7c8e566 --- /dev/null +++ b/test/Fields/sum_repro.jl @@ -0,0 +1,24 @@ +import ClimaComms +ClimaComms.@import_required_backends +import ClimaCore +import ClimaCore: Fields +using Test + +include( + joinpath(pkgdir(ClimaCore), "test", "TestUtilities", "TestUtilities.jl"), +) +import .TestUtilities as TU + +@testset "Sum function over field" begin + FT = Float32 + context = ClimaComms.context() + + space = TU.SpectralElementSpace2D(FT; context) + field = Fields.zeros(space) + f = x -> x + 1 + + # Sum of a function applied to a field should be the same as the sum of the + # function applied to the parent field, but it isn't + @test sum(f, field) != sum(f, parent(field)) + @test sum(f.(field)) != sum(f.(parent(field))) +end