Skip to content

Draw WP1M and MP1M precipitation sources from ρqᵉ - #1031

Merged
ewquon merged 1 commit into
mainfrom
eq/1012-qe-sink
Sep 29, 2026
Merged

ewquon merged 1 commit into
mainfrom
eq/1012-qe-sink

Conversation

@ewquon

@ewquon ewquon commented Sep 26, 2026

Copy link
Copy Markdown
Collaborator

Closes #1012.

With saturation adjustment, ρqᵉ (vapor plus equilibrium cloud) excludes rain and snow but had no microphysical tendency, so autoconversion, accretion, rain evaporation and the negative-rain relaxation changed ρqʳ without a matching change in ρqᵉ. This adds a ρqᵉ tendency equal to minus the sum of the ρqʳ and ρqˢⁿ tendencies for OneMomentCloudMicrophysics with WarmPhaseEquilibrium and MixedPhaseEquilibrium.

A new no-transport test calls every prognostic moisture tendency on a scalar state and checks that they sum to zero while the rain tendency is nonzero, for autoconversion, accretion, evaporation and the negative-rain guard in both schemes; it fails on main (8 of 16) and passes with this change. In a 2D moist bubble (60 min, on top of #997), domain water drift goes from +16% to −0.07%.

This matters more once #997 lands: before it, created rain was nearly heat-neutral; with it, the created rain drives spurious heating.

🤖 Generated with Claude Code

With saturation adjustment, ρqᵉ is vapor plus equilibrium cloud and
excludes rain and snow, but it had no microphysical tendency: it fell
through to the zero OneMomentCloudMicrophysics fallback. Autoconversion,
accretion, rain evaporation and the negative-rain relaxation therefore
changed ρqʳ without an opposite change in ρqᵉ, creating or destroying
water (#1012). Before #489 the prognostic was total water including rain,
so the zero fallback was correct; renaming it to ρqᵉ and subtracting
precipitation left the fallback in place.

The ρqᵉ tendency is now minus the sum of the ρqʳ and ρqˢⁿ tendencies.
MP1M has no snow process tendency, and Val(:ρqˢⁿ) on WP1M hits the zero
fallback, so the ρqˢⁿ term is zero today but keeps the sum closed if
snow processes are added.

The regression test calls every prognostic moisture tendency on a scalar
state (no transport) for the warm- and mixed-phase schemes and checks
that they sum to zero while the rain tendency is nonzero, covering
autoconversion, accretion, evaporation and the negative-rain guard.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@codecov

codecov Bot commented Sep 26, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@ewquon
ewquon merged commit f33703a into main Sep 29, 2026
15 checks passed
@ewquon
ewquon deleted the eq/1012-qe-sink branch September 29, 2026 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OneMoment saturation adjustment creates rain without an opposing equilibrium-water source

2 participants