Ice-Phase
- WSM6ColdAccretion
model
atmospheric_dynamics
wsm6
Collection (accretion) process rates between the six water species of the WRF single-moment 6-class microphysics scheme below and above freezing (WSM6; Hong and Lim 2006 appendix A; Lin et al. 1983; Rutledge and Hobbs 1983, 1984), transcribed from the cold-rain block of mp_wsm6_run in phys/physics_mmm/mp_wsm6.F90 (WRF 4.8, NCAR/MMM-physics): accretion of cloud ice by rain (praci), of rain by cloud ice (piacr), of cloud ice by snow (psaci) and by graupel (pgaci) -- all only below 0 C --, of cloud water by snow (psacw) and by graupel (pgacw) and their snow/graupel-weighted combination (paacw), of snow by rain (pracs, below 0 C), of rain by snow (psacr) and by graupel (pgacr), the eliminated snow-by-graupel term (pgacs = 0 since WRF V3.0, when snow and graupel received a common fall speed), and the enhanced melting of snow and graupel above 0 C by the sensible heat of the liquid water they collect (pseml, pgeml). Each collection rate is the geometric sweep-out of one species by another: pi/4 n0 |V_a - V_b| times a size-distribution kernel (collection_kernel_* templates) times the collected mixing ratio, with the collection efficiencies (eacrs = exp(-0.07 (T0 - T)) for ice, 1 for water) and WSM6's empirical reduction min(max(0, q_collector/q_collected), 1)^2 folded into the UNLIMITED rate because they are functions of the state alone. The kernel additionally applies per-process time-step limiters (a sink may not remove more than q/dtcld per sub-step; pseml/pgeml are also floored at zero), exposed separately as <rate>_lim with the sub-step length dtcld as a parameter -- time-step artefacts, not physics (EqWeFiC FORTRAN_BUGS.md note N3); the mass-conservation rescaling applied afterwards is not part of this component. The size distributions, number concentrations and fall speeds are supplied by hydrometeor_slopes.esm mounted as subsystem `sd` (referenced as sd.<name>), exactly as the kernel evaluates them once per sub-step and reuses them here; cloud water qc and the sub-step dtcld are this component's own inputs. Scheme constants come from wsm6_parameters.esm (subsystem `par`), physical constants from lib/wrf_constants.esm (`wrf`). Consumer-supplied inputs are the rewrite-target ops `input_<name>` lowered in the inline tests through a per-test template library extracted from kernel dumps of the instrumented WRF fork ctessum-claude/WRF, commit e42a269 (v4.8.0-2-ge42a269e) (esm-spec 6.6 parameter_overrides admit scalars 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.
- WSM6IceDeposition
model
atmospheric_dynamics
wsm6
Vapor-exchange and conversion process rates of the ice phase of the WRF single-moment 6-class microphysics scheme (WSM6; Hong and Lim 2006; Hong, Dudhia and Chen 2004), transcribed from the cold-rain block of mp_wsm6_run in phys/physics_mmm/mp_wsm6.F90 (WRF 4.8, NCAR/MMM-physics): deposition/sublimation of vapor on cloud ice (pidep, HDC eq. 9), snow (psdep, HDC eq. 14) and graupel (pgdep, HL A21) below 0 C; ice nucleation from vapor (pigen, HDC eqs. 7-8); aggregation of ice to snow (psaut, HDC eq. 12) and of snow to graupel (pgaut, LFO eq. 37); and evaporation of melting snow (psevp, HL A35) and graupel (pgevp, HL A25) above 0 C. The UNLIMITED rates are the physics: pidep = 4 D_i N_i (rh_i - 1)/F_i, psdep/pgdep/psevp/pgevp the ventilated diffusional growth (rh - 1)(c1 lambda^-2 + c2 f_v coeres)/F, pgaut = alpha2(T) max(0, qs - qs0). Two processes are instantaneous adjustments that the kernel writes as rates: nucleation relaxes the ice content to the target q_i0(T) = 4.92e-11 N_i0(T)^1.33/rho and ice-to-snow aggregation removes the excess of q_i over q_imax = 2.08e22 D_max^8/rho; here the physical quantities are the targets q_i0 and q_imax (observeds qi_nucleation_target, qi_max) and the rates pigen, psaut carry the sub-step dtcld as a parameter (EqWeFiC FORTRAN_BUGS.md N3). WSM6 limits the deposition processes SEQUENTIALLY against the vapor budget: after the rain evaporation prevp of the warm-rain block (an INPUT here, from warm_rain.esm), each of pidep, psdep, pgdep may take at most half the supersaturation over ice per sub-step (satdt/2) and at most what the earlier processes left (supice), a sublimating species may not lose more than it holds, and once the running sum of the limited rates reaches satdt the flag ifsat closes the remaining processes and the nucleation; that chain is transcribed pointwise as the <rate>_lim observeds and the ifsat_* indicators, all time-step artefacts kept apart from the physics. The saturation state over water and ice (qsat_w, rh_w, qsat_i, rh_i, xl) is an INPUT from saturation.esm evaluated at the start of the sub-step (EqWeFiC FORTRAN_BUGS.md N4); the size distributions, N_i, D_i come from hydrometeor_slopes.esm mounted as subsystem `sd`; the deposition coefficients precs1/2, precg1/2, the transport properties of air, the ventilation factor and the ventilation moments live there too; the diffusional-growth denominators over water and ice are computed here with the same template as warm_rain.esm. Constants: wsm6_parameters.esm (`par`), lib/wrf_constants.esm (`wrf`). Consumer-supplied inputs are the rewrite-target ops `input_<name>` lowered in the inline tests through a per-test template library extracted from kernel dumps of the instrumented WRF fork ctessum-claude/WRF, commit e42a269 (v4.8.0-2-ge42a269e). 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.