Environmental_transport
- BoundaryLayerMixingKC
model
environmental_transport
Kantha-Clayson & Garratt boundary-layer turbulence parameterization for Lagrangian particle dispersion, as described in NOAA ARL-224 and the HYSPLIT documentation. Computes turbulent velocity standard deviations (sigmaw, sigma_u, sigma_v), Lagrangian vertical time scale (TL_v), Monin-Obukhov length (Lmo), and convective velocity scale (wstar) from surface-layer similarity theory; integrates stochastic Langevin equations for the turbulent velocity components (wprime, uprime_x, uprime_y) and the resulting Lagrangian particle position (lon, lat, lev). The upstream Julia source uses a single @brownians Bw term on all three velocity ODEs (gt-kuxo gap); this ESM migrates the deterministic drift equations only. Migrated from EnvironmentalTransport.jl@a48559c4114eb9f06668ecf9f06235aad20f63f0:src/BoundaryLayerMixingKC.jl:15.
- GaussianKC
model
environmental_transport
gaussian
Lagrangian Gaussian puff horizontal dispersion model based on turbulent velocity fluctuation standard deviations (σu). Integrates the growth of horizontal dispersion standard deviations sigma_x and sigma_y from the Kolmogorov-type closure d(sigma)/dt = sqrt(2)*sigma_u, and computes the ground-level centerline concentration per unit mass assuming a top-hat vertical distribution within the lowest grid layer (height dz). Migrated from EnvironmentalTransport.jl@a48559c4 src/GaussianDispersion.jl:378 (GaussianKC @component). When coupled, sigma_u_x and sigma_u_y are provided by BoundaryLayerMixingKC and z_agl is provided by Puff; in standalone mode all three are treated as constant parameters.
- GaussianPGB
model
environmental_transport
gaussian
Classic Gaussian plume dispersion model parameterized with Pasquill-Gifford-Briggs (PGB) stability classification and dispersion coefficients. Given the current puff position (lon, lat) and height above ground (z_agl), classifies atmospheric stability from near-surface meteorology (wind speed, solar radiation, cloud fraction, temperature lapse), selects Briggs dispersion-curve coefficients, computes the haversine downwind distance from the source, and evaluates horizontal (sigma_h) and vertical (sigma_z) dispersion widths and the ground-level Gaussian concentration (C_gl). Migrated from EnvironmentalTransport.jl@a48559c4 src/GaussianDispersion.jl:83. When coupled with Puff, lon/lat/z_agl are supplied by the Puff component; in standalone mode they are treated as constant parameters.
- HeavisideBoundaryCondition
model
environmental_transport
surface_runoff
Smoothed Heaviside surface boundary condition for coupling surface and subsurface water flow, from Wang et al. (2020) (Advances in Water Resources 137, 103499), Eqs. 3 and 5. The component switches a single surface node continuously between a ponded (saturated) boundary and an unsaturated boundary as the pressure head h crosses zero, replacing a hard step with the smooth approximations eta_omega(h) = (1/pi)*atan(h/omega) + 1/2 (smoothed Heaviside, Eq. 5a) and delta_omega(h) = (1/pi)*omega/(omega^2 + h^2) (smoothed Dirac delta, Eq. 5b; delta_omega = d eta_omega/dh). The head obeys the boundary condition d/dt[eta_omega(h)*h] = P - I_infil (Eq. 3), stated as the explicit ODE D(h) = (P - I_infil)/(delta_omega*h + eta_omega). h is the single integrated state; eta_omega and delta_omega are algebraic (observed). Migrated from EnvironmentalTransport.jl@a48559c4 src/surface_runoff.jl:232 (`HeavisideBoundaryCondition` @component). Because the head equation conserves eta_omega(h)*h - (P - I_infil)*t, every ODE-integration test below is checked against the exact conservation law, not merely against a prior solver run.
- Puff
model
environmental_transport
Lagrangian puff transport model that advects a parcel of matter within a 3-D fluid velocity field defined by a DomainInfo coordinate system. The puff position in three coordinates (lev, x, y) evolves under prescribed velocity components (v_lev, v_x, v_y) scaled by coordinate transforms. Vertical boundaries (glo, ghi) are enforced via ifelse clamping of the vertical velocity with a small offset buffer: upward motion is blocked when lev > ghi−offset and downward motion when lev < glo+offset. Lateral domain boundaries trigger simulation termination (FunctionalAffect gap other:P2-C); the effective lateral boundary distance is set via grid_spacing×buffer_cells offsets from the domain edge (parameter gap other:P3-B). Migrated from EnvironmentalTransport.jl@a48559c4114eb9f06668ecf9f06235aad20f63f0 src/puff.jl:24.
- SaintVenantPDE
model
environmental_transport
surface_runoff
Full 1D Saint-Venant PDE system for surface overland flow: mass conservation ∂h̃/∂t = −∂q/∂l + (P − I) and momentum conservation ∂q/∂t = −∂F/∂l + g·h̃·(S₀ − Sᶠ), where the momentum flux F = q²/h̃ + g·h̃²/2 is an auxiliary (observed) PDE field. Migrated from EnvironmentalTransport.jl@a48559c4 src/surface_runoff.jl:117 (SaintVenantPDE builder). This is a DISCRETIZATION-AGNOSTIC leaf (esm-spec §9.7.10): the spatial fluxes are written with the rewrite-target spatial derivative op `D(·, wrt: l)` and the component imports NO discretization of its own, so it can be composed under different schemes. Its inline tests and examples inject a discretization (form C) — here the sibling adapter `saint_venant_upwind1_inflow.esm` (first-order upwind, per-variable inflow BC) — for that run only; the persisted leaf keeps its spatial `D` intact. The 1D spatial variable l is the along-slope coordinate; the sibling SurfaceRunoff component (surface_runoff_component.esm) is the single-node ODE reduction of this same PDE system with the spatial-divergence terms exposed as input parameters.
- Sofiev2012PlumeRise
model
environmental_transport
plume_rise
Wildfire plume-rise model based on Sofiev et al. (2012). Computes plume top height H_p (m) as a function of atmospheric boundary-layer height H_abl (m), free-troposphere Brunt-Väisälä frequency N_ft (s⁻¹), and fire radiative power P_fr (W) via one empirical algebraic equation: H_p = α·H_abl + β·(P_fr/P_f0)^γ · exp(−δ·N_ft²/N_0²). The five empirical constants (α=0.24, β=170 m, γ=0.35, δ=0.6, N_0=√(2.5×10⁻⁴) s⁻¹) are from Sofiev et al. (2012). In a coupled model H_abl and N_ft are supplied by GEOSFP reanalysis; the additional variable lev_p (plume-top pressure level index) is computed from H_p by the GEOSFP coupler via a Newton-iteration height-to-level mapping. Migrated from EnvironmentalTransport.jl@a48559c4114eb9f06668ecf9f06235aad20f63f0 src/plume_rise/sofiev_2012.jl:14.
- SurfaceRunoff
model
environmental_transport
surface_runoff
Single-node surface-runoff model based on the Saint-Venant overland-flow equations, from Wang et al. (2020), Eq. 1. The component tracks two ODE states at one surface computing node — the ponded flow depth h_tilde and the surface runoff flux per unit width q — plus one algebraic (observed) state, the Manning friction slope S_f. Mass conservation (Eq. 1a) reads dh_tilde/dt = -dqdl + (P - I_infil): the flow depth rises with the net of precipitation P over infiltration I_infil and falls with the spatial divergence of runoff flux dqdl. Momentum conservation (Eq. 1b) reads dq/dt = -dFdl + g*max(h_tilde,h_tilde_0)*(S_0 - S_f): the runoff flux is driven by the imbalance between the surface slope S_0 and the friction slope S_f, minus the spatial divergence of momentum flux dFdl. The friction slope closes the system via Manning's equation S_f = (n_mann*q)^2 / h_tilde^(10/3), written here in non-dimensionalized form so the fractional powers act on dimensionless bases. Because this is a single-node reduction of a spatial PDE, the two spatial-divergence terms dqdl and dFdl are exposed as input parameters to be supplied by a discretization scheme or a coupled model; with both at zero the component reduces to the local mass/momentum response. Migrated from EnvironmentalTransport.jl@a48559c4 src/surface_runoff.jl:35 (`SurfaceRunoff` @component).