Seinfeld-Pandis
- AerodynamicResistance
model
atmospheric_deposition
sp_ch19
ModelingToolkit implementation of the aerodynamic resistance to dry deposition from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 19 (Dry Deposition), Eq. 19.14. Computes the aerodynamic resistance r_a [s/m] -- the resistance to turbulent transport of a depositing species through the surface layer, from the reference height z down to the roughness height z_0 -- under neutral atmospheric stability. Eq. 19.14, r_a = ln(z/z_0)/(kappa*u_star), is the integral of the neutral-stability logarithmic wind profile: r_a falls inversely with the friction velocity u_star (stronger turbulence carries the species down faster) and with the logarithm of the height ratio z/z_0 (a rougher surface, larger z_0, is more efficiently coupled to the atmosphere and presents less aerodynamic resistance). Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_ch19.jl:106 (the AerodynamicResistance @component). Purely algebraic: no differential states, a single explicit equation.
- 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).
- AqueousDiffusionReaction
model
aerosol
transport
Correction factor Q for the aqueous-phase reaction rate when intra-droplet diffusion limits access to the reactive interior (Seinfeld & Pandis 2006, Chapter 12, Eqs. 12.105 and 12.110). Computes the dimensionless Hatta number q = R_p √(k_rxn/D_aq) and the corresponding correction factor Q = 3(q·coth q − 1)/q², which scales the effective reaction rate from the well-mixed limit (Q = 1) down toward zero as the droplet becomes increasingly diffusion-limited. Migrated from Aerosol.jl src/aqueous_transport.jl:14.
- AqueousEquilibria
model
aerosol
aq_eq
Coupled gas-aqueous chemical equilibrium for cloud droplets and aerosol water. Migrated from Aerosol.jl@c8c640bb src/aqueous_equilibria.jl:642. Composes WaterEquilibrium, CO2Equilibria, SO2Equilibria, NH3Equilibria, HNO3Equilibria, H2O2Equilibria, and O3Equilibria via a quadratic charge-balance approximation for H+. Reference: Seinfeld & Pandis (2016) Ch. 7 §7.3.
- AtmosphericBudget
model
gaschem
lifetime
Fundamental mass-conservation (budget) equation for an atmospheric species in a single reservoir, from Seinfeld & Pandis (2006) Ch. 2 (Atmospheric Trace Constituents), Eqs. 2.1-2.2, pp. 25-30. The reservoir mass Q evolves under the balance of transport (inflow minus outflow) and chemistry (production minus removal): dQ/dt = (F_in - F_out) + (P - R_removal) — the most basic statement of a trace-species budget, on which the lifetime, multiple-removal and tropospheric-budget formulations of the same chapter are built. The component additionally computes two diagnostic decomposition terms: the net transport contribution net_transport = F_in - F_out and the net chemistry contribution net_chemistry = P - R_removal; their sum is dQ/dt, and the steady-state condition (Eq. 2.2) dQ/dt = 0 ⇔ F_in + P = F_out + R_removal is reached when net_transport = -net_chemistry. One time-resolved ODE state (the reservoir mass Q) plus two observed (algebraic) diagnostic states (net_transport, net_chemistry); the four flux terms F_in, F_out, P, R_removal are externally-supplied inputs encoded as parameters. Migrated from GasChem.jl@8c12c048 src/AtmosphericLifetime.jl:64 (`AtmosphericBudget` @component); the upstream removal-rate @variable `R` is renamed `R_removal` here because the ESS schema reserves the bare name `R` for the ideal gas constant.
- AtmosphericDiffusion
model
atmospheric_dynamics
Atmospheric eddy-diffusivity and wind-profile parameterizations from Seinfeld & Pandis (2006) Ch. 18, Sec. 18.12. Given a height z above ground, the component computes the mean wind speed u_wind from a power-law profile (Eq. 18.118) and the vertical and horizontal eddy diffusivities K_zz, K_yy that govern turbulent transport of trace species in the planetary boundary layer. K_zz is selected by atmospheric stability from the Monin-Obukhov length L_MO: an unstable four-piece convective profile (Eq. 18.121, Lamb & Duran 1977), a neutral profile (Eq. 18.122, Myrup & Ranzieri 1976), or a stable profile (Eq. 18.125, Businger & Arya 1974). K_yy is 0.1*w_star*z_i under unstable conditions (Eq. 18.128) and equals K_zz otherwise. Three purely-algebraic equations, no time integration. Migrated from AtmosphericDynamics.jl@816cc391 src/atmospheric_diffusion.jl:30 (`AtmosphericDiffusion` @component).
- AtmosphericPressureProfile
model
atmospheric_dynamics
sp_ch1
Atmospheric pressure, density, and vertical pressure gradient as a function of altitude for an isothermal atmosphere. Couples the hydrostatic equation with the ideal gas law: the scale height H = R*T/(M_air*g) (Eq. 1.4) sets the e-folding altitude, the barometric formula p = p_0*exp(-z/H) (Eq. 1.5) gives pressure, the ideal gas law rho = M_air*p/(R*T) (Eq. 1.2) gives density, and the hydrostatic equation dpdz = -rho*g (Eqs. 1.1/1.3) gives the pressure gradient. Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:151 (`AtmosphericPressureProfile` @component). Implements Seinfeld & Pandis (2006) Chapter 1 Equations 1.1-1.5 for an isothermal atmosphere — the integrated, constant-scale-height form; a non-isothermal atmosphere would require numerical integration of Eq. 1.3. Parameterized as observed-only: altitude z and temperature T are inputs (parameters in standalone form, with R, M_air, g, p_0 as further parameter inputs carrying their upstream @constant values), and H, p, rho, dpdz are the four algebraic outputs. The upstream `5.3 AtmosphericPressureProfile Compilation` test compiles the component with `inputs = [app_nns.T]`, confirming T is an input.
- AtmosphericStability
model
atmospheric_dynamics
local_scale
Atmospheric static-stability diagnostics from Seinfeld & Pandis (2006) Ch. 16 (Meteorology of the Local Scale). Given the air temperature T and pressure p at a height z, the air temperature T_below one layer below, and the layer spacing delta_z, the component computes the potential temperature theta = T*(p_0/p)^(R_air/c_p) (Eq. 16.14), the actual temperature lapse rate dT_dz = (T - T_below)/delta_z, the potential-temperature gradient dtheta_dz = dT_dz + Gamma_d (Eqs. 16.16-16.18), and the static-stability parameter S = dtheta_dz: S > 0 stable, S = 0 neutral, S < 0 unstable. Four purely-algebraic equations, no time integration. Migrated from AtmosphericDynamics.jl@816cc391 src/local_scale_meteorology.jl:32 (`AtmosphericStability` @component).
- AtmosphericThermodynamics
model
atmospheric_dynamics
sp_ch1
Atmospheric thermodynamic profile for an isothermal atmosphere: given altitude and temperature it computes the scale height H = R*T/(M_air*g) (Eq. 1.4), the atmospheric pressure p = p_0*exp(-z/H) from the barometric formula (Eq. 1.5), the air density rho = M_air*p/(R*T) from the ideal gas law (Eq. 1.2), and the total molar concentration c_total = p/(R*T) (Eq. 1.7). Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:479 (`AtmosphericThermodynamics` @component). Implements Seinfeld & Pandis (2006) Chapter 1 Equations 1.2, 1.4, 1.5, 1.7. Despite the upstream docstring describing it as 'combining' equations from other components, the Julia @component is a flat model — it re-derives the four equations directly via `System(eqs, t; name)` with no MTK subsystems — so it is migrated here as a flat algebraic model (not subsystem-composed), mirroring the structurally identical sibling pressure_profile.esm. Parameterized as observed-only: altitude z and temperature T are inputs (parameters in standalone form, with R, M_air, g, p_0 as further parameter inputs carrying their upstream @constant values), and H, p, rho, c_total are the four algebraic outputs. The upstream `5.9 AtmosphericThermodynamics Compilation` test compiles the component with `inputs = [at_nns.T]`, confirming T is an input.
- BarometricFormula
model
atmospheric_dynamics
sp_ch1
Barometric formula for an isothermal atmosphere: p(z) = p_0 * exp(-z/H). Gives the pressure at altitude z from the sea-level pressure p_0 and the atmospheric scale height H. Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:201 (`BarometricFormula` @component). Implements Seinfeld & Pandis Ch 1 Eq. 1.5 — the integrated form of the hydrostatic equation for an isothermal atmosphere. Parameterized as observed-only: z, H, and p_0 are inputs (parameters in standalone form), pressure_ratio and p are the algebraic outputs.
- BelowCloudGasScavenging
model
atmospheric_deposition
sp06_ch20
Irreversible below-cloud (washout) scavenging of a gas-phase species by falling raindrops, from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 20 (Wet Deposition), Eqs. 20.22, 20.24, 20.25. The gas scavenging coefficient Λ_gas = 6·p₀·K_c/(D_p·U_t) (Eq. 20.25) for monodisperse drops is constant in time, so the below-cloud gas concentration decays exponentially via dC_g/dt = −Λ_gas·C_g (Eq. 20.24) and the below-cloud scavenging flux is F_bc = Λ_gas·h·C_g (Eq. 20.22). 'Irreversible' means the gas is assumed to be taken up and not re-released — the limiting case opposite to the reversible (Henry's-law-equilibrium) treatment of the sibling ReversibleGasScavenging component. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_2006_ch20.jl:234 (`BelowCloudGasScavenging` @component). ODE system: C_g is the single differential state; Λ_gas and F_bc are algebraic outputs (upstream `@variables`, serialized as type `state` with explicit algebraic equations); K_c, U_t, D_p, h, p₀ are input parameters.
- BlackbodyRadiation
model
gaschem
radiation
Planck's blackbody radiation law (Seinfeld & Pandis 2006 Ch. 4, Eq. 4.2) — the monochromatic emissive power F_B_λ of a blackbody at temperature T as a function of wavelength λ via Planck's constant h, the speed of light c, and the Boltzmann constant k_B: F_B_λ = 2π·c²·h·λ⁻⁵ / (exp(c·h/(k_B·λ·T)) - 1). The component is observed-only: one algebraic equation on one state variable (F_B_λ the monochromatic emissive power per unit wavelength in W/m³) driven by two input parameters (T temperature in K, λ wavelength in m) and four constants (h Planck's constant, c speed of light, k_B Boltzmann constant, π_val mathematical π as a Float64 value). No time derivatives, no PDE, no coupling. Migrated from GasChem.jl@8c12c048 src/radiation_fundamentals.jl:73 (`BlackbodyRadiation` @component). The Planck function is the spectral energy density of thermal radiation from an opaque, non-reflective body in thermodynamic equilibrium — the foundational equation of quantum radiative transfer. Integrating F_B_λ over all wavelengths gives the Stefan-Boltzmann total flux σT⁴ (see stefan_boltzmann.esm); the wavelength where F_B_λ peaks is λ_max = b/T from Wien's displacement law (see wien.esm). At the default T=5800 K (Sun's effective surface temperature) and λ=500 nm (visible green, the canonical solar-peak wavelength), F_B_λ ≈ 8.46e13 W/m³ — the peak intensity that anchors the Sun's irradiance at Earth's distance and the solar-driven photochemistry of the atmosphere. At T=300 K (Earth surface) and λ=10 μm (thermal-IR), F_B_λ ≈ 3.12e7 W/m³ — the canonical longwave outgoing radiation peak that drives the planetary energy balance.
- BrownianCoagulationCoefficient
model
aerosol
dynamics
Brownian coagulation coefficient K_12 for two particles using the Fuchs interpolation formula (Seinfeld & Pandis 2006, Table 13.1). Valid across the continuum, transition, and free-molecular regimes. Computes Knudsen numbers, Cunningham slip corrections, Brownian diffusion coefficients, mean thermal velocities, particle mean free paths, and the Fuchs interpolation parameters g_1, g_2 as intermediate observed variables before assembling K_12. Migrated from Aerosol.jl src/dynamics.jl:75.
- BrOxCycle
model
gaschem
stratospheric
Stratospheric bromine catalytic ozone-destruction cycle (BrOx). Three ODEs (Br, BrO, HOBr) and two algebraic family identities (BrOx = Br + BrO; Bry = Br + BrO + HOBr). Reactions: Br + O3 → BrO + O2 (Arrhenius); BrO + O → Br + O2; BrO + ClO → Br + Cl + O2 (constant rate); BrO + HO2 → HOBr + O2; HOBr + hν → OH + Br (photolysis). Unlike chlorine, bromine has no stable HBr reservoir because Br + CH4 is endothermic (Seinfeld & Pandis Page 169). Bromine is approximately 50× more effective than chlorine in destroying ozone on an atom-for-atom basis. Migrated from GasChem.jl@8c12c048 src/StratosphericChemistry.jl:390 (`BrOxCycle` @component). Rate coefficients converted CGS → SI: cm³/molec/s × 1e-6 → m³/s.
- CarbonCycle
model
atmospheric_dynamics
global_cycles
Seven-reservoir model of the global carbon cycle from Schmitz (2002), as presented in Seinfeld & Pandis (2006) Ch. 22 (Global Cycles: Sulfur and Carbon), Table 22.1 and Fig. 22.6, pp. 1009-1015. Carbon is tracked as a mass (kg) in seven reservoirs — atmosphere (M1), warm ocean surface waters (M2), cool ocean surface waters (M3), deep ocean waters (M4), terrestrial biota (M5), soils and detritus (M6), and fossil fuel reserves (M7) — plus a dimensionless land-use-change scaling factor G that modulates biotic uptake (Eq. 22.21). Inter-reservoir transport uses first-order exchange coefficients k_ij (Table 22.1), except three nonlinear fluxes carried as auxiliary algebraic variables: the saturating atmosphere-to-biota photosynthetic uptake F15 (Eq. 22.19) and the carbonate-buffer power-law ocean-to-atmosphere outgassing fluxes F21 and F31 (Eq. 22.18). Three external forcing parameters drive the anthropogenic perturbation — fossil fuel emissions Ff, deforestation Fd, and reforestation Fr — all zero by default, recovering the preindustrial (~1850) steady state. The system is an 11-unknown ODE model (8 time-differentiated reservoir states M1-M7,G + 3 algebraic flux states F15/F21/F31) with 11 equations and 25 parameters (22 first-order/derived constants + 3 forcing fluxes). All quantities are SI (kg for mass, s for time); the source material's Pg C (1 Pg = 1e12 kg) and years (1 yr = 31557600 s) are converted to maintain unit consistency. Migrated from AtmosphericDynamics.jl@816cc391 src/global_cycles.jl:115 (`CarbonCycle` @component).
- ChapmanMechanism
model
gaschem
stratospheric
Stratospheric Chapman mechanism for ozone production and destruction (Seinfeld & Pandis 2006 Ch. 5, §5.2, Eqs. 5.1-5.17). Two-state ODE on atomic oxygen O and ozone O3 driven by the four canonical Chapman reactions: O2 photolysis (j_O2), three-body recombination O + O2 + M → O3 + M (k2 with power-law T-dependence (T_ref/T)^2.4), O3 photolysis (j_O3), and the O + O3 → 2 O2 odd-oxygen sink (k4 with Arrhenius temperature dependence). Odd oxygen Ox = O + O3 is *not* exactly conserved — the Chapman cycle has a net Ox source (2·j_O2·O2·M from O2 photolysis) balanced against an Ox sink (2·k4·O·O3 from the O+O3 reaction) — but on short timescales (≲ 10 s under default mid-stratosphere conditions) the net change is small (~4e-5 relative drift) and the upstream test treats it as quasi-conserved at rtol=1e-4. Migrated from GasChem.jl@8c12c048 src/StratosphericChemistry.jl:51 (`ChapmanMechanism` @component). Rate coefficients carry SI units throughout, converted from Seinfeld & Pandis CGS values via cm^6/molec^2/s × 1e-12 → m^6/s for the 3-body k2 and cm^3/molec/s × 1e-6 → m^3/s for the bimolecular k4.
- ClassicalNucleationRate
model
aerosol
nucleation
Simplified single-component classical nucleation rate (Eq. 11.47) from Seinfeld & Pandis (2006), Chapter 11. Computes only the steady-state nucleation rate J from the Zeldovich pre-exponential factor and the free-energy-barrier exponential. Use this component when the critical-cluster properties (i*, r*, ΔG*) are not needed; see the Nucleation component for the full coupled system.
- ClimateFeedback
model
gaschem
climate
Climate-feedback diagnostic (Seinfeld & Pandis 2006 Ch. 23 §23.4 Eqs. 23.1-23.4 and Eq. 23.7 p. 1045) — the linear-response relation between a top-of-atmosphere radiative forcing perturbation ΔF and the equilibrium surface temperature change ΔT_s through the feedback-amplified climate sensitivity λ. Six observed-only algebraic equations on six state variables (ΔT_s the feedback-amplified equilibrium response, ΔT_0 the no-feedback Planck response, λ_0 the no-feedback sensitivity factor, ΔF_e the efficacy-weighted effective forcing, ΔF_r the forcing equivalent of realized warming, ΔT_unrealized the warming commitment) driven by five input parameters (ΔF the forcing perturbation, λ the feedback-amplified sensitivity, λ_CO2 the CO₂-doubling sensitivity reference, E_i the efficacy of the forcing agent, ΔT_r the realized warming to date) and two reference constants (ΔF_2xCO2 the CO₂-doubling radiative forcing, ΔT0_2xCO2 the no-feedback temperature change for CO₂ doubling). No time derivatives, no PDE, no coupling. Migrated from GasChem.jl@8c12c048 src/climate_forcing.jl:32 (`ClimateFeedback` @component). The component extends the no-feedback Planck response of the sibling `ClimateSensitivity` model (components/gaschem/radiation/climate_sensitivity.esm, S&P §4.2 Eqs. 4.8-4.10) by introducing the feedback-amplified sensitivity factor λ and the warming-commitment relation ΔT_unrealized = (ΔF - ΔF_r)·λ that captures the lag between achieved (ΔT_r) and equilibrium (ΔT_s) warming under a non-zero forcing perturbation. At Earth's nominal 2×CO₂ forcing ΔF = 3.7 W/m² and λ = 0.8 K·m²/W (IPCC AR4 central estimate), the component reproduces the textbook canonical ΔT_s ≈ 2.96 K equilibrium warming (S&P Page 1040), λ_0 ≈ 0.338 K·m²/W no-feedback Planck response, and ΔT_unrealized ≈ 0.49 K warming commitment for the present-day p. 1045 scenario (λ = 0.7, ΔF = 1.7, ΔT_r = 0.7).
- ClimateSensitivity
model
gaschem
radiation
Climate-sensitivity diagnostic (Seinfeld & Pandis 2006 Ch. 4, Eqs. 4.8-4.10) — the linear-response relation between a top-of-atmosphere radiative-forcing perturbation ΔF_net and the resulting change in planetary equilibrium temperature ΔT_e through the no-feedback climate-sensitivity factor λ_0 = 1 / (4·σ·T_e^3) = T_e / (4·F_L). The component is observed-only: four algebraic equations on four state variables (ΔF_net the net forcing, λ_0 the sensitivity factor, ΔT_e the temperature response, F_L the reference longwave flux) driven by three input parameters (T_e the reference equilibrium temperature, ΔF_S the forcing-side perturbation, ΔF_L the longwave-side perturbation) and one constant (σ the Stefan-Boltzmann constant). No time derivatives, no PDE, no coupling. Migrated from GasChem.jl@8c12c048 src/radiation_fundamentals.jl:268 (`ClimateSensitivity` @component). The blackbody reference state (F_L = σ·T_e^4) and the analytic differentiation of Stefan-Boltzmann (dF_L/dT_e = 4·σ·T_e^3 → λ_0 = 1 / (4·σ·T_e^3)) together encode the no-feedback Planck response — the only baseline against which feedback-amplified climate sensitivities (water vapor, lapse rate, albedo, cloud) are conventionally reported in IPCC assessments. At Earth's nominal T_e = 255 K the component reproduces the textbook λ_0 ≈ 0.27 K·m^2/W and a CO2-doubling ΔT_e ≈ 1.22 K (S&P Page 105) using a forcing-doubling estimate of 4.6 W/m^2.
- ClOxCycle
model
gaschem
stratospheric
Stratospheric ClOx catalytic ozone destruction cycle (Seinfeld & Pandis 2006, Ch. 5 §5.5.1). Migrated from GasChem.jl@8c12c048 src/StratosphericChemistry.jl:272 (`ClOxCycle` @component). Implements 4 ODEs (Cl, ClO, HCl, ClONO2) coupled to 2 algebraic family sums (ClOx = Cl + ClO, Cly = Cl + ClO + HCl + ClONO2). Rate coefficients are Arrhenius (k = A·exp(C/T)) for the five binary reactions and a (T_ref/T)^3.4 form for the termolecular ClO + NO2 + M → ClONO2 channel. All upstream `@constants` are encoded as parameters with their literal SI defaults; physical-condition `@parameters` (T, M, photolysis rates, fixed-bath species O, O3, NO, NO2, OH, CH4) are also parameters so the cycle can be exercised at different atmospheric conditions.
- CO2Equilibria
model
aerosol
aq_eq
CO2 dissolution and dissociation equilibria with van't Hoff temperature dependence (Seinfeld & Pandis Ch 7 §7.3.2, Eqs 7.14–7.24). Migrated from Aerosol.jl@c8c640bb src/aqueous_equilibria.jl:140 (`CO2Equilibria` @component). Parameterized as observed-only: T, H_plus, p_CO2 are inputs and the carbonate-system species (CO2_aq, HCO3-, CO3^2-, total dissolved C, effective Henry constant) are algebraic outputs.
- COOxidation
model
gaschem
co_oxidation
CO oxidation chemistry diagnostics from Seinfeld & Pandis (2006) Ch. 6 §6.3 Eqs. 6.9-6.18, pp. 212-219. CO oxidation is the simplest hydrocarbon-oxidation mechanism and illustrates the catalytic HOx cycling that drives tropospheric ozone production (net: CO + 2O₂ + hν → CO₂ + O₃, with OH regenerated through HO₂ + NO). This observed-only algebraic component implements six diagnostic relations: the OH loss rate L_OH (to CO, NO₂, O₃), the HO₂ loss rate L_HO2 (to NO, the HO₂ self-reaction, and O₃), the HOx radical-termination loss rate L_HOx (OH+NO₂→HNO₃ plus the HO₂ self-reaction), the high-NOx HO₂ steady-state concentration HO2_ss (Eq. 6.18), the net ozone production rate P_O3 (HO₂+NO production minus the OH+O₃ and HO₂+O₃ loss channels), and the HOx chain length (propagation rate over termination rate — the number of OH-HO₂ cycles before radical termination). Observed-only algebraic system (no time derivatives): twelve variables (six inputs CO/OH/HO₂/NO/NO₂/O₃ encoded as parameters, six outputs L_OH/L_HO2/L_HOx/HO2_ss/P_O3/chain_length as state), six rate-constant parameters (k_CO_OH, k_HO2_NO, k_HO2_HO2, k_OH_NO2, k_HO2_O3, k_OH_O3), one dimensionless stoichiometric constant (two), and six algebraic equations. Migrated from GasChem.jl@8c12c048 src/co_oxidation.jl:88 (`COOxidation` @component).
- CriticalCluster
model
aerosol
nucleation
Critical cluster properties for classical homogeneous nucleation theory following Seinfeld & Pandis (2006), Chapter 11, Equations 11.27, 11.35, 11.52, and 11.53. Computes the dimensionless surface tension parameter (theta), critical cluster size (i*), critical radius (r*), and free energy barrier (ΔG*) as purely algebraic functions of temperature, saturation ratio, surface tension, and molecular volume. Use this component for parameter sensitivity studies or when the full nucleation rate (ClassicalNucleationRate) is not needed.
- Dahneke
model
aerosol
mass_transfer
Dahneke transition-regime correction factor f_D for gas-particle mass transfer. f_D is the ratio J/J_c of the actual particle-surface flux to the continuum-regime flux (Seinfeld & Pandis 2006, Chapter 12, Eq. 12.42): f_D = (1 + Kn) / (1 + 2 Kn(1 + Kn) / α). In the continuum limit (Kn ≪ 1) f_D → 1, recovering J_c with no correction; in the free-molecular limit (Kn ≫ 1) f_D ≈ α / (2 Kn) → 0, reflecting strong reduction in flux for very small particles or very long mean free paths. Migrated from Aerosol.jl src/mass_transfer.jl `Dahneke`.
- 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.
- DiscreteCoagulation
model
aerosol
dynamics
5-bin discrete coagulation model for a monodisperse initial distribution with constant coagulation coefficient (Seinfeld & Pandis 2006, Ch. 13, Eqs. 13.59, 13.67, 13.71). Tracks the evolution of five k-mer bins (N1..N5) under Brownian coagulation. Source: Aerosol.jl@c8c640bb:src/dynamics.jl:221 (n_bins=5 instantiation, esm-isv).
- DryDepositionAerosol
model
atmospheric_deposition
ModelingToolkit implementation of particle (aerosol) dry deposition from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 19 (Dry Deposition), Eq. 19.7. Computes the particle dry deposition velocity v [m/s] for a single aerosol size and the corresponding first-order deposition rate k = v/z [1/s], as a resistance network: v = 1/(R_a + R_b + R_a*R_b*V_s) + V_s, where R_a is the aerodynamic resistance (Eqs. 19.13-19.14), R_b is the quasi-laminar sublayer resistance (Eq. 19.27), and V_s is the gravitational settling velocity (Eq. 9.42). R_b combines Brownian diffusion (Schmidt number), inertial impaction (Stokes number) and interception, with land-use-dependent collector geometry from the Seinfeld & Pandis Table 19.2 characteristic-radius table. Migrated from AtmosphericDeposition.jl@e4468c79 src/dry_deposition.jl:1040 (the DryDepositionAerosol builder); its DryDepParticle kernel (src/dry_deposition.jl:272) and the whole helper chain (ra, mu, mfp, cc, vs, dParticle, sc, stSmooth/stVeg, RbParticle) are inlined. Purely algebraic: no differential states -- the 27 computed quantities are observed variables defined by inline expressions.
- DryDepositionGas
model
atmospheric_deposition
sp_ch19
ModelingToolkit implementation of the complete gas dry-deposition velocity model from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 19 (Dry Deposition), Eq. 19.2 (deposition velocity) and Eq. 19.1 (deposition flux). The gas dry-deposition velocity follows the resistance-in-series model: a depositing gas crosses three resistances stacked in series between the reference height and the surface -- the aerodynamic resistance r_a (turbulent transport through the surface layer, Eq. 19.14), the quasi-laminar resistance r_b (molecular diffusion across the thin stagnant sublayer in contact with the surface, Eq. 19.17), and the surface resistance r_c (uptake by the canopy along four parallel pathways, Wesely 1989, Eq. 19.50). The deposition velocity is the reciprocal of their sum, v_d = 1/(r_a + r_b + r_c), and the downward deposition flux is F = -v_d*C for a gas concentration C at the reference height. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_ch19.jl:416 (`DryDepositionGas` @component), which composes three MTK subsystems via `System(eqs, t; systems=[aero, qlam, surf])` plus its own coupling equations. Represented here as a subsystem-composed ESS model (spec section 4.7): the `aero` subsystem inlines the already-migrated AerodynamicResistance component (aerodynamic_resistance.esm, esm-x8pg), `qlam` inlines QuasiLaminarResistanceGas (quasi_laminar_gas.esm, esm-t3wp), and `surf` inlines SurfaceResistance (surface_resistance.esm, esm-ug1i), wired together by seven top-level coupling equations. Algebraic (no time derivative): u_star, C, G and T_s are input parameters; r_t, v_d and F are algebraic state outputs.
- DryDepositionParticle
model
atmospheric_deposition
sp_ch19
Composite particle dry-deposition model from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 19 (Dry Deposition). Given the surface-layer friction velocity and an aerosol particle's properties it computes the particle dry deposition velocity v_d (Eq. 19.7) and the resulting downward deposition flux F (Eq. 19.1). Eq. 19.7, v_d = 1/(r_a + r_b + r_a*r_b*v_s) + v_s, combines the resistance-network pathway -- turbulent transport through the aerodynamic resistance r_a and the quasi-laminar boundary-layer resistance r_b, with the r_a*r_b*v_s cross term capturing gravitational settling acting inside the resistance network -- with a direct gravitational-settling term v_s; the flux F = -v_d*C (Eq. 19.1) is negative for downward transport. The competition between Brownian diffusion (efficient for sub-0.1 um particles) and inertial impaction (efficient for super-um particles) leaves a deposition-velocity minimum at accumulation-mode sizes. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_ch19.jl:479 (the DryDepositionParticle @component), which composes three MTK subsystems via System(eqs, t; systems=[aero, settling, qlam]). Represented here as a subsystem-composed ESS model (spec §4.7): the aero subsystem inlines the already-migrated AerodynamicResistance component (aerodynamic_resistance.esm, esm-x8pg), settling inlines ParticleSettling (particle_settling.esm, esm-egwt) and qlam inlines QuasiLaminarResistanceParticle (quasi_laminar_particle.esm, esm-brbr), wired by six top-level coupling equations. Purely algebraic (no D() time-derivative anywhere): u_star and C are input parameters; v_d and F are algebraic state outputs.
- FuchsSutugin
model
aerosol
mass_transfer
Fuchs-Sutugin transition-regime correction factor for aerosol mass transfer. f_FS = J/J_c is the ratio of the actual flux to the continuum-regime flux J_c; it interpolates between f_FS → 1 in the continuum limit (Kn ≪ 1) and f_FS → 0 in the free-molecular limit (Kn ≫ 1). The formula f_FS = 0.75α(1+Kn)/(Kn²+Kn+0.283Kn·α+0.75α) (Seinfeld & Pandis 2006, Chapter 12, Eq. 12.43) is the most widely used semi-empirical interpolation across the full Knudsen number range, and extends the original Fuchs (1934) result with an explicit accommodation-coefficient correction due to Sutugin. Migrated from Aerosol.jl src/mass_transfer.jl `FuchsSutugin`.
- GasScavengingCoeff
model
atmospheric_deposition
sp06_ch20
Below-cloud gas scavenging coefficient for irreversible uptake of a gas-phase species by falling monodisperse raindrops, from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 20 (Wet Deposition), Eq. 20.25. The scavenging coefficient Λ_gas = 6·p₀·K_c/(D_p·U_t) sets the first-order loss rate (s⁻¹) of a soluble gas to rain: it rises linearly with the precipitation rate p₀ and the gas-phase mass transfer coefficient K_c, and falls inversely with the raindrop diameter D_p and terminal velocity U_t. 'Irreversible' uptake assumes the gas is captured and not re-released — the limiting case opposite to the Henry's-law-equilibrium treatment of the sibling ReversibleGasScavenging component. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_2006_ch20.jl:116 (`GasScavengingCoeff` @component). Observed-only algebraic model: K_c, U_t, D_p, p₀ are input parameters and Λ_gas is the single algebraic output, fixed by one equation with no time derivative.
- GeneralCirculation
model
atmospheric_dynamics
General circulation of the atmosphere — Coriolis parameter, tangential speed, geostrophic wind, and thermal-wind relations from Seinfeld & Pandis (2006) Chapter 21. Migrated from AtmosphericDynamics.jl@816cc391 src/general_circulation.jl:60 (`GeneralCirculation` @component).
- GHGForcing
model
gaschem
climate
Greenhouse-gas radiative forcing budget for the well-mixed industrial-era GHGs plus tropospheric ozone (Seinfeld & Pandis 2006 Ch. 23 §23.3, p. 1038-1042, IPCC TAR 2001 baseline reproduced in S&P Figure 23.6 / Table 23.4). The component aggregates the five canonical anthropogenic radiative-forcing channels — CO₂, CH₄, N₂O, tropospheric O₃, and the halocarbon family — and exposes per-channel and total radiative forcing as observable outputs. Each channel is parameterized as a dimensionless scaling factor f_X applied to a fixed IPCC TAR reference forcing ΔF_X_ref: ΔF_X = f_X · ΔF_X_ref. The total ΔF_total = Σ ΔF_X is the headline anthropogenic radiative-forcing diagnostic. Observed-only algebraic component: six equations on six state variables (ΔF_CO2, ΔF_CH4, ΔF_N2O, ΔF_O3, ΔF_halo, ΔF_total) driven by five scaling-factor parameters (f_CO2, f_CH4, f_N2O, f_O3, f_halo) and five reference-forcing constants (ΔF_CO2_ref = 1.46, ΔF_CH4_ref = 0.48, ΔF_N2O_ref = 0.15, ΔF_O3_trop_ref = 0.4, ΔF_halo_ref = 0.34, all in W/m^2). No time derivatives, no PDE, no coupling. Migrated from GasChem.jl@8c12c048 src/climate_forcing.jl:104 (`GHGForcing` @component). The scaling-factor design lets a downstream consumer adjust each individual channel without forking the component — useful for (i) reproducing the IPCC AR4/AR5/AR6 revisions to the industrial-era forcing values (e.g., AR5 CO₂ ≈ 1.82 W/m² vs TAR 1.46), (ii) sensitivity studies that probe each channel's contribution to the total, and (iii) attribution scenarios that zero out individual channels (f_X = 0 ⇒ ΔF_X = 0). At the defaults (all f_X = 1), ΔF_total = 1.46 + 0.48 + 0.15 + 0.4 + 0.34 = 2.83 W/m² which matches the upstream IPCC TAR 2001 industrial-era forcing total (S&P p. 1039, sum of the five well-mixed-GHG + O3 channels excluding aerosols).
- GlobalWarmingPotential
model
gaschem
climate
Global Warming Potential (GWP) for atmospheric trace species with first-order exponential-decay perturbation lifetimes (Seinfeld & Pandis 2006 Ch. 23, Eqs. 23.5-23.6 and Problem 23.3, p. 1050). The GWP is defined as the ratio of the time-integrated radiative forcing from a pulse emission of 1 kg of species A to that of 1 kg of CO₂ over a specified time horizon t_f. For species whose atmospheric perturbation decays exponentially as exp(-t/τ_A), the time-integrated forcing reduces to the closed-form expression τ_A · (1 - exp(-t_f/τ_A)), so the GWP becomes GWP = a_A · τ_A · (1 - exp(-t_f/τ_A)) / [a_CO2 · τ_CO2 · (1 - exp(-t_f/τ_CO2))]. The component is observed-only: five algebraic equations on five state variables (decay_integral_A, decay_integral_CO2, AGWP_A, AGWP_CO2, GWP) driven by three input parameters (τ_A the species lifetime, a_A the radiative efficiency relative to CO₂, t_f the time horizon) and two CO₂-reference constants (τ_CO2 the effective CO₂ lifetime, a_CO2 the reference radiative efficiency). No time derivatives, no PDE, no coupling. Migrated from GasChem.jl@280ee50f src/climate_forcing.jl:182 (`GlobalWarmingPotential` @component). The GWP framework is the IPCC standard for comparing the climate impact of different greenhouse gases on a common (CO₂-equivalent) scale and underlies the conversion between mass emissions of CH₄, N₂O, halocarbons, and other well-mixed GHGs to their CO₂-equivalent emissions for policy and inventory accounting. Canonical GWP₁₀₀ values (IPCC AR4 Table 23.1, S&P p. 1042): CH₄ ≈ 23, N₂O ≈ 296, SF₆ ≈ 22800 — the framework's three-order-of-magnitude span anchors the design choice of representing GWP as a derived ratio rather than a hardcoded table.
- H2O2Equilibria
model
aerosol
aq_eq
H2O2 gas-aqueous dissolution and (weak) dissociation equilibria with van't Hoff temperature dependence. Migrated from Aerosol.jl@c8c640bb src/aqueous_equilibria.jl:519 (`H2O2Equilibria` @component). Implements Seinfeld & Pandis Ch 7 §7.3.6: K_H(H2O2, 298 K) = 1.0×10⁵ M/atm, ΔH_sol = −14.5 kcal/mol; K_h1(H2O2, 298 K) = 2.2×10⁻¹² M (temperature-independent, very weak). Parameterized as observed-only: T, H_plus, and p_H2O2 are inputs; H_H2O2, K_h1, H2O2_aq, HO2_minus, H2O2_total, H_H2O2_eff are algebraic outputs.
- HenrysLaw
model
aerosol
henrys_law
Basic Henry's law equilibrium at fixed temperature (Seinfeld & Pandis 2006, Chapter 7, Eq. 7.3). Computes the aqueous-phase concentration C_aq = H_A × p_A, where H_A is the Henry's law constant at the reference temperature and p_A is the gas-phase partial pressure of species A. Migrated from Aerosol.jl src/henrys_law.jl `HenrysLaw` (esm-3ro).
- HNO3Equilibria
model
aerosol
aq_eq
HNO3 gas-aqueous dissolution and dissociation equilibria. Migrated from Aerosol.jl@c8c640bb src/aqueous_equilibria.jl:438 (`HNO3Equilibria` @component). Implements Seinfeld & Pandis Ch 7 §7.3.5 (Eq 7.53–7.54, 7.58, 7.61): K_H(HNO3, 298 K) = 2.1×10⁵ M/atm (temperature-independent, dH≈0), K_n1(HNO3, 298 K) = 15.4 M (temperature-independent). HNO3 is a strong acid (pKa ≈ −1.2) that essentially completely dissociates at all atmospheric pH values. Parameterized as observed-only: T, H_plus, and p_HNO3 are inputs; H_HNO3, K_n1, HNO3_aq, NO3_minus, HNO3_total, H_HNO3_eff are algebraic outputs.
- HOxCycle
model
gaschem
stratospheric
Stratospheric HOx catalytic ozone destruction cycle (Seinfeld & Pandis 2006 Ch. 5, §5.4, Eqs. 5.23-5.28). Two-state ODE on the radicals OH and HO2 driven by reactions with O3, atomic O, and NO; HOx = OH + HO2 is exactly conserved by construction (D(OH) + D(HO2) ≡ 0). Migrated from GasChem.jl@8c12c048 src/StratosphericChemistry.jl:187 (`HOxCycle` @component). All rate coefficients are temperature-dependent Arrhenius forms k_X = k_X_A · exp(C_X / T) with the Seinfeld & Pandis bimolecular CGS pre-factors converted to SI via the cm³/molec/s × 1e-6 → m³/s factor; SI rates and SI number-density concentrations (m^-3) are preserved verbatim from upstream.
- IdealGasLaw
model
atmospheric_dynamics
sp_ch1
Ideal gas law for atmospheric air density: rho = M_air * p / (R * T). Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:68 (`IdealGasLaw` @component). Implements Seinfeld & Pandis Ch 1 Eq 1.2. Parameterized as observed-only: T and p are inputs (parameters in standalone form), rho is the algebraic output. Upstream the Julia @component declares T and p as @variables for composition into a parent system; for standalone serialization (3 unknowns vs 1 equation otherwise), they are declared as parameters here, mirroring the WaterEquilibrium serialization pattern.
- KnudsenNumber
model
aerosol
mass_transfer
Knudsen number Kn = λ/R_p — the ratio of the gas mean free path λ to the particle radius R_p. Kn determines the transport regime: Kn ≪ 1 (continuum, Fick's law applies), Kn ≫ 1 (free-molecular, kinetic theory applies), Kn ~ 1 (transition regime, interpolation formulas such as Fuchs-Sutugin required). At standard atmospheric conditions λ ≈ 65 nm; Kn ≈ 0.65 for a 100 nm particle and Kn ≈ 0.0065 for a 10 µm droplet. Migrated from Aerosol.jl src/mass_transfer.jl `KnudsenNumber`.
- LocalScaleMeteorology
model
atmospheric_dynamics
local_scale
Local-scale boundary-layer meteorology from Seinfeld & Pandis (2006) "Atmospheric Chemistry and Physics", 2nd ed., Chapter 16 "Meteorology of the Local Scale". A flat observed-only algebraic component that combines atmospheric static-stability analysis, Monin-Obukhov surface-layer similarity theory and Pasquill stability-class estimation: from the air temperature and pressure, the surface-layer geometry, the friction velocity u_star and the surface sensible heat flux q_z it computes the potential temperature θ (Eq. 16.14), the actual and potential-temperature lapse rates dT_dz and dθ_dz (Eqs. 16.16-16.18), the Monin-Obukhov length L and its inverse L_inv (Eq. 16.70), the stability parameter ζ = z/L, the Businger-Dyer stability functions φ_m, φ_h and their integrated forms ψ_m, ψ_h (Eqs. 16.75, 16.78-16.79), the stability-corrected mean wind speed ū (Eq. 16.66) and the Pasquill stability class (1=A to 6=F) via the Golder (1972) correlation (Eq. 16.83). Twelve purely-algebraic equations, no time integration. Migrated from AtmosphericDynamics.jl@816cc391 src/local_scale_meteorology.jl:234 (`LocalScaleMeteorology` @component).
- MassTransfer
model
aerosol
mass_transfer
Complete transition-regime mass transfer model combining mean molecular speed, air density, mean free path, Knudsen number, Fuchs-Sutugin correction, and continuum-regime flux to produce the transition-regime corrected molar flow rate J for particle growth/evaporation across all Knudsen number regimes (Seinfeld & Pandis 2006, Chapter 12, Sections 12.1.1–12.1.4, Eqs. 12.12, 12.24, 12.31, 12.43). Migrated from Aerosol.jl src/mass_transfer.jl `MassTransfer` (esm-44h).
- MassTransferCoeff
model
atmospheric_deposition
sp06_ch20
Gas-phase mass transfer coefficient K_c to a falling raindrop, from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 20 (Wet Deposition), Eq. 20.12. K_c is computed from a Sherwood-number correlation K_c = (D_g/D_p)·[2 + 0.6·Re^(1/2)·Sc^(1/3)], where the drop Reynolds number Re = ρ_air·U_t·D_p/μ_air measures the convective flow past the falling drop and the gas Schmidt number Sc = μ_air/(ρ_air·D_g) is the ratio of the momentum to the mass boundary-layer thickness. The leading 2 is the still-air diffusive limit (Sh→2 for an isolated sphere); the 0.6·Re^(1/2)·Sc^(1/3) term is the ventilation enhancement from the drop's fall. K_c sets the gas-uptake rate at the raindrop surface and feeds the below-cloud gas scavenging coefficient computed by the sibling GasScavengingCoeff / BelowCloudGasScavenging components. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_2006_ch20.jl:60 (`MassTransferCoeff` @component). Algebraic (observed-only) system: K_c is the single algebraic output (the upstream component's lone `@variable`); D_g, D_p, U_t are input parameters and ρ_air_sp, μ_air_sp are the migrated upstream module `@constants`.
- MassTransferCoefficient
model
aerosol
mass_transfer
Combined gas-phase and interfacial mass transfer coefficient k_mt for gas-particle exchange. k_mt is the inverse of the total resistance to mass transfer, which is the sum of two resistances in series: (1) gas-phase diffusion resistance tau_g = R_p²/(3 D_g), and (2) interfacial resistance tau_i = (R_p/3α) √(2πM_A/(RT)) arising from the finite accommodation probability and molecular speed. The reciprocal relation k_mt = 1/(tau_g + tau_i) (Seinfeld & Pandis 2006, Chapter 12, Eq. 12.116) determines the overall rate at which a gaseous species is transferred to or from the particle surface. Migrated from Aerosol.jl src/mass_transfer.jl `MassTransferCoefficient`.
- MassTransportLimitation
model
aerosol
transport
Mass transport limitation criteria for aqueous-phase chemistry (Seinfeld & Pandis 2006, Chapter 12, Eqs. 12.85, 12.86, 12.93). Computes the threshold values of k₁H* and k₁ below which gas-phase diffusion, aqueous-phase diffusion, and interfacial mass transfer do not limit the aqueous-phase reaction rate by more than 10%. Migrated from Aerosol.jl src/aqueous_transport.jl:53.
- MaxwellianFlux
model
aerosol
mass_transfer
Continuum-regime molar flux of a gas species to a spherical particle. In the continuum limit (Kn ≪ 1) the steady-state diffusive flux is governed by Fick's law on a spherical geometry: J_c = 4πR_p D_g (c_∞ − c_s) (Seinfeld & Pandis 2006, Chapter 12, Eq. 12.12). A positive J_c indicates net uptake (c_∞ > c_s); a negative value indicates net evaporation or desorption (c_s > c_∞). Migrated from Aerosol.jl src/mass_transfer.jl `MaxwellianFlux`.
- MeanFreePathMassTransfer
model
aerosol
mass_transfer
Mean free path of gas molecules in air for aerosol mass transfer. Uses the kinetic-theory relation λ = 2μ/(ρ_air c̄_air) where μ is the dynamic viscosity, ρ_air = PM_air/(RT) is the ideal-gas air density, and c̄_air = √(8RT/(πM_air)) is the mean molecular speed of air (S&P 2006, Chapter 12, Section 12.1.3). The resulting λ is the mean free path used to compute the Knudsen number Kn = λ/R_p (see knudsen.esm) and hence the appropriate mass-transfer regime (continuum, transition, or free-molecular). At standard conditions (T=298.15 K, P=101325 Pa) λ ≈ 65 nm. Migrated from Aerosol.jl src/mass_transfer.jl `MeanFreePathMassTransfer`.
- MeanMolecularSpeed
model
aerosol
mass_transfer
Mean molecular speed of gas molecules using kinetic theory (Seinfeld & Pandis 2006, Chapter 12, Eq. 12.24). Computes c̄ = √(8kT/(πm_A)) where m_A = M_A/N_Av is the molecular mass and k_B, N_Av are folded as numeric literals. Migrated from Aerosol.jl src/mass_transfer.jl `MeanMolecularSpeed` (esm-1i9).
- MethaneOxidation
model
gaschem
methane
Methane oxidation reaction-rate diagnostics from Seinfeld & Pandis (2006) Ch. 6 §6.4, Table 6.1, pp. 219-227. Methane oxidation is the archetypal VOC oxidation mechanism in the troposphere, proceeding CH₄ → CH₃O₂ → CH₃O → HCHO → HCO → CO → CO₂. This observed-only algebraic component computes the 17 individual reaction rates R1-R17 of the complete Table 6.1 mechanism (10 bimolecular, 3 termolecular, 4 photolysis reactions) plus three diagnostic aggregates: the gross ozone production rate P_O3_gross = R15 + R3 (the two peroxy-radical + NO channels), the formaldehyde production rate P_HCHO = R6 + R8, and the methane loss rate L_CH4 = R1. Each reaction rate is the product of a 298 K rate constant and the reactant concentrations (R = k·[A]·[B] bimolecular, k·[M]·[A]·[B] termolecular, j·[A] photolysis). The fate of the methylperoxy radical CH₃O₂ — the O₃-producing NO channel R3 versus the chain-terminating HO₂ channel R4 — sets the ozone yield per CH₄ oxidized and is the central NOx-regime diagnostic of the mechanism. Purely algebraic (no time derivatives): 52 variables (15 input species and 17 rate constants encoded as parameters, 20 output diagnostics as state) and 20 equations. Migrated from GasChem.jl@8c12c048 src/methane_oxidation.jl:77 (`MethaneOxidation` @component).
- MethaneOxidationODE
model
gaschem
methane
Full time-resolved ODE system for the methane oxidation mechanism in the polluted-continental troposphere (Seinfeld & Pandis 2006 Ch. 6 §6.4 Table 6.1, pp. 219-227). Eighteen-state stiff ODE on the methane oxidation chain CH₄ → CH₃ → CH₃O₂ → CH₃O → HCHO → HCO → CO → (CO₂) plus the supporting NOx/HOx radical chemistry that recycles OH and converts NO ↔ NO₂. The reaction network has 22 reactions: the 17 canonical Table 6.1 reactions covering the Cl-skeleton oxidation chain through HCHO and ozone-formation chemistry via the peroxy + NO channels, plus 5 auxiliary reactions (CO + OH, OH + NO₂ → HNO₃ termination, HO₂ + HO₂ → H₂O₂ termination, NO + O₃ titration, and a zero-order external OH source representing primary OH production from O(¹D) + H₂O that is implicit in the upstream model). Eight termolecular reactions (R2, R6, R13, R14, R17) and the bimolecular cross-reactions have their O₂ and M dependence folded into effective rate constants k6_eff, k13_eff and the explicit k2_0·M·O₂, k14_0·M·O₂, k17_0·M·O₂ products with M_fixed, O2_fixed parameters at fixed STP-tropospheric values (M = 2.5e25 m⁻³, O₂ = 5.25e24 m⁻³). Migrated from GasChem.jl@8c12c048 src/methane_oxidation.jl:213 (`MethaneOxidationODE` @component / @network_component → Catalyst.ode_model). The reaction-network DSL form upstream is converted to explicit ODE equations here because the migration tracker classifies this as `Model` with `variables, parameters, equations` features (not a ReactionSystem-shaped migration — those go to a separate path; see sibling superfast.esm).
- MixingRatio
model
atmospheric_dynamics
sp_ch1
Volume (mole) mixing ratio of an atmospheric species: xi = c_i / c_total, the ratio of the species molar concentration to the total molar concentration of air. Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:278 (`MixingRatio` @component). Implements Seinfeld & Pandis (2006) Chapter 1 Equation 1.6. The mixing ratio is dimensionless (stored with unit 1) and in the atmosphere spans roughly twelve orders of magnitude — from ~0.78 for the dominant gas N2 down to parts-per-trillion (~1e-12) trace species — so it is conventionally quoted in ppm, ppb, or ppt. Parameterized as observed-only: c_i and c_total are inputs (parameters in standalone form), xi is the algebraic output. Upstream the Julia @component declares c_i, c_total, and xi as @variables for composition into a parent system; for standalone serialization (3 unknowns vs 1 equation otherwise) c_i and c_total are declared as parameters here, mirroring the IdealGasLaw / ScaleHeight / RelativeHumidity serialization pattern in this directory.
- MonodisperseCoagulation
model
aerosol
dynamics
Total aerosol number concentration evolution for a monodisperse aerosol undergoing Brownian coagulation with constant coagulation coefficient (Seinfeld & Pandis 2006, Ch. 13, Eqs. 13.65-13.67). ODE: dN/dt = -K·N²/2; algebraic characteristic coagulation time τ_c = 2/(K·N₀). Source: Aerosol.jl@c8c640bb:src/dynamics.jl:178.
- MultipleRemovalLifetime
model
gaschem
lifetime
Combined atmospheric lifetime from parallel removal pathways — Seinfeld & Pandis (2006) Ch. 2 (Atmospheric Trace Constituents), Eqs. 2.7-2.9. When a trace species is removed by two independent first-order processes acting simultaneously (rate constants k_1 and k_2), the removal rates add: the inverse lifetimes (1/τ) sum while the lifetimes themselves combine harmonically. This observed-only algebraic component implements four relations: the two individual pathway lifetimes tau_1 = 1/k_1 and tau_2 = 1/k_2 (Eq. 2.6 applied per pathway), the summed inverse lifetime inverse_tau = k_1 + k_2 = 1/tau_1 + 1/tau_2 (Eqs. 2.7-2.8), and the combined lifetime tau_combined = (tau_1·tau_2)/(tau_1+tau_2) = 1/(k_1+k_2) (Eq. 2.9). The combined lifetime is always shorter than either individual pathway lifetime, and the faster (shorter-lifetime) pathway dominates: a fast removal process sets the overall atmospheric lifetime even when a slow pathway is also present; when the two pathways are equal the combined lifetime is exactly half of either. Observed-only algebraic system (no time derivatives): four state variables (tau_1, tau_2, tau_combined in s; inverse_tau in s⁻¹) computed from two rate-constant parameters (k_1, k_2 in s⁻¹) by four algebraic equations. Migrated from GasChem.jl@280ee50f src/AtmosphericLifetime.jl:204 (`MultipleRemovalLifetime` @component).
- NH3Equilibria
model
aerosol
aq_eq
Ammonia gas-aqueous dissolution and dissociation equilibria with van't Hoff temperature dependence. Migrated from Aerosol.jl@c8c640bb src/aqueous_equilibria.jl:345 (`NH3Equilibria` @component). Implements Seinfeld & Pandis Ch 7 §7.3.4 (Eq 7.46–7.51) and Table 7.4. Parameterized as observed-only: T, H_plus, and p_NH3 are inputs; H_NH3, K_a1, K_w, OH_minus, NH3_aq, NH4_plus, NH3_total, H_NH3_eff are algebraic outputs.
- NOxCycle
model
gaschem
stratospheric
Stratospheric NOx catalytic ozone destruction cycle (Seinfeld & Pandis 2006 Ch. 5 §5.3.2, Eqs. 5.20-5.22). Two-state ODE on the NOx radicals NO and NO2 driven by reactions with O3 and atomic O, plus daytime NO2 photolysis; NOx = NO + NO2 is exactly conserved by construction (D(NO) + D(NO2) ≡ 0). Migrated from GasChem.jl@8c12c048 src/StratosphericChemistry.jl:118 (`NOxCycle` @component). Rate coefficients are temperature-dependent Arrhenius forms k_X = k_X_A · exp(C_X / T) with the Seinfeld & Pandis bimolecular CGS pre-factors converted to SI via the cm³/molec/s × 1e-6 → m³/s factor; SI rates and SI number-density concentrations (m^-3) preserved verbatim from upstream.
- NOxPhotochemistry
model
gaschem
nox_photochemistry
The NOx (NO + NO₂) photochemical cycle that governs tropospheric ozone — Seinfeld & Pandis (2006) Ch. 6 §6.2, Eqs. 6.5-6.8, pp. 207-212. During daytime three reactions cycle rapidly between NO, NO₂ and O₃: NO₂ + hν → NO + O (λ < 424 nm), O + O₂ + M → O₃ + M, and NO + O₃ → NO₂ + O₂. In the absence of other oxidants this cycle reaches a photostationary state (the Leighton relationship). Implements four algebraic diagnostic relations: (Eq. 6.5) ground-state O-atom steady-state concentration O = j_NO2·[NO₂] / (k_O_O2_M·[O₂]·[M]), (Eq. 6.6) photostationary-state ozone O3_pss = j_NO2·[NO₂] / (k_NO_O3·[NO]) — the Leighton relationship, (Eq. 6.7) the photostationary-state parameter Φ = j_NO2·[NO₂] / (k_NO_O3·[NO]·[O₃]) which is 1 at exact PSS and deviates when peroxy radicals perturb the cycle, and (Eq. 6.8) the net ozone production rate P_O3 = j_NO2·[NO₂] − k_NO_O3·[NO]·[O₃]. Observed-only algebraic system (no time derivatives): nine variables (five inputs NO/NO2/O3/O2/M encoded as parameters, four outputs O/O3_pss/Φ/P_O3 encoded as state) plus three rate-constant parameters (j_NO2, k_O_O2_M, k_NO_O3). Migrated from GasChem.jl@8c12c048 src/nox_photochemistry.jl:88 (`NOxPhotochemistry` @component). Sibling component PhotostationaryState (src/nox_photochemistry.jl:145) migrates separately to photostationary.esm.
- Nucleation
model
aerosol
nucleation
Full coupled homogeneous nucleation system following classical nucleation theory from Seinfeld & Pandis (2006), Chapter 11. Derives saturation ratio and monomer concentration from partial pressures, then computes critical cluster properties (size, radius, free-energy barrier) and the nucleation rate J. Use this component when the full coupled system is needed; see ClassicalNucleationRate for a lighter variant that takes S and N_1 as direct parameters.
- O3Equilibria
model
aerosol
aq_eq
Ozone (O3) aqueous dissolution equilibrium via temperature-dependent Henry's law. Migrated from Aerosol.jl@c8c640bb src/aqueous_equilibria.jl:589 (`O3Equilibria` @component). Implements Seinfeld & Pandis Ch 7 Table 7.3: K_H(O3, 298 K) = 1.1×10⁻² M/atm, ΔH_sol = −5.04 kcal/mol. O3 does not ionize in water; dissolution is purely described by Henry's law with van't Hoff temperature dependence.
- OHProduction
model
gaschem
Tropospheric OH radical production from O₃ photolysis — Seinfeld & Pandis (2006) Ch. 6 §6.1 Eqs. 6.1, 6.3, 6.4, pp. 204-207. The dominant source of OH in the troposphere is O₃ photolysis below 320 nm producing electronically excited O(¹D), which either reacts with H₂O to yield two OH radicals or is collisionally quenched back to ground-state O(³P) by N₂/O₂. Implements three algebraic relations: (Eq. 6.1) O(¹D) steady-state concentration [O(¹D)] = j_O₃·[O₃] / (k₃[M] + k₄[H₂O]), (Eq. 6.4) OH yield ε_OH = 2·k₄[H₂O] / (k₃[M] + k₄[H₂O]) as the fraction of O(¹D) producing OH (the factor of 2 accounts for the 2 OH produced per O(¹D)+H₂O encounter — ε_OH ranges 0..2), (Eq. 6.3) OH production rate P_OH = j_O₃·[O₃]·ε_OH. The effective quenching rate k₃_eff = f_N₂·k₃,N₂ + f_O₂·k₃,O₂ is the air-composition-weighted average of the N₂ and O₂ quenching channels. Observed-only algebraic system (no time derivatives): six variables (three inputs O₃/H₂O/M as parameters, three outputs O₁D/ε_OH/P_OH as state) plus six rate-parameter inputs (j_O₃, k₃_N₂, k₃_O₂, k₄, f_N₂, f_O₂) and one stoichiometric constant (two=2). Migrated from GasChem.jl@8c12c048 src/oh_production.jl:88 (`OHProduction` @component).
- OHReactionLifetime
model
gaschem
lifetime
Atmospheric lifetime against reaction with the hydroxyl radical (OH), from Seinfeld & Pandis (2006) Atmospheric Chemistry and Physics Ch. 2, Eq. 2.12: tau = 1/(k_OH*[OH]). OH is the dominant daytime oxidant of the troposphere, so the OH-reaction lifetime sets how long most reactive trace gases — methane, carbon monoxide, non-methane VOCs — persist in the atmosphere. This observed-only algebraic component implements two relations: an effective pseudo-first-order loss rate constant k_eff = k_OH*OH_conc (the second-order reaction X + OH collapsed onto the approximately constant ambient OH), and the lifetime tau_OH = 1/k_eff. The lifetime is jointly controlled by the species' intrinsic reactivity (k_OH, spanning four-plus decades across tropospheric trace gases) and the ambient oxidising capacity ([OH], varying with season, latitude and pollution): a species may persist for years in clean remote air and only hours in a polluted daytime plume. Purely algebraic system (no time derivatives): four variables — one parameter k_OH, one input OH_conc encoded as a parameter, two outputs k_eff and tau_OH as state — and two equations. Migrated from GasChem.jl@280ee50f src/AtmosphericLifetime.jl:264 (`OHReactionLifetime` @component).
- OzoneProductionEfficiency
model
gaschem
co_oxidation
Ozone Production Efficiency (OPE) diagnostic from Seinfeld & Pandis (2006) Ch. 6 §6.3 Eqs. 6.21-6.24, pp. 212-219. OPE = Δ[O₃]/Δ[NOx] is the number of ozone molecules produced per molecule of NOx consumed — a central diagnostic for the NOx-VOC-O₃ regime structure of tropospheric photochemistry. This observed-only algebraic component implements three relations: gross ozone production rate P_O3 = k_HO2_NO·[HO₂]·[NO] + k_RO2_NO·[RO₂]·[NO] (the two peroxy-radical + NO channels — each peroxy+NO reaction makes an NO₂ whose photolysis yields an O₃), NOx loss rate L_NOx = k_OH_NO2·[OH]·[NO₂] (the OH + NO₂ + M → HNO₃ termination, the dominant daytime NOx sink), and OPE = P_O3 / L_NOx. High OPE (low-NOx, NOx-limited regime) means each NOx molecule cycles through many O₃-producing reactions before it is lost as nitric acid; low OPE (high-NOx, VOC-limited regime) means NOx is removed before it can drive much O₃ production. Observed-only algebraic system (no time derivatives): eight variables (five inputs OH/HO₂/RO₂/NO/NO₂ encoded as parameters, three outputs P_O3/L_NOx/OPE as state) plus three rate-constant parameters (k_HO2_NO, k_RO2_NO, k_OH_NO2) and three algebraic equations. Migrated from GasChem.jl@280ee50f src/co_oxidation.jl:183 (`OzoneProductionEfficiency` @component).
- PartialPressureMixingRatio
model
atmospheric_dynamics
sp_ch1
Relates the volume mixing ratio of an atmospheric species to its partial pressure: xi = p_i / p (Seinfeld & Pandis, Atmospheric Chemistry and Physics, Ch. 1, Eq. 1.8). The mixing ratio equals the ratio of the species' partial pressure to the total atmospheric pressure. Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:308 (`PartialPressureMixingRatio` @component). Parameterized as observed-only: the partial pressure p_i and total pressure p are inputs (parameters in standalone form), xi is the algebraic output. Upstream the Julia @component declares p_i, p, and xi as @variables for composition into a parent system; for standalone serialization (3 unknowns vs 1 equation otherwise), p_i and p are declared as parameters here, mirroring the IdealGasLaw / ScaleHeight serialization pattern in the same module.
- ParticleCollectionEfficiency
model
atmospheric_deposition
sp06_ch20
Slinn (1983) semi-empirical collision (collection) efficiency E between a falling raindrop and an aerosol particle, the kernel of below-cloud particle scavenging (Eqs. 20.53-20.54, Seinfeld & Pandis, 2006). E is the sum of three collection mechanisms — Brownian diffusion (E_diff, important for sub-0.1 µm particles), interception (E_int), and inertial impaction (E_imp, important for super-µm particles, switched on only when the Stokes number exceeds the critical Stokes number S* of Eq. 20.54) — and is clamped to a maximum of 1. The competition between the diffusion and impaction mechanisms produces the Greenfield gap: a collection-efficiency minimum at accumulation-mode (~0.1-1 µm) particle sizes. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_2006_ch20.jl:365 (`ParticleCollectionEfficiency` @component). The upstream component carries the single equation E ~ slinn_collection_efficiency(D_p, U_t, d_p, ρ_p, T); the helper function and its sub-helpers (particle_diffusivity, particle_relaxation_time, particle_terminal_velocity) are decomposed here into 18 named intermediate algebraic states (Re, D_diff, Sc, τ, St, S_star, E_diff, E_int, E_imp, ...) mirroring the helper's local variables, so each equation maps to one source line. Observed-only: all 18 equations are algebraic — the five raindrop/aerosol/thermodynamic inputs and six physical constants are parameters, and Re through E are the algebraic outputs.
- 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`.
- ParticleScavengingCoeff
model
atmospheric_deposition
sp06_ch20
Below-cloud scavenging coefficient Λ_particle for an aerosol particle collected by monodisperse raindrops (Seinfeld & Pandis 2006, Chapter 20, Eq. 20.57): Λ_particle = (3/2)·E·p₀/D_p, where E is the Slinn (1983) raindrop-aerosol collision (collection) efficiency of Eqs. 20.53-20.54, p₀ the precipitation rate and D_p the raindrop diameter. E sums three collection mechanisms — Brownian diffusion, interception, and inertial impaction (switched on only when the Stokes number exceeds the critical Stokes number S*) — and is clamped to a maximum of 1; their competition produces the Greenfield gap, a scavenging minimum at accumulation-mode (~0.1-1 µm) particle sizes. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_2006_ch20.jl:414 (`ParticleScavengingCoeff` @component). The upstream slinn_collection_efficiency helper and its diffusivity / relaxation-time / settling-velocity sub-helpers are decomposed into 18 named intermediate algebraic states (Re, D_diff, Sc, τ, St, S_star, E_diff, E_int, E_imp, ...) — identical to the sibling component particle_collection_eff.esm — and a 19th equation applies Eq. 20.57. The five raindrop/aerosol/thermodynamic inputs, the precipitation rate, and six physical constants are parameters; Re through E and Λ_particle are the algebraic outputs.
- ParticleSettling
model
atmospheric_deposition
sp_ch19
Gravitational settling velocity and Brownian diffusivity of an aerosol particle, from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 19 (Dry Deposition). Two algebraic outputs are computed from the particle and air properties. The settling (terminal) velocity v_s = rho_p*D_p^2*g*C_c/(18*mu) (Eq. 19.18) is the steady gravitational drift speed of a particle in the Stokes (low-Reynolds-number) regime, where aerodynamic drag balances gravity; the Cunningham slip correction factor C_c (>= 1) accounts for the non-continuum reduction in drag when the particle diameter approaches the mean free path of air. The Brownian diffusivity D_diff = k_B*T*C_c/(3*pi*mu*D_p) (Eq. 19.20) is the Stokes-Einstein diffusion coefficient describing the particle's thermal random walk. The two quantities have opposite size dependence -- v_s grows as D_p^2 while D_diff falls as 1/D_p -- which is the physical origin of the dry-deposition-velocity minimum for accumulation-mode (~0.1-1 um) aerosol: such particles settle too slowly to deposit gravitationally yet are too large to diffuse efficiently to the surface. Both quantities feed the Zhang et al. (2001) quasi-laminar resistance and the overall particle dry deposition velocity computed by the sibling sp_ch19 components. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_ch19.jl:182 (`ParticleSettling` @component). Observed-only algebraic model: rho_p, D_p, mu, T, C_c are input parameters, g/k_B/pi_val are physical-constant parameters, and v_s and D_diff are the two algebraic outputs, each fixed by one equation with no time derivative.
- PhotonEnergy
model
gaschem
radiation
Photon energy equation (Seinfeld & Pandis 2006 Ch. 4, Eq. 4.1) — the energy Δε and frequency ν of a photon as a function of wavelength λ via Planck's constant h and the speed of light c: ν = c/λ and Δε = hν, equivalently the chained form Δε = hc/λ. The component is observed-only: two algebraic equations on two state variables (Δε the photon energy in J and ν the frequency in Hz) driven by one input parameter (λ the wavelength) and two constants (h Planck's constant and c the speed of light). No time derivatives, no PDE, no coupling. Migrated from GasChem.jl@8c12c048 src/radiation_fundamentals.jl:25 (`PhotonEnergy` @component). The photon energy equation is the foundational quantum-radiative bridge that maps continuous-wave radiation to the discrete photon picture: paired with the Planck spectral distribution (BlackbodyRadiation), Stefan-Boltzmann total flux (StefanBoltzmann), and Wien peak displacement (WienDisplacement), it lets a radiative-transfer model convert spectral irradiance to photon fluxes and back — the quantity needed for actinic-flux / photolysis-rate calculations that drive atmospheric photochemistry (e.g., O2 + hν → 2 O at ~242 nm and O3 + hν → O + O2 at ~310 nm, the two Chapman-cycle photolysis channels). The defaults (λ = 500 nm) give ν ≈ 600 THz and Δε ≈ 3.97e-19 J ≈ 2.48 eV — visible green light, the canonical solar-peak wavelength matching Wien's law applied to T_sun ≈ 5800 K.
- PhotostationaryState
model
gaschem
nox_photochemistry
Photostationary-state diagnostic for the NO-NO₂-O₃ Leighton cycle — Seinfeld & Pandis (2006) Ch. 6 §6.2, Eqs. 6.6-6.7, pp. 207-212. Computes the photostationary-state parameter Φ = j_NO2·[NO₂] / (k_NO+O₃·[NO]·[O₃]) and its deviation from unity Φ_deviation = Φ - 1. Φ = 1 is the exact Leighton photostationary state (pure NO-NO₂-O₃ cycling, zero net ozone production); Φ > 1 indicates additional oxidants (peroxy radicals HO₂/RO₂ converting NO→NO₂ and producing ozone), Φ < 1 indicates net ozone loss. This observed-only algebraic component is the simplified companion to NOxPhotochemistry (the full Eqs. 6.5-6.8 diagnostic): five variables (three inputs NO/NO₂/O₃ encoded as parameters, two outputs Φ/Φ_deviation as state), two rate parameters (j_NO2, k_NO_O3) plus the dimensionless unity constant `one`, and two algebraic equations. No time derivatives. Migrated from GasChem.jl@8c12c048 src/nox_photochemistry.jl:145 (`PhotostationaryState` @component).
- PlanetaryEnergyBalance
model
gaschem
radiation
Planetary equilibrium temperature from the top-of-atmosphere energy balance (Seinfeld & Pandis 2006 Ch. 4 Eqs. 4.5-4.7). The absorbed solar flux F_S = S_0/4 * (1 - R_p), the emitted longwave flux F_L = sigma * T_e^4 (Stefan-Boltzmann law), and at equilibrium F_S = F_L. Solving the constraint gives T_e = (S_0/4 * (1-R_p) / sigma)^(1/4). At canonical Earth values (S_0 = 1370 W/m^2, R_p = 0.3), F_S = F_L = 239.75 W/m^2 and T_e = 255 K (S&P p. 101). Migrated from GasChem.jl@8c12c048 src/radiation_fundamentals.jl:211 (`PlanetaryEnergyBalance` @component).
- QuasiLaminarResistanceGas
model
atmospheric_deposition
sp_ch19
ModelingToolkit implementation of the quasi-laminar (boundary-layer) resistance to gaseous dry deposition from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 19 (Dry Deposition), Eq. 19.17. The quasi-laminar resistance r_b [s/m] is the second of the three series resistances of the gas dry-deposition resistance model (r_a aerodynamic + r_b quasi-laminar + r_c surface) and represents molecular diffusion of the depositing gas across the thin, quasi-laminar sublayer of stagnant air in direct contact with the surface. It is computed as r_b = 5*Sc^(2/3)/u_star, where the Schmidt number Sc = nu/D_g is the ratio of the kinematic viscosity of air nu to the molecular diffusivity D_g of the gas, and u_star is the friction velocity. Slower-diffusing (higher-Sc) gases face a larger boundary-layer resistance, and stronger surface turbulence (higher u_star) thins the sublayer and lowers r_b. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_ch19.jl:143 (`QuasiLaminarResistanceGas` @component). Algebraic (no time derivative) two-equation system: Sc and r_b are the algebraic outputs (the upstream component's computed @variables, migrated as type:state); nu and D_g are the input @parameters and u_star is the upstream input @variable (migrated as type:parameter -- it carries no defining equation and the upstream test suite compiles the component with u_star declared as an input).
- QuasiLaminarResistanceParticle
model
atmospheric_deposition
sp_ch19
Zhang et al. (2001) quasi-laminar (boundary-layer) resistance r_b for particle dry deposition, Seinfeld & Pandis (2006) Ch. 19 Eq. 19.27. r_b = 1/(3*u_star*(E_B+E_IM+E_IN)*R_1) sums three size-dependent collection mechanisms — Brownian diffusion E_B (Eq. 19.21), inertial impaction E_IM (Eq. 19.22), and interception E_IN (Eq. 19.25) — scaled by the friction velocity u_star and the rebound-correction sticking fraction R_1 (Eq. 19.26). The competition between diffusion (efficient for sub-0.1 um particles) and impaction (efficient for super-um particles) leaves a deposition minimum at accumulation-mode sizes. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_ch19.jl:234 (`QuasiLaminarResistanceParticle` @component). The seven upstream equations are migrated verbatim and one-to-one; the five input @parameters, the @constant g, and the three externally-supplied input @variables (u_star, v_s, D_diff) are all parameters, and the seven equation-defined quantities (Sc, St, E_B, E_IM, E_IN, R_1, r_b) are the algebraic outputs.
- RadiationFundamentals
model
gaschem
radiation
Composed radiation-fundamentals system from Seinfeld & Pandis (2006) Chapter 4 (Eqs. 4.1-4.11). A pure structural aggregation (no coupling equations) of seven independent components: PhotonEnergy (photon energy-frequency-wavelength relations, Eq. 4.1), BlackbodyRadiation (Planck's law, Eq. 4.2), WienDisplacement (peak emission wavelength, Eq. 4.3), StefanBoltzmann (total emissive power, Eq. 4.4), PlanetaryEnergyBalance (Earth's equilibrium temperature, Eqs. 4.5-4.7), ClimateSensitivity (temperature response to forcing, Eqs. 4.8-4.10), and TOARadiativeForcing (net top-of-atmosphere flux, Eq. 4.11). Each component is inlined as a named subsystem; variables are dot-namespaced (RadiationFundamentals.<subsystem>.<var>). Migrated from GasChem.jl@8c12c048 src/radiation_fundamentals.jl:367 (`RadiationFundamentals` @component).
- RelativeHumidity
model
atmospheric_dynamics
sp_ch1
Relative humidity from water-vapor partial pressure and saturation vapor pressure: RH = 100 * p_H2O / p_sat. Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:397 (`RelativeHumidity` @component). Implements Seinfeld & Pandis Ch 1 Eq. 1.9. Relative humidity is expressed as a percentage (0-100 for subsaturated air, >100 under transient supersaturation), stored as a dimensionless ratio scaled by 100. Parameterized as observed-only: p_H2O and p_sat are inputs (parameters in standalone form), RH is the algebraic output. Upstream the Julia @component declares p_H2O and p_sat as @variables for composition into a parent system; for standalone serialization (3 unknowns vs 1 equation otherwise), they are declared as parameters here, mirroring the IdealGasLaw / ScaleHeight serialization pattern in this directory.
- RemoteConditions
model
gaschem
combined
Parameters-preset model representing typical remote/background tropospheric conditions with low NOx. Migrated from GasChem.jl@8c12c048 src/combined_system.jl:261 (`RemoteConditions` @component). Eleven species concentrations are declared as parameters in SI units (m⁻³); the model exposes them as algebraic outputs (`*_out`) so a parent system or test harness can read presets without depending on MTK parameter-introspection APIs. Based on Seinfeld & Pandis Chapter 6 background conditions: ~30 ppb O₃, ~10 ppt NO, ~20 ppt NO₂, ~80 ppb CO.
- SaturationVaporPressure
model
atmospheric_dynamics
sp_ch1
Saturation vapor pressure of water over liquid water as a function of temperature: p_sat = p_std * exp(c1*a - c2*a^2 - c3*a^3 - c4*a^4) with a = 1 - T_boil/T (Seinfeld & Pandis Eq. 1.10). An empirical fit valid for liquid water (T > 273 K). Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:351 (`SaturationVaporPressure` @component). Algebraic (observed-only): T is an input parameter; a and p_sat are algebraic state outputs fixed by two explicit equations. Pressure is reported in Pa (the upstream module uses P_0 = 101325 Pa = 1013.25 mbar).
- ScaleHeight
model
atmospheric_dynamics
sp_ch1
Atmospheric scale height H = R*T/(M_air*g) — the altitude increase over which atmospheric pressure decreases by a factor of e (~2.718) for an isothermal atmosphere. Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:109 (`ScaleHeight` @component). Implements Seinfeld & Pandis Eq. 1.4. Parameterized as observed-only: T is an input parameter, H is the algebraic observed output.
- SO2Equilibria
model
aerosol
aq_eq
SO2 gas-aqueous dissolution and dissociation equilibria with van't Hoff temperature dependence. Migrated from Aerosol.jl@c8c640bb src/aqueous_equilibria.jl:240 (`SO2Equilibria` @component). Implements Seinfeld & Pandis Ch 7 §7.3.3 (Eq 7.33-7.35, 7.39, 7.41, 7.43-7.45) and Table 7.4. Parameterized as observed-only: T, H_plus, and p_SO2 are inputs; H_SO2, K_s1, K_s2, SO2_aq, HSO3_minus, SO3_2minus, S_IV_total, H_SO2_eff, alpha_0, alpha_1, alpha_2 are algebraic outputs.
- SpeciesLifetime
model
gaschem
lifetime
Atmospheric-lifetime calculator for a trace species, from Seinfeld & Pandis (2006) Ch. 2 (Atmospheric Trace Constituents), Eqs. 2.3-2.6. The component is observed-only: four algebraic equations, no time derivative, expressing the four textbook definitions of atmospheric lifetime as functions of the species burden Q and the removal/production/outflow rates. tau_general = Q/(R_removal + F_out) is the general lifetime accounting for both chemical removal R_removal and outflow F_out to other reservoirs (Eq. 2.3); tau_removal = Q/R_removal is the global-atmosphere limit with no outflow (Eq. 2.4); tau_production = Q/P is the production-based lifetime, equal to tau_removal at steady state (Eq. 2.5); and tau_first_order = 1/lambda is the lifetime when removal follows first-order kinetics R_removal = lambda*Q (Eq. 2.6). The four definitions interlock: Eq. 2.3 reduces to Eq. 2.4 as F_out -> 0, Eqs. 2.4 and 2.5 coincide when production balances removal, and Eq. 2.6 coincides with Eq. 2.4 when lambda is the consistent first-order rate constant R_removal/Q. Migrated from GasChem.jl@280ee50f src/AtmosphericLifetime.jl:132 (`SpeciesLifetime` @component). Every equation is a closed-form algebraic expression in the parameters, so every inline-test expected value below is the exact arithmetic evaluation of the textbook formula.
- StefanBoltzmann
model
gaschem
radiation
Stefan-Boltzmann law for blackbody radiation — Seinfeld & Pandis (2006) Ch. 4 Eq. 4.4. Total emissive power F_B of a blackbody at temperature T integrated over all wavelengths: F_B = σ·T^4, where σ = 5.671×10⁻⁸ W·m⁻²·K⁻⁴. Migrated from GasChem.jl@8c12c048 src/radiation_fundamentals.jl:164 (`StefanBoltzmann` @component). One observed binding (F_B) over two parameters (T input + σ as a fixed-default parameter encoding the upstream `@constants` block per the rig convention of translating `@constants` to fixed-default parameters so units flow through MTK's unit checker — matches sibling clmu_atmosphere.esm/surface_energy_flux.esm). Closed-form algebraic: after mtkcompile the system has zero ODE states and the inline-test runner exercises F_B at its observed algebraic value.
- StratosphericOzoneSystem
model
gaschem
stratospheric
Comprehensive stratospheric ozone chemistry (Seinfeld & Pandis 2006, Chapter 5) — a monolithic 15-state ODE plus 5 algebraic family sums combining the Chapman mechanism, O(1D) photochemistry, the N2O NOx source, and the NOx / HOx / ClOx / BrOx catalytic ozone-destruction cycles. Migrated from GasChem.jl@8c12c048 src/StratosphericChemistry.jl:497. SI units throughout.
- SurfaceLayerProfile
model
atmospheric_dynamics
local_scale
Monin-Obukhov surface-layer similarity theory for the atmospheric surface layer, from Seinfeld & Pandis (2006) "Atmospheric Chemistry and Physics", 2nd ed., Chapter 16 "Meteorology of the Local Scale". Observed-only algebraic component: from the friction velocity u_star, surface sensible heat flux q_z, and surface-layer geometry it computes the Monin-Obukhov length L (Eq. 16.70), the dimensionless stability parameter ζ = z/L, the Businger-Dyer stability functions φ_m and φ_h (Eq. 16.75), their integrated forms ψ_m and ψ_h (Eq. 16.78-16.79), and the stability-corrected mean wind speed ū (Eq. 16.66 with the Eq. 16.77 correction). Migrated from AtmosphericDynamics.jl@816cc391 src/local_scale_meteorology.jl:107 (`SurfaceLayerProfile` @component); the 4 upstream @constants (g, κ, ĉ_p, ε_q) are declared as fixed-default parameters.
- SurfaceResistance
model
atmospheric_deposition
sp_ch19
ModelingToolkit implementation of the surface (canopy) resistance to gaseous dry deposition from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 19 (Dry Deposition), Eqs. 19.50-19.52 -- the Wesely (1989) resistance model. Computes the total surface resistance r_c [s/m] as four parallel deposition pathways (Eq. 19.50): the combined stomatal+mesophyll pathway, the cuticular/outer-surface pathway r_lu, the lower-canopy pathway r_dc+r_cl, and the ground pathway r_ac+r_gs. The stomatal resistance r_st (Eq. 19.51) responds to solar irradiance G and surface temperature T_s through dimensionless light and temperature factors; the mesophyll resistance r_m (Eq. 19.52) is set by the gas's effective Henry's-law solubility H_star and reactivity f_0. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_ch19.jl:311 (the SurfaceResistance @component). Purely algebraic: no differential states, six explicit equations evaluated as a triangular cascade.
- TOARadiativeForcing
model
gaschem
radiation
Top-of-atmosphere (TOA) radiative-flux balance for a 0-D planetary climate model, following Seinfeld & Pandis (2006) Chapter 4 Eq. 4.11. Implements the net incoming flux F_net = S_0/4 · (1 - R_p) - F_L as a single algebraic relation between the absorbed shortwave flux F_S = S_0/4 · (1 - R_p) (Eq. 4.5, the spherical-projection factor of 1/4 accounts for the planet receiving solar flux over its cross-section πR² but emitting over its full surface 4πR²) and the outgoing longwave flux F_L (input parameter, typically supplied by the sibling PlanetaryEnergyBalance / StefanBoltzmann components in this domain). Sign convention: positive F_net means the planet is gaining energy (warming); negative F_net means losing energy (cooling). At default parameters (S_0=1370 W/m², R_p=0.3, F_L=239.75 W/m²) the planet is in exact radiative equilibrium (F_net = 0). Migrated from GasChem.jl@8c12c048 src/radiation_fundamentals.jl:327 (`TOARadiativeForcing` @component). Sibling component to PhotonEnergy (Eq. 4.1), BlackbodyRadiation (Eq. 4.2), WienDisplacement (Eq. 4.3), StefanBoltzmann (Eq. 4.4), PlanetaryEnergyBalance (Eqs. 4.5-4.7), ClimateSensitivity (Eqs. 4.8-4.10) — together they compose the upstream RadiationFundamentals (radiation_fundamentals.jl:367) system.
- TotalMolarConcentration
model
atmospheric_dynamics
sp_ch1
Total molar concentration of air from the ideal gas law: c_total = N/V = p / (R * T) (Seinfeld & Pandis Eq. 1.7). Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:244 (`TotalMolarConcentration` @component). Algebraic (observed-only): T and p are input parameters; c_total is the algebraic output fixed by one explicit equation. Upstream the Julia @component declares T and p as @variables for composition into a parent system; for standalone serialization (3 unknowns vs 1 equation otherwise), they are declared as parameters here, mirroring the sibling ideal_gas.esm / sat_vapor_pressure.esm pattern.
- TroposphericBudget
model
gaschem
lifetime
Complete tropospheric mass-budget model for a trace species, from Seinfeld & Pandis (2006) Ch. 2 §2.3, Eqs. 2.13-2.17. A single linear first-order ODE on the species burden Q drives the dynamics: dQ/dt = (P_n + P_a + P_c) - (k_d + k_w + k_c + k_t)·Q — total production from natural emissions, anthropogenic emissions, and in-troposphere chemical production, balanced against first-order removal by dry deposition, wet deposition, chemical loss, and cross-tropopause transport to the stratosphere. The model also reports the algebraic diagnostics that the textbook builds on this budget: the total production rate P_total and removal rate R_total, the total first-order removal rate constant k_total, the per-pathway lifetimes tau_dry/tau_wet/tau_chem/tau_transport = 1/k_X, the total atmospheric lifetime tau_total = 1/k_total (Eq. 2.15), and the production-based lifetime tau_production = Q/P_total (Eqs. 2.16-2.17), which equals tau_total once the burden has relaxed to steady state. Migrated from GasChem.jl@280ee50f src/AtmosphericLifetime.jl:336 (`TroposphericBudget` @component). The system is linear with constant coefficients, so the burden has the exact closed form Q(t) = Q_ss + (Q_0 - Q_ss)·exp(-k_total·t) with steady state Q_ss = P_total/k_total; every inline-test expected value below is that analytic solution.
- TroposphericChemistrySystem
model
gaschem
combined
Combined tropospheric chemistry diagnostic system (Seinfeld & Pandis 2006, Chapter 6) — couples three photochemical subsystems into a comprehensive steady-state diagnostic model of tropospheric photochemistry: OH production from O3 photolysis (§6.1), the NOx photochemical cycle (§6.2), and CO oxidation chemistry (§6.3). Migrated from GasChem.jl@8c12c048 src/combined_system.jl:54 (`TroposphericChemistrySystem` @component). The three subsystems — `oh` (OHProduction), `nox` (NOxPhotochemistry), `co` (COOxidation) — are inlined verbatim (ESS spec §4.7 subsystem composition) from their already-migrated standalone .esm files; the parent supplies 14 coupling equations feeding the shared species (O3, NO, NO2, OH, HO2, CO, CH3O2, H2O, M, O2) into the subsystems and 9 combined-diagnostic equations (total/net O3 production, ozone production efficiency, NOx loss rate, HOx chain length). Purely algebraic — a steady-state diagnostic system with no time derivatives. SI units throughout (m^-3 for concentrations, m^3/s for bimolecular rate constants).
- UptakeCoefficient
model
aerosol
mass_transfer
Effective uptake coefficient γ for gas-particle mass transfer. γ is the net probability that a gas molecule striking the particle surface is irreversibly taken up; it accounts for three resistances in series: (1) gas-phase diffusion to the surface (term_diff), (2) surface accommodation (term_acc), and (3) aqueous-phase reaction-diffusion within the droplet (term_rxn). The reciprocal relation 1/γ = term_diff + term_acc + term_rxn (Seinfeld & Pandis 2006, Chapter 12, Eq. 12.121) expresses resistances additively, analogous to resistors in series. Migrated from Aerosol.jl src/mass_transfer.jl `UptakeCoefficient`.
- UrbanConditions
model
gaschem
combined
Parameter-preset condition system representing typical urban-air-quality lower-troposphere conditions with elevated NOx, CO, and reduced HOx, following Seinfeld & Pandis (2006) Chapter 6. Migrated from GasChem.jl@8c12c048 src/combined_system.jl:219 (`UrbanConditions` @component). The component declares 11 species number-density parameters (M, O2, H2O, O3, NO, NO2, CO, CH4, OH, HO2, CH3O2) with urban-regime defaults in SI units (m^-3) and 11 corresponding `_out` output state variables, one per parameter, defined by identity equations `*_out ~ *`. The component is a sibling preset to `TypicalConditions` (background-air defaults) and `RemoteConditions` (clean-remote defaults); together they parametrize the three canonical regimes the upstream `TroposphericChemistrySystem` is exercised against. Compared to TypicalConditions: NO is 100x higher (10 vs 0.1 ppb), NO2 is 30x higher (30 vs 1 ppb), CO is 20x higher (2000 vs 100 ppb), and OH/HO2 are reduced 2x (titrated by the elevated NOx and CO oxidation chain). All concentrations are positive number densities at standard temperature and pressure; the `_out` indirection lets downstream consumers wire the preset values into the canonical tropospheric-chemistry input interface without renaming.
- Visibility
model
aerosol
mie
Visibility calculation from extinction coefficient. Computes visual range using the Koschmeider equation (Eq. 15.36) and related visibility metrics. Visual range is the distance at which a black object against a white background reaches the threshold contrast of 0.02.
- WaterEquilibrium
model
aerosol
aq_eq
Water autoionization equilibrium with van't Hoff temperature dependence. Migrated from Aerosol.jl@c8c640bb src/aqueous_equilibria.jl:76 (`WaterEquilibrium` @component). Serialized via EarthSciAST.mtk2esm. Implements Seinfeld & Pandis Ch 7 Eq 7.10–7.13 and Table 7.4. Parameterized as observed-only: T and [H+] are inputs, K_w/[OH-]/pH are algebraic outputs.
- WaterProperties
model
aerosol
nucleation
Temperature-dependent physical properties of water for nucleation calculations following Seinfeld & Pandis (2006), Chapter 11, Tables 11.1 and 11.4. Provides surface tension, molecular volume, molecular mass, and saturation vapor pressure as functions of temperature.
- WaterVaporThermodynamics
model
atmospheric_dynamics
sp_ch1
Composite water-vapor thermodynamics system from Seinfeld & Pandis (2006) Chapter 1: given air temperature and water-vapor partial pressure it computes the saturation vapor pressure of water over liquid water (Eq. 1.10) and the relative humidity (Eq. 1.9). Migrated from AtmosphericDynamics.jl@816cc391 src/seinfeld_pandis_ch1.jl:433 (`WaterVaporThermodynamics` @component), which composes two MTK subsystems via `System(eqs, t; systems=[sat, rh])`. Represented here as a subsystem-composed ESS model (spec §4.7): the `sat` subsystem inlines the already-migrated SaturationVaporPressure component (sat_vapor_pressure.esm, esm-zuku) and the `rh` subsystem inlines RelativeHumidity (relative_humidity.esm, esm-vann), wired together by five top-level coupling equations. Algebraic (observed-only): T and p_H2O are input parameters; p_sat and RH are algebraic state outputs. The flattened chain T -> sat.a -> sat.p_sat -> rh.p_sat -> rh.RH is fully explicit and triangular.
- WetDepositionFlux
model
atmospheric_deposition
sp06_ch20
Net wet deposition diagnostics — wet deposition flux, washout ratio, and wet deposition velocity — for a trace species removed from the atmosphere by falling rain, from Seinfeld & Pandis (2006), Atmospheric Chemistry and Physics, 2nd ed., Chapter 20 (Wet Deposition), Eqs. 20.6-20.9. Given the species concentration in ground-level rainwater (C_rain), its gas-phase concentration in air (C_air), and the precipitation rate (p₀), the component evaluates three quantities: the wet deposition flux F_w = C_rain·p₀ (Eq. 20.7) — the downward species mass flux carried to the surface by rain; the dimensionless washout ratio w_r = C_rain/C_air (Eq. 20.6) — a measure of how strongly the species partitions into rainwater; and the wet deposition velocity u_w = F_w/C_air (Eq. 20.8), equivalently w_r·p₀ (Eq. 20.9) — the flux normalized by the air-phase concentration. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_2006_ch20.jl:451 (`WetDepositionFlux` @component). Flat observed-only algebraic model: C_rain, C_air and p₀ are the input parameters and F_w, w_r, u_w are the algebraic outputs, each fixed by one equation with no time derivative. The upstream @component is a single flat System with no subsystems; the migration-tracker `coupling.couple` feature tag and `depends_on: ParticleScavengingCoeff, GasScavengingCoeff` describe a conceptual relationship that the source code does not implement, so this is migrated as a standalone flat model.
- WienDisplacement
model
gaschem
radiation
Wien's displacement law (Seinfeld & Pandis 2006 Ch. 4, Eq. 4.3) — the peak emission wavelength λ_max of a blackbody at temperature T is given by the simple inverse relation λ_max = b / T where b is Wien's displacement constant (2.897×10⁻³ m·K). The component is observed-only: one algebraic equation on one state variable (λ_max the peak wavelength) driven by one input parameter (T the temperature) and one constant (b the displacement constant). No time derivatives, no PDE, no coupling. Migrated from GasChem.jl@8c12c048 src/radiation_fundamentals.jl:121 (`WienDisplacement` @component). Wien's law is one half of the radiative-transfer toolkit for blackbody emission: paired with the Stefan-Boltzmann law σT⁴ (total emitted power) and the Planck function (spectral distribution), it lets a radiative-transfer model identify which spectral region a body's emission concentrates in. The 5800 K Sun peaks at ~500 nm (visible green); the 255 K Earth peaks at ~10 μm (thermal infrared); the 3 K cosmic microwave background peaks at ~1 mm (microwave). The temperature-inverse scaling means hotter sources emit at shorter wavelengths — the canonical fact behind the visible spectrum of stars (red giants vs blue dwarfs) and the separation of solar (shortwave) from terrestrial (longwave) radiation that anchors the planetary energy balance.