A vendor sheet says 2.5" sch 40 pipe, 1.664" bore plate, 200 inches of water at full scale, 6,000 lb/hr of 160 psig steam. You want to take the dP the transmitter is actually reading at 2 a.m. and turn it into pounds per hour. Every formula you open gives a different number, and none of them land on 6,000. The problem is almost never the arithmetic. It is that three different orifice formulas exist for three different questions, and the units in two of them are already baked in.
Check 1: Is the plate measuring flow or killing pressure?
Orifice plates do two unrelated jobs, and the calculation split follows the job.
- Flow element. The plate exists so you can infer flow from dP. Taps sit right at the plate: corner taps, flange taps, or D and D/2 taps. The dP you measure is the sharp local drop before the fluid recovers.
- Restriction orifice. The plate exists to burn pressure. The number that matters is the overall or permanent pressure drop, measured roughly 2 diameters upstream and 10 diameters downstream, after recovery is complete.
Crane's data is the second kind. It is a system-resistance reference for matching pumps and pressure sources to piping, and it makes no claim to be an instrumentation manual. Feed a flow-element dP into a Crane-style resistance calculation and you are solving a different problem with the right-looking inputs.
Decide this by walking the line. Taps within one pipe diameter of the plate, or a flange union with tappings drilled in it, means flow measurement. Go to Check 2. Taps far apart on straight run, or no taps at all and only a system pressure profile, means restriction. Stop using the vendor's 200 inH2O number entirely, because that is not the loss your system sees.
Check 2: Convert measured dP to permanent loss before you compare
Close-tap dP is always larger than the far-tap drop, because the jet re-expands downstream of the vena contracta and recovers part of the pressure. For a sharp-edged plate the permanent loss fraction runs off the beta ratio and discharge coefficient:
So the 200 inH2O the transmitter sees at full scale is only about 109 inH2O — roughly 3.9 psi — of real system loss. That single factor explains most "my Crane number is half the vendor's number" complaints. It is not an error in either method; they answer different questions.
Check 3: The quick fixes that miss, and why
Three shortcuts get tried first on every shift. All three are wrong for a sharp-edged steam metering plate.
- Crane K-factor / equivalent-length method. Gives permanent loss, not tap dP. Off by roughly the 0.545 factor above, in the direction that makes your flow look high.
-
The general compressible (nozzle) equation. The form
Mdot = Cd*A*{(2x/(x-1))*P1*Roh1*(P2/P1)^(2/x)*[1-(P2/P1)^((x-1)/x)]}^0.5is dimensionally consistent and works in any rational unit system — but it is a one-dimensional, single-restriction model built for nozzles and venturis, where the flow area is the physical throat. A square-edged orifice has a vena contracta downstream of the plate whose area and shape change with pressure ratio. Use the ISO/ASME expansion-factor form instead whenever conditions differ meaningfully from clean one-dimensional flow. - Assuming 100 inH2O full scale. Do not assume the standard range. The plate was bored for the range on the datasheet; 1.664" bore and 200 inH2O go together. Read the actual transmitter URV.
Check 4: Audit the units before blaming the formula
Inches of water is a manometer height, not a pressure unit you can drop into a mass-flow equation. Convert once, at the top:
200 inH2O x 0.0361 psi/inH2O = 7.22 psi
7.22 psi x 144 in^2/ft^2 = 1,040 lbf/ft^2
160 psig + 14.7 = 174.7 psia
Then separate pounds-force from pounds-mass and carry gc explicitly. In English engineering units 1 lbf = 1 lbm x 32.2 ft/s^2, so gc = 32.174 lbm*ft/(lbf*s^2). The velocity-head term becomes:
sqrt(2 * gc * dP * rho)
= sqrt(2 * 32.174 [lbm*ft/(lbf*s^2)] * 1040 [lbf/ft^2] * 0.385 [lbm/ft^3])
= 160.6 lbm/(ft^2*s)
Mass flux times area gives lbm/s. If your answer does not fall out as mass per unit time, you have a hybrid formula with conversions already buried in a coefficient — the kind that cannot be dimension-checked. Throw it out and use a fundamental form.
Check 5: Are you anywhere near choked flow?
The general compressible equation stops increasing flow below the critical pressure ratio:
(P2/P1)crit = (2/(x+1))^(x/(x-1))
For steam, x = Cp/Cv ~ 1.30: (2/2.30)^4.333 = 0.546
At 174.7 psia inlet, choke would need P2 below about 95 psia — a drop of 80 psi. You are working with 7.22 psi, a ratio of 0.959. Nowhere close. Metering plates are always sized well clear of choke; restriction orifices frequently are not. One caveat for restriction service: with a square-edged plate the choking surface itself changes shape as differential rises, so the net choking area grows and flow can keep climbing after sonic velocity is reached at the throat. Do not treat the textbook choke limit as a hard flow ceiling on a sharp-edged plate.
Symptoms versus causes
| What you see | Cause | Check |
|---|---|---|
| Answer roughly 35% high, units correct | Permanent-loss dP used as tap dP | Apply the 0.545 recovery factor for beta = 0.674 |
| Answer comes out in ft/s or lbf-ft, not lb/hr | gc missing, or lbm and lbf mixed | Label every mass as lbm, every force as lbf |
| Answer 1-3% high at high dP | Expansion factor omitted (incompressible form) | Compute epsilon; ~0.986 at dP/P1 = 0.041 |
| Answer ~12% low | Velocity-of-approach term dropped | 1/sqrt(1-beta^4) = 1.122 here |
| Flow scales linearly with dP | Square root not applied | W is proportional to sqrt(dP) |
| Flow reads high whenever header pressure sags | Density fixed at design value | Add sqrt(rho_act/rho_des) correction |
Get it running: scale from the rated point
You do not need the full equation to convert a field reading. The plate geometry, discharge coefficient and beta all cancel between two points on the same plate, leaving:
W_actual = W_design * sqrt(dP_actual / dP_design) * sqrt(rho_actual / rho_design)
Example: 120 inH2O read, header still at 160 psig
W = 6000 * sqrt(120/200) * 1.0 = 6000 * 0.7746 = 4,650 lb/hr
Before you trust the reading, do these four things:
- Equalize the transmitter manifold and confirm it reads zero. Any offset here is a fixed error on every flow number you calculate.
- Check both condensate pots are at the same elevation and both legs are full. Unequal legs put a constant head into the dP and are the single most common cause of a steam meter reading a flow with the valve shut.
- Confirm the transmitter output is linear dP, not square-root extracted, before you take the square root yourself. Doing it twice is a classic.
- Read line pressure at the tap. If the header has dropped, density has dropped, and the density correction above is no longer 1.0.
Accuracy degrades badly below roughly 25-30% of full-scale flow, where dP falls to under a tenth of range and the discharge coefficient starts drifting with Reynolds number. Treat low-end readings as trend data, not billing data.
Fix it properly: the full calculation, worked
The metering form used by the vendor's program is the standard differential-pressure equation:
qm = (C / sqrt(1 - beta^4)) * epsilon * (pi/4) * d^2 * sqrt(2 * gc * dP * rho1)
Run it on the datasheet point. Assumption: saturated steam at 174.7 psia, density read from steam tables as 0.385 lbm/ft^3. If the steam is superheated, read the actual density at measured temperature and pressure instead.
- Geometry. d = 1.664 in = 0.13867 ft, area = 0.015103 ft^2. D = 2.469 in, beta = 0.674, beta^4 = 0.2064.
- Velocity of approach. 1/sqrt(1 - 0.2064) = 1.122.
- Discharge coefficient. C is about 0.605 for flange taps at this beta and pipe Reynolds number. C/sqrt(1-beta^4) = 0.679.
- Expansion factor. dP/P1 = 7.22/174.7 = 0.041; with x = 1.30, epsilon works out near 0.986.
- Mass flux. sqrt(2 * 32.174 * 1040 * 0.385) = 160.6 lbm/(ft^2*s).
- Multiply. 0.679 x 0.986 x 0.015103 x 160.6 = 1.62 lbm/s = 5,850 lb/hr.
Verification. 5,850 against the vendor's 6,000 lb/hr is 2.5% low — inside the combined uncertainty of an assumed saturated density and a textbook C. Nudge the density to 0.406 lbm/ft^3, or C to 0.62, and it lands exactly. That agreement is the confirmation that your spreadsheet is now solving the same problem the vendor's program solved. If you are more than 10% off, the error is structural, not tuning: go back to Check 1 and Check 4.
Once the calculation reproduces the rated point, drive it with field dP and field pressure directly rather than scaling. That picks up density and expansion-factor changes automatically as header conditions move.
Stop here and escalate
Stop if your result stays more than 10% off the datasheet point after the tap, unit and expansion checks, or if the plate turns out to be uncalibrated, damaged, or installed backwards — a reversed bevel changes C by more than any correction you can apply on paper. Send the plate bore, pipe schedule, tap type, and design pressure and temperature to the meter manufacturer and ask for the sizing printout with the coefficients it used.
FAQ
Why does my Crane manual calculation disagree with the vendor's orifice flow number?
Crane gives overall permanent pressure loss, measured roughly 2 diameters upstream and 10 diameters downstream, while a metering plate's dP is taken at the plate before pressure recovers. For a beta of 0.674 the permanent loss is only about 54% of the tap dP, so 200 inH2O across flange taps is about 109 inH2O of real system loss.
Why does my answer come out in the wrong units instead of lb/hr?
Pounds-force and pounds-mass are being mixed. Carry gc = 32.174 lbm*ft/(lbf*s^2) explicitly, convert inches of water to lbf/ft^2 (200 inH2O = 7.22 psi = 1,040 lbf/ft^2), and the term sqrt(2*gc*dP*rho) resolves to lbm/(ft^2*s), which times orifice area gives lbm/s.
Why does halving the differential pressure not halve the steam flow?
Flow varies with the square root of dP, so half the dP is 71% of the flow. Scale from the rated point with W = 6000 * sqrt(dP_actual/200), then multiply by sqrt(rho_actual/rho_design) if header pressure has moved off the design value.