ULAB Plume

Screening-level Pb dispersion modelling for used lead-acid battery recyclers Regulations ← Back to tool

ULAB Plume — Methodology Guideline

Version 1.11 · May 2026 · Pure Earth · chrisk@pureearth.org

Methodology — at a glance

This tool estimates the spatial extent of lead air pollution and soil/blood lead impacts from a hypothetical or actual lead-acid battery (ULAB) recycling facility. It is intended for screening-level assessment to inform advocacy, regulatory engagement, and public health communication.

How it works

  • AERMOD v24142, the US EPA regulatory dispersion model, is run with facility-specific parameters (throughput, emission controls, stack geometry, particle size distribution).
  • Meteorology is derived from regional wind rose climatology (STAR-format joint frequency tables) for representative LMIC cities.
  • A polar receptor grid extending to 50 km from the source produces concentration and deposition fields. Preview mode uses 64 receptors (16 directions × 4 rings, ~30 s); Final mode uses 360 (36 × 10, ~3 min).
  • Deposited lead is converted to soil concentration via a topsoil mass-balance step (no leaching, no erosion).
  • Blood lead level (BLL) impacts are derived from direct IEUBK biokinetic model outputs, interpolated piecewise in log-log space, for both the inhalation pathway and the soil/dust ingestion pathway.

Where the numbers come from

  • Air pathway: 8 IEUBK anchor points spanning 0.15 to 150 µg/m³ outdoor PbA (assuming indoor air = 30% of outdoor, US EPA convention). Anchors: 0.15→0.1, 0.5→0.2, 1.0→0.3, 1.5→0.5, 5→1.7, 15→4.9, 50→16, 150→30 µg/dL ΔBLL.
  • Soil pathway: 6 IEUBK anchor points spanning 50 to 1600 mg/kg topsoil Pb (default ingestion rate + Pb bioavailability for 6–7 yr-old children). Anchors: 50→0.1, 100→0.2, 200→0.4, 400→0.8, 800→1.7, 1600→3.2 µg/dL ΔBLL.
  • Saturation caps: Above 150 µg/m³ outdoor air OR 1600 mg/kg soil Pb the IEUBK model breaks down (GI absorption + erythrocyte binding saturation). The tool returns the cap value with an explicit flag.

Limitations

  • Synthetic meteorology is statistically realistic but does not reflect specific real-time weather events or short-term peaks.
  • IEUBK anchor values are derived from US/EU child populations. LMIC validation is limited; nutritional status, concomitant Pb exposures, and speciated lead bioavailability in ULAB-affected soils may shift the underlying biokinetics (see Section 5.5).
  • This is a screening tool, not a regulatory submission. Findings should be interpreted as indicative magnitude, not precise risk.

1. Purpose and scope

ULAB Plume is a web-based screening tool for estimating the air, soil, and blood lead level (BLL) impacts of used lead-acid battery (ULAB) recycling operations on surrounding populations. It is designed for use in four contexts:

It is not a regulatory submission tool. Outputs are screening estimates with documented uncertainty bounds. For permit decisions or litigation, site-specific measurements and refined modelling are required. See more on use cases here.

1.5 About AERMOD and the LMIC application gap

What AERMOD is

AERMOD is a steady-state Gaussian plume dispersion model developed by the US Environmental Protection Agency (EPA) and the American Meteorological Society. It simulates how pollutants emitted from industrial sources disperse through the atmosphere, accounting for wind, atmospheric stability, terrain, building wake effects, and boundary-layer dynamics.

The model has been continuously developed since the late 1990s, reviewed extensively in peer-reviewed literature, and refined through real-world application across thousands of regulatory cases.

→ Official AERMOD page: epa.gov/scram/air-quality-dispersion-modeling-preferred-and-recommended-models

Regulatory standing of AERMOD (and what that does and does not mean for this tool)

AERMOD is the US EPA's preferred regulatory dispersion model for near-source air quality assessment (US EPA, 40 CFR Part 51, Appendix W — Guideline on Air Quality Models). This means it is the default tool used in the United States for:

Equivalent regulatory acceptance exists in the EU (under the EEA Industrial Emissions Directive), Australia, Canada, and many other high-income jurisdictions. AERMOD is not a screening tool — it is the authoritative regulatory model for industrial emissions in data-rich settings.

Important distinction: AERMOD's regulatory acceptance applies only to AERMOD when it is used with the data and procedures that regulators specify — including site-specific hourly meteorology, measured stack parameters, and verified emission factors. ULAB Plume uses AERMOD as one component of a wider screening pipeline that substitutes assumed values for several of these regulatory inputs. The outputs of ULAB Plume should not be treated as carrying the same regulatory weight as a conventional AERMOD modelling exercise. ULAB Plume is not currently validated for regulatory screening in LMIC settings; it is a research and advocacy tool intended to support public health communication and inform further investigation.

Why AERMOD is rarely used for LMIC smelter assessment

Despite its rigour, AERMOD is rarely applied to lead-acid battery recycling (ULAB) facilities in low- and middle-income countries. Three data gaps prevent direct use:

1. Meteorological data

AERMOD requires hourly meteorological observations covering at least one full year, typically including:

In high-income countries, these data are produced continuously by National Weather Service stations and meteorological agencies, freely available, and pre-processed into AERMOD-ready files (SFC and PFL format) using the AERMET preprocessor.

In LMIC contexts, the situation is fundamentally different:

The result: in most LMIC settings, the meteorological inputs AERMOD expects simply do not exist, or exist in forms that require substantial reprocessing before AERMOD can use them.

2. Source emission data for LMIC ULAB recycling

Lead emissions from ULAB recycling in LMIC contexts come from a spectrum of facility types. In sub-Saharan Africa, recent fieldwork (Manhart & Adjei 2026) finds that the recycling itself is dominated by formal industrial plants — registered, licensed, and subject to regulatory oversight — operating at scales of 10,000–20,000 tonnes/year. Many of these formal plants operate with substandard practices: degraded baghouse maintenance, missing fume hoods, manual battery breaking, and uncontrolled slag handling. In other regions including South and Southeast Asia, smaller informal operations are also common. Both contexts present significant data gaps.

The data needed to parameterise AERMOD for an LMIC ULAB site — emission rate per tonne processed, particle size distribution, stack geometry, temperature, exit velocity — is rarely available without direct site investigation.

3. Receptor and population data

AERMOD outputs concentration fields. Translating these into health risk estimates requires knowing where people live, work, grow food, and spend time. In high-income countries, fine-resolution gridded population data, land-use maps, and residential proximity records are routinely available. In LMIC settings, these are often sparse or outdated, particularly in informal settlements that frequently surround ULAB operations.

For a comprehensive reference of legally binding air quality standards for lead across LMIC contexts in Africa, Asia, and South America, see the Lead Air Legislation in LMICs page.

How this tool addresses the data gaps

ULAB Plume uses transparent, literature-based assumptions to fill each gap, while clearly documenting where assumed values are used and what their uncertainty bounds are.

GapTool's approach
Meteorological dataSynthetic AERMOD-format meteorology generated from STAR-format wind rose climatology for representative LMIC cities. Real observations replaced with statistically-equivalent synthetic year.
Emission ratesDefault emission factors from US EPA AP-42 (Chapter 12.16, Secondary Lead Processing) adjusted for ULAB-specific operations. User can override with site-specific values when known.
Particle size distributionTwo preset distributions (fine_baghouse for plants with functional off-gas treatment, coarse_uncontrolled for plants without). A separate fugitive PSD preset is applied to the fugitive AREA source when enabled. See section 3.3.
Operating scheduleUser-input operating hours/days, applied as a duty-cycle factor to annual exposure estimates.
Population exposureTool reports concentration and BLL fields at fixed geometric receptors; site-specific population overlay is not currently provided.
Background lead levelsTool reports increments above background; users supply baseline regional levels separately.

Each assumption is documented in the relevant methodology section. The tool's outputs are presented with explicit caveats: as screening estimates suitable for advocacy and engagement, not as regulatory submissions or definitive risk assessments.

What this tool's outputs mean — confidence by pathway

The tool generates four kinds of output, and the confidence in each is different. Users should treat them with correspondingly different levels of caution.

Air concentration (highest confidence)

Predicted ambient air lead concentrations come directly from AERMOD's dispersion mathematics, applied to the user's emission inputs and the synthetic meteorology. AERMOD's dispersion physics is well-validated in temperate, mid-latitude settings. The main sources of uncertainty in LMIC contexts are: synthetic vs real meteorology, accuracy of emission rate inputs, and the absence of site-specific terrain. Predictions are best understood as order-of-magnitude correct for typical ULAB facility conditions.

Soil deposition (moderately high confidence)

Predicted deposition rates rely on the same dispersion mathematics plus AERMOD's particle-size-resolved dry deposition algorithm. Wet deposition is not modelled, which is a real limitation in monsoonal or tropical settings. Confidence is somewhat lower than for air concentrations — particularly for fine particles that travel further and where dry deposition velocities have wider uncertainty bounds.

Soil lead increment and BLL (moderate confidence)

Soil-Pb is derived from a linear-accumulation mass balance (deposition × exposure duration / depth × density) — conservative for typical soils on annual-to-decadal timescales, neglecting leaching, erosion, and root uptake. BLL increments are derived from direct US EPA IEUBK biokinetic-model outputs for the inhalation and soil/dust ingestion pathways, interpolated piecewise in log-log space between anchor concentrations. The IEUBK pathway anchors and the soil-mass-balance equation are documented in section 5. ΔIQ is derived from each receptor's modelled ΔBLL via the Crump et al. (2013) concurrent-BPb log dose-response. Both the soil accumulation model and the biokinetic dose-response have validity ceilings. Beyond them the tool suppresses the numeric soil-Pb and ΔBLL predictions rather than display extrapolated values; ΔIQ, by contrast, is capped at the value the dose-response gives at the validity ceiling (ΔBLL = 30 µg/dL) and labelled '≥' — a model floor rather than a hole — see section 5.4 for the validity treatment and threshold rationale.

Crop pathway and crop-attributable BLL (low confidence, screening only)

The crop layers and the crop contribution to ΔBLL apply a foliar-only deposition-uptake screening model with a composite transfer fraction R (Brown 2008 UK FSA / EC JRC TGD 2003 / US EPA OSWER 2002) that bundles interception, weathering, washoff, and (for cereals) threshing into a single literature-calibrated coefficient. Cereal R is empirically tuned against paired-measurement smelter sites in China (Liu 2020 Jiyuan; Liu 2022 Jiaozuo) — model predictions are within a factor of three of observed grain Pb at those sites. Root uptake is not modelled (small at the soil-Pb regime where direct deposition dominates near-field). The crop-to-BLL slope is a single linear coefficient (EFSA 2010 CONTAM Panel) applied to total dietary Pb intake; this is the largest open methodological gap at very high near-field intakes. The crop contribution is opt-in on the BLL surface (via the "Include crops" checkbox on the BLL panel) and is reported as a separate pathway in the response — users can read the crop heat maps (µg Pb / kg fresh-weight edible crop) without folding the crop pathway into ΔBLL or ΔIQ. The pathway is calibrated at screening precision and is only loosely validated against measured crop Pb at LMIC ULAB sites; see section 5.5 for caveats.

Pure Earth's research agenda to close the gaps

This tool represents an interim solution. Pure Earth aims to close the underlying data gaps through several research streams:

  • Field measurement campaigns at ULAB sites in West Africa, South Asia, and Latin America to characterise real emission rates, particle size distributions, and operational schedules
  • Atmospheric measurement and validation studies comparing predicted and observed ambient air lead concentrations at ULAB-affected communities
  • Soil and crop measurement studies to refine the food-pathway parameters — particularly plant retention, foliar uptake, and bioavailability of deposited lead
  • Population health surveillance linking ambient lead measurements to community blood lead surveys, refining the BLL slope factors used in this tool
  • Methodology peer review through collaborations with academic institutions to validate the synthetic meteorology approach against real reanalysis-driven AERMOD runs in selected reference cities

The ambition is to develop ULAB Plume from a screening tool into a research-grade instrument that can identify, with documented uncertainty, populations at meaningful risk of lead exposure from specific smelter operations in LMIC settings — supporting Pure Earth's mission to reduce the global burden of lead poisoning.

For collaboration on these research streams, or to share field data that could improve the tool's defaults, contact chrisk@pureearth.org.

2. Atmospheric dispersion

2.1 Model

The tool runs AERMOD v24142, the US EPA's preferred regulatory dispersion model for near-source air quality assessment (US EPA Appendix W). AERMOD is a steady-state Gaussian plume model that includes:

AERMOD is configured with AVERTIME 1 PERIOD so that two averaging periods are captured per scenario run:

The dual capture reflects the tool's design intent: the heat maps screen chronic facility-attributable impact on the surrounding population; the 1-HR worst is available for users who need a separate acute-exposure framing alongside the chronic assessment. ULAB Plume is calibrated for chronic-exposure screening and is not intended as a 1-hour NAAQS-compliance modelling tool — the 1-HR worst is a transparency field, not a regulatory output.

The air concentration heat map includes a dashed reference contour at 0.5 µg/m³ corresponding to the World Health Organization's annual mean Air Quality Guideline for lead (WHO 2021). Receptors above this contour exceed the WHO recommended ambient air lead concentration.

2.2 Meteorological inputs

Real LMIC hourly meteorology is rarely available. Where it is, it is typically reanalysis-derived (MERRA-2, ERA5) and not in AERMOD's required SFC/PFL format. To bridge this gap, the tool generates synthetic AERMOD-format meteorology from STAR-format wind rose climatology for each supported region.

The pipeline:

  1. STAR JSON input — Joint frequency table of (wind direction, wind speed bin, Pasquill stability class) for the representative city. 16 directions × 6 speed bins × 6 stability classes = 576 bins, with one frequency value per bin summing to 1.0.
  2. Largest-remainder hour allocation — 8,760 annual hours are distributed across bins in proportion to their frequencies, using the largest-remainder algorithm to ensure exact total.
  3. Diurnal placement — Each bin is assigned to specific hours of the year respecting class-specific time-of-day constraints:
    • Class A (very unstable): only 12–14h local time
    • Class F (very stable): only nighttime
    • Class D (neutral): any time
    The most-restricted classes are placed first to avoid scheduling conflicts.
  4. ±11.25° direction jitter — Within each 22.5° direction wedge, individual hours are jittered uniformly (deterministic hash-based) to produce smooth heat map contours rather than 16-spoke artefacts.
  5. Per-hour micrometeorology back-derivation — For each synthetic hour, AERMET-required parameters (friction velocity u*, sensible heat flux H₀, mixing height zi, Monin-Obukhov length L) are derived from (wind speed, stability class) using AERSCREEN Appendix C lookup tables and Pasquill-Gifford-Turner relationships.
  6. AERMET column-format output — SFC and PFL files are written to AERMET specification (CRLF line endings, fixed-width columns) and passed to AERMOD's SURFFILE/PROFFILE input lines.

2.3 Regional archetypes

The archetype library covers the following representative cities:

RegionCityYearStatus
West AfricaAbuja, Nigeria2022Shipped (MERRA-2 derived)
West AfricaAccra, Ghana2022Shipped (MERRA-2 derived)
South AsiaDhaka, Bangladesh2022Shipped (MERRA-2 derived)
South AsiaDelhi, India2022Shipped (MERRA-2 derived)

The four shipped archetypes deliberately span distinct ULAB-relevant climatological regimes so users can screen sensitivity to met:

Each shipped archetype is derived from NASA MERRA-2 hourly reanalysis, sampled at the single grid cell containing the city's geographic centre (MERRA-2 native resolution: 0.5° lat × 0.625° lon, ≈50–70 km). For each calendar year, hourly 10 m wind components, surface sensible heat flux, and 2 m temperature are downloaded via the NASA GES DISC OPeNDAP service and binned into a STAR-format joint frequency table:

The resulting STAR climatology is fed to wind_rose_processor.py, which generates a synthetic but kinematically consistent 8,760-hour AERMET SFC + PFL pair for AERMOD to consume. Synthesis is deterministic (same JSON → same SFC) so a scenario re-run produces bit-identical met. Surface land-use parameters (roughness length, Bowen ratio, albedo) are sourced from regional literature defaults rather than MERRA-2 — documented per-city in the pipeline source.

Reproducibility: each archetype's source year and grid cell are recorded in the provenance block of its STAR JSON. The full ingest pipeline lives in backend/tools/merra2_to_star/ with unit tests at backend/tests/test_merra2_to_star.py; raw MERRA-2 fetches are gitignored as regenerable intermediates.

2.4 Receptor grid

Two receptor grid densities are available:

Both modes anchor at 0°/N. The bilinear interpolation in the frontend heat map renders smoothly at either density.

The preview grid's coarse near-source spacing (50 m → 500 m → 5,000 m) under-resolves deposition gradients for coarse PSD bins (≳25 µm), whose deposition flux is concentrated within the first few hundred metres of the source and drops by several orders of magnitude before reaching the next ring. The polar-grid annular integration treats each ring's sampled flux as constant across its annular area, which is a poor approximation when the true flux varies steeply within the annulus. Final mode mitigates this with intermediate rings at 100, 200, 1,000, and 2,000 m. For analytical questions specifically about coarse-bin deposition behaviour (e.g., per-bin airborne-fraction-vs-distance), the tool also exposes a dense per-bin endpoint /api/per_bin_deposition that runs one AERMOD deck per PSD bin and returns the receptor field at the active mode's grid — the Results graphs tab uses this endpoint to render Graph 2 (airborne fraction per bin).

2.5 Validation status

Validation typeStatus
End-to-end pipeline determinism (synthesis → AERMOD → parser)Verified 2026-05-06: 0.0000% per-receptor deviation across 1,144 receptors and 4,576 field comparisons in 4 scenarios spanning both pre- and post-recalibration default sets
Mass balance (deposition vs emitted)Verified (96% recovery for 3000 t/y uncontrolled)
Synthetic SFC statistics match input STARVerified
Comparison vs ambient measurements at known smelterPending
Comparison vs MERRA-2 hourly AERMOD run for same locationPending
Cross-comparison vs CALPUFF / ISCST3Pending

End-to-end pipeline determinism was validated on 2026-05-06 by capturing the AERMOD inputs (synthetic SFC/PFL + input deck) for four scenarios via the /api/debug_dump endpoint, running AERMOD outside the deployed pipeline on those exact inputs, and comparing the locally-parsed receptor values against the deployed API's /api/run response. The four scenarios spanned both execution modes (preview 64 receptors, final 360 receptors), four emission profiles, throughputs from 1,000 to 23,500 tonnes/year, and both the pre-recalibration default set (three scenarios under v1.0 — LMIC bad / good / avg) and the post-recalibration set (one scenario under v1.1 — substandard at 15,000 t/y). Across 4,576 individual receptor-field comparisons (concentration and deposition, op-hours and annual averaged), every value matched to the float precision reported by AERMOD's output file. AERMOD v24142.

The pending validations are needed before this tool's outputs should be cited as authoritative. Until then, outputs should be presented as "screening estimates" with explicit uncertainty bounds.

3. Source emissions

3.1 Throughput-to-emission conversion

Annual lead emissions (Q, g/s) are derived from facility throughput using:

Q = (T × E × (1 - η)) / (3600 × H)

Where:

The default uncontrolled emission factor used by the tool is 12 kg Pb per tonne of ULAB feed, applied before abatement. The tool partitions this into a particulate share (90%) and a fume share (10%) and applies the selected control's particulate and fume efficiencies separately.

The 12 kg/t value is calibrated against the lead recovery data published in Manhart & Adjei (2026), which finds 95% recovery in low-standard formal plants and 99% in high-standard plants. The 5% loss in low-standard plants includes atmospheric emissions, slag, and other loss pathways; this tool's emission factor reflects the atmospheric share (approximately 30–40% of total loss). Direct stack emission measurements at LMIC plants would refine this estimate; this is flagged as a pending validation.

3.2 Emission controls

Five control / facility-type presets, recalibrated for African ULAB context per Manhart & Adjei (2026):

ScenarioParticulate effFume captureReference
EU BAT99.9%99%Modern European secondary lead smelter
High-standard99%95%Best-performing African plants per Manhart & Adjei 2026
Substandard90%50%Typical Ghanaian / Nigerian / Tanzanian plant per Manhart & Adjei 2026
Smaller substandard85%30%Smaller subset of substandard formal plants
Informal artisanal0%0%Backyard smelting; primarily Asian contexts

3.3 Particle size distribution (PSD)

Stack emissions are distributed across six particle size classes based on the selected PSD preset. Two consolidated presets cover the spectrum of off-gas treatment:

PSD presetUse case
fine_baghousePlants with functional or partially functional baghouse off-gas treatment (EU BAT, high-standard, substandard)
coarse_uncontrolledPlants without functional off-gas treatment (informal artisanal)

The PSD affects deposition velocity (larger particles deposit closer; smaller particles travel further) and is a critical determinant of the spatial pattern of soil and food impacts. Both presets are informed by qualitative findings in Manhart & Adjei (2026); direct field PSD measurements at LMIC plants are not currently available, so these distributions are best estimates pending field validation.

Note on fugitive emissions: Manhart & Adjei (2026) document that fugitive emissions from furnace charging, refining kettles, manual battery breaking, and slag handling can constitute a substantial fraction of total facility emissions in substandard plants. As of v1.1 (May 2026) the tool models these fugitives as a co-located ground-level area source — see section 3.5.

3.4 Operating duty cycle

Real ULAB facilities operate intermittently (typical: 8 hours/day × 250 days/year = 2,000 hours/year). The tool accepts user-specified operating hours and applies a duty-cycle factor:

duty_cycle = (op_hours_per_day × op_days_per_year) / 8760

Two concentration fields are surfaced per receptor: the period-mean concentration during operating hours (no duty-cycle scaling — the concentration a child breathes when the facility is emitting) and the annual time-average across the full year (period-mean × duty cycle — the concentration averaged over all 8,760 hours including non-operating periods). The annual time-average drives the BLL pathway because IEUBK is calibrated for chronic ambient exposure; the during-operating-hours mean is exposed for users assessing what the air is like when the plant is running. Deposition fields are scaled by duty cycle in the same way. The 1-HR worst concentration field (section 2.1) is independent of duty cycle — it is the single worst modelled hour, irrespective of whether that hour falls inside or outside the operating window.

3.5 Fugitive emissions

Fugitive emissions — uncaptured releases from yard activities, raw-material handling, manual battery breaking, refining kettles, and slag handling — can dominate facility-total Pb releases at substandard LMIC plants (Manhart & Adjei 2026; Ericson et al.). Direct field measurements distinguishing per-process fugitive sources are unavailable for LMIC ULAB plants, so the tool implements a screening-grade lumped-fraction model rather than a per-process inventory.

A user-editable fugitive fraction ffug splits the total emission inventory into stack and fugitive components:

E_stack = (1 − f_fug) × E_total
E_fug   = f_fug × E_total

The total emission inventory Etotal is computed from throughput and the uncontrolled emission factor exactly as in section 3.1; ffug only changes how that inventory is partitioned between sources. Default values per scenario:

ScenarioDefault ffug
Best practice / well-controlled0.10
Typical informal LMIC0.35
Uncontrolled / worst case0.60

Fugitives are modelled in AERMOD as a square AREA source centred on the stack location. Default geometry: 100 m side length, 2.5 m release height, 1.5 m initial vertical dimension (σz0), all user-editable. The fugitive PSD is coarser and lower-density than the stack PSD, reflecting mechanically generated mineral-matrix dust rather than condensation aerosol:

BinRepresentative diameter (µm)Default mass fractionDensity (g/cm³)
<2.5 µm1.50.204.0
2.5–10 µm5.00.323.5
10–30 µm20.00.323.0
>30 µm50.00.162.8

The mineral-matrix densities (3–4 g/cm³) sit well below the stack-PSD speciation schedule (7–11 g/cm³ for fume condensate and Pb compounds) because fugitive dust is dominated by soil and slag matrix with embedded Pb inclusions, not pure Pb compounds. Density feeds AERMOD's METHOD_1 dry-deposition velocity calculation directly; using stack-mirror densities would overstate near-field deposition by roughly the density ratio for the coarse bins.

Implementation note (preview vs final mode). AREA-source AERMOD is approximately 14× slower than POINT-source at the same receptor count because AERMOD performs adaptive Romberg integration over the source area for every receptor × meteorology hour combination. To keep preview mode interactive, the fugitive AERMOD run uses a coarse 8-direction polar receptor grid (32 receptors) and bilinearly interpolates the dispersion fields onto the stack-mode receptor grid; the source-contribution readouts at 50 m and 500 m are read from the AERMOD-native coarse receptors at the closest coarse direction, so no interpolated values appear in the sanity readout. Final mode uses the full receptor grid for both stack and fugitive — no interpolation — at the cost of substantially longer wallclock (~20–40 minutes for the fugitive subprocess alone).

Status of fugitive defaults. The fugitive-fraction defaults (0.10 / 0.35 / 0.60) and PSD parameters (diameters, mass fractions, densities) are screening-grade choices informed by qualitative literature, not literature-anchored against site-specific measurements. A formal sensitivity check across these parameters is required before tool outputs with fugitives enabled are used in advocacy or regulatory contexts. As with stack emissions, the most reliable path to higher-confidence fugitive outputs is field measurement at representative LMIC sites — see Pure Earth's research agenda.

Note on 1-HR worst summing. When both the stack and fugitive AERMOD runs report a 1-HR worst-hour concentration at the same receptor, the combined receptor's 1-HR worst is the arithmetic sum of the two sources' values. This is an upper-bound approximation: the worst hour for the stack source may not coincide temporally with the worst hour for the fugitive source, so the true joint maximum could be lower. Resolving the joint maximum exactly would require hour-by-hour data per source; the conservative sum is accepted as a screening-grade approximation, bounded above by 2× for two independent sources. PERIOD-averaged concentration / deposition / BLL / IQ values are not affected — they sum exactly because the averaging window covers all hours of both sources.

4. Soil accumulation

4.1 Mass-balance model

The tool estimates the increment in topsoil lead concentration caused by atmospheric deposition over a user-specified operational duration, assuming:

ΔPb_soil (mg/kg) = (D × T) / (d × ρ × 10)

Where:

The Soil tab and the BLL pathway both compute soil-Pb via this mass balance over the same operational-years duration (default 20 yr, set by the "Smelter operational years" control on the Soil tab), but apply different mixing depth and bulk density appropriate to their framings: the Soil tab targets agricultural / root-zone questions (15 cm depth, ρ = 1.3 g/cm³); the BLL pathway targets the IEUBK child-residential contact layer (1 cm depth, ρ = 1.5 g/cm³ — see section 5.3). Same accumulating deposition and duration; the depth/density differ because they answer different questions about the same soil column.

Validity cap. Predicted soil-Pb is clamped at 80,000 mg/kg on both pathways. This is the upper bound of soil-Pb observed at the most severe documented secondary-smelter sites (e.g. Doe Run Herculaneum surface soils; ASARCO El Paso). The linear-accumulation model produces non-physical values above this — at very high deposition rates, deposited Pb begins to accumulate in distinct surface phases rather than mixing uniformly within the bulk-density-defined soil column, so the model's uniform-mixing assumption fails. Receptors past the cap are flagged for off-scale display rather than presenting a numeric value (see section 5.4).

4.2 EPA bin thresholds

The soil heat map is anchored to US EPA action levels:

Soil Pb (mg/kg)Risk category
0–40Background
40–80Low
80–200Moderate
200–400EPA residential screening level
400–1,200EPA bare-soil play area action level
>1,200Cleanup typically required

4.3 Limitations

The "no leaching, no erosion" assumption is conservative for typical soils on decadal timescales but overestimates accumulation on:

Users should select soil depth appropriate to the exposure pathway:

The linear-accumulation assumption also breaks down at the upper end of the deposition range, where the soil column cannot homogeneously incorporate the deposited mass. The 80,000 mg/kg cap (section 4.1) is the model's explicit validity boundary; receptors past it carry no numeric soil-Pb prediction. The cap is anchored to the highest documented secondary-smelter surface soils, not to a theoretical absorption limit. Above the cap, the receptor's spatial location is still shown on the map (with an off-scale visual marker) so users see where severe contamination occurs even when the absolute concentration cannot be honestly predicted.

5. Blood lead level (BLL) impact estimation

5.1 Conceptual framework

This tool estimates the increment in child blood lead level (ΔBLL) attributable to a specific facility's emissions, decomposed into three pathways:

The inhalation and soil pathways use direct outputs from the EPA IEUBK biokinetic model, anchored at concentration points (8 for inhalation, 6 for soil/dust) and interpolated piecewise in log-log space between anchors. The crop pathway is computed independently and added to the running total in linear ΔBLL space. The response carries two totals — delta_bll_total_excluding_foliar_ug_dl (air + soil) and delta_bll_total_including_foliar_ug_dl (air + soil + crop) — and the corresponding validity flags for each; the BLL surface and the ΔIQ gating switch between them based on the user's "Include crops" checkbox on the BLL panel (section 5.4). Other potential pathways (water, paint, occupational, dietary contamination from non-aerial sources) are not modelled — this tool isolates the contribution attributable to the modelled facility, not the population's total BLL. Implementation lives in backend/app/bll.py + backend/app/crops.py, with JS mirrors at frontend/bll.js + frontend/app.js.

5.2 Inhalation pathway

The IEUBK model was run directly across the relevant outdoor PbA range, assuming indoor air = 30% of outdoor air (US EPA convention for residential exposure). Eight IEUBK anchor points span the range from 0.15 to 150 µg/m³, with denser sampling at the lower end where most modelled receptor concentrations fall:

Outdoor PbA (µg/m³)ΔBLL (µg/dL)
0.150.1
0.50.2
1.00.3
1.50.5
51.7
154.9
5016
15030 (saturation cap)

For an arbitrary PbA between two anchors, ΔBLL is computed by piecewise log-log linear interpolation:

log(ΔBLL) = log(BLL_lo) + t × (log(BLL_hi) − log(BLL_lo))
where t = (log(PbA) − log(PbA_lo)) / (log(PbA_hi) − log(PbA_lo))

Below 0.15 µg/m³ outdoor air, IEUBK predictions are below the resolution at which the model produces meaningful output. The tool linearly extrapolates toward zero in this regime (slope ≈ 0.67 µg/dL per µg/m³); values below 0.1 µg/dL ΔBLL fall outside the heat map's display range. At and above 150 µg/m³ the function returns the saturation cap of 30 µg/dL and raises an air-saturation flag — see Section 5.4.

5.3 Soil pathway

Atmospheric deposition is converted to a topsoil Pb concentration via a simple mass balance:

Pb_soil (mg/kg) = D × t / (ρ × z)

where D is annual deposition (mg/m²/yr), t is exposure duration (yr), ρ = 1500 kg/m³ is bulk soil density (typical mineral surface soil), and z is mixing depth (m). The resulting soil-Pb concentration is then mapped to ΔBLL via direct IEUBK output anchors:

Soil Pb (mg/kg)ΔBLL (µg/dL)
500.1
1000.2
2000.4
4000.8
8001.7
16003.2 (saturation cap)

IEUBK assumes default soil ingestion rate and lead bioavailability for 6–7 yr-old children in a residential setting. Interpolation is piecewise log-log linear, identical in form to the inhalation pathway. Below 50 mg/kg the function extrapolates linearly through the origin (slope 0.002 µg/dL per mg/kg). At and above 1600 mg/kg the function returns the saturation cap of 3.2 µg/dL and raises a soil-saturation flag.

Unified exposure duration. The exposure duration is shared across the soil-accumulation model and the BLL soil pathway: a single control — "Smelter operational years" (t, default 20 yr) on the Soil tab — drives both. The BLL soil pathway's mixing depth is fixed at z = 1 cm (the IEUBK contact-relevant residential contact depth — the surface dust layer for incidental hand-to-mouth ingestion) and is no longer separately user-tunable. The soil-Pb intermediate scales linearly with t up to the 80,000 mg/kg cap, but ΔBLL is not linear in t because the IEUBK soil curve is non-linear and saturates at its anchor table top (1,600 mg/kg → 3.2 µg/dL ΔBLL).

The same operational-years value feeds the Soil tab's own topsoil heat map, which applies a different depth and density (z = 15 cm, ρ = 1.3 g/cm³ — the agricultural root zone) to answer a different physical question about the same soil column. Same accumulating deposition over the smelter's operating life, same duration; the two views differ only in the soil layer each cares about — the child's surface contact layer vs. the agricultural root zone. Unifying t is correct because the smelter operates over years, and that accumulating Pb is seen by both layers over the same period.

Soil-Pb validity cap. The intermediate soil_pb_mg_kg is clamped at 80,000 mg/kg, matching the documented upper bound of surface-soil Pb at the most severely contaminated secondary-smelter sites (Doe Run Herculaneum; ASARCO El Paso). The cap reflects the linear-accumulation model's validity boundary, not a physical maximum. Receptors whose raw soil-Pb would exceed the cap are flagged (soil_pb_capped) for off-scale visual treatment — see section 5.4. The IEUBK soil-pathway BLL contribution from these receptors is unaffected by the cap (the IEUBK table itself saturates at 1,600 mg/kg, well below 80,000); only the reported soil-Pb number is suppressed.

The inhalation pathway is independent of t and z. Moving the Smelter operational years slider re-runs both the Soil-tab accumulation map and the BLL soil pathway (and the combined total + ΔIQ derived from it) in JS, with no AERMOD re-execution.

5.4 Combined ΔBLL and model validity treatment

The tool tracks two facility-attributable ΔBLL totals per receptor, so the user can switch the rendered BLL surface and the downstream ΔIQ gating between an air+soil-only framing and an air+soil+crops framing without re-running AERMOD:

ΔBLL_total_excluding_foliar = ΔBLL_air + ΔBLL_soil
ΔBLL_total_including_foliar = ΔBLL_air + ΔBLL_soil + ΔBLL_foliar

The "Include crops" checkbox on the BLL Impacts panel flips between the two. Both totals are computed on every receptor; the checkbox only changes which one is used for the surface, the summary, the validity gating, and the ΔIQ recompute.

Each receptor is classified into one of four states based on where its inputs and outputs fall relative to the underlying models' validity ranges. The state determines what the map and summary panel show. The validity flag follows the active total: when crops are off the BLL surface, the excluding-crop validity flag (bll_validity_exceeded_excluding_foliar) drives state assignment; when crops are on, the including-crop flag (bll_validity_exceeded_including_foliar) drives it. Both flags are present on every response so consumers can audit either framing.

StateFlagTriggerTreatment
1. Normal Inputs and ΔBLL within model validity Standard palette colour. Numeric ΔBLL and ΔIQ displayed.
2. Input-table extrapolated saturation_warning PbA ≥ 150 µg/m³ or soil-Pb ≥ 1,600 mg/kg, and ΔBLL_total still < 30 µg/dL Small black ✕ marker over the receptor. Numeric ΔBLL displayed with a tooltip footnote noting the input is past the IEUBK anchor table — BLL extrapolated within model validity.
3. BLL past model validity bll_validity_exceeded ΔBLL_total ≥ 30 µg/dL Hatched purple-black square over the receptor. Numeric ΔBLL not displayed. ΔIQ capped at the IEUBK-ceiling value (computed at ΔBLL = 30 µg/dL) and shown with a '≥' prefix — a model floor, not a true prediction. Summary headline switches to "N receptors in saturated zone (≥ 30 µg/dL)".
4. Soil-Pb past model validity soil_pb_capped Raw soil-Pb ≥ 80,000 mg/kg Hatched square on the soil layer over the receptor. Numeric soil-Pb not displayed. ΔBLL_soil contribution still computed via the IEUBK soil table (which saturates well below the cap), so the BLL pathway is unaffected.

States 2, 3, and 4 are independent: a single receptor can be in multiple states simultaneously (typically state 3 + state 4 near-source for high-throughput informal scenarios). On the map, the off-scale hatched-square marker takes visual priority over the ✕ marker when both would apply.

State 2 — input-table extrapolation. The IEUBK anchor tables for both pathways cover PbA up to 150 µg/m³ (air) and soil-Pb up to 1,600 mg/kg (soil). Above either anchor table top, the pathway's BLL contribution is held at the table's saturation value — physiologically motivated by gastrointestinal absorption saturation (the fraction of ingested Pb absorbed into circulation falls as ingestion load rises) and erythrocyte binding saturation (Pb bound to red blood cells stops increasing linearly with circulating Pb). The total ΔBLL is still a meaningful biokinetic estimate provided it sits below the output validity threshold; the ✕ marker signals "input extrapolated, output still valid".

State 3 — BLL past model validity (≥ 30 µg/dL). The biokinetic model underpinning ΔBLL prediction (IEUBK, which handles both the inhalation and soil/dust pathways) is validated for chronic-exposure BLLs up to approximately 25–30 µg/dL. Above 30 µg/dL the model's steady-state assumptions cease to hold: at these BLLs a child is in the clinical-evaluation regime rather than chronic-exposure dynamics, and the linear/log dose-response curves leave their validity range. ULAB Plume's 30 µg/dL threshold is the standard defensible upper bound for IEUBK output validity; the CDC clinical chelation threshold is 45 µg/dL, placing the validity boundary between chronic-exposure relevance and acute toxicity. For receptors in this regime:

ΔIQ at the validity ceiling (cap, not suppression). Unlike the numeric ΔBLL — suppressed for State-3 receptors because the biokinetic model cannot predict its magnitude — ΔIQ for these receptors is capped: Crump 2013 is evaluated as if ΔBLL were exactly 30 µg/dL, giving a fixed floor of ≈7 IQ points lost at the default background BLL and central CI band; the exact value shifts with background BLL and band. The heat map renders these receptors at the ceiling value and the cursor shows '≥ X.X IQ pts — model validity exceeded'; the hatched off-scale marker still flags them. A child whose facility-attributable ΔBLL has crossed 30 µg/dL has at least the loss the model predicts at 30, so the ceiling is an honest lower bound — communicating 'at least this severe' without the holes that null-suppression punched over the highest-exposure receptors.

State 4 — Soil-Pb past model validity (≥ 80,000 mg/kg). Independently of the BLL output validity, the linear-accumulation soil model itself has a validity boundary at 80,000 mg/kg (see section 4.1). Receptors past this cap carry no numeric soil-Pb prediction but are still shown on the map with a hatched marker on the soil layer. Because the IEUBK soil table already saturates at 1,600 mg/kg (well below the 80,000 cap), the soil-pathway BLL contribution is unaffected by the cap — only the displayed soil-Pb number is suppressed.

The four-state classification is part of the methodology, not just a UI choice. It is the mechanism by which the tool avoids over-claiming: where the underlying physics, biokinetics, or dose-response models cannot honestly predict a magnitude, the tool refuses to fabricate one — suppressing the number (soil-Pb, ΔBLL) or capping it at the model's validity ceiling and labelling it '≥' (ΔIQ), always with an off-scale marker on the receptor. Users see the spatial extent of "off-scale" exposure without the tool fabricating precise values past its validity range.

5.5 Crop pathway (foliar deposition)

The crop pathway estimates the lead concentration in edible crops grown on receptor land, and the contribution of crop ingestion to facility-attributable ΔBLL. The v1.11 pathway is a screening-grade implementation of the food-crop foliar-uptake form with a single composite transfer fraction per crop class — calibrated against the food-crop Pb literature (Brown 2008 UK FSA; EC JRC TGD 2003; US EPA OSWER 2002) and, for cereals, empirically tuned against paired-measurement smelter sites in China (Liu 2020 Jiyuan; Liu 2022 Jiaozuo). It replaces both the v1.0 slope-factor food pathway (retired in v1.2 for poor LMIC validation) and the v1.10 6-parameter IAEA TRS-364 implementation that shipped briefly before this rewrite — the v1.10 form double-counted interception by carrying separate interception (R) and weathering/transfer (W, T) terms whose composite was already baked into the published food-crop literature values.

Scope: foliar only

Only the foliar (above-ground) deposition uptake pathway is modelled: atmospherically deposited Pb intercepted by leaf and stem surfaces, retained against weathering, washoff, and (for cereals) threshing/cleaning losses. Root uptake from contaminated soil — Pb already in the soil being taken up via the roots — is not included. The omission is deliberate: at relevant LMIC ULAB soil-Pb levels (10–10⁴ mg/kg), measured soil-to-plant transfer coefficients for Pb are very low (typically 10⁻³ to 10⁻² for leafy crops, 10⁻⁴ to 10⁻³ for cereals), and the direct foliar interception of fresh deposition dominates the predicted crop Pb at near-field receptors. Beyond ~3 km from the source the foliar contribution falls off and root uptake of accumulated historical soil-Pb may become significant — the tool's framing in that far-field regime is "screening for facility-attributable contamination from current-year deposition", not "total crop Pb measurement". A future iteration may add a root-uptake term once LMIC-specific soil-to-plant transfer factors are calibrated — see FUGITIVE_FOLLOWUPS.md #8.

Equations

For each receptor and each crop class, edible-tissue Pb concentration is:

C_foliar (mg/kg FW) = (D_ann × f_grow × R × (1 − W)) / Y_fw

where
  D_ann     annual atmospheric Pb deposition (mg/m²/yr, AERMOD output)
  f_grow    fraction of the year the crop is exposed = t_grow_days / 365
  R         composite transfer fraction (food-crop literature; bundles
             interception, field weathering, rain washoff, and for cereals
             threshing/cleaning into a single calibrated coefficient)
  W         additional consumer wash removal at the kitchen step (0 by
             default — LMIC-conservative). Applied AFTER R has handled
             field weathering, so W represents only the additional removal
             from vigorous washing of the as-harvested crop.
  Y_fw      edible fresh-weight yield per unit ground area, kg/m²

The equation deliberately drops the separate interception term I that appears in radioecological formulations (IAEA TRS-364, ECOSYS-87, FDMT). The food-crop Pb literature reports R as a composite that is already calibrated against field measurements of crop concentration per unit deposition flux — multiplying by an additional I term would double-count interception and over-predict crop Pb by a factor of 2–5 against measured grain Pb at validation sites.

Combined-class intake and ΔBLL:

Intake_leafy   = C_foliar_leafy   × G_leafy   / 1000        (µg Pb/day; G in g/day)
Intake_cereal  = C_foliar_cereal  × G_cereal  / 1000
ΔBLL_foliar    = (Intake_leafy + Intake_cereal) × β_diet
β_diet         = 0.105 µg/dL per µg Pb/day (EFSA 2010 CONTAM Panel, child)

The implicit deposition-to-edible-Pb constant k = (f_grow × R) / Y_fw at central defaults is:

Both k values are asserted in the module's self-check (app/foliar_uptake.py::_self_check) so any drift in the defaults fails the test suite loudly. At the TA Luft annual deposition limit (36.5 mg/m²/yr), combined-class ΔBLL_foliar is 2.36 µg/dL. The 1-µg/dL foliar-only ΔBLL crossover occurs at D = 15.5 mg/m²/yr.

Defaults

ParameterLeafy vegetablesCereal grainSource / rationale
Growing window t_grow_days45 days (12.3% of year)120 days (32.9% of year)Typical food-crop growing periods. Leafy vegetables turn over multiple times per year; the 45-day window assumes a single 6-week cycle. Cereals are single-season rain-fed crops.
Composite transfer R0.10 (range 0.05–0.15)0.005 (range 0.0025–0.020)Leafy R: Brown 2008 (UK FSA) / EC JRC TGD 2003 / US EPA OSWER 2002 — three independent systematic reviews converge on 0.10 central. Cereal R: literature consensus gives 0.01–0.02 (Brown 2008; Chamberlain 1970) but cross-validation against paired-measurement smelter sites (Liu 2020 Jiyuan TS: D=350 mg/m²/yr, observed grain Pb 0.12–0.48 mg/kg; Liu 2022 Jiaozuo: D~300, grain 0.62 mg/kg) shows the literature consensus over-predicts grain Pb by 5–13×. Reducing central R to 0.005 brings predictions within factor-of-3 of measurement.
Edible yield Y_fw3.0 kg/m² (range 2–4)0.6 kg/m² (range 0.4–0.8)Edible fresh-weight yields (NOT whole-crop biomass — the composite R already accounts for the whole-canopy interception). Leafy: typical farm yields. Cereal: anchored to FAO 2022 (wheat 3.4 t/ha global; rice 4.8 t/ha Asia, 6.5 t/ha Americas).
Consumer wash W0.0 (range 0–0.95)0.0 (range 0–0.95)Additional kitchen-step removal beyond what R already captures from field weathering. 0.0 default is LMIC-conservative (vigorous consumer washing is not universal). Per-crop because washing practices differ (leafy may be washed; cereal grain typically not).
Daily intake G50 g/day (range 0–300)150 g/day (range 0–600)7-year-old 22.6 kg child, JECFA child dietary defaults (LMIC-relevant). Exposed on the Crops tab under the "Override defaults" toggle alongside the four pathway parameters.
BLL slope β_diet0.105 µg/dL per µg Pb/day (range 0.02–0.20)EFSA 2010 CONTAM Panel / FDA IRL / Carrington 2019 child-specific central value. Slider range covers the adult value (~0.018) through the upper end of older child-cohort literature. Exposed under the "Override defaults" toggle.

Five parameters per crop (t_grow_days, R, Y_fw, W, G) plus the shared dietary BLL slope β_diet are exposed for user override on the Crops tab via an "Override defaults" checkbox. Sliders are disabled by default; ticking the checkbox enables them and sends a foliar_params block on the next /api/run. β_diet default is 0.105 µg/dL per µg/day (EFSA 2010 CONTAM Panel child); slider range 0.02–0.20 covers the adult value (~0.018) through the upper end of older child-cohort literature. Override-at-defaults reproduces no-override results bit-for-bit.

Outputs

The pathway adds four per-receptor fields to the /api/run response — foliar_pb_leafy_ug_kg, foliar_pb_cereal_ug_kg, foliar_intake_leafy_ug_day, foliar_intake_cereal_ug_day — plus the single delta_bll_foliar_ug_dl increment that is folded into delta_bll_total_including_foliar_ug_dl. Three heat map layers expose the pathway:

The "Include crops in ΔBLL surface" checkbox on the BLL panel adds the crop pathway to the combined BLL surface and the ΔIQ gating — when unticked, the combined BLL surface shows air+soil only. The crop sub-layer and per-class µg/kg layers are always available regardless of the checkbox.

Caveats

References

Key references for the crop pathway (full citations in Section 7):

5.6 IQ impacts from blood lead level

The ΔIQ map layer translates each receptor's modelled facility-attributable ΔBLL into a predicted IQ-point deficit using a published cohort dose-response. The IQ layer is built on top of the BLL pipeline — it does not require an additional AERMOD run, and switching background BLL or CI band on the BLL Impacts tab triggers an instant client-side recompute without a backend round-trip.

IQ dose-response specification

The tool uses a single, hard-coded dose-response: the Crump et al. (2013) log model on concurrent blood lead level, from Table 5 of the paper:

ΔIQ = β × ln(BPb + 1)
β   = −3.315 IQ points per ln(µg/dL + 1)
95% CI of β: (−4.546, −2.084)

This is the only dose-response the production UI exposes. There is no model selector — both because all six earlier candidate specifications (Lanphear-family and Crump linear variants) are dominated on epidemiological grounds, and because exposing the choice to non-specialist users invited misuse without improving the answer.

Why this specification?

Lanphear et al. (2005) is superseded. The seven-cohort pooled-analysis published by Lanphear and colleagues was the canonical low-dose Pb-IQ dose-response for nearly a decade, but Crump et al. (2013) is a refit of the same cohort data with corrected confounder treatment, a fixed boundary condition at BPb = 0, and full reporting of all five candidate BPb temporal measures under both functional forms. Crump 2013 should be preferred wherever the choice would otherwise have been Lanphear 2005; the underlying epidemiology is identical and the statistical treatment is improved.

Concurrent BPb is the right temporal measure for a screening tool. Crump 2013 reports five candidate BPb measures (concurrent, peak, early childhood, lifetime average, 24-month). For a steady-state screening application that maps a chronic facility-attributable ΔBLL onto IQ outcomes, "concurrent" — BPb measured at the same time as the IQ test — is the temporal measure most closely matched to the modelled exposure. Peak and lifetime-average measures answer different questions (worst-acute-exposure neurotoxicity vs. cumulative-burden trajectories) and are not the right framing for a permanent facility footprint.

The log form covers the full observed BPb range. Crump fits each of the five BPb measures under two functional forms: the log specification above and a linear specification (ΔIQ = β × BPb) that is adequate only below ~10 µg/dL. Near-source ULAB receptors routinely sit above that cutoff once facility ΔBLL is added on top of background; the log form is the only specification that stays valid across the full observed range and that satisfies the physically required ΔIQ = 0 at BPb = 0 boundary condition.

Alternative dose-responses considered but not used

The backend's compute_iq_loss() function retains the full set of nine Crump 2013 alternative specifications (4 alternative BPb temporal measures × 2 functional forms, plus the linear form on concurrent BPb), pinned to Crump Table 5 in the unit-test suite. They are kept on the public API surface — but not exposed in the UI — for three reasons:

The Lanphear et al. (2005) coefficients themselves are not implemented. Anyone needing a Lanphear comparison should use Crump 2013 with the same cohorts and refer to the Lanphear paper directly for the unadjusted figures.

The 95% confidence interval band represents the statistical uncertainty in the cohort meta-analysis β coefficient — it does not bracket dispersion uncertainty, PSD uncertainty, IEUBK biokinetic uncertainty, individual susceptibility variation, or LMIC transportability. Total predictive uncertainty including those terms is substantially wider than the displayed CI band. The CI band sub-toggle on the BLL Impacts tab lets users render the lower (more loss) and upper (less loss) bounds separately for sensitivity assessment.

Why ln(BPb + 1) and not ln(BPb)

The +1 inside the logarithm is load-bearing. ln(BPb) diverges to −∞ as BPb → 0, which would predict infinite IQ loss at the boundary of zero exposure — a nonsense result. ln(BPb + 1) gives ΔIQ = 0 at BPb = 0, satisfying the physically required boundary condition. Crump 2013 fits the data with this form precisely for this reason; the tool's implementation enforces it in both the Python backend and the JavaScript client mirror.

Facility-attributable computation

Crump's β was estimated against total blood lead in the cohort studies. A child living near a ULAB facility carries a non-zero background BPb from food, soil, paint, water, and other non-facility sources — a substantial fraction of the global child population has baseline BPb in the 3–7 µg/dL range (IHME, GBD 2023). The tool models the IQ deficit attributable to the facility's contribution on top of that background as the marginal effect on Crump's dose-response:

ΔIQ_attributable = f(BPb_background + ΔBLL_facility) - f(BPb_background)

For the log specification this expands to:

ΔIQ_attributable = β × [ ln(bg + ΔBLL + 1) - ln(bg + 1) ]
                  = β × ln( (bg + ΔBLL + 1) / (bg + 1) )

For the linear specification the background term cancels (β × (bg + ΔBLL) − β × bg = β × ΔBLL), so the linear-form prediction is independent of background.

The default BPb_background is 3.0 µg/dL — a defensible central estimate for global LMIC childhood populations per IHME GBD 2023. The BLL Impacts tab exposes a slider so users can raise the background to ~5–7 µg/dL for higher-burden settings (sub-Saharan Africa, South Asia industrial regions) or drop it to 0 to reproduce Crump's raw dose-response. Crump's Table 5 values are reproduced exactly when bg = 0.

Per receptor the tool stores:

delta_iq_central(receptor) = β × [ln(bg + ΔBLL_total + 1) - ln(bg + 1)]
delta_iq_lower(receptor)   = β_ci_lower × [...]
delta_iq_upper(receptor)   = β_ci_upper × [...]

where ΔBLL_total(receptor) is the facility-attributable BLL increment from Section 5.4. Crump returns negative values for IQ loss; the heat map displays the magnitude as positive "IQ points lost" (<0.5 trace, 0.5–1 minimal, 1–3 low, 3–5 moderate, 5–10 high, >10 severe). Hover readouts show the central estimate with the CI range inline, rounded to one decimal place — Crump's ±60% CI on β does not support tighter display precision.

Why the marginal-effect framing matters

An earlier implementation of this layer applied Crump's dose-response by treating ΔBLL_facility as if it were the child's total BPb — effectively assuming BPb_background = 0. Because the log dose-response is concave (steeper at low BPb, flatter at high BPb), plugging a 10 µg/dL facility increment in at BPb = 0 predicts a larger IQ deficit than the same increment added on top of a 3 µg/dL background. For a typical informal LMIC scenario, the corrected marginal-effect math gives roughly half the IQ loss of the bare-substitution math at near-source receptors. The marginal formulation is the correct attribution framing because Crump's β is itself a curve, not a per-µg/dL constant.

Caveats

Reference

Crump KS, Van Landingham C, Bowers TS, Cahoy D, Chandalia JK (2013). A statistical reevaluation of the data used in the Lanphear et al. (2005) pooled-analysis that related low levels of blood lead to intellectual deficits in children. Critical Reviews in Toxicology 43(9): 785–799. DOI: 10.3109/10408444.2013.832726.

Background BLL default: Institute for Health Metrics and Evaluation (2024). Global Burden of Disease Study 2023 — Lead Exposure Estimates. https://ghdx.healthdata.org/record/ihme-data/gbd-2023-lead-exposure-estimates-1990-2023.

5.7 LMIC validation gap

The IEUBK anchor values used in this tool are derived from US and European child populations. Validation in LMIC populations near ULAB recycling facilities is limited. Several factors may shift the underlying biokinetic relationships in these contexts:

Pure Earth's research agenda includes population BLL surveillance in ULAB-affected communities to refine these anchor values. Until that work is published, BLL predictions in this tool should be interpreted as screening estimates indicating the relative magnitude of facility-attributable exposure, not as quantitative individual risk assessments.

5.8 References

Key methodology references for this section (full citations in Section 7):

6. Scope: what ULAB Plume predicts, and what it does not

This section is the consolidated statement of ULAB Plume's scope. Every individual prediction the tool surfaces falls within the "Predicts" column; questions in the "Does not predict" column require methodologies or data the tool does not currently incorporate.

PredictsDoes not predict
Spatial concentration and deposition fields within ~50 km of the source, on a polar receptor grid (preview 64 receptors, final 360 receptors). Long-range transport beyond ~50 km; global lead cycling; regional background.
Per-receptor child ΔBLL via the inhalation, soil/dust, and foliar-crop pathways. Inhalation and soil/dust use direct IEUBK biokinetic-model outputs (8 air anchors, 6 soil anchors, piecewise log-log interpolated). The crop pathway uses the IAEA TRS-364 foliar-uptake form converted to ΔBLL via the EFSA 2010 child dietary slope. The response carries both an excluding-crop and an including-crop total per receptor; the BLL surface switches between them via the "Include crops" checkbox. Both totals up to ΔBLL ≈ 30 µg/dL. ΔBLL above 30 µg/dL — the biokinetic model's validity ceiling. Past this threshold, the numeric prediction is suppressed and the receptor is flagged with an off-scale marker (section 5.4). The crop-to-BLL slope is linear so the including-crop total reaches the 30 µg/dL ceiling at lower deposition than the excluding-crop total; this is by design (see section 5.5).
Per-receptor crop Pb (mg/kg fresh-weight edible portion) for two crop classes — leafy vegetables and cereal grain — via a foliar-only deposition-uptake screening model with composite transfer fraction R (Brown 2008 UK FSA / EC JRC TGD / US EPA OSWER for leafy; Liu 2020/2022 empirical tuning for cereal), with a dashed reference contour at 0.01 mg/kg (the diet concentration at which a full daily intake would produce ΔBLL ≈ 1 µg/dL). Four per-class parameters (t_grow_days, R, Y_fw, W) exposed on the Crops tab under an "Override defaults" toggle. Root uptake of soil Pb by crops. Per-crop resolution beyond the two screening classes (roots, tubers, legumes, fruits, animal products are not separately modelled). Monthly-resolved growing-season deposition. Adult dietary uptake (current slope is child-specific). Empirical validation against measured crop Pb at LMIC ULAB sites.
Per-receptor child ΔIQ via the Crump et al. (2013) concurrent-BPb log dose-response, evaluated as the marginal effect on top of a user-supplied background BLL. ΔIQ at receptors with ΔBLL ≥ 30 µg/dL (set to null; off-scale marker shown). The dose-response is not honestly evaluable past the upstream BLL validity ceiling.
Stack vs fugitive source contribution at the 50 m and 500 m receptor rings, when fugitives are enabled. Per-process fugitive breakdown (battery breaking, refining, slag handling, etc.). The fugitive source is modelled as a single lumped AREA source at the stack location.
Per-bin deposition diagnostics via /api/per_bin_deposition — N AERMOD decks (one per PSD bin) for resolving deposition-vs-distance behaviour at finer-than-grid resolution. Wet deposition (dry deposition only). In monsoonal / tropical settings where wet scavenging is non-negligible, the tool likely under-predicts removal of fine-particle Pb from the atmosphere downwind.
Soil-Pb increment via linear-accumulation mass balance, with separate defaults for IEUBK-residential exposure (1 yr × 1 cm × 1.5 g/cm³) and longer-term soil contamination (20 yr × 15 cm × 1.3 g/cm³). Soil-Pb above 80,000 mg/kg — the linear-accumulation model's validity ceiling (anchored to documented severe-site upper bound). Above this, the prediction is suppressed (section 4.1).
1-hour worst-hour concentration field (concentration_1hr_worst_ug_m3) captured separately from the chronic-exposure heat maps for NAAQS-style acute-exposure framing. Quantitative acute-toxicity assessment. ULAB Plume is calibrated for chronic-exposure screening; the 1-HR worst field is a transparency artefact, not a regulatory acute-exposure product.
Background-BLL-aware ΔIQ via a user-supplied scalar (default 3.0 µg/dL, IHME GBD 2023 LMIC median). Spatially or demographically varying background BLL. The current implementation uses a single scalar across the entire receptor grid; per-receptor backgrounds from a population-BPb raster are a future revision.

Additional limitations of the predicted quantities:

Foundational-model validity. ULAB Plume composes three published models: AERMOD (dispersion), IEUBK (biokinetic), and Crump et al. 2013 (ΔBLL → ΔIQ dose-response). The validity ranges and limitations within each model's predicted range are accepted as foundational and are not separately enumerated here. Users assessing whether a specific ULAB Plume output should be cited as authoritative for a given context should consult the source models' validation documentation: US EPA AERMOD Implementation Guide (2024), US EPA IEUBK Guidance Manual (1994), and Crump et al. 2013 (Critical Reviews in Toxicology 43(9): 785–799).

7. References

8. Version history

VersionDateChanges
1.112026-05-18Crop pathway methodology swap. The v1.10 6-parameter IAEA TRS-364 model (separate R / Y / W / G / f_season / T per crop class) is replaced with the food-crop literature's composite-R form, in which a single transfer fraction R bundles foliar interception, weathering, washoff, and (for cereals) threshing/cleaning into one calibrated coefficient. Three independent systematic reviews (Brown 2008 UK FSA / EC JRC TGD 2003 / US EPA OSWER 2002) converge on R_leafy = 0.10 (central). Cereal R is empirically tuned to 0.005 against paired-measurement smelter sites in China (Liu 2020 Jiyuan; Liu 2022 Jiaozuo) — within factor-of-3 of measured grain Pb at the validation set. The new form drops the separate interception term I that appeared in the v1.10 IAEA-form equation; carrying both terms double-counted interception. Numerical impact: ΔBLL_foliar at D=10 mg/m²/yr jumps from ~0.019 µg/dL (v1.10) to ~0.647 µg/dL — 34× higher; the 1-µg/dL crossover moves from D≈54 to D=15.5 mg/m²/yr. New foliar slope 0.0647 µg/dL per mg/m²/yr (central). Response schema reflects the methodology change: every _crop field is renamed to _foliar (delta_bll_foliar_ug_dl, delta_bll_total_{excluding,including}_foliar_ug_dl, bll_validity_exceeded_{excluding,including}_foliar, foliar_pb_leafy_ug_kg, foliar_pb_cereal_ug_kg, foliar_intake_leafy_ug_day, foliar_intake_cereal_ug_day). New foliar_params request field accepts optional per-crop overrides for t_grow_days, R, Y, W (eight floats total); when absent the module defaults are used. Frontend Crops tab rewritten with an "Override defaults" checkbox + 8 sliders (defaults preserved on toggle off; sliders disabled until override is enabled). Daily intake (G_leafy=50 g/day, G_cereal=150 g/day) and BLL slope (β_diet=0.105 µg/dL per µg/day, EFSA 2010 CONTAM Panel) are module constants in v1.11 — not user-tunable. Methodology §5.5 fully rewritten around the composite-R form; §1.5 confidence paragraph updated; v1.10 references (EFSA/JECFA/IAEA TRS-364 as primary) replaced with the food-crop Pb literature set (Brown 2008 / EC JRC TGD / US EPA OSWER / Chamberlain 1970 / Liu 2020 / Liu 2022). FUGITIVE_FOLLOWUPS.md entries #7–10 from v1.10 carry forward unchanged — the limitations they describe apply to both the v1.10 and v1.11 implementations.
1.102026-05-15Crop pathway reinstated and reframed. Foliar-only deposition-uptake screening model (IAEA TRS-364) with two crop classes — leafy vegetables (six parameters: R, Y, W, G, f_season, T = 0.25, 1.5, 0.5, 75, 1.0, 1.0) and cereal grain (six parameters: 0.05, 3.5, 0.0, 300, 0.75, 0.10). Defaults from EFSA 2010 / JECFA 2010 / FAO. Per-receptor outputs foliar_pb_leafy_ug_kg, foliar_pb_cereal_ug_kg, foliar_intake_leafy_ug_day, foliar_intake_cereal_ug_day surface as three new heat map layers: two µg-Pb/kg surfaces under Exposure → "Crops (leafy)" / "Crops (cereal)" with dashed reference contours at the EU 2023/915 maximum levels (300 µg/kg leafy, 200 µg/kg cereal grain), and a ΔBLL crop-attributable surface under BLL impacts → "Crops" rendering the combined-class delta_bll_foliar_ug_dl on the existing BLL palette. Crop ingestion is converted to ΔBLL via a single linear child-dietary slope (β_diet = 0.105 µg/dL per µg/day, EFSA 2010 CONTAM Panel). The BLL surface now exposes an "Include crops" checkbox on the BLL panel — off by default — that switches the rendered total and the ΔIQ validity gating between an excluding-crop framing (delta_bll_total_excluding_foliar_ug_dl, bll_validity_exceeded_excluding_foliar) and an including-crop framing (delta_bll_total_including_foliar_ug_dl, bll_validity_exceeded_including_foliar). Both totals + flags are returned on every response. All six per-class parameters plus the BLL slope are exposed as live sliders on the new Crops tab; moving a slider triggers a JS-side recompute via computeCropFieldsForReceptor (mirror of backend/app/crops.py) without an AERMOD re-run. The pathway replaces the v1.2-retired slope-factor food pathway with a per-crop-class IAEA-form screening model. Root uptake is intentionally omitted; the linear BLL slope is acknowledged as the largest open methodological gap (extreme values at very high near-field intakes, mitigated by the 30 µg/dL validity ceiling). New methodology section 5.5; subsequent subsections renumbered (5.5→5.6 IQ, 5.6→5.7 LMIC validation gap, 5.7→5.8 references). Wizard tour extended with a Crops step.
1.92026-05-14AERMOD averaging-period and BLL model-validity treatment formalised. The AERMOD deck requests AVERTIME 1 PERIOD so the tool captures both the full-period (1-year) average concentration and deposition fields used for all chronic-exposure heat maps, and the single worst 1-hour concentration at each receptor (exposed separately as concentration_1hr_worst_ug_m3 for NAAQS-style acute framing). Soil-pathway default exposure duration set to 1 year, matching the IEUBK contact-relevant residential window; the exposure-duration control on the BLL Impacts tab exposes longer windows for multi-year accumulation analysis. Soil-Pb intermediate clamped at 80,000 mg/kg — the upper bound of soil-Pb observed at the most severely contaminated documented secondary-smelter surface soils (Doe Run Herculaneum; ASARCO El Paso) — with an off-scale visual marker on the soil layer for receptors past the cap. Four-state receptor classification documented in section 5.4: normal / input-table extrapolated (IEUBK anchor cap reached but BLL valid) / BLL past model validity (ΔBLL ≥ 30 µg/dL, biokinetic model invalid, ΔIQ suppressed) / soil-Pb past model validity (≥ 80,000 mg/kg, soil number suppressed). The 30 µg/dL BLL validity threshold sits between chronic-exposure relevance and the CDC clinical chelation threshold of 45 µg/dL — the standard defensible upper bound for IEUBK output validity. Receptors past this threshold display an off-scale hatched marker; the numeric ΔBLL and ΔIQ are not shown and Crump 2013 is not evaluated for these receptors (their delta_iq_* fields return as null on the API response). Limitations section (§6) rewritten as an explicit "predicts vs does not predict" scope statement.
1.82026-05-13Three new MERRA-2-derived climate archetypes shipped: accra_2022 (coastal Ghana, persistent SW Gulf of Guinea monsoon), dhaka_2022 (Ganges-Brahmaputra delta, bimodal Asian Monsoon), and delhi_2022 (continental Indo-Gangetic Plain, NW post-monsoon dominant). Brings the LMIC archetype library to four cities spanning distinct dispersion regimes, supporting sensitivity-to-met screening for ULAB advocacy. Section 2.3 table updated; per-city climatological summaries added immediately below. Fetcher hardened with an OS-level timeout wrapper (tools/merra2_fetch_city.sh) after observing NASA OPeNDAP TCP hangs that no in-process timeout mechanism (signal.alarm, .dodsrc HTTP.TIMEOUT, socket.setdefaulttimeout) could interrupt — only OS-level process kill reliably aborts a half-open libcurl read.
1.72026-05-11IQ dose-response model selector retired from the UI. Production now hard-codes the Crump 2013 concurrent-BPb log specification — the only specification with a defensible epidemiological case at the receptor exposure ranges this tool screens, and the only form that satisfies the ΔIQ = 0 at BPb = 0 boundary condition across the full observed range. Backend iq_model request field removed; the nine alternative Crump 2013 specifications stay in compute_iq_loss() and the unit-test suite for regression armour, reproducibility, and future internal sensitivity tooling, but are no longer reachable from the UI. Section 5.5 rewritten around the single-specification framing. Background-BLL slider and CI band toggle unchanged.
1.62026-05-11IQ pipeline now computes facility-attributable ΔIQ via the marginal-effect formulation ΔIQ = f(bg + ΔBLL) − f(bg). New background_bll_ug_dl request parameter (default 3.0 µg/dL, IHME GBD 2023 LMIC median) with a user-editable slider in the BLL Impacts tab. Earlier implementation treated ΔBLL as if it were the child's total BPb (bg = 0), overstating facility-attributable IQ loss by ~2× at typical backgrounds because the log dose-response is concave. CI band toggle relabelled "Lower / Upper 95% CI" (was "Worst case / Best case") — the band reflects statistical uncertainty in Crump's coefficient only, not dispersion or biokinetic uncertainty. Cursor readout for IQ now shows 1-decimal central estimate with inline range, e.g. "5.5 IQ pts (range 3.4–7.5)". Legend gets a saturation note explaining log dose-response flattening at high ΔBLL. Methodology section 5.5 rewritten around the marginal-effect framing.
1.52026-05-11IQ impact heat map added to the BLL Impacts tab. Each receptor's modelled ΔBLL_total is mapped to a predicted IQ-point deficit via the Crump et al. (2013) dose-response (default: ΔIQ = −3.315 × ln(ΔBLL + 1) on the concurrent BPb log specification). Ten model variants are exposed via a dropdown (5 BPb measures × 2 functional forms); CI band sub-toggle renders central / lower / upper estimates. New methodology section 5.5 documents the equation, the +1 boundary condition, and four caveats including the ΔBLL-vs-total-BPb interpretation.
1.42026-05-11First MERRA-2-derived archetype shipped: abuja_2022. NASA MERRA-2 hourly reanalysis (10 m wind, sensible heat flux, 2 m temperature) at the grid cell containing Abuja (9.05 N, 7.50 E) for calendar year 2022. Wind speed binned per AERMET conventions; Pasquill-Gifford-Turner stability classification from heat flux + wind speed (Pasquill 1961, Turner 1969). Captures the bimodal monsoon (SW Apr–Oct) / Harmattan (NE Nov–Mar) wind regime expected for inland West Africa. Section 2.3 rewritten with the production pipeline. Legacy abuja_test fixture remains available but flagged as placeholder.
1.32026-05-09Fugitive emissions added as a co-located ground-level AREA source. Lumped fugitive fraction ffug splits the total emission inventory between stack and fugitive, with three scenario defaults (best 0.10 / typical 0.35 / uncontrolled 0.60). Fugitive PSD uses mineral-matrix densities (3–4 g/cm³) reflecting mechanically generated dust rather than condensation aerosol. Master toggle off = byte-identical pre-fugitive behaviour. New section 3.5 documents the model. PSD diameters / densities / mass fractions remain screening-grade pending sensitivity check.
1.22026-05-06BLL impact heat maps added (inhalation, soil/dust, combined). Section 5 rewritten around IEUBK-anchored piecewise slope factors; food-pathway slope factor (constant 0.2) retired in favour of the soil/dust mass-balance pathway with user-editable exposure duration (default 5 yr) and soil mixing depth (default 1 cm). Saturation flagging added at >30 µg/dL ΔBLL; inhalation-unreliable flag at >50 µg/m³ PbA.
1.12026-05-06Default scenarios recalibrated against Manhart & Adjei 2026 (CGD Policy Paper 387). Five new presets (EU BAT, High-standard, Substandard, Smaller substandard, Informal artisanal) replace the previous four; uncontrolled emission factor revised from 2 to 12 kg/t; PSD curves consolidated to two presets (fine_baghouse, coarse_uncontrolled).
1.02026-05Initial methodology release

Calibration of default values

The tool's default emission factors, PSD distributions, and stack-geometry hints are intended to track the best published evidence available for LMIC ULAB recycling. Updates to those defaults — like the 1.1 recalibration above against Manhart & Adjei 2026 — change the tool's starting point for screening but do not change the validation status of the underlying physics: AERMOD execution, met synthesis, parsing, and bilinear interpolation are unchanged. The pending validations documented in Section 2.5 (comparison vs ambient measurements, vs reanalysis-driven AERMOD runs, and vs alternate dispersion models) remain pending and apply equally to the new defaults.

Users supplying site-specific values via the wizard (custom throughput, control efficiency, stack geometry) bypass the defaults entirely; the calibration above governs only the quick-scenario presets and any field the user leaves at its default.

9. Contact

For methodology questions, validation collaboration, or to report discrepancies in tool output:

Chris Kinally, Pure Earth — chrisk@pureearth.org

This document is a living methodology and will be updated as the tool evolves. The latest version is always available at https://ulabplume.org/methodology.html.