You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Differentiate raw 2M+P3 tendency in RosenbrockAverage
The Rosenbrock mode previously linearized a limited instantaneous
tendency: a supersaturation cap and 1/dt coupled mass-number sink
limits were applied before the ForwardDiff Jacobian was taken. Those
clips are explicit-Euler stabilization devices, not model physics, and
they do not belong inside an implicit update.
The published P3 condensation/deposition scheme (Morrison and Milbrandt
2015, J. Atmos. Sci., 72, 287-311, doi:10.1175/JAS-D-14-0065.1,
Appendix C) is an analytic time-averaged relaxation with no tendency
clip, so the raw relaxation ODE is the model physics. The one-stage
Rosenbrock update is L-stable and damps the stiff vapor-exchange
subsystem monotonically, so the saturation overshoot and ringing those
limiters suppress cannot occur. The clips are also harmful: 1/dt
tendency limits inject dt-independent error and break convergence under
refinement (Wan et al. 2020, J. Adv. Model. Earth Syst., 12,
e2019MS001982), and a hard saturation clip structurally forbids the
mixed-phase quasi-steady vapor pressure, which lies between liquid and
ice saturation (Korolev and Mazin 2003, J. Atmos. Sci., 60, 2957-2974).
The differentiated functor now evaluates the unmodified
Microphysics2Moment process rates. The discrete safeguards that remain
are h-free conditioning and projection of the linear solve, not model
terms: the channel mask, equilibration, and positivity clamp. The cap
and sink helpers, used only by the Rosenbrock path, are removed.
Convergence-test references are rebuilt against the raw tendency and
tolerances re-derived from measured errors. The rime-volume and
rime-mass error floors are raised to genesis scale: once ice has
melted, a single-precision residual in the collapsing coupled
(q_rim, b_rim) pair is physically negligible but unbounded against an
eps-scale floor.
Copy file name to clipboardExpand all lines: docs/src/BulkTendencies.md
+7-4Lines changed: 7 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -162,11 +162,14 @@ For the 2-moment + P3 configuration, `RosenbrockAverage` replaces the hand-built
162
162
\left(\frac{I}{h} - P J P\right) \Delta x = f(x), \qquad x \leftarrow \max(x + \Delta x,\, 0)
163
163
```
164
164
165
-
where ``f`` is the *limited* instantaneous tendency (the supersaturation cap and the coupled mass–number sink limits are inside the differentiated function, so the implicit update respects them), and ``J = \partial f / \partial x`` is its exact 8×8 `ForwardDiff` Jacobian.
165
+
where ``f`` is the **raw instantaneous tendency** — the unmodified `Microphysics2Moment` process rates, with no timestep-dependent clipping — and ``J = \partial f / \partial x`` is its exact 8×8 `ForwardDiff` Jacobian.
166
166
167
-
Two structural safeguards:
167
+
The differentiated tendency is the model physics, not a stabilized variant of it. The P3 condensation/deposition scheme is an analytic time-averaged relaxation [MorrisonMilbrandt2015](@cite) with no tendency clip; a supersaturation cap and ``1/h`` sink limits are explicit-Euler stabilization devices, not physical terms. They are unnecessary here because the one-stage Rosenbrock update is L-stable: it damps the stiff vapor-exchange subsystem monotonically, so the saturation overshoot and ringing those limiters suppress cannot occur. They are also harmful: ``1/h`` tendency clips inject ``h``-independent error and break convergence under refinement [Wan2020](@cite), and a hard saturation clip structurally forbids the mixed-phase quasi-steady vapor pressure, which lies between liquid and ice saturation [KorolevMazin2003](@cite).
168
168
169
-
-**Channel projection**``P = \mathrm{Diag}(z)``: channels whose condensed mass is below ``10^{-10}`` are projected out of the Jacobian. Their rows of ``I/h - PJP`` reduce to the identity, so the solve returns exactly a forward-Euler update for those channels while healthy channels stay implicit — an IMEX-style splitting at channel granularity. Near-empty channels otherwise produce finite but very large Jacobian entries (through the sink limiter) whose linearized steady state fabricates phantom number concentrations that substep refinement cannot remove.
169
+
The discrete safeguards are therefore conditioning and projection devices, all ``h``-free and applied to the linear solve rather than to the physics:
170
+
171
+
-**Channel projection**``P = \mathrm{Diag}(z)``: channels whose condensed mass is below ``10^{-10}`` are projected out of the Jacobian. Their rows of ``I/h - PJP`` reduce to the identity, so the solve returns exactly a forward-Euler update for those channels while healthy channels stay implicit — an IMEX-style splitting at channel granularity. Near-empty channels otherwise produce finite but very large Jacobian entries whose linearized steady state fabricates phantom number concentrations that substep refinement cannot remove.
170
172
-**Equilibration**``S = \mathrm{Diag}(|x| + h|f| + \epsilon)``: the linear system is solved as ``S^{-1} A S`` so the rows, which span roughly nine orders of magnitude across number and mass species, become O(1)-conditioned. This keeps single-precision roundoff relative to each species' own scale; an unscaled Float32 factorization deposits roundoff from the large rows into empty species as phantom mass.
173
+
-**Positivity clamp**``x \leftarrow \max(x + \Delta x, 0)``: a projection onto the physical nonnegative orthant after each substep.
171
174
172
-
The local temperature is advanced each substep from the latent heating of the realized increments. `logλ` and `q_tot` are held fixed across the interval, matching the explicit-substepping semantics; non-finite states or Jacobians fall back to forward-Euler substeps of the limited tendency. The implicit update makes the stiff ice-process path insensitive to the substep length; at very large substeps (``h \gtrsim 100`` s) the limiter switching degrades the single linearization, so increase `nsub`rather than relying on the limiters.
175
+
The local temperature is advanced each substep from the latent heating of the realized increments. `logλ` and `q_tot` are held fixed across the interval, matching the explicit-substepping semantics; non-finite states or Jacobians fall back to forward-Euler substeps of the raw tendency. The implicit update makes the stiff ice-process path insensitive to the substep length; at very large substeps (``h \gtrsim 100`` s) the single linearization carries the usual first-order error of a one-stage method, so increase `nsub`to refine.
0 commit comments