ULAB Plume

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

ULAB Plume — Methodology Guideline

Version 1.15.2 · October 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 (lead produced, emission controls, stack geometry, particle size distribution).
  • Meteorology for the four built-in locations is real hourly weather from the NASA MERRA-2 reanalysis for the grid cell around each site, combined into one typical year with each calendar month taken from 2021–2025 (Gelaro et al. 2017). AERMOD models wet as well as dry deposition from its hourly precipitation. A user-built wind rose still uses synthetic hourly meteorology, with dry deposition only.
  • A polar receptor grid extending to 50 km from the source produces concentration and deposition fields. Preview mode uses 80 receptors (16 directions × 5 rings, including 1,500 m); Final mode uses 360 (36 × 10). Run times on the production server: about 30 s for a Preview and about 2 min for a Final with the stack only; with the fugitive source on, about 2 min for a Preview and about 7 min for a Final at the default 100 m area, up to about 13 min at the largest (300 m), within the 30-minute limit.
  • 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

  • Meteorology is one reanalysis grid cell (about 55 × 60–70 km) and one typical year: local terrain and land-use effects are not resolved, and the typical year is not a forecast or a specific year. Results from a user-built wind rose use synthetic meteorology.
  • 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. Its model medium-sized plants produce 10,000–20,000 t of lead a year, and it notes that "there are various existing plants with similar processing capacities in the studied African markets" (Manhart & Adjei 2026, §3.1, Tables 2 and 3). 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 dataReal hourly MERRA-2 reanalysis for the four built-in locations (one composite typical year from 2021–2025, with precipitation), written directly in AERMOD's surface and profile formats, not through AERMET (see section 2.2). Synthetic hourly meteorology from a wind rose for user-built roses. Real local observations would replace either.
Emission ratesA generation chain: uncontrolled emission factors of 12,000 g/t (stack) and 2,200 g/t (fugitive) of lead produced, from China's 2021 coefficient manual, US EPA AP-42 §12.11 and US Bureau of Mines data, less each scenario's stack and fugitive capture (seven quick scenarios), times the lead produced the user enters (each scenario fills in a default plant size). Users can override the generation and capture assumptions (the lead recovery comes with the scenario), or enter emission rates directly. See sections 3.1 and 3.2.
Particle size distributionSix-class stack and fugitive PSDs for each scenario (aerodynamic diameters, density 1.0 g/cm³), from the size data in the AP-42 §12.11 background report and AP-42's fugitive dust sections, with documented assumptions where no data exist. 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 meteorology (real hourly reanalysis for the built-in locations; synthetic for a user-built wind rose). AERMOD's dispersion physics is well-validated in temperate, mid-latitude settings. The main sources of uncertainty in LMIC contexts are: how well one reanalysis grid cell and one typical year represent the site's 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. For the built-in locations, wet deposition is modelled from hourly precipitation, and the headline deposition is total (wet + dry). For a user-built wind rose there is no precipitation, so deposition is dry only and is labelled so. 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 benchmark the direct reanalysis processing against AERMET and against local station observations

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:

The deposition shown as the headline result is total (wet + dry) where precipitation is modelled, otherwise dry only.

Fugitive area sources use AERMOD's non-regulatory FASTAREA option (US EPA 2024, EPA-454/B-24-007, §3.2.2.8). Against AERMOD's default area integration it changes period-average concentration and deposition beyond 500 m by less than about 0.25 %, and fence-line (50 m) soil Pb by up to +5.5 % (higher) for small, low sources (50 m side, 1 m release height); see section 3.5.

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 from local stations is rarely available. For the four built-in locations the tool uses real hourly meteorology from the NASA MERRA-2 reanalysis (Gelaro et al. 2017), written directly into the surface (SFC) and profile (PFL) files AERMOD reads (US EPA 2024, EPA-454/B-24-007, §2.1.1.2). Because the reanalysis carries precipitation, AERMOD also models wet deposition, and the headline deposition is total (wet + dry). A user-built wind rose still uses synthetic hourly meteorology, with dry deposition only (see the end of this section). Exception: multi-site runs (API only; the interface does not offer them) use the v1 wind-rose meteorology for the built-in locations, with dry deposition only.

Built-in locations: hourly MERRA-2 reanalysis

How results change from the wind-rose meteorology

Measured with the tool's own runs: the lmic_typical scenario's emission assumptions and stack at 8,550 t of lead produced per year (the percentages do not depend on the plant size beyond rounding), Preview, at the four built-in locations, stack only and with the fugitive source on (default 100 m area), each on the wind-rose meteorology used before version 1.15.0 and on the hourly MERRA-2 meteorology. The changes are in the peak values; for deposition they compare the new headline (total, wet + dry) with the old one (dry only). The Greater Accra changes include the move from the marine cell to the Shai Hills cell.

LocationStack only: peak concentration (%)Stack only: peak deposition (%)Fugitive on: peak concentration (%)Fugitive on: peak deposition (%)
Abuja−72−6+57+4
Greater Accra — Shai Hills−73−45+85−7
Dhaka−75−12+65−16
Delhi−78−72+72−8

Stack near-field maxima fall: the wind-rose meteorology assigned more strongly convective daytime hours, which brought the elevated plume to the ground near the stack. Low-level (fugitive) concentrations rise: the reanalysis has many more stable night hours, which keep a ground-level plume near the ground.

Wet deposition as a share of total deposition, averaged over each receptor ring (hourly meteorology, same runs):

LocationSources50 m (%)500 m (%)1,500 m (%)5 km (%)
Abujastack only81.615.25.215.0
Greater Accra — Shai Hillsstack only73.113.16.516.2
Dhakastack only86.519.17.119.7
Delhistack only56.68.23.17.7
Abujafugitive on0.87.611.820.0
Greater Accra — Shai Hillsfugitive on0.78.314.425.2
Dhakafugitive on0.99.315.627.5
Delhifugitive on0.43.66.210.3

With the stack alone, wet deposition is 56.6–86.5 % of the total at the 50 m ring, where little of the elevated plume has yet reached the ground, and 8.2–19.1 % at 500 m. With the fugitive source on, the ground-level source dominates near-source deposition, and wet deposition is 0.4–0.9 % at 50 m and 3.6–9.3 % at 500 m. At 5 km it is 7.7–27.5 % in both cases. The 50 km ring is left out: its deposition is close to the 0.01 mg/m²/yr resolution of the reported values, too coarse for a share.

User-built wind roses and multi-site runs

A user-built wind rose is turned into synthetic AERMOD-format meteorology; multi-site runs use the same route with the built-in locations' 2022 wind roses (section 2.3). There is no precipitation, so deposition is dry only. 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 tool's built-in locations:

RegionLocationMERRA-2 cell centreMeteorology
West AfricaAbuja, Nigeria9.0°N, 7.5°EMERRA-2 hourly, 2021–2025 composite typical year
West AfricaGreater Accra — Shai Hills, Ghana6.0°N, 0.0°EMERRA-2 hourly, 2021–2025 composite typical year
South AsiaDhaka, Bangladesh24.0°N, 90.625°EMERRA-2 hourly, 2021–2025 composite typical year
South AsiaDelhi, India28.5°N, 77.5°EMERRA-2 hourly, 2021–2025 composite typical year

The four built-in locations deliberately span distinct ULAB-relevant climatological regimes so users can screen sensitivity to meteorology. The figures below are for each composite typical year as AERMOD reads it: wind-direction shares of all 8,760 hours (16 sectors; hours with wind below 0.5 m/s have no sector), mean 10 m wind speed, the share of stable hours (positive Monin–Obukhov length), and precipitation after the rescaling and light-rain correction (section 2.2).

The 2022 wind roses (multi-site runs). Multi-site runs still use the built-in locations' 2022 wind roses. They were derived from the same NASA MERRA-2 hourly reanalysis for 2022, sampled at the single grid cell containing each city's centre (for Accra, the marine cell centred 5.5°N, 0.0°E; MERRA-2 native resolution: 0.5° lat × 0.625° lon, ≈50–70 km). Hourly 10 m wind components, surface sensible heat flux, and 2 m temperature were 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: every result on the hourly meteorology carries its provenance — the builder version and hash, the file SHA-256 hashes, the month-to-year selection, the MERRA-2 cell index and centre, and the precipitation-rescaling provenance. For the 2022 wind roses, 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 → 1,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 stack PSD bin on its own denser grid (11 rings, 25 m to 50 km, × 16 directions, in either mode) — the Results graphs tab uses it for the stack curve of Graph 2 and the per-bin columns of Graph 3.

Lead still airborne (Results, Graph 2). Graph 2 shows, in kg/yr, how much of the emitted lead has not yet been deposited within each receptor ring: the lead emitted (the site's mass balance, t/yr × 1,000) less the lead deposited within the ring. The deposited lead is each ring's direction-averaged annual deposition times the area of its band, summed outward from the source. A ring's band runs from the geometric midpoint with the ring inside it to the midpoint with the ring outside it; the first band starts at the source and the last, for the 50 km ring, ends at 79 km. Graph 3 uses the same integration. Deposition is total (wet + dry) when the meteorology has precipitation, and dry otherwise. The stack curve comes from the per-bin runs: each bin's deck carries the whole stack emission at that bin's size, and the bins are weighted by their mass fractions. The fugitive curve comes from the Final run's receptors, taking the site total less the stack's contribution at each receptor. The total is the two added together. Hovering shows each value as a share of that source's emission. The curve ends at the 50 km ring, labelled with the lead still airborne beyond it, and is not extrapolated.

Caveat: the fugitive curve is sensitive near the source. In Final mode, a fifth to a quarter of the fugitive lead lands in the first ring band (0–71 m). In the abuja_2022 runs behind this section, that share was 25.5 % for the informal_artisanal default and 20.6 % for lmic_typical with the default 100 m fugitive area, both with dry deposition on the wind-rose meteorology. With total deposition on the hourly meteorology it was 27.1 % and 20.8 %. A single sample at 50 m stands for that whole band, so the curve's shape close to the source rests on it. In Preview mode the first band (0–158 m) holds more lead than the fugitive source emits: 103.1 % for lmic_typical (104.3 % on the hourly meteorology). Graph 2 therefore draws the fugitive curve and the total only for Final runs, and in Preview it asks for a Final run. If a fugitive curve still falls below zero in a Final run, it is shown with a warning and not clamped.

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 locationDone: the wind-rose meteorology against the hourly meteorology at the same grid cell (2022), and the composite typical year against all five years 2021–2025, on which ring averages agree except for a low bias in Abuja fence-line stack concentration (section 2.2)
Standalone AERMOD on the exported input bundle reproduces hourly-meteorology results (concentration, 1-hour maximum, dry, wet and total deposition)Verified (numerical identity)
Direct reanalysis processing vs AERMET for AbujaPending
Precipitation rescaling vs national station recordsPending
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, battery 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 Lead produced

Emissions follow a generation chain (backend 0.4.0 and later). For each site the user enters the lead the plant produces per year, P (t/yr; step 1 of the wizard). The tool applies an uncontrolled emission factor (lead generated per tonne of lead produced, before any capture) separately to the stack and to low-level fugitive sources, subtracts what the controls capture, and converts the emitted lead to AERMOD emission rates in g/s. No measured stack or fugitive lead emission rate exists for any secondary (ULAB) smelter in a low- or middle-income country, so the defaults are derived from regulatory coefficients, high-income analogues and judgement. They were assembled in a Pure Earth literature review (Pure Earth 2026), which covers 372 data points in about 100 sources; each number below is cited to its primary source.

Lead produced. P is entered directly and used as given: the emissions involve neither the lead content of batteries nor the lead recovery. Each quick scenario fills in a default plant size, below. A value the user types (in step 1 or in the Advanced scenario) is kept when the scenario changes, and the scenario's default is offered under the box. The wizard accepts 10–200,000 t/yr.

ScenarioDefault lead produced (t/yr)Stack (g/s)Fugitive (g/s)Source
EU BAT80,0000.0157750.024444US sector average 2010 (USGS 2012; 77 FR 556); no EU average verified
High-income regulated (US 2010)80,0000.1104020.061111US 2010: 1.14 Mt secondary lead across 14-15 plants (USGS 2012, Table 1; 77 FR 556, p.558)
LMIC industrial – well run10,0000.3638891.527778Ten Nigerian plants, capacity 1,980-22,000 t/yr lead, median 9,350 (ProBaMet 2025, Table 2-1)
LMIC industrial – typical10,0000.8333333.055556Ten Nigerian plants, capacity 1,980-22,000 t/yr lead, median 9,350 (ProBaMet 2025, Table 2-1)
LMIC industrial – degraded baghouse10,0003.3333333.055556Ten Nigerian plants, capacity 1,980-22,000 t/yr lead, median 9,350 (ProBaMet 2025, Table 2-1)
Uncontrolled / bypassed10,00016.6666673.055556Ten Nigerian plants, capacity 1,980-22,000 t/yr lead, median 9,350 (ProBaMet 2025, Table 2-1)
Informal / backyard2000 (no stack)0.555556Informal sites of 100/500/1,000 t lead processed/yr weighted 50/35/15% (Ericson et al. 2016) = 375 t, x 0.55 recovery

The source strings are those the tool shows under the box (/api/controls). The g/s are the emission rates at the default, with the scenario's other values, 8 h × 250 days and the fugitive source on. The regulated default is the US sector average: 1,140,000 t of secondary lead in 2010 (Guberman 2016, Table 1) across the 14–15 plants then operating (the 2012 rule's source category "currently includes 16 facilities, including one facility that is not currently operating and one facility that is in the process of being constructed"; US EPA 2012, 77 FR 558), about 80,000 t per plant. The LMIC default is the median annual lead-output capacity of ten Nigerian plants, 1,980–22,000 t (Öko-Institut and partners 2025, Table 2-1, which assumes one month of downtime and 62.5 % lead content, and notes "many operating below capacity"). The informal default takes sites processing 100, 500 and 1,000 t of lead a year receiving 50, 35 and 15 % of the lead processed in the informal sector (Ericson et al. 2016): 375 t of lead processed, × 0.55 recovery = 206 t of lead produced, rounded to 200.

Recovery. The lead recovery r sets only the lead in the feed and the lead lost:

lead in feed = P / r
lead lost    = P / r − P = P × (1 − r) / r

Changing r changes the loss and its not-modelled rest, not the emissions or the g/s. The web interface takes r from the scenario and does not offer it for editing; API requests can set recovery_efficiency.

Battery hint. Under the box the wizard shows roughly how many tonnes of batteries that much lead corresponds to, at the scenario's recovery:

batteries ≈ P / (0.60 × r)

At the defaults that is about 135,000 t of batteries a year for the EU and US scenarios, 17,500 t for LMIC industrial plants and 606 t for informal recycling. The figure is a hint only: nothing in the chain uses it. Whether battery tonnage includes the acid is unresolved, and the hint inherits that: if a plant's battery tonnage includes the acid, lead estimated from it at 60 % could be up to 25 % too high (the International Lead Association slides (2019) imply 0.60 t of refined lead per tonne of drained batteries but 0.46 with the acid; Manhart & Adjei 2026, fn 15, note a 10–12 % weight deduction for electrolyte). Enter lead produced directly where it is known.

Stack generation: 12,000 g Pb per tonne of lead produced (sensitivity 4,800–16,900), for every industrial scenario.

G_stack = PM_gen × f_Pb × 1000
        = 24.129 × 0.50 × 1000
        = 12,065 g/t, rounded to 12,000

US EPA's AP-42 gives higher uncontrolled factors, 32,000 g/t for reverberatory and 52,000 g/t for blast furnaces, but they date from 1986, rest on lead fractions EPA's background report could not trace, and include no rotary-furnace factor (US EPA AP-42 §12.11 and background report). The stack generation is split into particulate (90 %) and fume (10 %), each with its own capture efficiency; every default scenario sets both to the scenario's stack capture.

Fugitive generation: 2,200 g/t (sensitivity 450–7,200), for every industrial scenario.

G_fug = f_proc × G_stack + G_kettle + G_area
      = 0.10 × 12,065 + 13 + 1,000
      = 2,220 g/t, rounded to 2,200

Informal and backyard smelting has no stack: all its generated lead, 20,000 g per tonne of lead recovered (5,000–70,000), is fugitive (see section 3.2).

Emitted lead and the mass balance. Emitted lead, g/yr, is the generation (g per t of lead produced) less what is captured, times the lead produced (t/yr):

E_stack = [G_stack × (1 − c_stack)
           + G_fug × c_fug × (1 − c_stack)] × P
E_fug   = G_fug × (1 − c_fug) × P

Captured stack lead is assumed to return to the furnace. The lead lost, P × (1 − r) / r, bounds the emitted total: inputs that would emit more than that are refused. The rest of the loss (slag, spills, acid and ground) is reported as not modelled. Slag alone carries an estimated 9,000–36,000 g/t at low-standard plants (Manhart & Adjei 2026, Table 1 and §2.3.7; Öko-Institut and partners 2025).

Emission rate for AERMOD.

Q = E / (3,600 × h × d)

with E in g/yr, calculated separately for the stack and fugitive sources, where h × d is the operating schedule in hours per day × days per year (default 8 h × 250 days = 2,000 h/yr; section 3.4). Users can instead enter the stack and fugitive emission rates directly in g/s.

Worked example: LMIC industrial – typical at its default. P = 10,000 t/yr; 95 % stack capture, no fugitive capture (section 3.2).

E_stack = 12,000 × (1 − 0.95) × 10,000 = 6,000,000 g/yr  (6 t)
E_fug   =  2,200 × (1 − 0)    × 10,000 = 22,000,000 g/yr (22 t)
Q_stack =  6,000,000 / (3,600 × 8 × 250) = 0.833 g/s
Q_fug   = 22,000,000 / (3,600 × 8 × 250) = 3.06 g/s
lead in feed = 10,000 / 0.95 = 10,526 t; lead lost = 526 t,
  of which 498 t (94.7 %) not modelled

For API users. A request sends lead_produced_tpy (t of lead produced per year) or the earlier battery-basis throughput_tpy (t of batteries per year, converted as lead produced = throughput × 0.60 × r), never both: a request with both is refused (422 emission_inputs_conflict). A result whose emission_assumptions carry input_basis: "lead_produced" is on the lead basis; a result without input_basis is on the battery basis. The legacy chain below takes throughput_tpy only.

Legacy chain. API requests that set f_fug or emission_rate_g_s still use the earlier chain until backend 0.5.0, with a deprecation warning: 12 kg of lead per tonne of battery feed (about 21,000 g per tonne of lead produced), split between stack and fugitive by f_fug. The origin of the 12 kg/t factor could not be traced (see the 1.12 entry in section 8). The tool's web interface does not use it.

3.2 Emission controls and default scenarios

Seven quick scenarios share the industrial generation factors (12,000 g/t stack, 2,200 g/t fugitive) and differ in capture, recovery and default plant size (section 3.1); recovery sets only the loss, not the emissions. LMIC industrial – typical is the default, because it matches what assessments of African plants observed: all 17 plants assessed in Ghana, Nigeria and Tanzania had baghouses, but "some off-gas treatment systems were clearly not fully functional and well maintained", with visible particle emissions from stacks at various plants, and furnaces were often unhooded or had weak extraction (Manhart & Adjei 2026, §2.3.5 and §2.3.2). "Stack capture" sets both the particulate and the fume capture. Emitted values are g Pb per tonne of lead produced, computed from the scenario values by the chain in section 3.1.

ScenarioStack captureFugitive captureLead recoveryStack emitted (g/t)Fugitive emitted (g/t)Total emitted (g/t)Fugitive share
EU BAT99.99 %99.9 %99 %1.422.23.6261 %
High-income regulated (US 2010)99.93 %99.75 %99 %9.945.515.4436 %
LMIC industrial – well run98 %50 %95 %2621,1001,36281 %
LMIC industrial – typical95 %0 %95 %6002,2002,80079 %
LMIC industrial – degraded baghouse80 %0 %95 %2,4002,2004,60048 %
Uncontrolled / bypassed0 %0 %95 %12,0002,20014,20015 %
Informal / backyardNo stack0 %55 %020,00020,000100 %

Basis of each scenario.

A well-maintained baghouse removes 98–99 % of furnace particulate, 98.4–99.8 % by design (AP-42 §12.11, Table 12.11-5) and 99 % for a bag filter (China MEE 2021, manual 3212), but measured removal at working US plants ranged from 85 % to 99 %, and 70 % at one plant with a very dilute inlet (US EPA 1995, EPA-453/R-95-008b, p. 2-29). Percent capture depends on how dusty the gas entering the filter is: rotary-kiln flue gas carries about 3,500 mg of particulate per Nm³ (China MEE 2021), so a baghouse emitting 175 mg/Nm³ removes 95 % and one emitting 700 mg/Nm³ removes 80 %. No LMIC baghouse has been measured; the 95 % and 80 % values are judgements. The capture sensitivity ranges (with the generation ranges in section 3.1) are served by /api/controls and not yet shown in the interface.

Cross-checks. The typical scenario's stack emission, 600 g/t, falls within EMEP/EEA's 450–1,100 g/t for traditional secondary plants with limited control (EMEP/EEA 2009, Table 3.13). Its total, 2,800 g/t, is far above controlled US and Chinese plants (2–20 g/t stack caps; GB 31574-2015, Henan DB41/2806-2025, Chongqing EIA approval 2024) and similar to controlled US primary smelters in 1979, 1,460–5,550 g/t (US Bureau of Mines IC 9160). Its fugitive share, 79 %, sits between those 1979 smelters (38 % at Glover, 76 % at Buick) and Port Pirie's 66–93 % (Australian National Pollutant Inventory).

High-income regulated: consistency check. The scenario's capture values were set to reproduce US secondary-smelter emissions around 2010. As a consistency check, not the calibration source, the 2012 standards for the industry state: "The final rule will cut lead and arsenic emissions by an estimated 68 percent from current actual emission levels based on the ICR data collected for this rulemaking. The final rule will result in estimated annual lead emissions reductions of 7.2 tpy from process and process fugitive sources and annual lead emissions reductions of 6.4 tpy from fugitive dust sources from 2009 baseline emissions (for a total annual reduction of 13.6 tons per year)." (US EPA 2012, 77 FR 575). These imply about 20 short tons (about 18 t) of lead a year before the 2012 standards. That is about 16.3 g/t of 2009 US secondary lead production, 1,110,000 t (Guberman 2016, USGS 2012 Minerals Yearbook, Table 1, myb1-2012-lead.pdf), close to the scenario's 15.44 g/t (9.94 g/t stack + 5.5 g/t fugitive). The rule's baseline year is 2009, not the scenario's 2010, and its 68 % is stated for lead and arsenic together.

3.3 Particle size distribution (PSD)

AERMOD's default particle deposition method (Method 1) needs a diameter, a mass fraction and a density for each size class (Thurman 2019). Every scenario has a stack PSD and a fugitive PSD over the same six size classes, each represented by its geometric midpoint:

Class<1 µm (0.25–1)1–2.5 µm2.5–10 µm10–15 µm15–30 µm30–100 µm
Diameter (µm)0.51.65.012.221.254.8

Density 1.0 g/cm³ in every class. All the size data behind the defaults are aerodynamic diameters, and an aerodynamic diameter is the "diameter of a spherical particle with relative density equal to unity that has the same settling velocity in air as the particle in question" (IUPAC 2007). It already includes the particle's density, so entering the densities of the lead phases found at recycling plants (Uzu et al. 2011), from PbSO₄ at 6.3 g/cm³ (Webmineral) to lead metal at 11.3 g/cm³ (Royal Society of Chemistry), as well would count density twice and make particles settle too fast. The AERMOD User's Guide asks for the "mass-mean aerodynamic particle diameter" of each class (US EPA 2024, EPA-454/B-24-007, §3.3.4.1), the guide for AERMOD version 24142, which the tool runs. The 0.5 µm class sits within the fine-mode lead peaks of 0.32–0.55 µm measured near smelters (Csavina et al. 2014).

Each cell is the percentage of emitted lead mass in that size class; the decks take them as fractions, as given. A class with no mass is left out of that source's deck lines.

Stack PSDs (% of mass by size class)

PSDScenarios<11–2.52.5–1010–1515–3030–100Above 10 µm
Working baghouseEU BAT, High-income33.038.018.04.03.53.511.0
Baghouse, 98% captureLMIC well run31.035.110.71.810.810.623.2
Baghouse, 95% captureLMIC typical30.334.18.11.013.413.127.5
Degraded baghouse, 80% captureLMIC degraded30.033.66.70.614.714.429.7
Raw furnace gas (no control)Uncontrolled, Informal16.518.54.51.030.129.460.5
Fine raw gas (sensitivity)none (sensitivity only)28.031.420.30.310.19.920.3

Fugitive PSDs (% of mass by size class)

PSDScenarios<11–2.52.5–1010–1515–3030–100Above 10 µm
Enclosed plant, paved yardEU BAT, High-income0.04.614.64.676.20.080.8
Partial hoodingLMIC well run13.418.420.27.727.612.748.0
Open plant, no hoodsLMIC typical, LMIC degraded, Uncontrolled9.012.517.89.734.916.160.7
Open smelting (raw furnace gas)Informal16.518.54.51.030.129.460.5

The Particle tab offers the six stack presets and a custom stack PSD (below); the Fugitive tab shows the scenario's fugitive PSD, with editable fractions (fractions that do not sum to 1 are rescaled, and the tool says so). Informal smelting has no stack; its stack deck runs at 0 g/s with the uncontrolled row. With directly entered emission rates and no scenario, the fugitive source takes fug_open.

Custom stack PSD. Choosing "Custom" in the Particle tab lets the user enter their own stack PSD; the fugitive PSD stays the scenario's.

Where the rows come from.

Method 1 is recommended when more than about 10 % of the mass is 10 µm or larger, or when the particle size distribution is known (US EPA 2024, EPA-454/B-24-007, §3.3.4). Every default meets the first condition. US guidance leaves deposition modelling at lead smelters to professional judgement (40 CFR Part 51, Appendix W, §4.2.2.1(e) and §4.2.3.2(b)), so the tool's deposition results are screening estimates, not regulatory ones.

PSD limitations. Every stack PSD rests on undated US blast-furnace tests (Tables 2.3-3 and 2.3-4, both rated D); no PSD was found for rotary or reverberatory furnaces, or measured at an LMIC plant. All the PSDs describe total particulate, and lead was more concentrated in the fine fraction at every smelter site Csavina et al. (2014) sampled except Port Pirie, so lead may be finer than the defaults. What escapes a leaking or bypassed industrial baghouse has not been measured; field signs of gross bypass (open bypass dampers, missing bags) favour the coarser bypass-only case. No study gives hood or building capture by particle size, so the well-run and high-income fugitive PSDs are assumptions. Battery paste and spilled filter dust may be finer than the aggregate and road dust used for area fugitives.

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 are lead released at low level: furnace charging, tapping and slag handling; refining kettles and casting; battery breaking; storage, handling, spilled filter dust and vehicle resuspension. Published fugitive estimates for uncontrolled or poorly controlled plants span about 100–15,000 g/t, and none comes from an LMIC secondary smelter. Where baghouses work, fugitives dominate near-field concentrations: fugitive dust gave 94–99 % of modelled peak 3-month lead at the 9 of 15 US smelters exceeding the air quality standard (US EPA 2012, 77 FR 562). Direct field measurements distinguishing per-process fugitive sources are unavailable for LMIC ULAB plants, so the tool lumps them into one source.

Amount. Fugitive generation is 2,200 g per tonne of lead produced for every industrial scenario (450–7,200; section 3.1), and 20,000 g/t for informal smelting. The scenario's fugitive capture (hoods and enclosure) removes part of it at source; captured lead is routed through the stack's control device and emitted from the stack after abatement. What is not captured, E_fug = G_fug × (1 − c_fug), is the fugitive source. With directly entered rates, the fugitive source takes the rate entered.

Switching it on. The fugitive source is modelled only when the user turns it on (the Fugitive tab or the wizard's step 03). When it is off, the results state the fugitive emission left out and the share of emitted lead the stack-only run models. Informal smelting, and any inputs that give no stack emission, have nothing else to model, so for them the fugitive source is always on.

Source geometry. 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.

Particle size. The fugitive PSD is the scenario's six-class fugitive preset (section 3.3): coarse in every scenario, with 48–81 % of mass above 10 µm, and density 1.0 g/cm³ because the diameters are aerodynamic. This replaces the earlier four-bin fugitive PSD with mineral-matrix densities of 2.8–4.0 g/cm³, which the legacy chain still uses. Requests that send four fugitive fractions are refused with a message to reload or send six.

Area-source integration (FASTAREA). Since release 0.3.0 the fugitive AREA source is modelled with AERMOD's FASTAREA model option (US EPA 2024, EPA-454/B-24-007, §3.2.2.8; the tool runs AERMOD version 24142) instead of the default Romberg numerical integration over the source area (same guide, §3.3.2.3); stack (POINT) sources are unaffected. FASTAREA is a non-default AERMOD option: the fugitive run's output header lists it and labels the run NonDFAULT, while the stack run uses neither (neither run sets AERMOD's regulatory DFAULT keyword, so both headers read “Model Allows User-Specified Options”). Deleting FASTAREA from the MODELOPT line of the exported fugitive deck reproduces the default area integration offline. This makes the fugitive run about 2.6 to 14 times faster, so every fugitive run, Preview and Final, is modelled on the mode's full receptor grid (Preview 80 receptors, Final 360) with no interpolation. Compared with the default integration across 29 tested cases, beyond 500 m from the source period-average concentration and deposition change by less than about 0.25 %. The 1-hour worst concentration moves more there: by up to about 7 % in a ring's maximum (fugitive run alone), while every change stays below 0.3 % of its maximum (below 0.1 % except for two 300 m areas with the newer built-in meteorology). Near the source FASTAREA reads somewhat higher for small, low, vertically thin sources: for a 50 m area with a 1 m release height, fence-line (50 m) soil Pb and ΔBLL were 1.7 % to 5.5 % higher, the worst case (+5.5 % soil Pb) at an initial vertical dimension σz0 of 0.5 m; in the other tested cases fence-line soil Pb, ΔBLL and ΔIQ changed by less than ±0.8 %. Near-source changes of a few percent, in either direction, can move receptors across a blood-lead threshold: for Abuja, substandard, default fugitive setup, Final, the number of receptors above 5 µg/dL went from 64 to 61, as three 100 m receptors fell from just above 5 µg/dL to just below it (changes of 2.3 % to 4.4 %). Tested range: area side 30–300 m, release height 1–5 m and σz0 0.5–3.0 m (the full input ranges); the default and one finer fugitive particle-size distribution; the four built-in locations with synthetic and MERRA-2 meteorology, and one user-built wind rose; one meteorological year; one site, and two sites 2 km apart. Final mode with fugitive emissions runs online for single-site scenarios; multi-site Final with fugitive emissions is not available online (export the AERMOD inputs and run them offline).

Status of fugitive defaults. The 2,200 g/t generation, its 1,000 g/t yard-dust component and the 10 % process-fugitive share are screening-grade, and partly judgements; outdoor manual battery breaking and truck resuspension are unquantified, and no published figure exists for outdoor manual battery breaking (China's coefficient manuals give no air coefficient for breaking; China MEE 2021, manual 42). The fugitive PSDs of the well-run and high-income scenarios are assumptions. Before tool outputs with fugitives enabled are used in advocacy or regulatory contexts, run the generation and capture sensitivity ranges in sections 3.1 and 3.2. As with stack emissions, the most reliable path to higher-confidence fugitive outputs is field measurement at representative LMIC sites: near-field deposition inversion around the Ghana smelters could give the first LMIC fugitive estimate (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; total, wet + dry, where precipitation is modelled, dry otherwise), 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 large 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;
             total, wet + dry, where precipitation is modelled, dry otherwise)
  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 80 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 where there is no precipitation in the meteorology. For the built-in locations wet deposition is modelled from reanalysis precipitation that has been rescaled to CHIRPS and corrected for light-rain frequency, both provisional (section 2.2). It is not modelled for a user-built wind rose (see also the meteorology note below).
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

Source emissions and particle size (section 3). The primary sources, from the reference list of the review that assembled the defaults (Pure Earth 2026).

Meteorology and deposition (section 2). The AERMOD User's Guide (US EPA 2024, EPA-454/B-24-007) is listed with section 3 above. The three EPA documents below are the editions for AERMOD and AERMET 24142, which SCRAM no longer serves; the links are archived copies (web.archive.org).

8. Version history

VersionDateChanges
1.15.22026-10-29At a glance: run times with the fugitive source on, from runs on the production server (lmic_typical defaults, Abuja, one at a time): about 2 min for a Preview, and about 7 min for a Final at the default 100 m area and 13 min at 300 m, within the 30-minute limit. Stack-only times unchanged (about 30 s and 2 min).
1.15.12026-10-29Section 2.1 says that AERMOD characterises stability through the Monin-Obukhov length, not a Pasquill-Gifford-Turner classification: calculated each hour from MERRA-2 for the built-in locations, and converted from a Pasquill-Gifford-Turner class by the wind-rose builder (custom and multi-site meteorology).
1.15.02026-10-29Real hourly meteorology for the four built-in locations: NASA MERRA-2 reanalysis, one composite typical year from 2021–2025, written directly to AERMOD's surface and profile files (not through AERMET), with a 0.05 m/s friction-velocity floor and precipitation rescaled to CHIRPS with a light-rain correction (provisional); Greater Accra moves to the land-dominant Shai Hills cell (section 2.2). AERMOD now models wet deposition there, and the headline deposition is total (wet + dry); the soil and crop pathways use total deposition (the crop choice provisional). The measured changes against the wind-rose meteorology, and the wet share of deposition by distance, are in section 2.2; the location climates in section 2.3 are recomputed from the composite years. User-built wind roses, and multi-site runs (API only), keep the wind-rose meteorology with dry deposition only. Pending items stated: the AERMET benchmark, the precipitation check against station records, and the crop pathway's deposition basis (sections 2.5, 5.5 and 6). New references for section 2.
1.14.22026-10-29Section 2.1 says that fugitive area sources use AERMOD's non-regulatory FASTAREA option (in use since release 0.3.0), citing the AERMOD 24142 User's Guide (US EPA 2024, EPA-454/B-24-007, §3.2.2.8), which is added to the references. Sections 3.3 and 3.5 now cite the same edition (§3.3.4, §3.3.4.1, §3.2.2.8 and §3.3.2.3, each checked against it) in place of the 2026 edition (EPA-454/B-26-001), which is removed from the references.
1.14.12026-10-29Graph 2 in the Results tab shows lead still airborne in kg/yr (stack, fugitive and total) instead of the airborne fraction per PSD bin (section 2.4): emitted lead from the mass balance less the lead deposited within each ring, ending at the 50 km ring without extrapolation. The fugitive curve comes from Final runs only, with a caveat on its sensitivity near the source. The per-bin endpoint description is corrected: it runs on its own 25 m to 50 km grid.
1.14.02026-10-28Custom stack PSD (section 3.3): the user's mass % for the six fixed classes (aerodynamic diameters, density 1.0), totalling exactly 100 %, not rescaled; the backend refuses fractions that do not sum to 1 within 0.000001. Classes at 0 % are left out of the deck; runs with a preset PSD are unchanged.
1.13.12026-10-28Lead loss column removed from the Advanced scenario popout; recovery comes with the scenario.
1.13.02026-10-28Lead produced is the input. Section 3.1 is now “Lead produced” (the old anchor still works): the user enters lead produced per year, P, and the emissions use it directly, with no 0.60 lead content or recovery step; recovery sets only the lead in the feed (P / r) and the loss (P × (1 − r) / r), and changing it does not change the g/s. Each quick scenario fills in a default plant size (80,000 t/yr for the EU and US scenarios, 10,000 for LMIC industrial plants, 200 for informal recycling; table in section 3.1, with the g/s at each default and a worked example); a value the user types is kept. The battery tonnage shown under the box, P / (0.60 × r), is an approximate hint, and the battery-acid caveat now applies only to it. A note for API users: lead_produced_tpy and throughput_tpy are mutually exclusive, and a result without input_basis is on the battery basis. References added: Guberman 2016 (USGS 2012 Minerals Yearbook, which replaces the earlier untitled entry for it) and Ericson et al. 2016.
1.12.12026-10-28Citations in section 3. The International Lead Association slides are cited as in the review (International Lead Association, Wilson B., 2019) and linked, keeping the note that its 2 % informal-loss figure is given without a source; the FASTAREA paragraph (§3.5) cites the AERMOD User's Guide, EPA-454/B-26-001, §3.2.2.8 and §3.3.2.3, in place of two unresolved placeholders (the tool runs AERMOD 24142, whose guide SCRAM no longer serves); every entry in the section 3 reference list now carries its link.
1.122026-10-27Source emissions rewritten around a generation chain, with the defaults assembled in a Pure Earth literature review (Pure Earth 2026); sections 3.1, 3.2, 3.3 and 3.5 rewritten, and the §1.5 data-gaps text and the references updated. Generation chain (§3.1): uncontrolled emission factors of 12,000 g Pb per tonne of lead produced for the stack (China MEE 2021 coefficient × 50 % lead in the dust) and 2,200 g/t for fugitives, less capture, replace 12 kg Pb per tonne of battery feed (about 21,000 g/t) in the web interface; the legacy f_fug chain stays for API requests until backend 0.5.0. Captured fugitive lead is routed through the stack's control device. Scenarios (§3.2): seven quick scenarios (EU BAT, High-income regulated (US 2010), LMIC industrial well run, typical (the default), degraded baghouse, Uncontrolled / bypassed, Informal / backyard) replace the five 1.1 presets. Capture: stack capture 98 % (well run), 95 % (typical, a judgement) and 80 % (degraded, a judgement), applied to particulate and fume alike, with sensitivity ranges 95–99 %, 90–98 % and 70–90 %. PSDs (§3.3): six aerodynamic size classes (0.5, 1.6, 5.0, 12.2, 21.2 and 54.8 µm, density 1.0 g/cm³) with a stack and a fugitive PSD per scenario, plus a fine raw-gas sensitivity row, replace fine_baghouse, coarse_uncontrolled and the four-bin fugitive PSD, which only the legacy chain still uses. API: /api/controls serves each scenario's stack_psd and fugitive_psd and top-level psd_classes and psd_presets (the six-class presets only); the per-scenario psd_preset, the legacy presets and the fugitive_defaults block are no longer served, so results of API requests that name a legacy preset (legacy chain) show no Graph 1–3 bins in the web interface. fugitive_psd_fractions needs one fraction per class: the four fractions of the earlier fugitive PSD are refused (422 fugitive_psd_classes, with what to do: reload, send six, or omit them), an unknown preset name is refused (422 psd_preset_unknown), and six fractions that do not sum to 1 ± 0.001 are rescaled with a warning. The web interface says when the backend is older than these changes and disables Run. Correction to 1.1: version 1.1 attributed the 12 kg/t emission factor, the preset control efficiencies and the PSD presets to Manhart & Adjei (2026). That paper gives no emission factor, control efficiency or particle size distribution; its 2024 fieldwork at 17 plants was observational, and the origin of the 12 kg/t factor could not be traced. Sections 3.1–3.3 now cite it only for what it reports.
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 and 1.12 recalibrations above — 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 lead produced, 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.