Skip to content

Commit 209374e

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

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-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: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,16 @@ 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 = viscous_sponge_tendency_sgs(Y.c.sgsʲs.:($j).mse, viscous_sponge)
189+
vst_q_tot = viscous_sponge_tendency_sgs(Y.c.sgsʲs.:($j).q_tot, viscous_sponge)
190+
@. Yₜ.c.sgsʲs.:($$j).mse += vst_mse
191+
@. Yₜ.c.sgsʲs.:($$j).q_tot += vst_q_tot
192+
end
193+
end
194+
185195
# Held Suarez tendencies
186196
@. Yₜ.c.uₕ += hs_tendency_uₕ
187197
@. Yₜ.c.ρe_tot += hs_tendency_ρe_tot

0 commit comments

Comments
 (0)