HAZEL Hazardous Atmosphere Zoning for European Locations

About HAZEL

Version 1.0.0 Beta

HAZEL is in beta and may still change, so at this stage we have decided not to write full documentation. This page and How to use show where development stands and what the current limitations are.

What is HAZEL?

HAZEL (Hazardous Atmosphere Zoning for European Locations) is an open-source calculation tool for estimating how far, and for how long, hazard zones extend after an uncontrolled release of a dangerous substance. It is meant both for incidents at industrial sites and fixed installations and for the transport and logistics of dangerous goods in the broadest sense.

"European Locations" in the name does not limit where HAZEL can be used — its physics works the same anywhere in the world. The phrase reflects the project's European origin. HAZEL is an independent project: its calculation engine was built from the published technical documentation of the American program ALOHA (Areal Locations of Hazardous Atmospheres), which experts around the world treat as a reference standard.

Please note: HAZEL is an independent tool for training and planning and holds no official government certification. ALOHA is a registered trademark of NOAA. The HAZEL project is not affiliated with NOAA, the U.S. EPA or any other government agency.

Why does HAZEL exist?

HAZEL was built from scratch because of the technological limits of the original software. ALOHA, the methodological model for this project, is a classic 32-bit desktop program. Its Macintosh version is supported up to macOS 10.11 El Capitan; since macOS 10.15 Catalina (2019) dropped 32-bit applications altogether — and Apple has since moved to its own Apple Silicon processors — it can no longer be run on current Apple hardware. ALOHA was last updated in September 2016 (version 5.4.7), and given how strongly Windows dominates dispersion modelling, we consider a native version for current macOS unlikely. Windows users can still run 32-bit programs through the WOW64 subsystem; Mac users needed a new, universal solution.

To make HAZEL immune to future, unpredictable changes in hardware and operating systems, we built it on standard web technologies (JavaScript). Running the calculations in the browser removes any dependence on executables or installers for a particular system. The same code runs on almost any modern device — desktops and laptops with Windows, macOS, Linux or ChromeOS, as well as phones and tablets with Android, iOS, iPadOS or HarmonyOS. As a Progressive Web App (PWA), HAZEL can be installed with its own icon on the home screen and then works fully offline; the whole application is smaller than 10 MiB.

How accurate is HAZEL?

We tested HAZEL extensively by running the same scenarios in ALOHA (version 5.4.7, the program's last release) and in HAZEL and comparing the results. HAZEL is nevertheless still labelled "beta". If you would like to contribute — in particular if you have access to source material that could make the calculations currently implemented in simplified form more exact (see "Known simplifications" below) — please get in touch on our GitHub or at damian@kocie.mba.

How closely HAZEL reproduces ALOHA's calculations, and where each model's limits lie, is summarised in the table below. It is the result of comparing more than 250 physical values computed in nearly 100 independent test runs. A ratio of 1.00× means HAZEL and ALOHA give the same result; 0.90× means HAZEL's value is 10% lower.

#AreaTests (internal ID)Values comparedRangeTypicalAgreement
1Puddle evaporation, liquids (acetone, methanol, toluene, benzene, MEK; sunshine, ground types)P, M, B, T, S, P5/P6, P1, R1/R225rate 0.94–1.10; 1-hour total 0.93–1.011.01× / 0.96×±5%
2Evaporation of a boiling puddle (chlorine)P7/P84total 0.98–1.000.99×±2%
3Tank → spreading puddle (acetone, methanol)4 runs40.97–1.020.99×±3%
4Tank, liquefied gas, two-phase release (chlorine, propane, ammonia; tank shapes, holes, valve)V1/V2, T1–T3, N1, F5/F610rate 0.99–1.111.03×±5%
5Tank, compressed gas only (CO, chlorine, methane, acetylene), with critical constantsC1–C4, G1–G3, A1, J127mass 1.00; released 1.00–1.041.00×±2%
6Gaussian plume, point source (classes A–F, urban terrain)K1–K7150.99–1.001.00×±1%
7Gaussian plume, inversionI0–I3120.97–1.021.00×±3%
8Gaussian plume, elevated source (10 / 30 m)E1/E251.00–1.011.00×±1%
9Zone width (from KML export)W1/W230.93–0.960.94×−4…−7%
10Gaussian plume, puddle as an area sourceP, M, B, T, K6, P1, R1/R2220.80–1.36 near the source; otherwise 0.88–1.101.02×±10%
11Heavy gas (chlorine, benzene, CO, acetylene; continuous, instantaneous, puddles, tanks, urban terrain)H, U, G, C, T, V, A1…~600.71–1.270.89×−5…−20% (systematic)
12Choice of model: Gaussian or heavy gasall2625 of 26 identical—96%
13Indoor concentration (air exchange rate, indoor peak)B1/B2, W1, I061.00–1.041.02×±4%
14BLEVE fireballF3/F460.99–1.001.00×±1%
15Jet fire (two-phase propane, methane gas)F5/F6, J1a/b120.90–1.101.01×±10%
16Pool fire (toluene)F1/F260.88–0.940.92×−6…−12%
17Flammable area (60% / 10% LEL)propane, methane, butane, acetone170.88–1.100.95×±10%
18Vapour cloud explosion (VCE)V2/V4/V6, R280.91–1.091.03×±9%

The number of test runs differs between areas because of how the validation was done. Where few runs were needed, high agreement on edge cases (substances with extreme physical and chemical properties) confirmed the algorithms quickly and unambiguously. Where the table shows many runs, the engine's sensitivity had to be examined iteratively: the large number is the direct result of tracking down the causes of (sometimes considerable) differences, which let us test each hypothesis before accepting it.

Responsibility: despite the high agreement, the authors accept no liability for decisions made on the basis of HAZEL's results. Treat the program as a training and planning aid that supports professional judgement — not as the sole basis for action during a real incident.

What HAZEL can model

  • Release rate (source strength) — a direct release with a known rate, optionally from a height above the ground; an evaporating puddle of known area; a damaged tank (horizontal or vertical cylinder, sphere; round or rectangular hole, short pipe or valve) holding a liquid, a gas liquefied under pressure (two-phase release) or a compressed gas only. A liquid leaking from a tank forms a spreading puddle whose evaporation enters the air. For compressed gases HAZEL can correct the tank's contents for real-gas behaviour. (Table rows 1–5.)
  • Toxic gas dispersion (Gaussian plume) — the basis of most atmospheric dispersion tools, for gases that mix with the air about as fast as the wind spreads them. Includes low-level inversions, elevated sources and puddles as area sources. (Rows 6–10.)
  • Heavy gas dispersion — gases dense enough that near the source gravity dominates over wind mixing (for example chlorine, LPG, or a compressed gas that cools as it expands). This is a physically different process with its own equations, not a correction to the Gaussian model. (Row 11.)
  • Automatic choice of model — HAZEL decides between the Gaussian and heavy-gas models from the density of the cloud, the release rate and the wind (Richardson number). (Row 12.)
  • Flammable area (flash fire) — the area where the cloud is concentrated enough to ignite, from the same dispersion calculation. (Row 17.)
  • Vapour cloud explosion (VCE) overpressure — the effects of a flammable cloud that ignites after it has spread. The flammable mass is calculated automatically from the dispersing cloud instead of having to be entered by hand. (Row 18.)
  • BLEVE fireball — thermal radiation after the immediate ignition of a pressurised tank that ruptures. (Row 14.)
  • Pool fire and jet fire — thermal radiation from a burning pool of liquid or a burning jet of escaping gas. The tilted, frustum-shaped jet flame and its view factor follow Chamberlain's (1987) geometry directly, without simplified substitute shapes. (Rows 15–16.)
  • Indoor concentration (infiltration) — how much of the outdoor cloud reaches the inside of a nearby building, for a shelter-in-place decision, from the building's size, height and exposure to the wind, or from a known air exchange rate. (Row 13.)

Further features

  • Map view — all zones drawn on OpenStreetMap, the concentration at any point you click, and export to KML for GIS software (QGIS, ArcGIS, Google Earth).
  • PDF report — inputs, results and the map in one printable document.
  • Chemical library — a searchable database of 3,148 substances with their exposure thresholds (exportable as CSV or JSON), plus your own local entries that can add missing physical properties or whole new substances.
  • Saving and loading scenarios — entirely on your own device.
  • Fully offline — once loaded, HAZEL needs no network connection.

Known simplifications of the current version

These are the places where HAZEL knowingly differs from ALOHA or simplifies:

  • Heavy gas zones are 5–20% shorter than ALOHA's (row 11), most of all for small sources at distances under about 100 m and for the outermost (lowest) threshold. Keep a safety margin when using heavy-gas results.
  • Flashing ammonia — ALOHA treats the cold aerosol cloud from a liquefied gas lighter than air (such as ammonia) as a heavy gas; HAZEL uses the Gaussian model, whose distances came closer to ALOHA's (within 10%). The zone outline is narrower and longer than ALOHA's (row 12).
  • Two-phase tank releases last longer than in ALOHA (about 1.4–1.5×) because of a slow tail while the liquid level passes the hole; the peak rate and the zones are not affected.
  • Compressed gases — without the critical temperature and pressure (entered in the Source step or the Chemical library) the tank's contents are an ideal gas, up to about 12% less than the real amount at high pressure. Whether a substance can be held as a liquid at all is judged from its critical temperature, estimated from the boiling point when not entered.
  • Heavy-gas source blanket — the dense "blanket" that forms when a heavy gas is released faster than the air can take it up is represented by its steady-state size only, not by ALOHA's full time-dependent mass and energy balance.
  • Releases that change over time are represented, as in ALOHA, by up to five steady steps; an instantaneous release is treated as a one-minute release.
  • Stand-alone puddles have the fixed area you enter (as in ALOHA); only a puddle fed by a leaking tank spreads.
  • Pool fire distances are about 8% shorter than ALOHA's (row 16).
  • Distances under about 10 m are unreliable in both tools and are not drawn.

What the underlying science does not account for

Beyond HAZEL's own code, atmospheric dispersion modelling as a method has limits of its own, shared by every program of this kind:

  • Combustion and chemical reactions — only the substance originally released is followed. Smoke, combustion products and reactions of the gas with moisture in the air, with other substances or with itself are not simulated. For substances that react strongly with humid air the real hazardous cloud can differ considerably from the substance released.
  • Particles and dusts (including radioactive ones) — this is a model for gases and vapours; the settling and spread of solid particles or liquid droplets is not represented.
  • Mixtures — every calculation and every library entry assumes the release of a single, pure substance.
  • Changing winds and terrain — wind speed and direction are taken as constant over the whole plume, and the ground as flat. In reality the wind speeds up, slows down and flows around hills, valleys and buildings in ways these models do not reflect.
  • Uneven ground under a puddle — the puddle is assumed to spread evenly on perfectly flat ground rather than running into hollows or down a slope; on sloping ground this can overestimate its area and evaporation rate.
  • Fragments — an explosion throws fragments of the tank and its surroundings; where they land is not simulated.

Methodology and sources

HAZEL's calculations are based on officially published technical documentation and literature:

  • ALOHA 5.4.4 Technical Documentation (NOAA Technical Memorandum NOS OR&R 43, 2013) — the main source for the dispersion, release-rate, thermal radiation, overpressure and indoor infiltration models.
  • Chamberlain, G.A. (1987), Developments in Design Methods for Predicting Thermal Radiation from Flares, Chem. Eng. Res. Des. 65, 299–309 — the original source of the jet fire flame geometry, used directly to check and correct a transcription error in one of the formulas in the ALOHA documentation.
  • Havens, J. and Spicer, T.O. (1985), Development of an Atmospheric Dispersion Model for Heavier-Than-Air Gas Mixtures, Volume I — U.S. Coast Guard report (DTIC ADA171522), used to confirm heavy-gas constants that the NOAA summary names but does not give.
  • Spicer, T.O. and Havens, J. (1989), User's Guide for the DEGADIS 2.1 Dense Gas Dispersion Model, U.S. EPA, EPA-450/4-89-019 — the updated reference edition of the DEGADIS heavy-gas model.
  • Smith, J.M., Van Ness, H.C. and Abbott, M.M., Introduction to Chemical Engineering Thermodynamics — the Pitzer correlation used for the real-gas correction of compressed gases; the acentric factor is estimated with Edmister's method when not entered.
  • U.S. Department of Energy Protective Action Criteria (PAC) — the AEGL, ERPG and TEEL exposure thresholds that form HAZEL's chemical database.
  • Side-by-side comparison with ALOHA — nearly 100 scenarios run in both programs (see the table above), used to confirm each model and, where the documentation leaves room for interpretation, to choose the reading that reproduces ALOHA. The formulas come from the 5.4.4 Technical Documentation listed above; the program used for the comparisons is version 5.4.7.

Thank you

As the authors of HAZEL, we thank:

  • the team behind ALOHA (NOAA, U.S. EPA, U.S. Coast Guard), for publishing the technical documentation that made an independent, open implementation possible;
  • the OpenStreetMap community, for the map data;
  • MET Norway, for providing weather forecast data free of charge. In the version we host we do not connect to their API directly — to avoid loading their servers and to protect users' privacy — but the project repository contains full documentation for enabling this feature yourself.

As the initiator of HAZEL, I thank everyone who took part in creating it and supported it at every stage:

  • Krzysztof Rabiej;