18 September 2026 · 14 min read

Corrected, dry and referenced: when a dust reading becomes a compliance number

Drawn from the DOE CEMS Guidelines (Version 8, 2025), which we helped develop, the international standards they implement — EN 14181 and ISO 9096 — and the Environmental Quality (Clean Air) Regulations 2014. A plain walk-through of why the number on a dust monitor is not yet the number the law compares against — and what closes the gap.

A transmissometer dust CEMS on a biomass boiler — the kind sitting on almost every palm oil mill stack in Malaysia — will, after calibration, put a tidy figure on the screen: so many milligrams per cubic metre. It is tempting to read that figure straight across to the limit — 150 mg/m³ — and call it compliant or not. But the two numbers are not on the same footing. The limit in the Clean Air Regulations is not “150 mg/m³” full stop; it is 150 mg/m³ at standard temperature and pressure, on a dry basis, referenced to 12% carbon dioxide. The reading coming off a bare dust monitor is at none of those conditions. It is measured in hot, wet flue gas, at whatever pressure and whatever CO₂ the boiler happens to be producing that minute.

Getting from one to the other is what “correction” and “normalisation” mean. It is not a formality, and — this is the part that matters for a great many mills — it needs measurements a dust monitor does not make on its own.

And here the field reality is stark. In Malaysian palm oil mills today, the transmissometer dust monitor is installed on its own. The moisture and CO₂ measurements that normalisation depends on are simply not there, and in most cases no data-acquisition correction stage is present at all. So the number on the screen is, and stays, a reading at actual stack conditions — while the limit it will be judged against is written on a different basis entirely. This article is about that gap: what it is, why it is easy to miss, and what closes it.

What the limit is actually written against

Every emission limit has to state the conditions it applies at, or it can be gamed. Open a damper, pull in more excess air, and the same mass of dust leaving the stack is diluted into a larger gas volume — the concentration falls without a single milligram less being emitted. So the regulation fixes the conditions: report the dust as if the gas were dry, at 273 K and 101.3 kPa, and diluted to a fixed reference level. For fuel-burning equipment not covered by the First Schedule — which is where an ordinary biomass boiler, a palm oil mill’s included, sits — the Second Schedule of CAR 2014 is explicit: “The CO₂ reference content is 12%,” and Total Particulate Matter is limited to 150 mg/m³.

That single sentence settles a question we are asked constantly on site: should the correction gas be CO₂ or O₂? For a biomass boiler under the Second Schedule, the schedule has already answered — it is CO₂, at 12%. Oxygen only enters for the large installations in the Third Schedule (Heat and Power boilers above 10 MWe, referenced to 6% O₂ for solid fuel). The two are not interchangeable house preferences; the regulation assigns a different reference gas to each category, and for the mill boiler it is carbon dioxide.

Which reference gas? The schedule decides

The reference gas is set by which schedule a boiler falls under Two panels. Left: the Second Schedule, covering ordinary fuel-burning equipment such as a biomass boiler at a palm oil mill, sets a carbon dioxide reference of 12 percent and a total particulate matter limit of 150 milligrams per cubic metre. Right: the Third Schedule, covering large Heat and Power boilers above 10 megawatts electrical, sets an oxygen reference of 6 percent for solid fuel. The ordinary biomass boiler uses the left panel. Second Schedule Fuel-burning equipment (the biomass boiler) 12% CO₂ reference gas · TPM 150 mg/m³ ◄ applies to a palm oil mill boiler Third Schedule Heat & Power boilers above 10 MWe 6% O₂ reference gas (solid fuel) large plant only
The reference gas is not a matter of preference — it is set by the schedule the boiler falls under. An ordinary biomass boiler is a Second-Schedule source: CO₂ at 12%.

From a light measurement to a compliance number

A transmissometer dust monitor never measures milligrams — it measures light, and its control unit turns that light into a concentration using the calibration coefficients cc0, cc1 and cc2 established during QAL2. That is the whole job of the control unit, and it is done superbly. But notice what basis the number lands on. The calibration is built against gravimetric sampling expressed at the conditions the monitor itself sees — the actual, wet, hot stack gas — so the mg/m³ the control unit outputs is dust at actual stack conditions. Honest, traceable, correctly calibrated — and not yet on the ELV’s basis.

Three more steps stand between that reading and a compliance number, and each one needs a measurement the dust monitor does not make:

The chain from a light measurement to a compliance number

From a light measurement to a compliance number, and where a dust-only monitor stops A vertical chain. The transmissometer measures extinction and opacity; the control unit applies the calibration coefficients cc0, cc1 and cc2 to output dust in milligrams per cubic metre at actual stack conditions. A dust-only installation stops there. Three further steps are needed to reach a compliance number: correct to standard temperature and pressure, which needs stack temperature and pressure; convert to a dry basis, which needs a moisture measurement; and normalise to the 12 percent carbon dioxide reference, which needs a CO2 analyser. The result is milligrams per cubic metre at STP, dry and 12 percent CO2, which is the basis the 150 limit is compared on. Transmissometer measures light transmission · opacity · extinction Control unit applies cc0 / cc1 / cc2 Dust mg/m³ — at actual stack conditions calibrated, traceable — but not yet referenced INSTALLED transmissometer only A dust-only monitor stops here — everything below needs more sensors Correct to STP 273 K · 101.3 kPa needs: temperature + pressure Convert to a dry basis remove the water-vapour dilution needs: moisture (H₂O) Normalise to 12% CO₂ the Second-Schedule reference needs: CO₂ analyser Compliance number mg/m³ at STP · dry · 12% CO₂ compared against ELV 150 mg/m³
The control unit's output is honest dust at actual conditions. Three correction and normalisation steps — each needing its own measurement — turn it into the number the 150 mg/m³ limit is written against. A dust monitor alone cannot take those steps.

The sensors that do the correcting

The correction is not something the dust monitor’s control unit does, and never was. Under the Guidelines, converting the reading to STP, drying it, and referencing it to 12% CO₂ is a data-acquisition function — the job of the data-acquisition and handling system (DAHS), which would take the dust reading and combine it with live gas measurements. On a dust-only mill that stage has nothing to work with — and, in practice, is usually not even present — because the sensors that feed it were never installed.

Four measurements are involved. Temperature and pressure bring the gas to STP; a modern in-situ dust monitor can usually supply these itself. The two that a dust-only mill is genuinely missing are moisture (to reach a dry basis) and CO₂ (to reach the 12% reference). Those are the additions that actually move the number.

What a compliant TPM CEMS carries — and what a dust-only mill is missing

The sensor stack for a compliant TPM CEMS On the stack: a dust monitor, which is installed, shown in green; and three peripheral measurements — temperature and pressure, moisture, and CO2 — shown dashed and grey as missing on a dust-only mill. All feed a data-acquisition and handling system, the DAHS, which produces the normalised compliance value transmitted to DOE. Without the peripherals the DAHS can only pass through the dust reading at actual conditions. At the stack Transmissometer dust monitor · installed Temperature + pressure Moisture (H₂O) CO₂ analyser dashed = missing on a dust-only installation DAHS applies STP · dry · 12% CO₂ correction Compliance value to DOE's CEMS system every minute
Normalisation lives in the DAHS, not the dust monitor. Feed it the peripherals and it outputs a referenced compliance value; starve it of them — or leave it out entirely, as most mills do — and the best that reaches DOE is the dust reading at actual conditions.

There is a tempting shortcut worth naming so nobody takes it: fitting the control unit’s cc0/cc1/cc2 against standardised sampling instead, so the monitor appears to output a “12% CO₂” number with no peripherals at all. That does not measure anything — it bakes the average CO₂ and moisture of the calibration day into the coefficients, freezes them there, and lets them drift as the boiler’s excess air and fuel wetness change through the season. Worse, it hides the assumption inside the sensor’s output, where there is no separate raw record to check it against. The honest calibration and the correct engineering are the same choice here: let the monitor output real dust at measured conditions, and do the normalisation downstream where it can be seen.

Why the annual test passes anyway — and why that is the trap

Here is where mill operators often expect trouble that does not come, and miss the trouble that does. If the installation cannot normalise, surely the QAL2 calibration and the Annual Surveillance Test (AST) — which compare the CEMS against fresh reference sampling — must fail?

They do not, and the reason is instructive — and worth being precise about, because none of this is a DOE peculiarity. The QAL2 and AST procedure is EN 14181, the international standard the DOE Guidelines implement, and the reference sampling it is measured against is the gravimetric method of ISO 9096 (aligned in Malaysia as MS 1596). During any QAL2 or AST campaign the reference tester brings a full set of portable instruments and measures the stack’s temperature, pressure, moisture and CO₂ for every run — EN 14181 requires it. Those readings describe the stack gas, which the CEMS is looking at simultaneously, so the same figures are used to standardise both sides. And the calibration function itself, by EN 14181’s method, is fitted with the reference values converted to the monitor’s actual measuring conditions — not standardised — so the coefficients are legitimate regardless. The variability and acceptance tests then run on standardised values on both sides.

Two bases in one test — calibrate at stack conditions, judge on the referenced basis

QAL2 and AST use two bases Left panel: the calibration function, coefficients cc0, cc1 and cc2, is fitted from the raw monitor signal against reference sampling expressed at actual stack conditions. Right panel: the variability and acceptance tests, and the comparison against the emission limit, are done on standardised values, both the CEMS and the reference sampling corrected to STP, dry and the reference gas. Calibration function fitted here cc0 / cc1 / cc2 at ACTUAL stack conditions raw monitor signal vs reference sampling at stack conditions the control unit's number lives here EN 14181 · Guidelines A4.6 / A4.9 Variability & ELV test here the pass / fail decision on STANDARDISED values CEMS and reference both corrected to STP · dry · 12% CO₂ tramlines drawn at the ELV EN 14181 · Guidelines A4.10–A4.12
The calibration is built at stack conditions; the pass/fail is judged on the referenced basis. On test day the tester's own instruments supply the correction — which is exactly why a dust-only mill can still pass.

Now the subtle part. Because the same correction factor is applied to the CEMS value and the reference value — they are the same gas at the same moment — the normalisation scales both together and preserves their agreement. A monitor that tracks the reference well at stack conditions tracks it just as well after both are standardised. Normalisation cannot make a well-calibrated instrument fail. So the dust-only CEMS passes QAL2 and passes AST.

And that is the trap, because passing is not the same as reporting correctly. The tester plugs the sensor gap for one day and leaves. The other 364 days, with no CO₂ and no moisture on the stack, the DAHS — where there is one — has nothing to normalise with, and the value transmitted to DOE’s CEMS system every minute is dust at actual conditions — compared, at DOE’s end, against a limit written at 12% CO₂. The annual test certifies a referenced measurement the installation only assembles on test day.

The inversion: the test passes, the daily data does not

A dust-only CEMS passes the annual test but transmits off-basis daily data Left: on test day, the reference tester supplies temperature, pressure, moisture and CO2, both sides are standardised, and the CEMS passes QAL2 and AST. Right: every other day there is no CO2 and no moisture on the stack, so the data sent to DOE is dust at actual conditions compared against a limit set at 12 percent CO2 — off basis. On test day ✓ Tester supplies T, P, moisture, CO₂ Both sides standardised QAL2 & AST PASS the instrument is genuinely fine Every other day ✗ No CO₂, no moisture on the stack Data sent at actual conditions OFF THE ELV BASIS judged against a 12% CO₂ limit
The problem was never a failing test. It is the reverse: the test passes while the everyday data going to DOE is not on the basis the limit is written against.

What this means for a mill

First, check which regime the stack is even in. The continuous-CEMS obligation is triggered when the boiler’s dust load reaches 2.5 kg/h — a figure read off the stack-test certificate as concentration times flow, not a desk estimate. If Total Particulate Matter for that specific premise is periodic-only under its licence, there is no continuous calibration to maintain and no permanent peripherals are needed: each periodic isokinetic test measures and corrects its own result on the day. The four-sensor question only bites where continuous monitoring applies.

Where it does apply, the honest position is straightforward, and it is two claims kept firmly apart. The calibration can be stated with full confidence: the monitor’s cc0/cc1/cc2 are properly derived and traceable to corrected, normalised reference sampling. What cannot yet be claimed is that the daily reported value is on the 12% CO₂ basis — that waits on live CO₂ and moisture measurement feeding the DAHS. A referenced instrument on paper and a referenced number every minute are different things, and only the sensors close the gap between them.

So the case for adding a QAL1-certified CO₂ analyser and a moisture measurement is not about passing the annual test — a dust-only mill already does. It is about making the everyday number mean what the annual test certifies, and what the limit assumes. That is the difference between a monitor that looks compliant once a year and a CEMS that reports compliantly every minute. It is, in the end, the whole point of continuous monitoring.

If you are running a dust-only transmissometer on a biomass boiler and are not sure which side of this line you are on, talk to us — establishing the correct correction chain, and the sensors it needs, is core to what we do.


This article explains how the DOE CEMS Guidelines and the Clean Air Regulations 2014 treat correction and normalisation of dust data. It is general guidance, not a substitute for your stack’s licence conditions or a DOE-registered CEMS tester’s assessment of your installation.

← All insights