HAZEL is in beta and may still change, so at this stage we have decided not to write full documentation. This page and About show where development stands and what the current limitations are.
How to use HAZEL
Modelling a hazard in HAZEL (Hazardous Atmosphere Zoning for European Locations) comes down to five steps: choosing the location (1), the chemical (2), setting the weather (3), describing the source of the release (4) and reading the results (5). This page guides you through the parts that may need some explanation.
1. Location
Here you set where and when the incident happens — coordinates (or a place search) and the date and time of the release. From the date and time HAZEL calculates the sun's exact position in the sky for that latitude. That value feeds two key parts of the physics:
- Atmospheric stability class (Pasquill–Gifford) — daytime sunshine drives thermal convection and turbulence. Strong midday sun creates rising currents and unstable air (classes A–C), which dilutes the cloud faster. At night the ground cools by radiation and stable layers form (classes E–F), in which a dangerous gas can travel much further at high concentration.
- Heat balance of the ground and of an evaporating liquid — sunshine heats the ground and the surface of a spilled liquid. A warmer liquid has a higher vapour pressure, so it evaporates faster.
With the time of the incident set, HAZEL chooses the matching dispersion and energy-balance parameters automatically, so the simulation reflects the conditions at the scene as closely as the model allows.
2. Chemical
Choose the substance to model. HAZEL's built-in database holds 3,148 substances and can be searched by name or by CAS number. Your own entries from the Chemical library (with properties the database lacks, or entirely new substances) appear in the search too. The key terms shown for each substance:
- Name and formula — the official chemical name and the molecular formula.
- CAS number (CAS Registry Number) — the unique international identifier assigned by the Chemical Abstracts Service. Searching by CAS number is the safest way to identify a substance: it rules out confusion caused by trade names, common names or language differences (for example 83-32-9 for acenaphthene).
- Molar mass (M, g/mol) — the mass of one mole of the substance. It sets how dense the gas is compared with air (average molar mass about 28.97 g/mol). A gas heavier than air may behave as a heavy gas — it slumps under gravity and spreads sideways along the ground, which needs separate equations that account for suppressed vertical mixing. Molar mass alone does not decide this, however: the final choice between the Gaussian plume and the heavy gas model is made in the Source step, from the density of the cloud (including how cold it is), the release rate and the wind. A small release of a heavy gas can still disperse as a Gaussian plume, and a gas lighter than air can behave as a heavy gas if it leaves the source very cold.
- Exposure thresholds PAC-1, PAC-2, PAC-3 (Protective
Action Criteria) — airborne concentration thresholds
(in ppm or mg/m³) compiled by the U.S. Department of Energy for
emergency planning. PAC combines three recognised toxicological
standards (AEGL, ERPG and TEEL) into one three-tier hierarchy of
health effects for a 60-minute exposure:
- PAC-1 — above this, the general population may experience mild, transient discomfort, irritation or a noticeable odour; the effects are not permanent and pass once the person leaves the area;
- PAC-2 — above this, serious or irreversible health effects may occur, or symptoms that impair the ability to escape (for example strong eye burning, shortness of breath, disorientation);
- PAC-3 — above this, there is a direct threat to life or a risk of irreversible, often fatal, health effects.
3. Weather
Atmospheric conditions — above all wind speed and the stability of the air — are key inputs to the dispersion model. They decide how fast, how far and in which direction the cloud travels, and how quickly it is diluted.
Ways to enter the weather
- Enter conditions manually — the default. Enter any observed or hypothetical conditions. Works fully offline, which makes it ideal for training, exercises and "what-if" analyses (how a forecast change would alter the zones).
- Use current conditions — in the hosted public version this shows "Not available — this installation has no weather relay configured". It is switched off on purpose, for security, for users' privacy and to avoid loading external API servers. The project repository and documentation contain full instructions for setting up your own weather relay and connecting HAZEL to a weather station or forecast API.
Quick presets
To speed up work and compare extreme cases quickly, three presets are available:
- Typical day — moderate wind (5 m/s), partly cloudy, 15 °C, neutral stability.
- Worst case — the least favourable conditions for safety: light wind (1.5 m/s), clear night, 5 °C, very stable air and a low inversion (100 m). The gas disperses most slowly, so the toxic zones reach furthest.
- Windy day — strong wind (10 m/s), overcast; the cloud moves fast but is also mixed and diluted strongly.
Choosing a preset fills in all the fields. Changing any field afterwards removes the preset's highlight, to show that your own combination is now in use.
The inputs
- Wind speed — sets how fast the cloud travels. Enter it in m/s, km/h, mph or knots.
- Wind blowing from — the direction the wind comes from (degrees 0–360 or a compass point such as SW). The cloud moves the opposite way (downwind): with a wind from the south-west (225°) the zone extends towards the north-east (45°).
- Measurement height — the height at which the wind was measured; 10 m for standard weather stations and masts. HAZEL uses it to work out the wind speed at the heights the models need, taking ground roughness into account.
- Air temperature — in °C or °F. It affects the heat balance of a puddle, the vapour pressure of an evaporating substance and the density of the gas relative to air.
- Cloud cover — in oktas, from 0/8 (clear sky) to 8/8 (overcast). Together with the sun's elevation it determines the stability class.
- Relative humidity — in %. It is used in the heat balance of an evaporating puddle and in how much thermal radiation from a fire the air absorbs. HAZEL does not model reactions of a substance with moisture (see About).
- Time of day — Daytime or Night. If the Location step has coordinates and a time, HAZEL calculates the sun's elevation itself and ignores this switch, to avoid a physical contradiction. To force a particular time of day, change the time in the Location step.
- Ground roughness (z0) — how much the
ground slows the air:
- Open country (z0 = 0.03 m) — flat land, meadows, farmland without obstacles;
- Urban or forest (z0 = 1.0 m) — industrial areas, housing, dense forest; strong turbulence near the ground and faster dispersion;
- Open water — roughness changes with wind speed (waves);
- Custom value — enter z0 for specific terrain.
- Low-level inversion — None or Present, with its height. An inversion acts as a lid: warmer air above cooler air stops the gas from mixing upwards and traps it near the ground, which can raise concentrations far downwind considerably. It is applied in the Gaussian model; a heavy gas stays near the ground anyway.
Derived conditions
As you type, the Derived conditions panel shows the values that will go into the calculation:
- Stability class — the Pasquill–Gifford class (for example D) worked out from wind speed, cloud cover and the sun's elevation;
- Sun elevation — the sun's angle above the horizon (for example 28.4°), when the Location step has a time;
- Wind speed in m/s and the wind direction;
- Cloud travels toward — the direction of the cloud's movement (for example 45° NE for a wind from 225° SW);
- Temperature in kelvin (for example 288.15 K);
- Surface roughness and the inversion height, if any.
Override stability class
By default the stability class is determined automatically. You can also set a class from A to F yourself:
- A — very unstable (strong vertical mixing, sunny day, light wind);
- B — moderately unstable;
- C — slightly unstable;
- D — neutral (overcast day or night, or strong wind);
- E — slightly stable (night, some cloud);
- F — very stable (clear night, light wind — the worst case for dispersion).
Use the override only when you have better measurements from the scene (for example a SODAR wind profiler or a weather station that measures fluctuations in wind direction), or when comparing results with another simulation program.
4. Source
The Source step describes how the dangerous substance gets into the air. The release rate (in kg/s) and how long it lasts are crucial: together with the weather, they decide the size and shape of the threat zones on the map. This step also chooses the dispersion model (Gaussian plume or heavy gas) from the computed physical parameters. HAZEL offers three types of release: Direct, Evaporating puddle and Ruptured tank.
Type 1: Direct
Use this when the release rate is already known (from process measurements or design data), or to see how sensitive the zones are to an assumed rate.
- Release rate (kg/s) — the mass entering the air each second.
- Duration (s) — how long the release lasts. The dispersion model covers releases of up to one hour (3,600 s). Short releases are handled as well: the cloud is then a moving "puff" rather than a steady plume, and concentrations far downwind are correspondingly lower.
- Source height (m) — the height of the release point above the ground (a stack, a vent on a roof). The wind that carries the plume is then taken at that height.
Physical note: the source height is used only by the Gaussian model. If the cloud is dense enough to be treated as a heavy gas, HAZEL — following ALOHA's method — treats it as released at ground level (0 m), since a heavy gas sinks quickly anyway.
Computed source strength
As soon as the inputs are complete, a summary panel shows:
- Rate and amount — peak and average release rate, total amount released and duration.
- Density ratio and Richardson number (Ri) — HAZEL compares the density of the cloud with that of the air (for example "12.6 times denser than air") and computes the dimensionless Richardson number, which weighs gravity against the mixing caused by the wind. Above the threshold of 1.95 gravity wins: the cloud slumps and spreads sideways along the ground, and HAZEL switches to its heavy-gas calculation. (The ALOHA documentation states a threshold of 1; with HAZEL's way of computing Ri, 1.95 reproduces ALOHA's own choice of model in every comparison run.)
- Dispersion model — set to Automatic by default, which applies the rule above. You can force Gaussian or Heavy Gas instead, for example to see a borderline case (Ri about 1.8–2.1) both ways, or to compare with another tool that chose differently. Heavy Gas cannot be forced for a cloud lighter than air. A forced choice is stated in the banner on the Results page and in the PDF report.
Type 2: Evaporating puddle
For a liquid spilled on the ground. The evaporation rate is not constant: it falls over time because evaporation cools the liquid (it draws heat from itself), lowering its temperature and vapour pressure, while the ground, the air and the sun heat it again.
- Spilled mass (kg) — the total mass of liquid in the puddle.
- Puddle area (m²) — the real area of the spill. If it is confined by a bund, kerbs or a drip tray, enter the area of that enclosure.
- Ground surface — Default soil, Concrete, Dry sandy soil or Moist sandy soil. The ground is a source of heat for the evaporating liquid; how well it conducts heat decides how fast it warms the puddle and keeps evaporation going.
Properties that must be supplied. HAZEL's built-in threshold database contains no thermodynamic data for liquids. If a value is missing, HAZEL asks for it, with a small "?" button that explains where to find it:
- Liquid density (kg/m³) — CAMEO Chemicals (Physical Properties → Specific Gravity × 1000) or the NIST Chemistry WebBook.
- Liquid heat capacity (J/(kg·K)) — NIST Chemistry WebBook (Condensed phase thermochemistry data).
- Boiling point (K) — CAMEO Chemicals or NIST Chemistry WebBook (K = °C + 273.15).
- Heat of vaporisation (J/mol) — the ΔvapH° value from the NIST Chemistry WebBook. Important: use the value at the boiling point, not at 25 °C — the 25 °C value is higher and would make the estimated evaporation too low.
Why are some values not built in? Unlike the open PAC database, sources such as CAMEO or NIST can have complex legal and copyright status. To stay within the law, keep HAZEL fully open source and protect the project from licensing claims, we do not bundle external databases. Looking up a single value takes less than a minute — a fair trade-off for a tool that is independent and free. Values you enter once can be saved in the Chemical library and are then filled in automatically.
Type 3: Ruptured tank
A release from a storage tank or tanker through a hole or a damaged fitting. The physics of the release depends on what the tank holds and on its geometry.
Vessel
- Contents — Liquid, or gas liquefied under pressure (for example acetone, chlorine, ammonia, propane) or Gas only (compressed) (for example carbon monoxide, methane, hydrogen). HAZEL suggests the right choice from the substance: a gas above its critical temperature cannot be held as a liquid at any pressure.
- For a compressed gas: the tank pressure (absolute, in atm — a gauge reading plus one atmosphere), the gas's heat capacity ratio γ (1.4 for CO, nitrogen, oxygen, hydrogen and air; about 1.3 for methane) and, optionally, its critical temperature and pressure (NIST Chemistry WebBook → Phase change data → Tc, Pc). With them HAZEL corrects the tank's contents for real-gas behaviour, which matters at high pressure (methane at 50 atm: about 11% more gas than an ideal gas). The acentric factor ω can be left empty; HAZEL estimates it.
- Shape — horizontal cylinder, vertical cylinder or sphere.
- Size and filling — diameter, length and how full the tank is (%), from which HAZEL shows the capacity in m³ and litres.
Rupture
- Opening shape — circular or rectangular, with its dimensions.
- Height above tank bottom (m) — a key parameter for a liquid: the lower the opening, the greater the liquid head above it and the more liquid escapes. Liquid below the bottom edge of the opening cannot leave the tank. (Not needed for a compressed gas.)
- Pipe or valve length (m) — 0 m means a hole in the tank wall; values up to 0.10 m represent the resistance of a short pipe or a damaged valve.
Where the liquid lands — only for liquids below their boiling point (for example acetone, methanol, petrol), which form a puddle that spreads and evaporates:
- Maximum puddle area (m²) — the area limited by a bund, kerb or the edge of a paved yard. If left empty, HAZEL lets the liquid spread until it is 5 mm deep, which for a large leak gives a very large evaporating surface.
- Ground surface — decides how much heat the ground supplies to the puddle.
Two-phase release (gases liquefied under pressure). A gas liquefied under pressure (chlorine, ammonia, propane) flashes as it escapes: part of the liquid boils off instantly and the rest is torn into fine droplets, forming a turbulent two-phase jet. As in ALOHA, all of it is assumed to enter the air instead of partly raining out to form a puddle — a deliberate overestimate. Whether the resulting cloud is then modelled as a heavy gas depends on the Richardson number; for ammonia, which is lighter than air, HAZEL uses the Gaussian model (see About → Known simplifications).
5. Results
The Results step summarises the simulation. It shows the extent of the toxic or fire hazard zones on an interactive map and in numbers, lets you export reports, and gives access to two further modules: fire and explosion if the release ignites, and indoor concentration (shelter in place).
Threat zones on the map
- Model message — above the map, a short message states which dispersion model is used and why: that the cloud is lighter than air and cannot slump (Gaussian model); that it is denser than air but the wind mixes it faster than gravity can act (Ri below 1.95, Gaussian model); or that gravity dominates (Ri above 1.95) and the cloud slumps and spreads along the ground (heavy-gas model). If inputs are still missing, the message lists what is needed instead.
- Moving the map — the map (Leaflet, with OpenStreetMap tiles) is set up for phones: swiping with one finger scrolls the page rather than the map. Zoom with the +/− buttons, a double tap or a pinch; the mouse wheel does not zoom.
- Concentration at a point — click anywhere on the map to see the modelled concentration at exactly that point (upwind of the source the model predicts no plume).
- Zone dimensions — below the map, each zone (PAC-1, PAC-2, PAC-3) is described by two numbers: how far it reaches downwind from the source, and how wide it is at its widest.
- Levels — PAC-3 (threat to life), PAC-2 (serious health effects, impaired ability to escape) and PAC-1 (mild, transient effects).
Saving and exporting
- Save scenario — stores the complete scenario in your browser's local storage on this device; nothing is sent to any server. Clearing the browser's site data (not only cookies) deletes saved scenarios — this also applies to the installed app (PWA).
- Download KML — exports the zone outlines with their coordinates for GIS software (QGIS, ArcGIS, Google Earth).
- Download PDF report — a complete printable document with the inputs, the results and the map.
Fire and explosion, if it ignites
This part answers the question: what happens if the released cloud or pool ignites? Unlike a toxic cloud, which drifts with the wind, these effects radiate or blast outwards from the source. Ticking Consider ignition opens four scenarios:
- Fireball (BLEVE) — immediate ignition of a pressurised tank that ruptures catastrophically. The whole mass from the Source step is taken as the fireball mass.
- Vapour cloud explosion (VCE) — delayed ignition of the dispersing flammable cloud, producing a blast wave. You choose the fuel reactivity and how congested the site is, and whether ignition is a high-energy detonation; the flammable mass is taken from the dispersion calculation.
- Pool fire — liquid burning in a pool on the ground; needs the pool diameter.
- Jet fire — a gas or liquid escaping from a pressurised tank and burning as a standing flame (a torch); needs the orifice diameter and the gas's heat capacity ratio.
All four need the substance's heat of combustion (J/kg), which the threshold database does not include.
Indoor concentration — shelter in place
This module helps judge whether sheltering in place is better than evacuating. It estimates how much toxic gas from a passing cloud gets inside a nearby building. A reasonably tight building acts as a slow filter: the indoor concentration rises and falls much more slowly than the cloud outside and usually peaks lower (method after Wilson and Sherman, as used by ALOHA).
- Downwind distance to the building (m) — measured along the centreline of the cloud, where exposure is greatest. You can take it from a point clicked on the map.
- Infiltration time constant — either Estimate from building parameters or I'll specify it directly, if the building's air exchange rate is known.
- Building floor area (m²) — the reference value is 160 m², an average family house.
- Building height — single storey (2.5 m) or two storeys (5 m).
- Exposure to wind — unsheltered (an isolated building) or sheltered (surrounded by other buildings).
- Assumed indoor temperature (°C) — the difference between indoor and outdoor temperature drives the stack effect, which, together with the wind, is the main force pushing air through gaps in the building.