Flare screening software readiness

Verified 5 September 2026.

AERSCREEN 21112 and MAKEMET 16216 now run locally with AERMOD 26135 and reproduce EPA’s official flat-terrain flare example. Across the main output, log, 300-distance results table, regenerated restart file and final MAKEMET prompt file, 7,095 printed numeric tokens matched exactly, with text also matching after generated run-time and whitespace normalization. The final run took 4.791 seconds and AERSCREEN reported no errors or warnings.

This establishes a working screening pathway for that example. It is not a Woodfibre prediction, a recreation of its environmental assessment, or validation of transport through Howe Sound. The reference comparison contains all checks; the readiness record preserves versions, inputs, hashes, compiler details and adaptations.

Official example and scope

EPA’s current screening page lists AERSCREEN 21112, MAKEMET 16216 and a July 2026 test archive. Its flare folder provides both flat and terrain cases. This check used the supplied flat terrain, no building downwash case, with the existing verified AERMOD 26135 binary. The reference itself also reports AERMOD 26135, so there is no version mismatch. EPA screening tools and downloads, official test-case instructions.

The EPA source emits a generic pollutant at 1 g/s from a 100 m physical flare, with total heat release of 10,000,000 cal/s and radiative heat-loss fraction 0.45. It uses EPA’s supplied seasonal surface characteristics across three sectors, minimum/maximum ambient temperatures of 273/310 K, minimum wind of 0.5 m/s, a 10 m anemometer height, a 30 m ambient boundary and an 8 km search distance. MAKEMET generated twelve surface/profile pairs; AERSCREEN searched the screening matrix and refined the peak distance. Original source and weather-setting bytes were preserved.

The EPA example peak is 1.821 µg/m³ at 1,725 m. This number has no Woodfibre or pollutant-specific risk interpretation. The 3-hour, 8-hour, 24-hour and annual values reported by AERSCREEN are scaled screening estimates. They are not chronological averages of a finite release and must not be presented as a simulated 30-minute event’s exposure. AERSCREEN guide, §§1.1 and 3.9, pp. 3 and 60–61.

Compared file Numeric tokens Maximum numeric difference
Main screening output 711 0
Screening log 121 0
Concentration-by-distance table 6,000 0
Regenerated restart input 254 0
Final MAKEMET prompt file 9 0

The distance table, restart input and final MAKEMET prompt file are text-identical after newline normalization. No reference numeric tolerance was needed. Only generated wall-clock header/stage dates and times were excluded; synthetic meteorological matrix identifiers were retained. EPA supplies no direct .sfc/.pfl reference files for this case, so MAKEMET is checked through the complete screening result and supplied prompt reference, not through a separate weather-file equality test.

Flare inputs and independent arithmetic check

For AERSCREEN FLARE mode, supply the physical height in metres, total heat release in cal/s, pollutant emission in g/s, and the radiative loss as a fraction. The program calculates an equivalent POINT source:

[ D=9.88\times10^{-4}\sqrt{HR(1-HL)},\qquad H_{eff}=H_{physical}+4.56\times10^{-3}HR^{0.478} ]

It uses 20 m/s equivalent exit speed and 1,273 K equivalent temperature. These are model representations, not measured flame properties. The default radiative loss is 0.55, but the reference deliberately uses 0.45. The guide’s equations were checked visually. AERSCREEN guide, §2.1.2, equations 1–2, pp. 13–14.

Independent calculation gives 110.114975674 m equivalent height and 2.317065385 m diameter; the generated AERMOD input reports 110.115 m and 2.317 m, within half of the last printed millimetre. Rate, temperature and speed agree exactly.

Do not reduce total heat by the radiative fraction before passing it with that same fraction into FLARE mode: that would apply the diameter’s loss adjustment twice. Likewise, supply physical height rather than adding an already calculated equivalent-height increment again. The dated Woodfibre calculation audit distinguishes its historical rounded diameter coefficient and its unresolved event timing; no Woodfibre case was run here. Historical source consistency.

Build and interface adaptations

Both native arm64 binaries use the existing task-local GNU Fortran 14.4.0 environment and Xcode SDK 26.2. No new compiler packages, global software or shell configuration were installed. Work remains under work/epa-screen/; the AERMOD dependency is read from the earlier task-local build.

EPA supplies an Intel compiler recipe for AERSCREEN. Its source does not compile directly with GNU because 70 interactive prompt formats use Intel’s backslash descriptor. A reproducible build adapter changes only those descriptors to GNU’s equivalent dollar descriptor in a generated copy. All seven original source-package files remain byte-identical; scientific statements were not edited. The generated source, exact 70-line diff, before/after hashes and unadapted build failure are retained. The final flags are -O2 -fcheck=all -fbacktrace -Wall -std=legacy, plus the native SDK/runtime paths. The logs retain 137 AERSCREEN and 35 MAKEMET compiler warnings and one duplicate runtime-path linker warning each; this single case does not exercise every warned branch.

Process-local adapters provide the expected executable names, a harmless cls command and a copy command restricted to files in the run directory. Windows NUL redirection writes a retained local log file. These adapters do not change source or meteorological values.

The first attempt entered the new-run prompt accidentally and stopped before modelling. Two subsequent runs reproduced numeric results but shortened the restart title to FLARE; removing a broad compatibility flag did not resolve that label behavior. The final run uses AERSCREEN’s supported title-change prompt to restore the exact official title, then accepts the supplied parameters. All attempts are preserved. No title mismatch is hidden in the final comparison.

The full official archive ultimately downloaded and was checked: all 156 reference files remain unchanged. Small byte-range retrievals used while that transfer was slow were verified against the complete archive. No frozen project package or earlier model output was modified.

Reproduction and remaining checks

With the retained environment and official archives:

sh work/epa-screen/build-screen.sh aerscreen
sh work/epa-screen/build-screen.sh makemet
python3 work/epa-screen/run-flare-reference.py
python3 work/epa-screen/compare-flare-reference.py

These commands replace only generated outputs in the screening run directory. The readiness JSON records source/archive/binary fingerprints and the run manifest. Original examples remain separate under work/epa-screen/reference/.

The terrain-screening, building-downwash, NO₂-conversion and fumigation branches were not exercised. AERSURFACE was not run; its sample output was supplied by EPA. The short runtime supports a later bounded historical sustained-source sensitivity, after its linked heat, emissions and physical height are explicitly selected. It would still require a justified screening meteorological envelope and separate treatment of event duration. Screening distance maxima cannot describe a plume following Howe Sound’s bends or establish community exposure.