Skip to content

Commit 349fa9f

Browse files
costachrisszy21
authored andcommitted
Add viscous sponge for updraft quantities
1 parent 36e29c1 commit 349fa9f

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/parameterized_tendencies/sponge/viscous_sponge.jl

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,10 @@ function viscous_sponge_tendency_tracer(ᶜρ, ᶜχ, s)
4646
zmax = z_max(axes(ᶠz))
4747
return @. lazy(β_viscous(s, ᶜz, zmax) * wdivₕ(ᶜρ * gradₕ(ᶜχ)))
4848
end
49+
50+
function viscous_sponge_tendency_sgs(ᶜχ, s)
51+
s isa Nothing && return NullBroadcasted()
52+
(; ᶜz, ᶠz) = z_coordinate_fields(axes(ᶜχ))
53+
zmax = z_max(axes(ᶠz))
54+
return @. lazy(β_viscous(s, ᶜz, zmax) * wdivₕ(gradₕ(ᶜχ)))
55+
end

src/prognostic_equations/remaining_tendency.jl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,20 @@ NVTX.@annotate function additional_tendency!(Yₜ, Y, p, t)
182182
end
183183
end
184184

185+
if p.atmos.turbconv_model isa PrognosticEDMFX
186+
n = n_mass_flux_subdomains(p.atmos.turbconv_model)
187+
for j in 1:n
188+
vst_mse =
189+
viscous_sponge_tendency_sgs(Y.c.sgsʲs.:($j).mse, viscous_sponge)
190+
vst_q_tot = viscous_sponge_tendency_sgs(
191+
Y.c.sgsʲs.:($j).q_tot,
192+
viscous_sponge,
193+
)
194+
@. Yₜ.c.sgsʲs.:($$j).mse += vst_mse
195+
@. Yₜ.c.sgsʲs.:($$j).q_tot += vst_q_tot
196+
end
197+
end
198+
185199
# Held Suarez tendencies
186200
@. Yₜ.c.uₕ += hs_tendency_uₕ
187201
@. Yₜ.c.ρe_tot += hs_tendency_ρe_tot

0 commit comments

Comments
 (0)