Skip to content

Commit b970dd0

Browse files
Hoist ᶜgradᵥ-ᶠinterp args
1 parent e91a2b9 commit b970dd0

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/cache/precomputed_quantities.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,9 @@ function precomputed_quantities(Y, atmos)
101101
ᶜentrʲs = similar(Y.c, NTuple{n, FT}),
102102
ᶜdetrʲs = similar(Y.c, NTuple{n, FT}),
103103
ᶠnh_pressure₃ʲs = similar(Y.f, NTuple{n, C3{FT}}),
104+
ᶜgradᵥ_θ_virt⁰ = Fields.Field(C3{FT}, cspace),
105+
ᶜgradᵥ_q_tot⁰ = Fields.Field(C3{FT}, cspace),
106+
ᶜgradᵥ_θ_liq_ice⁰ = Fields.Field(C3{FT}, cspace),
104107
precipitation_sgs_quantities...,
105108
) : (;)
106109
sgs_quantities = (;

src/cache/prognostic_edmf_precomputed_quantities.jl

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -267,16 +267,21 @@ NVTX.@annotate function set_prognostic_edmf_precomputed_quantities_closures!(
267267
)
268268
end
269269

270+
(; ᶜgradᵥ_θ_virt⁰, ᶜgradᵥ_q_tot⁰, ᶜgradᵥ_θ_liq_ice⁰) = p.precomputed
270271
# First order approximation: Use environmental mean fields.
272+
@. ᶜgradᵥ_θ_virt⁰ = ᶜgradᵥ(ᶠinterp(TD.virtual_pottemp(thermo_params, ᶜts⁰))) # ∂θv∂z_unsat
273+
@. ᶜgradᵥ_q_tot⁰ = ᶜgradᵥ(ᶠinterp(ᶜq_tot⁰)) # ∂qt∂z_sat
274+
@. ᶜgradᵥ_θ_liq_ice⁰ =
275+
ᶜgradᵥ(ᶠinterp(TD.liquid_ice_pottemp(thermo_params, ᶜts⁰))) # ∂θl∂z_sat
271276
@. ᶜlinear_buoygrad = buoyancy_gradients(
272277
BuoyGradMean(),
273278
thermo_params,
274279
moisture_model,
275280
ᶜts⁰,
276281
C3,
277-
ᶜgradᵥ(ᶠinterp(TD.virtual_pottemp(thermo_params, ᶜts⁰))), # ∂θv∂z_unsat
278-
ᶜgradᵥ(ᶠinterp(ᶜq_tot⁰)), # ∂qt∂z_sat
279-
ᶜgradᵥ(ᶠinterp(TD.liquid_ice_pottemp(thermo_params, ᶜts⁰))), # ∂θl∂z_sat
282+
ᶜgradᵥ_θ_virt⁰,
283+
ᶜgradᵥ_q_tot⁰,
284+
ᶜgradᵥ_θ_liq_ice⁰,
280285
ᶜlg,
281286
)
282287

0 commit comments

Comments
 (0)