Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fill_with_nans! fails inference #1728

Closed
charleskawczynski opened this issue Jun 2, 2023 · 0 comments · Fixed by #1739
Closed

fill_with_nans! fails inference #1728

charleskawczynski opened this issue Jun 2, 2023 · 0 comments · Fixed by #1739
Assignees
Labels
bug Something isn't working Latency Performance

Comments

@charleskawczynski
Copy link
Member

fill_with_nans! fails inference:

julia> JET.@test_opt CA.remaining_tendency!(Yₜ, Y, p, t)
JET-test failed at REPL[65]:1
  Expression: #= REPL[65]:1 =# JET.@test_opt CA.remaining_tendency!(Yₜ, Y, p, t)
  ═════ 27 possible errors found ═════
  ┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/remaining_tendency.jl:3 ClimaAtmos.fill_with_nans!(p)
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/utils/debug_utils.jl:198 ClimaAtmos.fill_with_nans_generic!(p)
  ││┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/utils/debug_utils.jl:158 ClimaAtmos.propertynames(var)
  │││┌ @ reflection.jl:1751 fieldnames(Base.typeof(x))
  ││││┌ @ reflection.jl:186 Base._fieldnames(t)
  │││││┌ @ reflection.jl:127 %1[1]
  ││││││ runtime dispatch detected: (%1::Core.SimpleVector)[1]::NTuple{88, Symbol}
  │││││└─────────────────────
  ││┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/utils/debug_utils.jl:159 ClimaAtmos.fill_with_nans_generic!(ClimaAtmos.getproperty(var, pn))
  │││┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/utils/debug_utils.jl:159 ClimaAtmos.fill_with_nans_generic!(%4)
  ││││ runtime dispatch detected: ClimaAtmos.fill_with_nans_generic!(%4::Any)::Any
  │││└──────────────────────────────────────────────────────────────────────────────────────────────────────
  ││┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/utils/debug_utils.jl:159 ClimaAtmos.fill_with_nans_generic!(%5)
  │││ runtime dispatch detected: ClimaAtmos.fill_with_nans_generic!(%5::Any)::Any
  ││└──────────────────────────────────────────────────────────────────────────────────────────────────────
  ┌ @ /Users/charliekawczynski/.julia/packages/NVTX/d9htq/src/macro.jl:115 NVTX.Domain(ClimaAtmos)
  │┌ @ /Users/charliekawczynski/.julia/packages/NVTX/d9htq/src/macro.jl:4 NVTX.string(__module__)
  ││┌ @ strings/io.jl:185 Base.print_to_string(xs...)
  │││┌ @ strings/io.jl:144 print(s, x)
  ││││┌ @ strings/io.jl:35 show(io, x)
  │││││┌ @ show.jl:1103 Base.is_root_module(m)
  ││││││┌ @ lock.jl:221 lock(temp)
  │││││││┌ @ lock.jl:103 slowlock(rl)
  ││││││││┌ @ lock.jl:112 wait(c)
  │││││││││┌ @ condition.jl:126 Base.list_deletefirst!(ct.queue, ct)
  ││││││││││┌ @ linked_list.jl:145 isequal(h.value, val)
  │││││││││││┌ @ gcutils.jl:4 isequal(%1, v)
  ││││││││││││ runtime dispatch detected: isequal(%1::Any, v::Task)::Bool
  │││││││││││└────────────────
  │││││││││┌ @ condition.jl:126 Base.list_deletefirst!(%45, %39)
  ││││││││││ runtime dispatch detected: Base.list_deletefirst!(%45::Any, %39::Task)::Any
  │││││││││└────────────────────
  ││││││┌ @ lock.jl:225 unlock(temp)
  │││││││┌ @ lock.jl:133 _unlock(rl)
  ││││││││┌ @ lock.jl:139 notifywaiters(rl)
  │││││││││┌ @ lock.jl:143  = notify(cond_wait)
  ││││││││││┌ @ condition.jl:142 #self#(c, Base.nothing)
  │││││││││││┌ @ condition.jl:142 Base.:(var"#notify#586")(true, false, #self#, c, arg)
  ││││││││││││┌ @ condition.jl:142 notify(c, arg, all, error)
  │││││││││││││┌ @ condition.jl:148 Core.kwfunc(schedule)(NamedTuple{(:error,)}(tuple(error)), schedule, t, arg)
  ││││││││││││││┌ @ task.jl:789 Base.:(var"#schedule#613")(error, _3, t, arg)
  │││││││││││││││┌ @ task.jl:793 %10(%11, t)
  ││││││││││││││││ runtime dispatch detected: %10::typeof(Base.list_deletefirst!)(%11::Any, t::Task)::Any
  │││││││││││││││└───────────────
  ┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/remaining_tendency.jl:7 ClimaAtmos.set_precomputed_quantities!(Y, p, t)
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/cache/precomputed_quantities.jl:318 Base.materialize!(ᶜts, Base.broadcasted(tuple(ClimaAtmos.ts_gs), thermo_args, tuple(ᶜspecific, ᶜK, ᶜΦ, Y.c.ρ)...))
  ││┌ @ broadcast.jl:868 Base.Broadcast.materialize!(Base.Broadcast.combine_styles(dest, bc), dest, bc)
  │││┌ @ broadcast.jl:871 Base.Broadcast.copyto!(dest, Base.Broadcast.instantiate(Base.Broadcast.Broadcasted{ClimaCore.Fields.FieldStyle{ClimaCore.DataLayouts.VIJFHStyle{4, Array{Float32}}}}(bc.f, bc.args, Base.Broadcast.axes(dest))))
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/broadcast.jl:152 ClimaCore.Fields.copyto!(ClimaCore.Fields.field_values(dest), Broadcast.instantiate(ClimaCore.Fields.todata(bc)))
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/DataLayouts/broadcast.jl:592 ClimaCore.DataLayouts._serial_copyto!(dest, bc)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/DataLayouts/broadcast.jl:554 ClimaCore.DataLayouts.copyto!(col_dest, col_bc)
  │││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/DataLayouts/broadcast.jl:490 bc[idx]
  ││││││││┌ @ broadcast.jl:597 val = Base.Broadcast._broadcast_getindex(bc, I)
  │││││││││┌ @ broadcast.jl:643 Base.Broadcast._broadcast_getindex_evalf(tuple(bc.f), args...)
  ││││││││││┌ @ broadcast.jl:670 f(args...)
  │││││││││││┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/cache/precomputed_quantities.jl:257 Core.kwfunc(ClimaAtmos.thermo_state)(merge(merge(Base.NamedTuple(), ClimaAtmos.thermo_vars(energy_form, moisture_model, specific, K, Φ)), NamedTuple{(:ρ,)}(tuple(ρ))), ClimaAtmos.thermo_state, thermo_params)
  ││││││││││││┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/cache/precomputed_quantities.jl:204 ClimaAtmos.:(var"#thermo_state#117")(ρ, p, θ, e_int, q_tot, q_pt, _3, thermo_params)
  │││││││││││││┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/cache/precomputed_quantities.jl:237 get_ts(ρ, p, θ, e_int, q_tot, q_pt)
  ││││││││││││││┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/cache/precomputed_quantities.jl:221 PhaseEquil_ρeq(getfield(#self#, :thermo_params), ρ, e_int, q_tot)
  │││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/Thermodynamics/t1dQv/src/states.jl:293 #self#(param_set, ρ, e_int, q_tot, Thermodynamics.nothing, Thermodynamics.nothing, NewtonsMethod, Thermodynamics.nothing)
  ││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/Thermodynamics/t1dQv/src/states.jl:298 T = Thermodynamics.saturation_adjustment(sat_adjust_method, param_set, e_int, ρ, q_tot_safe, phase_type, maxiter, relative_temperature_tol, T_guess)
  │││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/KernelAbstractions/LVKmi/src/KernelAbstractions.jl:266 __print(Val{Symbol("-----------------------------------------\n")}())
  ││││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/KernelAbstractions/LVKmi/src/KernelAbstractions.jl:574 KernelAbstractions.print(Symbol("-----------------------------------------\n"))
  │││││││││││││││││││┌ @ coreio.jl:3 print(%1, %2)
  ││││││││││││││││││││ runtime dispatch detected: print(%1::IO, %2::Symbol)::Nothing
  │││││││││││││││││││└───────────────
  │││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/Thermodynamics/t1dQv/src/relations.jl:1528 Thermodynamics.print_T_guess(sat_adjust_method, T_guess)
  ││││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/KernelAbstractions/LVKmi/src/KernelAbstractions.jl:266 __print(Val{Symbol(", T_guess=")}(), T_guess)
  │││││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/KernelAbstractions/LVKmi/src/KernelAbstractions.jl:574 KernelAbstractions.print(Symbol(", T_guess="), items[2])
  ││││││││││││││││││││┌ @ coreio.jl:3 print(%1, %2, nothing)
  │││││││││││││││││││││ runtime dispatch detected: print(%1::IO, %2::Symbol, nothing)::Nothing
  ││││││││││││││││││││└───────────────
  │││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/KernelAbstractions/LVKmi/src/KernelAbstractions.jl:266 __print(Val{Symbol(", e_int=")}(), e_int)
  ││││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/KernelAbstractions/LVKmi/src/KernelAbstractions.jl:574 KernelAbstractions.print(Symbol(", e_int="), items[2])
  │││││││││││││││││││┌ @ coreio.jl:3 print(%1, %2, %3)
  ││││││││││││││││││││ runtime dispatch detected: print(%1::IO, %2::Symbol, %3::Float32)::Nothing
  │││││││││││││││││││└───────────────
  │││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/KernelAbstractions/LVKmi/src/KernelAbstractions.jl:266 __print(Val{Symbol(", maxiter=")}(), maxiter)
  ││││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/KernelAbstractions/LVKmi/src/KernelAbstractions.jl:574 KernelAbstractions.print(Symbol(", maxiter="), items[2])
  │││││││││││││││││││┌ @ coreio.jl:3 print(%1, %2, %3)
  ││││││││││││││││││││ runtime dispatch detected: print(%1::IO, %2::Symbol, %3::Int64)::Nothing
  │││││││││││││││││││└───────────────
  │││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/KernelAbstractions/LVKmi/src/KernelAbstractions.jl:266 __print(Val{Symbol(", tol=")}(), tol.tol, Val{Symbol("\n")}())
  ││││││││││││││││││┌ @ /Users/charliekawczynski/.julia/packages/KernelAbstractions/LVKmi/src/KernelAbstractions.jl:574 KernelAbstractions.print(Symbol(", tol="), items[2], Symbol("\n"))
  │││││││││││││││││││┌ @ coreio.jl:3 print(%1, %2, %3, %4)
  ││││││││││││││││││││ runtime dispatch detected: print(%1::IO, %2::Symbol, %3::Float32, %4::Symbol)::Nothing
  │││││││││││││││││││└───────────────
  ┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/remaining_tendency.jl:12 ClimaAtmos.hyperdiffusion_tendency!(Yₜ, Y, p, t)
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:122 dss_op!(ᶜ∇²uₕ, buffer.ᶜ∇²uₕ)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:366 ClimaCore.Spaces.weighted_dss_start!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:261 ClimaCore.Spaces.weighted_dss_start!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:282 ClimaCore.Spaces.dss_local_ghost!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:878 sum_data = ClimaCore.Spaces.mapreduce(#18, ClimaCore.Spaces.:⊞, vertex)
  ││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  │││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  ││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  ││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  │││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  ││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  │││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  ││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  │││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#18#19"{ClimaCore.DataLayouts.VIFH{ClimaCore.Geometry.UVVector{Float32}, 12, Array{Float32, 4}}, ClimaCore.Geometry.UVVector{Float32}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Bool, Int64, Int64}})
  ││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:123 dss_op!(ᶜ∇²uᵥ, buffer.ᶜ∇²uᵥ)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:366 ClimaCore.Spaces.weighted_dss_start!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:261 ClimaCore.Spaces.weighted_dss_start!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:282 ClimaCore.Spaces.dss_local_ghost!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:878 sum_data = ClimaCore.Spaces.mapreduce(#18, ClimaCore.Spaces.:⊞, vertex)
  ││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  │││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  ││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  ││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  │││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  ││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  │││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  ││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  │││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#18#19"{ClimaCore.DataLayouts.VIFH{ClimaCore.Geometry.Covariant3Vector{Float32}, 12, Array{Float32, 4}}, ClimaCore.Geometry.Covariant3Vector{Float32}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Bool, Int64, Int64}})
  ││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:125 dss_op!(ᶜ∇²specific_energy, buffer.ᶜ∇²specific_energy)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:366 ClimaCore.Spaces.weighted_dss_start!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:261 ClimaCore.Spaces.weighted_dss_start!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:282 ClimaCore.Spaces.dss_local_ghost!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:878 sum_data = ClimaCore.Spaces.mapreduce(#18, ClimaCore.Spaces.:⊞, vertex)
  ││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  │││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  ││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  ││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  │││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  ││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  │││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  ││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  │││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#18#19"{ClimaCore.DataLayouts.VIFH{Float32, 12, Array{Float32, 4}}, Float32, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Bool, Int64, Int64}})
  ││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:134 dss_op!(ᶜ∇²uₕʲs, buffer.ᶜ∇²uₕʲs)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:366 ClimaCore.Spaces.weighted_dss_start!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:261 ClimaCore.Spaces.weighted_dss_start!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:282 ClimaCore.Spaces.dss_local_ghost!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:878 sum_data = ClimaCore.Spaces.mapreduce(#18, ClimaCore.Spaces.:⊞, vertex)
  ││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  │││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  ││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  ││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  │││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  ││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  │││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  ││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  │││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#18#19"{ClimaCore.DataLayouts.VIFH{Tuple{ClimaCore.Geometry.UVVector{Float32}}, 12, Array{Float32, 4}}, Tuple{ClimaCore.Geometry.UVVector{Float32}}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Bool, Int64, Int64}})
  ││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:135 dss_op!(ᶜ∇²uᵥʲs, buffer.ᶜ∇²uᵥʲs)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:366 ClimaCore.Spaces.weighted_dss_start!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:261 ClimaCore.Spaces.weighted_dss_start!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:282 ClimaCore.Spaces.dss_local_ghost!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:878 sum_data = ClimaCore.Spaces.mapreduce(#18, ClimaCore.Spaces.:⊞, vertex)
  ││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  │││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  ││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  ││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  │││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  ││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  │││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  ││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  │││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#18#19"{ClimaCore.DataLayouts.VIFH{Tuple{ClimaCore.Geometry.Covariant3Vector{Float32}}, 12, Array{Float32, 4}}, Tuple{ClimaCore.Geometry.Covariant3Vector{Float32}}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Bool, Int64, Int64}})
  ││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:140 dss_op!(ᶜ∇²specific_energyʲs, buffer.ᶜ∇²specific_energyʲs)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:366 ClimaCore.Spaces.weighted_dss_start!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:261 ClimaCore.Spaces.weighted_dss_start!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:282 ClimaCore.Spaces.dss_local_ghost!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:878 sum_data = ClimaCore.Spaces.mapreduce(#18, ClimaCore.Spaces.:⊞, vertex)
  ││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  │││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  ││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  ││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  │││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  ││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  │││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  ││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  │││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#18#19"{ClimaCore.DataLayouts.VIFH{Tuple{Float32}, 12, Array{Float32, 4}}, Tuple{Float32}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Bool, Int64, Int64}})
  ││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:122 dss_op!(ᶜ∇²uₕ, buffer.ᶜ∇²uₕ)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:369 ClimaCore.Spaces.weighted_dss_internal!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:325 ClimaCore.Spaces.weighted_dss_internal!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:356 ClimaCore.Spaces.dss_local!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:796 ClimaCore.Spaces.dss_local_vertices!(perimeter_data, perimeter, topology)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:811 sum_data = ClimaCore.Spaces.mapreduce(#16, ClimaCore.Spaces.:⊞, vertex)
  │││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  ││││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  ││││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  │││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  ││││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  │││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  ││││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  │││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  ││││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#16#17"{ClimaCore.DataLayouts.VIFH{ClimaCore.Geometry.UVVector{Float32}, 12, Array{Float32, 4}}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Int64, Int64}})
  │││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:123 dss_op!(ᶜ∇²uᵥ, buffer.ᶜ∇²uᵥ)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:369 ClimaCore.Spaces.weighted_dss_internal!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:325 ClimaCore.Spaces.weighted_dss_internal!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:356 ClimaCore.Spaces.dss_local!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:796 ClimaCore.Spaces.dss_local_vertices!(perimeter_data, perimeter, topology)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:811 sum_data = ClimaCore.Spaces.mapreduce(#16, ClimaCore.Spaces.:⊞, vertex)
  │││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  ││││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  ││││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  │││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  ││││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  │││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  ││││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  │││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  ││││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#16#17"{ClimaCore.DataLayouts.VIFH{ClimaCore.Geometry.Covariant3Vector{Float32}, 12, Array{Float32, 4}}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Int64, Int64}})
  │││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:125 dss_op!(ᶜ∇²specific_energy, buffer.ᶜ∇²specific_energy)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:369 ClimaCore.Spaces.weighted_dss_internal!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:325 ClimaCore.Spaces.weighted_dss_internal!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:356 ClimaCore.Spaces.dss_local!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:796 ClimaCore.Spaces.dss_local_vertices!(perimeter_data, perimeter, topology)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:811 sum_data = ClimaCore.Spaces.mapreduce(#16, ClimaCore.Spaces.:⊞, vertex)
  │││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  ││││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  ││││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  │││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  ││││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  │││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  ││││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  │││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  ││││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#16#17"{ClimaCore.DataLayouts.VIFH{Float32, 12, Array{Float32, 4}}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Int64, Int64}})
  │││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:134 dss_op!(ᶜ∇²uₕʲs, buffer.ᶜ∇²uₕʲs)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:369 ClimaCore.Spaces.weighted_dss_internal!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:325 ClimaCore.Spaces.weighted_dss_internal!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:356 ClimaCore.Spaces.dss_local!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:796 ClimaCore.Spaces.dss_local_vertices!(perimeter_data, perimeter, topology)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:811 sum_data = ClimaCore.Spaces.mapreduce(#16, ClimaCore.Spaces.:⊞, vertex)
  │││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  ││││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  ││││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  │││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  ││││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  │││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  ││││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  │││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  ││││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#16#17"{ClimaCore.DataLayouts.VIFH{Tuple{ClimaCore.Geometry.UVVector{Float32}}, 12, Array{Float32, 4}}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Int64, Int64}})
  │││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:135 dss_op!(ᶜ∇²uᵥʲs, buffer.ᶜ∇²uᵥʲs)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:369 ClimaCore.Spaces.weighted_dss_internal!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:325 ClimaCore.Spaces.weighted_dss_internal!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:356 ClimaCore.Spaces.dss_local!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:796 ClimaCore.Spaces.dss_local_vertices!(perimeter_data, perimeter, topology)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:811 sum_data = ClimaCore.Spaces.mapreduce(#16, ClimaCore.Spaces.:⊞, vertex)
  │││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  ││││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  ││││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  │││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  ││││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  │││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  ││││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  │││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  ││││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#16#17"{ClimaCore.DataLayouts.VIFH{Tuple{ClimaCore.Geometry.Covariant3Vector{Float32}}, 12, Array{Float32, 4}}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Int64, Int64}})
  │││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/hyperdiffusion.jl:140 dss_op!(ᶜ∇²specific_energyʲs, buffer.ᶜ∇²specific_energyʲs)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:369 ClimaCore.Spaces.weighted_dss_internal!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:325 ClimaCore.Spaces.weighted_dss_internal!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:356 ClimaCore.Spaces.dss_local!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:796 ClimaCore.Spaces.dss_local_vertices!(perimeter_data, perimeter, topology)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:811 sum_data = ClimaCore.Spaces.mapreduce(#16, ClimaCore.Spaces.:⊞, vertex)
  │││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  ││││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  │││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  ││││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  │││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  ││││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  │││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  ││││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  │││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  ││││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#16#17"{ClimaCore.DataLayouts.VIFH{Tuple{Float32}, 12, Array{Float32, 4}}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Int64, Int64}})
  │││││││││││││││└─────────────────
  ┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/remaining_tendency.jl:22 ClimaAtmos.dss!(Yₜ, p, t)
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/dss.jl:17 ClimaCore.Spaces.weighted_dss_start2!(Y.c, p.ghost_buffer.c)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:400 ClimaCore.Spaces.weighted_dss_start!(field, ghost_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:366 ClimaCore.Spaces.weighted_dss_start!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:261 ClimaCore.Spaces.weighted_dss_start!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:282 ClimaCore.Spaces.dss_local_ghost!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:874 zero_data = ClimaCore.Spaces.map(ClimaCore.Spaces.zero, ClimaCore.Spaces.slab(perimeter_data, 1, 1)[1])
  │││││││┌ @ namedtuple.jl:219 map(tuple(f), map(Base.Tuple, tuple(tuple(nt), nts...))...)
  ││││││││┌ @ tuple.jl:224 map(f, Base.tail(t))
  │││││││││┌ @ tuple.jl:224 map(f, Base.tail(t))
  ││││││││││┌ @ tuple.jl:224 map(f, Base.tail(t))
  │││││││││││┌ @ tuple.jl:223 f(%1)
  ││││││││││││ runtime dispatch detected: f::typeof(zero)(%1::NamedTuple{(:ρatke,), Tuple{Float32}})
  │││││││││││└────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/dss.jl:18 ClimaCore.Spaces.weighted_dss_start2!(Y.f, p.ghost_buffer.f)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:400 ClimaCore.Spaces.weighted_dss_start!(field, ghost_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:366 ClimaCore.Spaces.weighted_dss_start!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:261 ClimaCore.Spaces.weighted_dss_start!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:282 ClimaCore.Spaces.dss_local_ghost!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:874 zero_data = ClimaCore.Spaces.map(ClimaCore.Spaces.zero, ClimaCore.Spaces.slab(perimeter_data, 1, 1)[1])
  │││││││┌ @ namedtuple.jl:219 map(tuple(f), map(Base.Tuple, tuple(tuple(nt), nts...))...)
  ││││││││┌ @ tuple.jl:222 f(%1)
  │││││││││ runtime dispatch detected: f::typeof(zero)(%1::Tuple{NamedTuple{(:u₃,), Tuple{ClimaCore.Geometry.Covariant3Vector{Float32}}}})
  ││││││││└────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/dss.jl:19 ClimaCore.Spaces.weighted_dss_internal2!(Y.c, p.ghost_buffer.c)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:403 ClimaCore.Spaces.weighted_dss_internal!(field, ghost_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:369 ClimaCore.Spaces.weighted_dss_internal!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:325 ClimaCore.Spaces.weighted_dss_internal!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:356 ClimaCore.Spaces.dss_local!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:796 ClimaCore.Spaces.dss_local_vertices!(perimeter_data, perimeter, topology)
  │││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:811 sum_data = ClimaCore.Spaces.mapreduce(#16, ClimaCore.Spaces.:⊞, vertex)
  ││││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  │││││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  ││││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  │││││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  ││││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  │││││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  ││││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  │││││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  ││││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  │││││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#16#17"{ClimaCore.DataLayouts.VIFH{NamedTuple{(, :uₕ, :ρe_tot, :ρq_tot, :sgs⁰, :sgsʲs), Tuple{Float32, ClimaCore.Geometry.UVVector{Float32}, Float32, Float32, NamedTuple{(:ρatke,), Tuple{Float32}}, Tuple{NamedTuple{(:ρa, :ρae_tot, :ρaq_tot), Tuple{Float32, Float32, Float32}}}}}, 12, Array{Float32, 4}}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Int64, Int64}})
  ││││││││││││││││└─────────────────
  │┌ @ /Users/charliekawczynski/Dropbox/Caltech/work/dev/CliMA/ClimaAtmos.jl/src/prognostic_equations/dss.jl:20 ClimaCore.Spaces.weighted_dss_internal2!(Y.f, p.ghost_buffer.f)
  ││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:403 ClimaCore.Spaces.weighted_dss_internal!(field, ghost_buffer)
  │││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Fields/Fields.jl:369 ClimaCore.Spaces.weighted_dss_internal!(ClimaCore.Fields.field_values(field), ClimaCore.Fields.axes(field), dss_buffer)
  ││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:325 ClimaCore.Spaces.weighted_dss_internal!(data, space, ClimaCore.Spaces.horizontal_space(space), dss_buffer)
  │││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:356 ClimaCore.Spaces.dss_local!(device, dss_buffer.perimeter_data, ClimaCore.Spaces.perimeter(hspace), hspace.topology)
  ││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:796 ClimaCore.Spaces.dss_local_vertices!(perimeter_data, perimeter, topology)
  │││││││┌ @ /Users/charliekawczynski/.julia/packages/ClimaCore/A0lxf/src/Spaces/dss.jl:811 sum_data = ClimaCore.Spaces.mapreduce(#16, ClimaCore.Spaces.:⊞, vertex)
  ││││││││┌ @ reduce.jl:302 Base.:(var"#mapreduce#263")(pairs(NamedTuple()), #self#, f, op, itr)
  │││││││││┌ @ reduce.jl:302 mapfoldl(f, op, itr)
  ││││││││││┌ @ reduce.jl:170 Base.:(var"#mapfoldl#259")(Base._InitialValue(), #self#, f, op, itr)
  │││││││││││┌ @ reduce.jl:170 Base.mapfoldl_impl(f, op, init, itr)
  ││││││││││││┌ @ reduce.jl:44 Base.foldl_impl(op′, nt, itr′)
  │││││││││││││┌ @ reduce.jl:49 Base.reduce_empty_iter(op, itr)
  ││││││││││││││┌ @ reduce.jl:378 Base.reduce_empty_iter(op, itr, Base.IteratorEltype(itr))
  │││││││││││││││┌ @ reduce.jl:379 Base.reduce_empty(op, eltype(itr))
  ││││││││││││││││┌ @ reduce.jl:356 Base.mapreduce_empty(%1, [quote], T)
  │││││││││││││││││ runtime dispatch detected: Base.mapreduce_empty(%1::ClimaCore.Spaces.var"#16#17"{ClimaCore.DataLayouts.VIFH{NamedTuple{(:u₃, :sgsʲs), Tuple{ClimaCore.Geometry.Covariant3Vector{Float32}, Tuple{NamedTuple{(:u₃,), Tuple{ClimaCore.Geometry.Covariant3Vector{Float32}}}}}}, 12, Array{Float32, 4}}, Int64}, [quote]::Base.BottomRF{typeof(ClimaCore.RecursiveApply.radd)}, T::Type{Tuple{Int64, Int64}})
  ││││││││││││││││└─────────────────
  
ERROR: There was an error during testing
@charleskawczynski charleskawczynski added bug Something isn't working Performance Latency labels Jun 2, 2023
@charleskawczynski charleskawczynski self-assigned this Jun 2, 2023
@charleskawczynski charleskawczynski changed the title Fill with nans fails inference fill_with_nans! fails inference Jun 2, 2023
@bors bors bot closed this as completed in 8a9c47d Jun 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working Latency Performance
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant