Skip to content

Commit b6ce4c4

Browse files
wip
1 parent e04ca27 commit b6ce4c4

File tree

1 file changed

+23
-17
lines changed

1 file changed

+23
-17
lines changed

src/prognostic_equations/remaining_tendency.jl

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -27,33 +27,38 @@ prognostic_nt(::Val{names}, ::Val{K}, vals...) where {names, K} =
2727
@generated function construct_tends(::Val{names}, f, ᶜY, ᶠY, p, t) where {names}
2828
calls = []
2929
for name in names
30-
push!(calls, :(f(Val($name), ᶜY, ᶠY, p, t)))
30+
push!(calls, :(f(Val($(QuoteNode(name))), ᶜY, ᶠY, p, t)))
3131
end
3232
return quote
33-
$(calls...)
33+
($(calls...),)
3434
end
3535
end
3636

3737
function ᶜremaining_tendency(ᶜY, ᶠY, p, t)
3838
names = propertynames(ᶜY)
3939
tends = construct_tends(Val(names), ᶜremaining_tendency, ᶜY, ᶠY, p, t)
40-
# tends = (;
41-
# ᶜremaining_tendency(Val(:ρ), ᶜY, ᶠY, p, t)...,
42-
# ᶜremaining_tendency(Val(:uₕ), ᶜY, ᶠY, p, t)...,
43-
# ᶜremaining_tendency(Val(:ρe_tot), ᶜY, ᶠY, p, t)...,
44-
# ᶜremaining_tendency(Val(:ρq_tot), ᶜY, ᶠY, p, t)...,
45-
# ᶜremaining_tendency(Val(:ρq_liq), ᶜY, ᶠY, p, t)...,
46-
# ᶜremaining_tendency(Val(:ρq_ice), ᶜY, ᶠY, p, t)...,
47-
# ᶜremaining_tendency(Val(:ρq_rai), ᶜY, ᶠY, p, t)...,
48-
# ᶜremaining_tendency(Val(:ρq_sno), ᶜY, ᶠY, p, t)...,
49-
# ᶜremaining_tendency(Val(:sgs⁰), ᶜY, ᶠY, p, t)...,
50-
# ᶜremaining_tendency(Val(:sgsʲs), ᶜY, ᶠY, p, t)...,
40+
@show length(tends)
41+
@show length(names)
42+
# tends = (
43+
# ᶜremaining_tendency(Val(:ρ), ᶜY, ᶠY, p, t),
44+
# ᶜremaining_tendency(Val(:uₕ), ᶜY, ᶠY, p, t),
45+
# ᶜremaining_tendency(Val(:ρe_tot), ᶜY, ᶠY, p, t),
46+
# ᶜremaining_tendency(Val(:ρq_tot), ᶜY, ᶠY, p, t),
47+
# ᶜremaining_tendency(Val(:ρq_liq), ᶜY, ᶠY, p, t),
48+
# ᶜremaining_tendency(Val(:ρq_ice), ᶜY, ᶠY, p, t),
49+
# ᶜremaining_tendency(Val(:ρq_rai), ᶜY, ᶠY, p, t),
50+
# ᶜremaining_tendency(Val(:ρq_sno), ᶜY, ᶠY, p, t),
51+
# ᶜremaining_tendency(Val(:sgs⁰), ᶜY, ᶠY, p, t),
52+
# ᶜremaining_tendency(Val(:sgsʲs), ᶜY, ᶠY, p, t),
5153
# )
5254

5355
# return lazy.(prognostic_nt.(Val(names), Val(keys(tends)), values(tends)...))
54-
prog_nt = (NamedTuple{names} tuple)
55-
return lazy.(prog_nt.(tends))
56+
# prog_nt = (NamedTuple{names} ∘ tuple)
57+
# return lazy.(prog_nt.(tends))
58+
return lazy.(foo.(Val(names), tends...))
5659
end
60+
foo(::Val{names}, tends...) where {names} = NamedTuple{names}(tends)
61+
5762
function ᶠremaining_tendency(ᶜY, ᶠY, p, t)
5863
names = propertynames(ᶠY)
5964
tends = construct_tends(Val(names), ᶠremaining_tendency, ᶜY, ᶠY, p, t)
@@ -62,8 +67,9 @@ function ᶠremaining_tendency(ᶜY, ᶠY, p, t)
6267
# ᶠremaining_tendency(Val(:sgsʲs), ᶜY, ᶠY, p, t)...,
6368
# )
6469
# return lazy.(prognostic_nt.(Val(names), Val(keys(tends)), values(tends)...))
65-
prog_nt = (NamedTuple{names} tuple)
66-
return lazy.(prog_nt.(tends))
70+
# prog_nt = (NamedTuple{names} ∘ tuple)
71+
# return lazy.(prog_nt.(tends))
72+
return lazy.(foo.(Val(names), tends...))
6773
end
6874
using ClimaCore.RecursiveApply: rzero
6975
function ᶜremaining_tendency(::Val{:ρ}, ᶜY, ᶠY, p, t)

0 commit comments

Comments
 (0)