Condensation
- AerosolDynamics
model
aerosol
dynamics
Combined aerosol population dynamics: condensation growth (DiameterGrowthRate) and Brownian coagulation (BrownianCoagulationCoefficient + MonodisperseCoagulation), coupled so that the Fuchs-form coagulation coefficient K_12 drives the number-concentration ODE and the shared temperature T and particle density ρ_p parameterize both growth and coagulation. Implements Seinfeld & Pandis (2006) Ch. 13 Eqs. 13.11-13.13 (condensation), 13.47 and Table 13.1 (coagulation coefficient), and 13.65-13.67 (number-concentration dynamics). Migrated from Aerosol.jl src/dynamics.jl:279 (esm-540).
- DahnekeCondensationEvaporation
model
aerosol
dahneke
Transition-regime condensation/evaporation model coupling mass and heat transfer via Dahneke (1983) correction factors β and β_q. Inlines DahnekeMassTransportCorrection (Eqs. 6.2, 3.6, 5.5) and DahnekeHeatTransportCorrection (Eq. 5.7) subsystems and adds the Maxwell flux equations (Eqs. 2.1–2.2) and Dahneke-corrected rates (Eqs. 5.4, 5.6). Migrated from Aerosol.jl src/dahneke_brownian_diffusion.jl:157.
- DiameterGrowthRate
model
aerosol
dynamics
Diameter growth rate due to vapor condensation in the continuum regime (Seinfeld & Pandis 2006, Ch. 13, Eq. 13.11-13.13). Algebraic growth parameter A = 4·D_diff·M_i·Δp / (R_gas·T·ρ_p), algebraic growth rate I_D = A/D_p, ODE D(D_p) = I_D. Source: Aerosol.jl@c8c640bb:src/dynamics.jl:22.
- ParticleGrowthRate
model
aerosol
mass_transfer
Rate of change of particle radius due to condensation or evaporation of a trace gas. Models diffusion-limited radial growth in the continuum regime via Eq. 12.14 of Seinfeld & Pandis (2006): dR_p/dt = (D_g M_A / (ρ_p R_p)) (c_∞ − c_s). The quadratic-in-R_p growth law R_p(t)² = R_p0² + 2Kt (K = D_g M_A (c_∞ − c_s)/ρ_p) is the classical result for condensation onto an absorbing sphere in the continuum limit. Migrated from Aerosol.jl src/mass_transfer.jl `ParticleGrowthRate`.
- WSM6SaturationAdjustment
model
atmospheric_dynamics
wsm6
Saturation adjustment of cloud water in the WRF single-moment 6-class microphysics scheme (WSM6; Hong and Lim 2006), transcribed from the pcond block at the end of each sub-time step of mp_wsm6_run (phys/physics_mmm/mp_wsm6.F90, WRF 4.8, NCAR/MMM-physics; the statement function conden and the loop labelled 'pcond: condensational/evaporational rate of cloud water [HL A46] [RH83 A6]'). After every process rate has been applied and the hydrometeors have fallen, the kernel recomputes the saturation mixing ratio OVER WATER from the updated temperature and vapor (the inlined fpvs block, water branch only -- ice saturation plays no part here, whatever the temperature) and removes the remaining super- or sub-saturation with the one-step Newton (Asai 1965; Rutledge and Hobbs 1983 eq. A6) increment dq = (qv - qsat) / (1 + L^2 qsat / (r_v cpm T^2)), the linearisation of the Clausius-Clapeyron feedback of the latent heating on qsat. Condensation (dq > 0) is capped by the available vapor, evaporation (dq < 0) happens only where cloud water exists and is capped by the cloud water present, so that a layer that dries out loses all its cloud (the kernel then pads qc <= qmin to 0). The latent heat L and the moist heat capacity cpm are the START-OF-CALL values (EqWeFiC FORTRAN_BUGS.md note N4), so they are inputs here (saturation.esm xl, cpm); the saturation state at the adjusted temperature comes from saturation.esm mounted as subsystem `sat` on the same inputs. This is an INSTANTANEOUS ADJUSTMENT, not a rate: WSM6 applies the whole increment dq once per sub-step and stores pcond = dq/dtcld only for bookkeeping, so the stored 'rate' scales with 1/dtcld (EqWeFiC FORTRAN_BUGS.md note N3) and a small-dt replay of the kernel is meaningless for it. The model therefore exposes (i) the adjusted target state T*, qv*, qc* and the applied increment dq_applied, which are step-free and are what the tests check against the kernel, (ii) pcond = dq_applied/dtcld as the kernel reports it, and (iii) the relaxation-rate form pcond_relax = dq_adj/tau with an adjustment time tau as a parameter: for tau = dtcld it reproduces the kernel's unlimited rate, and a continuous model that cannot take an instantaneous step would use this form with a physical tau (a few seconds to tens of seconds) as the condensation tendency. Layer index `lev` (WRF k, layer 1 at the surface), pointwise, no grid geometry. Consumer-supplied inputs are the REWRITE-TARGET ops input_T, input_qv, input_p (read by the `sat` subsystem and re-exported), input_qc, input_xl and input_cpm, lowered in the inline tests through a per-test expression_template_imports library extracted from kernel dumps of the instrumented WRF fork ctessum-claude/WRF, commit e42a269 (v4.8.0-2-ge42a269e) (esm-spec 6.6 admits scalar overrides only). EqWeFiC, cited here for FORTRAN_BUGS.md and couplings/, is https://github.com/EarthSciML/EqWeFiC, where these components were developed and are coupled into a WRF column.