Observed-Only
- AdjustedLayerThickness
model
urban_canopy
temps
Adjusted top layer thickness for pervious and impervious road surfaces in the urban canopy thermal scheme. The adjustment compensates for the offset between the layer-averaged temperature carried by the finite-volume soil column and the surface temperature used in the surface-energy-balance kernel, using the tunable Yang (1998) coefficient c_a = 0.34. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:601 (`AdjustedLayerThickness` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) Eq. 4.30. Parameterized as observed-only: z_i, z_h_im1, z_ip1, c_a are inputs (parameters); Δz_star is the algebraic output.
- AirRefreshingLimitation
model
atmospheric_deposition
luo2023
Air refreshing limitation on wet scavenging from Luo & Yu (2023), Eqs. 2, 5, 10, 11. The air refreshing limited removal rate R_A accounts for the finite time needed for species in subgrid cloud-free (rain-free) air to mix into cloudy (rainy) air before being subject to wet scavenging; the standard well-mixed assumption overestimates wet scavenging when the subgrid air mixing time scale is comparable to the model time step. When turbulent mixing is strong (large TKE) the grid refreshing time goes to zero and R_A approaches f*Rᵢ (the standard model); when mixing is weak R_A falls below f*Rᵢ. Migrated from AtmosphericDeposition.jl@e4468c79 src/luo2023.jl:210 (`AirRefreshingLimitation` @component). Observed-only algebraic system: cloud fraction f, in-cloud removal rate Rᵢ, turbulence kinetic energy TKE, and the grid spacings Δx/Δy/Δz are input parameters; Kᵢ, τ_A, and R_A are the algebraic outputs fixed by three explicit equations.
- AnelasticMassContinuity
model
atmospheric_dynamics
clark1977
Anelastic mass continuity equation from Clark (1977), Eq. 2.4. The component forms the three density-weighted velocity components rho_u = ρ̄u, rho_v = ρ̄v, rho_w = ρ̄w from the base-state density ρ̄ and the velocity field (u, v, w), and computes the anelastic mass-continuity residual mass_continuity as the sum of the three externally-supplied density-weighted divergence terms ∂(ρ̄u)/∂x + ∂(ρ̄v)/∂y + ∂(ρ̄w)/∂z. The anelastic approximation constrains this residual to zero, filtering acoustic (sound) waves from the dynamics by replacing the geometric velocity divergence with the density-weighted one. Four purely-algebraic equations, no time integration. Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:369 (`AnelasticMassContinuity` @component).
- AnelasticThermodynamics
model
atmospheric_dynamics
clark1977
Anelastic thermodynamics equation (the first law of thermodynamics) with Smagorinsky turbulent heat flux, from Clark (1977), 'A Small-Scale Dynamic Model Using a Terrain-Following Coordinate Transformation'. Given the base-state air density rho_bar, the eddy heat diffusivity K_H, and the potential-temperature gradients, the component computes the three turbulent heat-flux components H1, H2, H3 = rho_bar*K_H*grad(theta) (Eq. 2.19), the heat-flux divergence term div_H = -div(H), and the residual of the anelastic thermodynamic equation rho_bar*dtheta/dt = -div(H) (Eq. 2.14) — which vanishes for an energy-conserving solution. Five purely-algebraic equations, no time integration. Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:426 (`AnelasticThermodynamics` @component).
- AquiferWaterBalance
model
urban_canopy
hydro
Aquifer water-storage update for the case when the water table lies below the soil column. The rate of change of aquifer water dW_a (kg/(m^2*s)) is the balance of recharge into the aquifer and sub-surface drainage out of it (Oleson et al. 2010, CLM Tech Note Ch. 5, Eq. 5.143). Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:791 (`AquiferWaterBalance` @component). Observed-only: both inputs are parameters and dW_a is given by a single algebraic equation.
- arr_3rd
model
gaschem
The five SuperFast rate-law helper functions migrated from GasChem.jl@8c12c048482b515fb8eb2110bf8ab4b4f4e71309 src/SuperFast.jl — the reusable builder functions the SuperFast() chemical mechanism uses to construct the rate coefficient of every gas-phase reaction. Each is migrated as its own observed-only algebraic `models` entry: rate_toppb (SuperFast.jl:6) the constant-rate / `constant_k` converter, arrh (:33) the modified-Arrhenius workhorse, arr_3rd (:64) the third-body / Troe-falloff law, rate_2HO2 (:102) the HO2+HO2 law with water-vapour enhancement, and rate_OH_CO (:142) the JPL 15-10 OH+CO law. Upstream each function returns a one-variable ReactionSystem (`@variables k(t)`); the composed builders (arr_3rd, rate_2HO2, rate_OH_CO) compose `arrh` sub-systems. This file reproduces each function's compiled rate as a topologically-ordered cascade of `type: state` algebraic equations whose named intermediates mirror the upstream Julia locals and sub-system k's verbatim, with the Arrhenius coefficients exposed as `type: parameter` (defaults taken from the representative SuperFast reaction each builder serves). All five models are purely algebraic — no time derivatives — so each rate coefficient is constant in time. Units follow the upstream's mixed CGS / ppb system (rate coefficients in 1/(s*ppb), Arrhenius pre-exponentials in cm^3/molec/s).
- arr_3rdbody
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- arr_3rdbody_1
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- arrh
model
gaschem
The five SuperFast rate-law helper functions migrated from GasChem.jl@8c12c048482b515fb8eb2110bf8ab4b4f4e71309 src/SuperFast.jl — the reusable builder functions the SuperFast() chemical mechanism uses to construct the rate coefficient of every gas-phase reaction. Each is migrated as its own observed-only algebraic `models` entry: rate_toppb (SuperFast.jl:6) the constant-rate / `constant_k` converter, arrh (:33) the modified-Arrhenius workhorse, arr_3rd (:64) the third-body / Troe-falloff law, rate_2HO2 (:102) the HO2+HO2 law with water-vapour enhancement, and rate_OH_CO (:142) the JPL 15-10 OH+CO law. Upstream each function returns a one-variable ReactionSystem (`@variables k(t)`); the composed builders (arr_3rd, rate_2HO2, rate_OH_CO) compose `arrh` sub-systems. This file reproduces each function's compiled rate as a topologically-ordered cascade of `type: state` algebraic equations whose named intermediates mirror the upstream Julia locals and sub-system k's verbatim, with the Arrhenius coefficients exposed as `type: parameter` (defaults taken from the representative SuperFast reaction each builder serves). All five models are purely algebraic — no time derivatives — so each rate coefficient is constant in time. Units follow the upstream's mixed CGS / ppb system (rate coefficients in 1/(s*ppb), Arrhenius pre-exponentials in cm^3/molec/s).
- arrhenius_mlc_1
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- arrhenius_mlc_SI
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- arrhenius_ppb
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- arrhenius_ppb_3
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- arrplus_mlc_1
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- arrplus_ppb
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- 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.
- 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.
- BuildingTemperature
model
urban_canopy
temps
Weighted-average internal building temperature from canyon and roof surface temperatures, implementing Oleson et al. (2010, CLM Tech Note Ch. 4) Eqs. 4.37–4.38. The roof length L_roof in an infinite canyon (Eq. 4.38) and the unclamped building temperature T_iB_unclamped (Eq. 4.37) are both algebraic functions of the canyon geometry (H_canyon, H_W, W_roof) and the inner-surface temperatures of the shaded wall, sunlit wall, and roof. T_iB is the area-weighted average with the two walls contributing 2*H_canyon of effective length and the roof contributing L_roof. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:401 (`BuildingTemperature` @component). NOTE: the migration-tracker entry listed `blocking_gap: other:discretization-plan` citing line :1152, but that line belongs to `RoofWallHeatConduction` (a separate non-exported helper function). `BuildingTemperature` itself is a pure two-equation algebraic `@component` with no PDESystem or MOLFiniteDifference — this migration is unblocked.
- Clark1996ConvectiveFroudeNumber
model
wildland_fire
clark1996
Square of the convective Froude number (Eq. 1, Clark et al., 1996), a diagnostic of fire-atmosphere coupling strength: F_c^2 = (U - S_f)^2 / (g * (Δθ/θ̄) * W_f). Large F_c^2 indicates wind-dominated (weak coupling); small F_c^2 indicates buoyancy-dominated (strong coupling). Migrated from WildlandFire.jl@126976f2 src/clark1996.jl:253 (`Clark1996ConvectiveFroudeNumber` @component). Observed-only: U, S_f, delta_theta_over_theta, W_f are inputs (parameters); F_c_sq is an algebraic output.
- Clark1996HeatFluxProfile
model
wildland_fire
clark1996
Vertical profile of fire-induced sensible (F_s) and latent (F_l) heat fluxes via the simple e-folding extinction-depth formulation of Clark et al. (1996), Eq. 10. F_s(z) = F_s_sfc * exp(-z/alpha_ext); F_l(z) = F_l_sfc * exp(-z/alpha_ext) with alpha_ext = 50 m. Migrated from WildlandFire.jl@126976f2 src/clark1996.jl:206 (`Clark1996HeatFluxProfile` @component). Observed-only: z, F_s_sfc, F_l_sfc are inputs (parameters); F_s, F_l are algebraic outputs.
- Clark1996WindProfile
model
wildland_fire
clark1996
Hyperbolic-tangent vertical wind profile used in the FR7CS1 experiment of Clark et al. (1996), Eq. 11. U(z) = 3 - 3*(1 + tanh((z - 500)/100)) m/s — gives U ≈ +3 m/s near the surface, reverses sign at z = 500 m, and is asymptotic to -3 m/s aloft. Migrated from WildlandFire.jl@126976f2 src/clark1996.jl:299 (`Clark1996WindProfile` @component). Observed-only: z is the input (parameter); U_z is an algebraic output.
- 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.
- CLMUAtmosphere
model
urban_canopy
Atmospheric interface for the Community Land Model Urban (CLMU) parameterization, following Chapter 1 of Oleson et al. (2010). Computes three diagnostic outputs from atmospheric forcing inputs: atmospheric vapor pressure (e_atm = q_atm P_atm / (epsilon + (1-epsilon) q_atm)), atmospheric air density (rho_atm = (P_atm - (1-epsilon) e_atm) / (R_da T_atm)), and the reference height for flux computations (z_atm = z_prime_atm + z_0 + z_d). Here epsilon = MW_wv/MW_da = 0.622 is the molecular-weight ratio of water vapor to dry air, and R_da = R_gas/MW_da is the specific gas constant for dry air. The urban canyon is represented as a roof + sunlit/shaded wall + pervious/impervious road five-column system; this component defines the atmospheric forcing interface that the rest of the canopy column reads. Migrated from UrbanCanopy.jl@9200edd4 src/clmu_introduction.jl:22 (`CLMUAtmosphere` @component). Parameterized as observed-only: forcings (q_atm, P_atm, T_atm, z_prime_atm, z_0, z_d, etc.) are inputs (parameters); e_atm, rho_atm, z_atm are the algebraic state outputs.
- CloudIceUptakeLimitation
model
atmospheric_deposition
luo2023
Cloud ice uptake limitation on cold-cloud wet scavenging from Luo & Yu (2023), Eqs. 12-15. In cold clouds, water-soluble aerosols are captured by ice crystals via coagulation and then removed by precipitation; this component computes the cold-cloud rainout efficiency F_I from ice-crystal properties, turbulence, grid geometry, and temperature. The cloud ice uptake rate R_U is approximated by the HNO3 uptake rate of Jacob (2000) (Eq. 14); the temperature-dependent uptake efficiency gamma follows Hudson et al. (2002) (Eq. 15: gamma = 0.003 at T >= 220 K rising linearly to 0.007 at T <= 209 K); the cloudy-air refreshing rate Ki comes from turbulence kinetic energy and grid spacing (Eq. 11); the air-refreshing limited uptake rate R_AU applies the Eq. 2 refreshing-limit structure to R_U (Eq. 13); and F_I = 1 - exp(-R_AU*dt) (Eq. 12). Migrated from AtmosphericDeposition.jl@e4468c79 src/luo2023.jl:260 (`CloudIceUptakeLimitation` @component). Observed-only: the 5 equations are algebraic, so gamma, R_U, Ki, R_AU, F_I are the algebraic outputs while the 12 ice/turbulence/grid inputs and 9 module constants are parameters.
- 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.
- constant_k
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- constant_k_1
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- 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).
- DiagnosticPressure
model
atmospheric_dynamics
clark1977
Diagnostic pressure equation for the anelastic atmosphere in terrain-following coordinates, from Clark (1977) "A Small-Scale Dynamic Model Using a Terrain-Following Coordinate Transformation", Section 4. Observed-only algebraic component: from the pressure-gradient-force divergences, the pressure-perturbation Laplacian terms, and a momentum-divergence source it computes the pressure-gradient-force divergence div_PF (with the terrain-following Jacobian factor G^(1/2) scaling the vertical term), the pressure Laplacian laplacian_p, and the diagnostic pressure equation residual pressure_residual (Eq. 4.2), which vanishes when the anelastic mass-continuity constraint is satisfied. Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:499 (`DiagnosticPressure` @component); the upstream @constant g is declared as a fixed-default parameter.
- 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.
- DynamicFuelLoadTransfer
model
wildland_fire
rothermel
Dynamic fuel load transfer from live herbaceous to dead herbaceous fuel based on live-herbaceous fuel moisture, per Andrews (2018) Table 6c. Migrated from WildlandFire.jl@126976f2 src/rothermel.jl:320 (`DynamicFuelLoadTransfer` @component). Observed-only: w0_live_herb and Mf_live_herb are inputs (parameters); T_fraction, w0_dead_herb, and w0_live_herb_remaining are algebraic outputs.
- EffectiveMidflameWindSpeed
model
wildland_fire
rothermel
Effective midflame wind speed UE — combines the actual wind factor and slope factor into an equivalent wind speed for fire-behavior calculations. Migrated from WildlandFire.jl@126976f2 src/rothermel.jl:410 (`EffectiveMidflameWindSpeed` @component). Observed-only: C_coeff, B_coeff, E_coeff, beta_ratio, phi_w, phi_s are inputs (parameters); phi_E (combined wind+slope factor) and UE (effective midflame wind speed in m/s) are algebraic outputs. Implements Eq. UE, Table 7, Andrews (2018) RMRS-GTR-371.
- eq_const
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- eq_const_1
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- EquilibriumMoistureContent
model
wildland_fire
nfdrs
Equilibrium moisture content (EMC) of dead fuels as a function of temperature and relative humidity per the NFDRS (Cohen & Deeming 1985), page 1, Eqs. 1a/1b/1c. Migrated from WildlandFire.jl@126976f2 src/nfdrs.jl:79 (`EquilibriumMoistureContent` @component). Observed-only: TEMP and RH are inputs (parameters); EMC is the algebraic output.
- ExponentialGrid
model
urban_canopy
temps
Exponential vertical grid discretization for pervious and impervious road columns in the urban canopy thermal solver. Computes node depths (Oleson Eq. 4.8), layer thicknesses (Eq. 4.6), and interface depths (Eq. 4.7) with a scaling factor f_s = 0.025 m that produces finer resolution near the surface — a requirement because urban roads overlie real soil and the near-surface diurnal cycle dominates thermal exchange. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:890 (`ExponentialGrid` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4 §4.1, Eqs. 4.6-4.8). Parameterized as observed-only: f_s is the only input parameter; z_node_i, dz_layer_i, z_interface_j are algebraic outputs. Upstream `N` (number of layers) is fixed to its canonical default 15 for serialization (per-N templating lives outside the ESM scalar schema and is not needed for the urban-canopy use case).
- FireHeatFlux
model
wildland_fire
level_set
Sensible and latent heat flux density released by burning fuel, per Eqs. 4–5 of Mandel et al. (2011). Migrated from WildlandFire.jl@126976f2 src/level_set_fire_spread.jl:295 (`FireHeatFlux` @component). Observed-only: fuel_burn_rate, w_l, h_fuel, M_f are inputs (parameters); phi_h and phi_q are algebraic outputs.
- FireLoadIndex
model
wildland_fire
nfdrs
Fire Load Index (FLI) per the NFDRS (Cohen & Deeming 1985), page 14. FLI combines the Burning Index (BI) with fire occurrence indexes (LOI + MCOI) to provide a comprehensive measure of the expected fire load. Migrated from WildlandFire.jl@126976f2 src/nfdrs.jl:1605 (`FireLoadIndex` @component). Observed-only: BI, LOI, and MCOI are inputs (parameters); FLI is the algebraic output.
- FlameLengthCategory
model
wildland_fire
fsim
Flame length categorization into 6 categories (0.6 m thresholds) based on Byram flame length. Migrated from WildlandFire.jl@126976f2 src/fsim.jl:418.
- FreezingPointDepression
model
urban_canopy
temps
Maximum liquid water content in a soil layer below the freezing point, following the supercooled-soil-water freezing-point depression treatment of Niu and Yang (2006). Below T_f, liquid coexists with ice via the matric-potential / latent-heat balance of Oleson et al. (2010) Eq. 4.58; above T_f, the layer holds the fully-saturated maximum Δz·θ_sat·ρ_liq. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:949 (`FreezingPointDepression` @component). Parameterized as observed-only: T_i, θ_sat, Δz, ψ_sat, B_i, ρ_liq are inputs (parameters); w_liq_max is the algebraic output.
- 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.
- 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.
- GroundwaterDrainage
model
urban_canopy
hydro
Sub-surface drainage out of the soil column as an exponential function of water table depth, modulated by an impermeable-fraction reduction in frozen soils, following Oleson et al. (2010, CLM Tech Note Ch. 5) Eqs. 5.140 (drainage) and 5.141 (impermeable fraction). q_drai = (1 - f_imp) * q_drai_max * exp(-f_drai * z_v); f_imp = max((exp(-α(1 - f_ice_weighted)) - exp(-α)) / (1 - exp(-α)), 0). Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:698 (`GroundwaterDrainage` @component). Observed-only: both inputs are parameters and both outputs are given by single algebraic equations.
- 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.
- HeatFlux
model
urban_canopy
temps
Vertical heat flux across the interface between two soil/snow/road/wall/roof layers via the finite-difference discretization of Fourier's law of heat conduction (Oleson et al. 2010 Eq. 4.11). Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:312 (`HeatFlux` @component). Implements the canonical layer-pair flux F = -λ_interface * (T_i - T_{i+1}) / (z_{i+1} - z_i), positive upward (heat flowing from layer i+1 to layer i, i.e. from deeper layer to shallower layer when stacking depth-increasing-downward). λ_interface is the harmonic-mean interface conductivity (Eq. 4.12), produced upstream by InterfaceThermalConductivity from the adjacent-layer bulk conductivities. Parameterized as observed-only with one algebraic equation: F is the state variable; λ_interface, T_i, T_ip1, z_i, z_ip1 are inputs (parameters in standalone form, wired to upstream components in a full column build).
- HeatingCoolingFlux
model
urban_canopy
temps
Heating/cooling fluxes through the building floor for the urban canopy thermal column. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:638 (`HeatingCoolingFlux` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) Eqs. 4.51 and 4.52: the building uses HVAC to clamp the internal building temperature T_iB to the prescribed comfort window [T_iB_min, T_iB_max]. The combined floor flux F_combined is the Crank-Nicholson average of F_bottom_n (time n) and F_bottom_np1 (time n+1) per Eq. 4.53/4.54; if T_iB falls below T_iB_min the absolute value of F_combined is reported as the heating flux F_heat (Eq. 4.51); if T_iB rises above T_iB_max the absolute value is reported as the cooling flux F_cool (Eq. 4.52); inside the comfort window both F_heat and F_cool are zero (no HVAC demand). Parameterized as observed-only with three algebraic equations: F_combined, F_heat, F_cool are state variables; T_iB, T_iB_min, T_iB_max, F_bottom_n, F_bottom_np1 are inputs (parameters in standalone form).
- 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.
- HoltslagBovilleNonlocalABL
model
atmospheric_dynamics
holtslag_boville
Nonlocal atmospheric boundary-layer diffusion scheme of Holtslag & Boville (1993). Given the height z, boundary-layer depth h, friction velocity u_star, surface virtual heat flux wθ_v0, surface scalar flux wC_0, surface virtual potential temperature θ_v0 and Obukhov length L, it computes the convective velocity scale w_star, the φ_m/φ_h Monin-Obukhov similarity profiles, the momentum and scalar velocity scales w_m/w_t, the turbulent Prandtl number Pr, the eddy-diffusivity profile Kc = κ·w_t·z·(1−z/h)² and the countergradient nonlocal transport term γc. The nonlocal scheme represents transport by large convective eddies that the local scheme cannot. Migrated from AtmosphericDynamics.jl@816cc391 src/holtslag_boville_1993.jl:290 (`HoltslagBovilleNonlocalABL` @component); algebraic (observed-only) — the 7 inputs are parameters, the 14 turbulence quantities are algebraic state variables, no ODE integration.
- 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.
- ImperviousRunoff
model
urban_canopy
hydro
Surface runoff and updated surface liquid-water content for roof and impervious-road surfaces, following Oleson et al. (2010, CLM Tech Note Ch. 5) Eqs. 5.47-5.48. With no snow layers (has_snow = 0): runoff is the excess of (w_liq_1/Δt + q_liq_0 - q_seva) above the ponding limit w_pond_max/Δt. With snow layers (has_snow = 1): all liquid water reaching the surface becomes runoff and the surface liquid-water content passes through unchanged. Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:991 (`ImperviousRunoff` @component). Parameterized as observed-only: w_liq_1, q_liq_0, q_seva, has_snow are inputs (parameters); q_over_nosnow, q_over, w_liq_1_new are algebraic outputs.
- ImperviousWaterBalance
model
urban_canopy
hydro
Surface water balance for roof and impervious-road urban surfaces, following Oleson et al. (2010, CLM Tech Note Ch. 5) Eqs. 5.2-5.5. Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:937 (`ImperviousWaterBalance` @component). Parameterized as observed-only: precipitation (q_rain, q_sno) and loss fluxes (E_surface, q_over, q_rgwl, q_snwcp_ice) are inputs; q_grnd_liq, q_grnd_ice, and water_input are algebraic outputs.
- InterfaceHydraulicConductivity
model
urban_canopy
hydro
Hydraulic conductivity at a soil-layer interface as a Clapp-Hornberger function of the average volumetric water content and porosity of the two adjacent layers, scaled by the unfrozen fraction. Implements Oleson et al. (2010, CLM Tech Note Ch. 5) Eq. 5.69 (interface conductivity) with the frozen-fraction multiplier of Eq. 5.70. Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:1053 (`InterfaceHydraulicConductivity` @component). Observed-only: all eight inputs are parameters and k_h is given by a single algebraic equation.
- InterfaceThermalConductivity
model
urban_canopy
temps
Thermal conductivity at the interface between two adjacent thermal layers of the urban canopy column. Implements the conductivity-weighted harmonic mean (Oleson et al. 2010, CLM Tech Note Ch. 4, Eq. 4.12) derived from continuity of conductive heat flux across the interface (Eq. 4.13). Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:278 (`InterfaceThermalConductivity` @component). Parameterized as observed-only: λ_i, λ_ip1, z_i, z_ip1, z_h are inputs (parameters); λ_interface is the algebraic output.
- IsentropicBaseState
model
atmospheric_dynamics
clark1977
Isentropic base-state atmosphere for the Clark (1977) terrain-following mountain-wave model, "A Small-Scale Dynamic Model Using a Terrain-Following Coordinate Transformation", Eqs. 2.6-2.9. The base state assumes a constant potential temperature Θ — the deep, isentropic reference atmosphere of Ogura and Phillips (1962) adopted in Clark (1977) Eq. 2.6 — and derives the height-dependent thermodynamic profiles that satisfy hydrostatic balance: from the reference potential temperature Θ, the surface pressure P_0, and the height above the surface z, the component computes the isentropic scale height H_s = c_p*Θ/g, the base-state temperature T_bar = Θ*(1 - z/H_s) (Eq. 2.7), the base-state pressure p_bar = P_0*(1 - z/H_s)^(c_p/R_d) (Eq. 2.8), and the base-state density ρ_bar = P_0/(R_d*Θ)*(1 - z/H_s)^(c_p/R_d - 1) (Eq. 2.9). Temperature falls linearly with height while pressure and density fall as powers of the same (1 - z/H_s) factor, all three vanishing at the top of the isentropic atmosphere z = H_s. Four purely-algebraic equations, no time integration. Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:49 (`IsentropicBaseState` @component); the five upstream @constants — g, R_d, c_p and the derived exponents inv_kappa = c_p/R_d and inv_kappa_m1 = c_p/R_d - 1 — are declared as fixed-default parameters.
- LayerPhaseChangeEnergy
model
urban_canopy
temps
Per-layer phase change energy for the urban canopy snow/soil thermodynamics: the energy required to change a single layer's ice mass from w_ice_n at time n to w_ice_np1 at time n+1 over time step Δt (Oleson et al. 2010 Eq. 4.73). Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:1037 (`LayerPhaseChangeEnergy` @component). The column-summed output of this component over all layers is the E_p_layers input of `TotalPhaseChangeEnergy` (Eq. 4.72). Parameterized as observed-only: w_ice_n, w_ice_np1, Δt are inputs (parameters); E_p is the algebraic output.
- LiveFuelMoistureExtinction
model
wildland_fire
rothermel
Live fuel moisture of extinction (M_x,live) from dead-fuel moisture, dead-to-live effective load ratio, and dead fuel moisture of extinction. Migrated from WildlandFire.jl@126976f2 src/rothermel.jl:367 (`LiveFuelMoistureExtinction` @component). Observed-only: Mx_dead, W_ratio, Mf_dead are inputs (parameters); Mx_live is an algebraic output. Implements Eq. M_x,live, Table 6b in Andrews (2018) RMRS-GTR-371.
- 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).
- 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.
- McTigueModel
model
geodynamics
McTigue (1987) finite-sphere model for volcanic surface deformation. Extends the Mogi (1958) point-source model by incorporating higher-order correction terms that account for the finite radius of a spherical deformation source. The correction depends on ε = a/d and improves accuracy for larger ε: within 5% of FE models for ε < 0.59, vs ε < 0.37 for Mogi. Three purely-algebraic equations: R = sqrt(x²+d²) (source-to-surface distance), Ur = (Mogi_Ur) × C (Eq. 3, radial displacement), Uz = (Mogi_Uz) × C (Eq. 4, vertical displacement), where C = 1 + (a/d)³ × [(1+ν)/(2(−7+5ν)) + 15d²(−2+ν)/(4R²(−7+5ν))] is the McTigue finite-sphere correction factor. Migrated from Geodynamics.jl@d680af419676cc576d60b16af0d3dd40c0b23eea src/mogi_mctigue.jl:107 (`McTigueModel` @component).
- 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).
- MidflameWind
model
wildland_fire
Midflame-height wind component — converts horizontal 10m wind components (u_wind, v_wind) to Rothermel's midflame-height wind speed U and wind direction omega relative to the upslope direction. Migrated from WildlandFire.jl@126976f2 src/coupling.jl:249 (`MidflameWind` @component). Observed-only: u_wind, v_wind, slope_aspect, wind_reduction are inputs (parameters); U, omega, u_mf_x, u_mf_y are algebraic outputs. The wind reduction factor (default 0.4 for timber fuels) converts 10m wind speed to midflame height (~6.1 m).
- 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.
- MogiModel
model
geodynamics
Mogi (1958) point-source model for volcanic surface deformation. Computes horizontal-radial (Ur) and vertical (Uz) surface displacements due to a pressurized spherical cavity in an elastic half-space, using the small-sphere (point-source) approximation (ε = a/d ≪ 1). Three purely-algebraic equations: R = sqrt(x²+d²) (source-to-surface distance), Ur = a³ΔP(1−ν)x / (G·R³) (Eq. 1, radial displacement), Uz = a³ΔP(1−ν)d / (G·R³) (Eq. 2, vertical displacement). Migrated from Geodynamics.jl@d680af419676cc576d60b16af0d3dd40c0b23eea src/mogi_mctigue.jl:48 (`MogiModel` @component).
- 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.
- 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.
- 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.
- OfflineModeForcing
model
urban_canopy
Offline-mode atmospheric forcing processor for the Community Land Model Urban (CLMU). Migrated from UrbanCanopy.jl@9200edd4 src/offline_mode.jl:33 (`OfflineModeForcing` @component). Implements Oleson et al. (2010, NCAR Tech Note CLMU Ch. 6): given the raw observational inputs total incident solar radiation S_atm, atmospheric temperature T_atm, pressure P_atm, specific humidity q_atm, wind speed W_atm, and total precipitation rate P_precip, it derives (a) the four-way solar partition into direct/diffuse × visible/NIR via the Eq. 6.7-6.8 cubic polynomials and Eqs. 6.2-6.5 visibility / NIR weighting; (b) the downwelling longwave radiation L_atm_down from the Idso (1981) formula (Eqs. 6.9-6.10) including the vapor-pressure conversion from specific humidity; (c) the rain/snow phase partition from a linear T_atm - T_f ramp (Eqs. 6.11-6.13); and (d) the wind components, potential temperature, and atmospheric reference height (p.149) needed by CLMU's surface-layer routines. Eq. 6.1 (temporal downscaling of 6-hourly solar to model time steps) and Eqs. 6.14-6.15 (specific humidity from RH / dewpoint) are upstream data-preprocessing steps and are intentionally not implemented here; S_atm and q_atm are taken as already at the model time step. Parameterized as observed-only with 18 algebraic equations and 18 state-variable outputs — no time derivatives, no `@register_symbolic` dependencies, no PDE — matching the upstream `length(equations(sys)) == 18` / `length(unknowns(sys)) == 18` structural tests.
- 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).
- OneHourFuelMoisture
model
wildland_fire
nfdrs
1-hour timelag dead fuel moisture content per the NFDRS (Cohen & Deeming 1985), page 3. Migrated from WildlandFire.jl@126976f2 src/nfdrs.jl:149 (`OneHourFuelMoisture` @component). Observed-only: EMCPRM, MC10, use_fuel_sticks, is_raining are inputs (parameters); MC1 is the algebraic output.
- 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.
- 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.
- PhaseChangeAdjustment
model
urban_canopy
temps
Per-layer phase-change adjustment for ice/liquid water redistribution and temperature correction in the urban canopy thermal column. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:686 (`PhaseChangeAdjustment` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) Eqs. 4.60–4.65: given the excess/deficit energy H_i (W/m²) available for phase change in layer i (from `PhaseChangeEnergy`), recompute ice mass w_ice^{n+1}, liquid water mass w_liq^{n+1}, and layer temperature T^{n+1}. Melting occurs when H_i > 0 (surplus energy melts ice up to available mass); freezing occurs when H_i < 0 (deficit energy freezes liquid water). Residual energy H_res = H_i - L_f*(w_ice^n - w_ice^{n+1})/Δt that cannot drive further phase change adjusts the layer temperature. The upstream MTK component is parameterized at construction time by `layer_type ∈ {:interior, :top}`. The two variants share equations 1–4 (Eqs. 4.60–4.64) and differ only in Eq. 4.65 (temperature correction): the :top variant divides by (1 - (Δt/(c_i*Δz_i))*dh_dT) to account for the linearized surface-heat-flux feedback; the :interior variant uses the denominator = 1 (no surface feedback). Both variants are unified here via a dimensionless switch parameter `is_top` (0.0 = interior, 1.0 = top), identical to the unification strategy used by the sibling `PhaseChangeEnergy` component. NOTE: the migration-tracker entry for this component listed `blocking_gap: other:discretization-plan` citing line :1227, but that line belongs to `RoadHeatConduction` (a separate non-exported helper function). `PhaseChangeAdjustment` itself is a pure algebraic MTK `@component` with no PDESystem or MOLFiniteDifference — this migration is unblocked.
- PhaseChangeEnergy
model
urban_canopy
temps
Per-layer energy excess/deficit available for phase change in the urban canopy thermal column. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:496 (`PhaseChangeEnergy` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) Eq. 4.59 for layer i: the imbalance between net heat fluxes (Crank-Nicholson average of times n and n+1) and the thermal storage required to bring the layer to the freezing point T_f. When H_excess > 0 the layer has surplus energy that can melt ice; when H_excess < 0 it has deficit energy that can freeze liquid water. The upstream MTK component is parameterized at construction time by `layer_type ∈ {:interior, :top}`. The two variants share a Crank-Nicholson bottom-flux contribution and the thermal-storage term but differ in the upper boundary: the :top variant adds a surface heat flux `h_n + dh_dT*(T_f - T_i_n)` (Eq. 4.59 for i = snl+1), while the :interior variant subtracts the upper-interface Crank-Nicholson flux `α_CN*F_im1_n + (1-α_CN)*F_im1_np1` (Eq. 4.59 for i > snl+1). Both variants are merged here into a single algebraic equation switched by an `is_top` dimensionless parameter (0.0 = interior, 1.0 = top); both upstream test fixtures pass against this merged form with the appropriate parameter set.
- 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).
- 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.
- rate_2HO2
model
gaschem
The five SuperFast rate-law helper functions migrated from GasChem.jl@8c12c048482b515fb8eb2110bf8ab4b4f4e71309 src/SuperFast.jl — the reusable builder functions the SuperFast() chemical mechanism uses to construct the rate coefficient of every gas-phase reaction. Each is migrated as its own observed-only algebraic `models` entry: rate_toppb (SuperFast.jl:6) the constant-rate / `constant_k` converter, arrh (:33) the modified-Arrhenius workhorse, arr_3rd (:64) the third-body / Troe-falloff law, rate_2HO2 (:102) the HO2+HO2 law with water-vapour enhancement, and rate_OH_CO (:142) the JPL 15-10 OH+CO law. Upstream each function returns a one-variable ReactionSystem (`@variables k(t)`); the composed builders (arr_3rd, rate_2HO2, rate_OH_CO) compose `arrh` sub-systems. This file reproduces each function's compiled rate as a topologically-ordered cascade of `type: state` algebraic equations whose named intermediates mirror the upstream Julia locals and sub-system k's verbatim, with the Arrhenius coefficients exposed as `type: parameter` (defaults taken from the representative SuperFast reaction each builder serves). All five models are purely algebraic — no time derivatives — so each rate coefficient is constant in time. Units follow the upstream's mixed CGS / ppb system (rate coefficients in 1/(s*ppb), Arrhenius pre-exponentials in cm^3/molec/s).
- rate_ALK
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_DMSOH
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_EPO
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_GLYCOH_a
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_GLYCOH_b
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_GLYXNO3
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_HACOH_a
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_HACOH_b
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_HO2HO2
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_ISO1
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_ISO2
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_NIT
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_OH_CO
model
gaschem
The five SuperFast rate-law helper functions migrated from GasChem.jl@8c12c048482b515fb8eb2110bf8ab4b4f4e71309 src/SuperFast.jl — the reusable builder functions the SuperFast() chemical mechanism uses to construct the rate coefficient of every gas-phase reaction. Each is migrated as its own observed-only algebraic `models` entry: rate_toppb (SuperFast.jl:6) the constant-rate / `constant_k` converter, arrh (:33) the modified-Arrhenius workhorse, arr_3rd (:64) the third-body / Troe-falloff law, rate_2HO2 (:102) the HO2+HO2 law with water-vapour enhancement, and rate_OH_CO (:142) the JPL 15-10 OH+CO law. Upstream each function returns a one-variable ReactionSystem (`@variables k(t)`); the composed builders (arr_3rd, rate_2HO2, rate_OH_CO) compose `arrh` sub-systems. This file reproduces each function's compiled rate as a topologically-ordered cascade of `type: state` algebraic equations whose named intermediates mirror the upstream Julia locals and sub-system k's verbatim, with the Arrhenius coefficients exposed as `type: parameter` (defaults taken from the representative SuperFast reaction each builder serves). All five models are purely algebraic — no time derivatives — so each rate coefficient is constant in time. Units follow the upstream's mixed CGS / ppb system (rate coefficients in 1/(s*ppb), Arrhenius pre-exponentials in cm^3/molec/s).
- rate_OHCO
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_OHHNO3
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_PAN_abab
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_PAN_acac
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_RO2HO2
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_RO2NO_a1
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_RO2NO_a2
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_RO2NO_b1
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_RO2NO_b2
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- rate_toppb
model
gaschem
The five SuperFast rate-law helper functions migrated from GasChem.jl@8c12c048482b515fb8eb2110bf8ab4b4f4e71309 src/SuperFast.jl — the reusable builder functions the SuperFast() chemical mechanism uses to construct the rate coefficient of every gas-phase reaction. Each is migrated as its own observed-only algebraic `models` entry: rate_toppb (SuperFast.jl:6) the constant-rate / `constant_k` converter, arrh (:33) the modified-Arrhenius workhorse, arr_3rd (:64) the third-body / Troe-falloff law, rate_2HO2 (:102) the HO2+HO2 law with water-vapour enhancement, and rate_OH_CO (:142) the JPL 15-10 OH+CO law. Upstream each function returns a one-variable ReactionSystem (`@variables k(t)`); the composed builders (arr_3rd, rate_2HO2, rate_OH_CO) compose `arrh` sub-systems. This file reproduces each function's compiled rate as a topologically-ordered cascade of `type: state` algebraic equations whose named intermediates mirror the upstream Julia locals and sub-system k's verbatim, with the Arrhenius coefficients exposed as `type: parameter` (defaults taken from the representative SuperFast reaction each builder serves). All five models are purely algebraic — no time derivatives — so each rate coefficient is constant in time. Units follow the upstream's mixed CGS / ppb system (rate coefficients in 1/(s*ppb), Arrhenius pre-exponentials in cm^3/molec/s).
- regress_T
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- 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.
- ReversibleGasScavenging
model
atmospheric_deposition
sp06_ch20
Below-cloud scavenging of a reversibly-absorbed (Henry's-law) trace gas by falling raindrops, from Chapter 20 (Wet Deposition) of Seinfeld & Pandis (2006). Unlike the irreversible-uptake parameterizations used for highly soluble species such as HNO3, this component retains the equilibrium (Henry's law) ceiling: a raindrop falling through polluted air relaxes toward -- but cannot exceed -- the aqueous concentration in equilibrium with the local gas phase, and a drop entering the layer already overloaded (C_aq0 above equilibrium) instead desorbs gas back to the air. Two algebraic outputs: C_aq_ground (Eq. 20.33, which is Eq. 20.28 evaluated at the cloud-base fall distance h) is the aqueous-phase concentration in a drop arriving at the ground; F_bc (Eq. 20.35) is the total below-cloud scavenging flux. Both are governed by the single dimensionless exponent alpha = 6*K_c*h/(D_p*U_t*HRT): the drop relaxes from its initial aqueous concentration C_aq0 toward the Henry's-law equilibrium C_eq = C_g*HRT, and (1 - exp(-alpha)) is the fraction of that equilibrium uptake realised over the fall. Migrated from AtmosphericDeposition.jl@e4468c79 src/seinfeld_pandis_2006_ch20.jl:194 (`ReversibleGasScavenging` @component). The upstream component is a flat MTK System whose two equations call the module helper functions reversible_drop_conc (Eq. 20.28) and reversible_scavenging_flux (Eq. 20.35); both helpers are inlined into the equation ASTs here. The eight upstream @parameters (C_g, HRT, K_c, D_p, U_t, h, C_aq0, p0) map directly to type:parameter and the two upstream @variables(t) (C_aq_ground, F_bc) to type:state, each fixed by one explicit algebraic equation. HRT is the dimensionless product H* x R x T x 1000 (effective Henry's law coefficient x gas constant x temperature x unit conversion); for HNO3 at 298 K, HRT = 2.1e5 x 8.206e-5 x 298 x 1000 is approximately 5.14e6 (the declared default). Observed-only algebraic system: both equations are algebraic (no D operator), so the two outputs are the algebraic solution while the gas-phase, drop, and precipitation inputs are parameters; system_kind is left unset.
- RothermelFireSpread
model
wildland_fire
rothermel
Rothermel (1972) surface fire spread model — predicts rate of spread (R), fireline intensity (IB), flame length (F_L), and related outputs from fuel-bed properties, fuel moisture, wind speed, and terrain slope. Migrated from WildlandFire.jl@126976f2 src/rothermel.jl:70 (`RothermelFireSpread` @component). Observed-only (algebraic): all 27 unknowns are defined by algebraic equations; no ODE states. Implements Table 3 and Table 7 in Andrews (2018) RMRS-GTR-371 using SI units. All empirical coefficients are converted from US customary. See reference notes for the complete Unicode→ASCII identifier map and the coupling interface (RothermelCoupler couple2 methods).
- 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.
- SfclayRev
model
atmospheric_dynamics
sfclayrev
WRF's revised MM5 surface-layer scheme (sf_sfclay_physics = 1; Jimenez et al. 2012), transcribed from the CCPP kernel sf_sfclayrev_run of phys/physics_mmm/sf_sfclayrev.F90 (WRF 4.8, NCAR/MMM-physics 550b5b4 with the kind-generic fixes of the ctessum-claude fork 52cfbd7). The scheme is a diagnostic (time-step-free) Monin-Obukhov surface layer for one grid column: from the lowest-model-level state (u, v, T, qv, p, layer thickness), the surface pressure and skin temperature, the surface type and the previous step's roughness, friction velocity, temperature scale and surface humidity it computes (1) the potential, virtual and surface saturation quantities; (2) an effective wind speed that adds the Beljaars (1994) convective velocity over land or the Wyngaard form over water and the Mahrt and Sun (1995) subgrid velocity; (3) the bulk Richardson number Ri_b = g za (theta_v1 - theta_vs)/(theta_1 |U|^2), which fixes the stability regime (1 stable, 3 neutral, 4 unstable); (4) the stability parameter zol = za/L by inverting Ri_b = zol psi_h(zol)/psi_m(zol)^2 with the Jimenez et al. (2012) integrated similarity functions (Cheng-Brutsaert stable, Kansas/free-convection unstable), which the kernel does with a secant iteration stopped at 0.01 (bulk_richardson_zol.esm: transcribed step by step as one recurrence over the 33-cell index set secant_steps because the stopping rule leaves zol up to 8e-5 relative from the exact root), or from the first guess zol = Ri_b ln((za+z0)/z0) when the previous friction velocity is below 1 mm/s; (5) the integrated stability corrections psi_m, psi_h between z0 (or the thermal/moisture roughness z0t, z0q over water and for iz0tlnd > 0 over land) and the first level, 2 m and 10 m; (6) the friction velocity u* = k |U|/psi_m relaxed 50/50 against the previous value, the temperature scale mol = k (theta_1 - theta_s)/psi_h, the 2 m and 10 m diagnostics and the drag/exchange coefficients ck, cka, cd, cda; and (7), when surface fluxes are enabled (isfflx), the updated sea-surface roughness (Charnock + smooth flow, AHW, or Jimenez-Dudhia shallow water), the exchange coefficients flhc, flqc, chs, chs2, cqs2 and the sensible, latent and moisture fluxes. Every quantity is a scalar observed; the only array is the secant recurrence. Constants: lib/wrf_constants.esm as subsystem wrf; scheme constants sfclayrev_parameters.esm as subsystem par (note the kernel receives real32 copies of the WRF constants, g = 9.8100004, karman = 0.40000001, ep1 = 0.60836244, svp1 = 0.61119998, and its literals are default-real, which bounds the agreement of a real64 build with this component at about 1e-7 relative -- FORTRAN_BUGS.md N2, N10). Previous-step inputs are named *_in (WRF intent(inout) arguments read before being overwritten: znt, ust, mol, qsfc, hfx, qfx, ustm, chs, chs2, cqs2). Option flags are numeric parameters (isfflx, shalwater_z0, scm_force_flux as 0/1; isftcflx, iz0tlnd as 0/1/2). NOT transcribed: the KIM turbulent orographic form drag (if_kim_tofd), whose Fortran uses the uninitialised variable dx_factor on its own right-hand side (FORTRAN_BUGS.md B3), so cf = 0; the optional TKE-coupling ustm is included. lh is xlv qfx always, whereas the kernel leaves lh unassigned when isfflx is false or scm_force_flux is true (FORTRAN_BUGS.md N11). The 0.9 ln((z+z0)/z0) caps that the kernel applies to psi_m, psi_h, psi_h2, psi_m10, psi_h10 in the unstable regime only are applied unconditionally here, which is equivalent because the stable and neutral corrections are non-positive. Regime selection by the sign of zol inside the profile templates is equivalent to the kernel's selection by the sign of Ri_b because zol has the sign of Ri_b or is zero.
- SnowCappingRunoff
model
urban_canopy
hydro
Solid and liquid runoff from snow capping for snow-covered surfaces, following Oleson et al. (2010, CLM Tech Note Ch. 5) Eqs. 5.153-5.154. When the model has reached its prescribed maximum snow water equivalent, additional precipitation and atmospheric deposition cannot accumulate on the snowpack and is shed to the surface as `snow capping runoff` — the solid stream comes from solid precipitation plus frost (Eq. 5.153) and the liquid stream from liquid precipitation plus dew (Eq. 5.154). Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:823 (`SnowCappingRunoff` @component). Parameterized as observed-only: q_grnd_ice, q_grnd_liq, q_frost, q_dew are inputs (parameters); q_snwcp_ice and q_snwcp_liq are algebraic outputs.
- SnowCompaction
model
urban_canopy
hydro
Total fractional snow-layer compaction rate combining destructive metamorphism (Eq. 5.26), overburden pressure (Eq. 5.28), and melt-induced compaction (Eq. 5.31). Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:174 (`SnowCompaction` @component). Implements Oleson et al. (2010) CLM4 Tech Note Chapter 5, Section 5.1.4, Eqs. 5.24–5.33. Parameterized as observed-only: T_i, w_ice, w_liq, dz, P_s, f_ice_n, f_ice_n1 are inputs; c_1, c_2, C_R1, eta, C_R2, C_R3, C_R are algebraic outputs.
- SnowDensity
model
urban_canopy
hydro
Bulk density of newly fallen snow as a piecewise function of atmospheric temperature, following Anderson (1976) as parameterized in Eq. 5.10 of Oleson et al. (2010, CLM Tech Note Ch. 5). Three regimes: (1) warm snow (T_atm > T_f + 2 K) → rho_sno = 50 + 1.7*17^1.5 (saturated warm-side value); (2) intermediate (T_f - 15 K < T_atm <= T_f + 2 K) → rho_sno = 50 + 1.7*((T_atm - T_f + 15)/1K)^1.5; (3) cold (T_atm <= T_f - 15 K) → rho_sno = 50 (saturated cold-side floor). Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:25 (`SnowDensity` @component). Parameterized as observed-only: T_atm is the input parameter; rho_sno is an algebraic output.
- SnowIceContent
model
urban_canopy
hydro
Conservation of ice mass in snow layers and new snowfall accumulation (Oleson et al. 2010, CLM4 Tech Note Ch. 5, Section 5.1.1, Eqs. 5.6-5.14). Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:79 (`SnowIceContent` @component). Parameterized as observed-only: q_grnd_ice, q_frost, q_subl, rho_sno are inputs (parameters); dz_sno_dt, q_ice_top are algebraic outputs.
- SnowLayerCombination
model
urban_canopy
hydro
Combined-layer properties when two snow layers are merged (Oleson et al. 2010, Section 5.1.5.1, Eqs. 5.38–5.42). Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:253 (`SnowLayerCombination` @component). Observed-only: per-layer thicknesses, water/ice contents, and temperatures are inputs (parameters); combined thickness/water/ice/enthalpies/temperature are algebraic outputs.
- SnowLayerGeometry
model
urban_canopy
temps
Single-layer snow-pack geometry for the CLMU urban canopy thermal stack: given the total snow depth z_sno, computes the bottom-layer thickness, node depth, and top interface depth used by the snow conduction column. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:33 (`SnowLayerGeometry` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) §4.1 Eqs. 4.9-4.10 in the simplest snl = -1 (single snow layer) regime, where Δz_0 = z_sno (pp. 92-93). Parameterized as observed-only: z_sno is the input (parameter); Δz_snow_0, z_node_snow_0, z_interface_snow_neg1 are the algebraic outputs of three identity/linear equations.
- SnowMeltNoLayers
model
urban_canopy
temps
Surface snow melt for the no-layer (single-layer-flag) snow model: discrete-time update of snow mass and depth from excess top-soil-layer energy, with residual energy and phase-change diagnostics. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:773 (`SnowMeltNoLayers` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) Eqs. 4.66-4.71. Parameterized as observed-only: H_1, W_sno_n, z_sno_n, Δt are inputs (parameters); W_sno_np1, z_sno_np1, H_residual, M_1S, E_p1S are algebraic outputs.
- SnowSoilBlendedHeatCapacity
model
urban_canopy
temps
Blended snow/soil heat capacity for the urban canopy top-soil layer when a thin (no-layer) snowpack rides on top: combines the dry soil volumetric heat capacity with the additional contribution of the overlying snow mass. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:1003 (`SnowSoilBlendedHeatCapacity` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) Eq. 4.88. Parameterized as observed-only: c_soil, W_sno, Δz are inputs (parameters); c_blended is the algebraic output.
- SnowThermalProperties
model
urban_canopy
temps
Thermal conductivity and volumetric heat capacity of an urban-canopy snow layer. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:190 (`SnowThermalProperties` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4 §4.3) Eq. 4.84 for snow bulk density, Eq. 4.83 (Jordan 1991 quadratic) for thermal conductivity, and Eq. 4.87 (additive ice + liquid contributions) for volumetric heat capacity. Parameterized as observed-only: w_ice, w_liq, Δz are inputs (parameters); ρ_sno, λ_snow, c_snow are algebraic outputs.
- SnowWaterContent
model
urban_canopy
hydro
Volumetric ice/liquid contents and outgoing liquid-water flux for a snow layer (Oleson et al. 2010, CLM4 Tech Note Ch. 5, Eqs. 5.18–5.20). Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:119 (`SnowWaterContent` @component). Parameterized as observed-only: w_ice, w_liq, dz are inputs (parameters); theta_ice, theta_liq, q_liq_out are algebraic outputs.
- 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.
- SoilHydraulicProperties
model
urban_canopy
hydro
Soil hydraulic properties for an urban-canopy pervious-road soil column following Section 5.3.1 of Oleson et al. (2010, CLM4 Tech Note). Computes five Clapp-Hornberger / Cosby-style properties from the soil sand and clay fractions and the local volumetric water content: saturated hydraulic conductivity k_sat (Eq. 5.70), porosity θ_sat (Eq. 5.71), Clapp-Hornberger exponent B (Eq. 5.72), saturated matric potential ψ_sat (Eq. 5.74), and matric potential ψ (Eq. 5.73, clamped on both sides). Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:322 (`SoilHydraulicProperties` @component). Observed-only: all three inputs are parameters and all five outputs are given by single algebraic equations.
- SoilThermalProperties
model
urban_canopy
temps
Thermal conductivity and volumetric heat capacity for soil layers in the pervious-road column of the urban canopy thermal solver. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:75 (`SoilThermalProperties` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4 §4.3): thermal conductivity follows Farouki (1981) using the Kersten-number method (Eqs. 4.77-4.82); volumetric heat capacity follows de Vries (1963) (Eqs. 4.85-4.86). Parameterized as observed-only: pct_sand, pct_clay, θ_sat, θ_liq, T_i, w_ice, w_liq, Δz are inputs (parameters); λ_s, λ_sat, λ_dry, ρ_d, S_r, K_e, λ_soil, c_s, c_soil are algebraic outputs. The component carries two temperature-conditioned `ifelse` branches: λ_sat and K_e switch between frozen (T_i < T_f) and unfrozen (T_i ≥ T_f) regimes, while λ_soil falls back to λ_dry whenever S_r drops below a small numerical threshold.
- SoilWaterContentCalc
model
urban_canopy
hydro
Total volumetric soil water content from per-layer liquid-water and ice masses, following Oleson et al. (2010, CLM Tech Note Ch. 5) Eq. 5.137. Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:1091 (`SoilWaterContentCalc` @component). Parameterized as observed-only: w_liq, w_ice, Δz are inputs (parameters); θ_i is an algebraic output combining both phases via their respective densities.
- SoilWaterEquilibrium
model
urban_canopy
hydro
Layer-averaged equilibrium volumetric water content (θ_E, Eq. 5.101) and equilibrium matric potential at the layer node (ψ_E, Eq. 5.106) for a single soil layer, following Oleson et al. (2010, CLM4 Tech Note Ch. 5, §5.3.2.1, Eqs. 5.98–5.106). θ_E is fully saturated (θ_sat) when the water table is above the layer (z_v < z_h_upper), otherwise is computed by integrating the hydrostatic-equilibrium Clapp-Hornberger profile across the layer, clamped to [0, θ_sat]. ψ_E is derived from the Brooks-Corey inverse relation with a 1% saturation floor and a hard lower bound at ψ_min = −10⁵ m to prevent numerical underflow. Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:509 (`SoilWaterEquilibrium` @component). Note: the migration-tracker row for this component carried the blocking_gap `other:discretization-plan` because the row description mentioned an in-file Richards-equation PDE at src/hydrology.jl:674. Inspection shows that PDESystem lives in a separate non-`@component` helper function (`RichardsEquation`) and is not part of `SoilWaterEquilibrium`, which is a plain two-equation algebraic `@component`. No discretization plan is needed.
- SoilWaterFlux
model
urban_canopy
hydro
Soil water flux at the interface between two adjacent soil layers, computed from Darcy's law with the Zeng and Decker (2009) equilibrium-potential correction (Oleson et al. 2010, CLM4 Tech Note Eq. 5.88). q = -k_interface * ((ψ_upper - ψ_lower) + (ψ_E_lower - ψ_E_upper)) / (z_lower - z_upper), positive upward. Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:471 (`SoilWaterFlux` @component). Observed-only: the seven inputs are parameters and q is given by a single algebraic equation.
- 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.
- SurfaceEnergyFlux
model
urban_canopy
temps
Net surface heat flux and its derivative with respect to surface temperature for the urban canopy thermal column. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:347 (`SurfaceEnergyFlux` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) Eqs. 4.26, 4.28, and 4.29: the surface heat flux h is the algebraic sum of absorbed solar radiation, net longwave radiation, sensible heat, latent heat, and waste/AC heat (Eq. 4.26); the longwave-derivative diagnostic dL_g_dT = 4*epsilon_g*sigma_SB*T_g_n^3 (Eq. 4.29) is the Stefan-Boltzmann temperature derivative of the upward longwave emission at the current surface temperature; the total flux derivative dh_dT = -dL_g_dT - dH_g_dT - dlambdaE_g_dT (Eq. 4.28) drives the linearized Crank-Nicholson scheme of Eq. 4.19. Parameterized as observed-only: S_g, L_g, H_g, lambdaE_g, H_wasteheat_g, H_aircond_g, epsilon_g, T_g_n, dH_g_dT, dlambdaE_g_dT are inputs (parameters); h, dL_g_dT, dh_dT are the algebraic state outputs.
- 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.
- SurfaceLayerUpdate
model
urban_canopy
hydro
Top-layer ice and liquid water mass-rate updates from surface dew, frost, and sublimation, following Oleson et al. (2010, CLM Tech Note Ch. 5) Eqs. 5.150-5.152. Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:860 (`SurfaceLayerUpdate` @component). Parameterized as observed-only: q_sdew, q_frost, q_subl are inputs (parameters); dw_liq_1, dw_ice_1_frost, dw_ice_1_subl are algebraic outputs that pass each input through (with a sign flip on sublimation). Applies to the top layer of all surfaces (roof, pervious road, impervious road).
- SurfaceRunoffInfiltration
model
urban_canopy
hydro
Surface runoff and infiltration for the pervious-road urban surface, following Oleson et al. (2010, CLM Tech Note Ch. 5) §5.2, Eqs. 5.49-5.57. Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:384 (`SurfaceRunoffInfiltration` @component). Implements the SIMTOP-based (Niu et al., 2005) runoff partition with frozen-soil-modulated saturated fraction (Eqs. 5.50-5.51), a maximum infiltration capacity built from top-layer matric-potential and saturation (Eqs. 5.52-5.55), and snow-aware surface infiltration (Eqs. 5.56-5.57). Observed-only: all 14 inputs are parameters and the seven outputs (f_frz_1, f_sat, s, v, q_infl_max, q_over, q_infl) are given by algebraic equations.
- tbranch
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- TenHourFuelMoisture
model
wildland_fire
nfdrs
10-hour timelag dead fuel moisture content per the NFDRS (Cohen & Deeming 1985), page 4. Migrated from WildlandFire.jl@126976f2 src/nfdrs.jl:207 (`TenHourFuelMoisture` @component). Observed-only: EMCPRM, use_fuel_sticks, WT, AGE, CLIMAT are inputs (parameters); MC10 is the algebraic output.
- TerrainFollowingTransform
model
atmospheric_dynamics
clark1977
Terrain-following coordinate transformation from Clark (1977) "A Small-Scale Dynamic Model Using a Terrain-Following Coordinate Transformation", Eqs. 2.20-2.23 and 2.27. Observed-only algebraic component: from the terrain surface height z_s, the domain height H, the transformed vertical coordinate z_bar, and the two terrain slopes dz_s_dx and dz_s_dy it computes the transformation Jacobian G^(1/2) = 1 - z_s/H (G_sqrt), the two metric coefficients G^(1/2)G^13 and G^(1/2)G^23 that carry the terrain slope into the transformed equations (G_sqrt_G13, G_sqrt_G23), the physical height z_phys recovered from z_bar (the inverse of the mapping z_bar = H(z - z_s)/(H - z_s)), and the diagnostic Jacobian factor ω_diag used to recover the contravariant vertical velocity ω (Eq. 2.27). The transformation maps the irregular lower boundary z = z_s(x,y) to the flat computational surface z_bar = 0 while preserving the rigid lid z = H at z_bar = H. Migrated from AtmosphericDynamics.jl@816cc391 src/clark1977.jl:157 (`TerrainFollowingTransform` @component).
- TerrainSlope
model
wildland_fire
Terrain slope magnitude and aspect from elevation gradients. Migrated from WildlandFire.jl@126976f2 src/coupling.jl:205 (`TerrainSlope` @component). Observed-only: dzdx and dzdy are inputs (parameters); tan_phi, slope_aspect, dzdx_out, dzdy_out are algebraic outputs.
- 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.
- TotalPhaseChangeEnergy
model
urban_canopy
temps
Column-total phase change energy for the urban canopy snow/soil thermodynamics: the sum of the surface snow melt energy E_p1S (Oleson et al. 2010 Eq. 4.71) and the column-summed per-layer phase change energies E_p_layers (Eq. 4.73). Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:1071 (`TotalPhaseChangeEnergy` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) Eq. 4.72. Parameterized as observed-only: E_p1S and E_p_layers are inputs (parameters); E_p_total is the algebraic output.
- tunplus_mlc_1
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- tunplus_ppb
model
gaschem
GEOS-Chem gas-phase reaction rate laws — the 37 rate-coefficient builder functions of GasChem.jl src/geoschem_ratelaws.jl, adapted from the GEOS-Chem KPP/fullchem mechanism (github.com/geoschem/geos-chem, commit 4722f288). Each builder computes a single reaction rate coefficient k from temperature and air number density: constant rates (constant_k, constant_k_1), modified-Arrhenius forms in ppb and SI molecular units (arrhenius_ppb, arrhenius_ppb_3, arrhenius_mlc_SI, arrhenius_mlc_1, arrplus_*, tunplus_*), Troe / third-body pressure-dependent falloff rates (arr_3rdbody, arr_3rdbody_1, rate_OHCO, rate_PAN_abab, rate_PAN_acac, eq_const, eq_const_1), and a family of mechanism-specific rates for HO2, RO2+NO, isoprene, glycolaldehyde, DMS and HNO3 chemistry. Each rate law is migrated as an independent purely-algebraic model: the inputs (T, num_density, Arrhenius coefficients) are parameters, the rate coefficient k is the single state variable defined by one algebraic equation, and an inline test reproduces the rate constant asserted by the corresponding @testitem in GasChem.jl test/geoschem_ratelaws_test.jl (compiled at T=293 K, num_density = 2.7e19 molec/cm^3). The GEOS-Chem license applies (github.com/geoschem/geos-chem/blob/main/LICENSE.txt).
- TypicalConditions
model
gaschem
combined
Parameters-preset component that exposes typical lower-troposphere chemical composition (Seinfeld & Pandis 2006, Chapter 6) as observable outputs. Migrated from GasChem.jl@280ee50f src/combined_system.jl:177 (`TypicalConditions` @component). The component declares 11 species concentrations as parameters with fixed default values in SI units (m^-3) for typical mid-latitude lower-tropospheric daytime conditions — total air number density M = 2.5e25 m^-3 at STP, O2 = 5.25e24 m^-3 (21% of M), H2O = 4.0e23 m^-3 (~50% RH at 298 K), O3 = 1.0e18 m^-3 (~40 ppb), NO = 2.5e15 m^-3 (~0.1 ppb), NO2 = 2.5e16 m^-3 (~1 ppb), CO = 2.5e18 m^-3 (~100 ppb), CH4 = 4.5e19 m^-3 (~1800 ppb), OH = 1.0e12 m^-3 (typical daytime), HO2 = 1.0e14 m^-3 (typical daytime), CH3O2 = 1.0e14 m^-3 (typical daytime) — and 11 passthrough algebraic equations of the form `<species>_out ~ <species>` that publish each species parameter on the canonical `<species>_out(t)` observable name. This design exists because the upstream `TroposphericChemistrySystem` consumes species concentrations on the bare names (M, O2, H2O, O3, NO, NO2, OH, HO2, CO, CH4, CH3O2) and a downstream consumer can compose a conditions preset by binding its preset parameters into those input variables — the `_out` suffix makes the conditions component a publishable upstream of any compose graph. Parameterized as observed-only with 11 passthrough/identity equations — no time derivatives, no `@register_symbolic` dependencies, no PDE — matching the upstream `length(equations(sys)) == 11` / `length(unknowns(sys)) == 11` structural shape.
- UniformGrid
model
urban_canopy
temps
Uniform vertical grid discretization for roof and wall columns in the urban canopy thermal solver. Computes node depths at layer midpoints (Oleson Eq. 4.5), layer thicknesses (Eq. 4.6), and interface depths (Eq. 4.7) for a column of total thickness `dz_total` divided into N equal-thickness layers. Used for roofs and walls (homogeneous opaque material — concrete, brick, etc.); the road column uses the exponential grid (sibling `exponential_grid.esm`) because it overlies real soil where near-surface diurnal cycles dominate. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:830 (`UniformGrid` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4 §4.1, Eqs. 4.5-4.7). Parameterized as observed-only: `dz_total` is the only input parameter; z_node_i, dz_layer_i, z_interface_j are algebraic outputs. Upstream `N` (number of layers) is fixed to its canonical default 15 for serialization (per-N templating lives outside the ESM scalar schema and is not needed for the urban-canopy use case).
- 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.
- UrbanRadiation
model
urban_canopy
Urban albedos and radiative fluxes for the Community Land Model Urban (CLMU) parameterization, following Chapter 2 of Oleson et al. (2010). Computes view factors, incident direct beam and diffuse solar radiation, absorbed and reflected solar radiation (with closed-form multi-reflection solution for the urban canyon), incident longwave radiation, and absorbed/reflected/emitted longwave radiation for urban surfaces: roof, sunlit wall, shaded wall, and road. The urban canyon is represented as an infinitely long canyon of width W bordered by buildings of height H. The iterative multi-reflection scheme (Eqs. 2.63-2.85, 2.138-2.170) is solved in closed form using the matrix geometric series S_absorbed = (I - A) * (I - T*A)^{-1} * S_0, where A is the albedo matrix, T is the view-factor transport matrix, and S_0 is the initial incident radiation vector. Migrated from UrbanCanopy.jl@9200edd4 src/albedos_radiative_fluxes.jl:27 (`UrbanRadiation` @component). Parameterized as observed-only: H_W, W_roof, S_atm_*, L_atm_down, μ_zen, surface albedos α_*, emissivities ε_*, and surface temperatures T_* are inputs (parameters); 62 view factor, intermediate, absorbed-flux, and reflected-flux quantities are algebraic state outputs.
- UrbanSurfaceThermalProperties
model
urban_canopy
temps
Prescribed thermal conductivity and volumetric heat capacity for urban surface layers (roof, wall, and impervious road) in the urban canopy thermal column. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:245 (`UrbanSurfaceThermalProperties` @component). Implements Section 4.3 of Oleson et al. (2010, CLM Tech Note Ch. 4): for roof, wall, and impervious road layers (i = 1, ..., N_imprvrd) the thermal conductivity λ_surf and the volumetric heat capacity c_surf are specified by the surface dataset (Table 1.3) rather than computed from the layer state. The component takes those prescribed values as parameters and returns them as time-indexed observables — a passthrough/identity wrapper that exposes the surface dataset values on the canonical (λ_surf, c_surf) names the downstream HeatFlux / SurfaceEnergyFlux components consume. Parameterized as observed-only with two algebraic equations: λ_surf and c_surf are state variables; λ_prescribed and c_prescribed are inputs (parameters in standalone form).
- WasteHeatAirConditioning
model
urban_canopy
temps
Waste heat and air-conditioning heat removal aggregation for the urban canopy thermal column. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:440 (`WasteHeatAirConditioning` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) Eqs. 4.55-4.56: the unclamped total waste heat H_wasteheat_unclamped distributes heating/cooling fluxes from the roof and the two walls (sunlit and shaded) into the canyon air, weighted by the efficiency factors f_heat = 1/0.75 and f_cool = 1/0.25, the roof area fraction W_roof, and the canyon-wall geometry factor (1 - W_roof) * H_W per Eq. 4.55; this is clamped at H_wasteheat_max = 100 W/m^2 to produce H_wasteheat. The air-conditioning heat removal H_aircond is the sum of the three cooling fluxes (F_cool_roof + F_cool_sunwall + F_cool_shdwall) per Eq. 4.56. Parameterized as observed-only with three algebraic equations: H_wasteheat_unclamped, H_wasteheat, H_aircond are state variables; F_heat_roof, F_cool_roof, F_heat_sunwall, F_cool_sunwall, F_heat_shdwall, F_cool_shdwall, W_roof, H_W are inputs (parameters in standalone form).
- WasteHeatAllocation
model
urban_canopy
temps
Allocates the column-total anthropogenic waste heat (H_wasteheat) and air conditioning heat removal (H_aircond) to the pervious and impervious urban road surfaces under the CLMU urban canopy model. Migrated from UrbanCanopy.jl@9200edd4 src/roof_wall_road_snow_temperatures.jl:561 (`WasteHeatAllocation` @component). Implements Oleson et al. (2010, CLM Tech Note Ch. 4) Eq. 4.27: per the CLMU convention, waste heat and air-conditioning heat are deposited ONLY on the pervious and impervious road tiles (walls and roof receive zero by construction); each road tile receives the same per-unit-area flux equal to the column total divided by the non-roof areal fraction (1 - W_roof). Parameterized as observed-only with four algebraic equations: H_wasteheat_prvrd, H_wasteheat_imprvrd, H_aircond_prvrd, H_aircond_imprvrd are state variables; H_wasteheat, H_aircond, W_roof are inputs (parameters in standalone form).
- 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.
- WaterTableDepth
model
urban_canopy
hydro
Water table depth z_v as a function of unconfined-aquifer water storage W_a and the depth of the bottom soil interface z_h_bottom. Implements Oleson et al. (2010) CLM Tech Note Eq. 5.146 (p. 143) with hard clamps at z_v_min = 0.05 m and z_v_max = 80 m. Migrated from UrbanCanopy.jl@9200edd4 src/hydrology.jl:743 (`WaterTableDepth` @component). Observed-only: z_h_bottom and W_a are parameters and z_v is given by a single algebraic equation.
- 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.
- WetDeposition
model
atmospheric_deposition
EMEP-formulation wet deposition model for PM2.5, SO2, and other gases. Computes three first-order wet deposition rate coefficients (k_particle, k_SO2, k_othergas [1/s]) from cloud fraction (cloudFrac), rain mixing ratio (qrain), air density (rho_air), and the atmospheric level index (lev). Subcloud scavenging rates scale as qrain*rho_air/Dz times a species-specific washout coefficient; in-cloud scavenging additionally scales with cloudFrac; the particle subcloud term uses A_wd*E*qrain*rho_air without the 1/Dz factor. The layer depth Dz is looked up from a 72-entry constant table (GEOS-Chem-derived model-level thicknesses in metres) indexed by lev. The gt-p3ep blocking gap (get_lev_depth is @register_symbolic) is resolved by expressing the lookup as an interp.linear AST composition over the 72-entry integer-axis table — matching the FastJX_interpolation_troposphere precedent. Migrated from AtmosphericDeposition.jl@e4468c79 src/wet_deposition.jl:147 (the WetDeposition builder) and src/wet_deposition.jl:82 (_WetDeposition helper). Purely algebraic: no differential states; k_particle, k_SO2, k_othergas are observed variables.
- 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.
- WetScavengingLimitations
model
atmospheric_deposition
luo2023
Combined air refreshing and cloud ice uptake limitations on wet scavenging from Luo & Yu (2023). This component unifies the two novel parameterizations of the paper into a single algebraic system: (1) the air refreshing limitation (Section 2.1, Eqs. 2/5/10/11), which reduces the wet-scavenging removal rate R_A when subgrid cloud-free (rain-free) air mixes into cloudy (rainy) air slower than the model time step; and (2) the cloud ice uptake limitation (Section 2.2, Eqs. 12-15), which limits the cold-cloud rainout efficiency F_I by the rate R_U at which water-soluble aerosols are captured by ice crystals -- the HNO3 ice uptake rate of Jacob (2000), with the temperature-dependent uptake efficiency gamma of Hudson et al. (2002). Migrated from AtmosphericDeposition.jl@e4468c79 src/luo2023.jl:326 (`WetScavengingLimitations` @component). The upstream component is a flat MTK System that inlines the equations of both AirRefreshingLimitation and CloudIceUptakeLimitation -- it does not `couple` them -- so this migration is the union of air_refreshing.esm (esm-1i3m) and cloud_ice_uptake.esm (esm-3hh9): 13 input parameters, 9 module constants, and 7 algebraic state variables (Kᵢ, τ_A, R_A, gamma, R_U, R_AU, F_I) fixed by 7 explicit equations. Observed-only: every equation is algebraic, so the 7 outputs are the algebraic solution while the ice/turbulence/grid/temperature inputs and module constants are parameters.
- 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.
- WindLimit
model
wildland_fire
rothermel
Maximum effective wind speed (U_limit) above which the wind factor in the Rothermel surface fire spread model saturates. Migrated from WildlandFire.jl@126976f2 src/rothermel.jl:465 (`WindLimit` @component). Observed-only: IR is the input parameter; U_limit is the algebraic output. Both upstream branches are preserved here as a single `ifelse` on the dimensionless `use_corrected` indicator parameter — corrected (Andrews et al. 2013) when use_corrected > 0.5 (the upstream default), original when use_corrected ≤ 0.5. Implements Eq. Ulimit, Table 7 in Andrews (2018) RMRS-GTR-371.