Specific Gravity and Bulk Density: Why Your Tonnage Is Wrong
SG measurement methods, common errors, and why tonnage errors dwarf grade errors. Indonesian nickel laterite case study where SG varied 1.2 to 1.8 across the deposit.
Here’s a question that catches most geologists off guard: which is bigger, the error in your grade estimate or the error in your tonnage estimate? The answer is almost always tonnage. And the reason is almost always specific gravity.
We spend 90% of our QA/QC effort on assay quality — standards, blanks, duplicates, lab audits. All important. But the tonnage calculation multiplies volume by density, and density is usually measured on a handful of samples per domain, often with the wrong method, and sometimes not at all. A 5% error in grade is a discussion item. A 5% error in tonnage is a restructuring of the entire project economics.
Why tonnage errors are bigger than grade errors
Consider a gold deposit: 10 million tonnes at 2.5 g/t Au. The contained metal is 804,000 ounces.
- If your grade estimate is 5% high (true grade is 2.375 g/t), contained metal drops to 763,000 ounces. That’s a 41,000-ounce error — about $100M at current prices. Serious.
- If your SG is 5% high (true SG is 2.69, you used 2.83), tonnage drops to 9.47 million tonnes. At the correct 2.5 g/t, contained metal drops to 761,000 ounces. That’s a 43,000-ounce error.
Same order of magnitude. But here’s the difference: grade estimation uses hundreds or thousands of assay samples, with QA/QC protocols, duplicates, and lab certifications. SG is often measured on 30-50 samples per domain, with no QC samples, no duplicates, and sometimes with a method that’s wrong for the material.
The result: SG error is usually larger than 5%. On vuggy epithermal material, I’ve seen 15-20% SG errors. On laterite nickel, where SG ranges from 1.2 to 1.8 across a single deposit, using a single average SG can produce 25% tonnage errors.
SG measurement methods
1. Water displacement (Archimedes) — wax coating
The standard method for competent core. Weigh the sample dry, coat in paraffin wax, weigh again, then submerge in water and measure displaced volume.
Procedure:
- Cut a representative piece of core (10-15 cm length, no fractures if possible)
- Weigh dry: ( W_{dry} )
- Coat completely in paraffin wax. Weigh coated: ( W_{coated} )
- Submerge in graduated cylinder or use a hydrostatic balance. Record displaced water volume: ( V_{disp} )
- Calculate: ( SG = \frac{W_{dry}}{V_{disp} - \frac{W_{coated} - W_{dry}}{SG_{wax}}} )
Where ( SG_{wax} \approx 0.9 ).
Common error: Incomplete wax coating. Water infiltrates pores during submersion, volume is underestimated, SG is overestimated. Test: re-weigh the sample after submersion. If it gained weight, water got in.
2. Pycnometer (gas displacement)
Uses helium or nitrogen gas to measure volume. More accurate than water displacement for porous material because gas penetrates fine pores that water can’t reach (or that wax seals off).
When to use: Vuggy material, highly porous oxide zones, saprolite. Any material where wax coating is unreliable.
Common error: Assuming the pycnometric density equals the bulk density. It doesn’t. The pycnometer measures the true solid volume (including sealed pores), giving you the particle density, not the bulk density. For tonnage calculations, you need bulk density, which includes both solid particles and voids. If your material has significant porosity, pycnometric SG will overestimate bulk SG.
3. Core weighing (calibrated volume)
Weigh a known length of core. If the core diameter is consistent (HQ = 63.5mm, NQ = 47.6mm), volume = ( \pi r^2 h ). SG = weight / volume.
When to use: Quick check on competent, unbroken core. Good for validating wax-coating results.
Common error: Core diameter isn’t actually nominal. Deviation, swelling, or breakage means the assumed diameter is wrong. Always calibrate by measuring actual diameter at 3 points along the sample.
4. Sand replacement / water replacement (in-situ)
For undisturbed soil or saprolite, dig a small pit, weigh the excavated material, and fill the pit with calibrated sand or water to measure volume.
When to use: Laterite nickel, soft oxide zones, alluvial deposits. Any material where core recovery is poor and laboratory methods don’t represent the in-situ condition.
Common error: Cave-in of the pit walls. The measured volume is larger than the true excavated volume, SG is underestimated.
The Indonesian nickel laterite case
I worked on a Halmahera nickel laterite project where the SG story nearly derailed the resource estimate. The deposit had three zones:
| Zone | Typical SG | Range observed | Samples measured |
|---|---|---|---|
| Limonite (Fe-Ni oxide) | 1.35 | 1.2 - 1.5 | 120 |
| Saprolite (Mg-Ni silicate) | 1.65 | 1.4 - 1.8 | 85 |
| Bedrock (ultramafic) | 2.80 | 2.7 - 2.9 | 30 |
The initial estimate used a single average SG of 1.55 for the entire ore body. The tonnage came out at 12 million tonnes.
When I reviewed the data, the SG distribution was clearly bimodal. The limonite zone averaged 1.35, the saprolite averaged 1.65. Using a single average of 1.55 overstated limonite tonnage by 15% and understated saprolite tonnage by 6%. The nickel grade distribution was also different between zones — the saprolite was higher grade.
Re-estimation with domain-specific SG changed the tonnage to 10.8 million tonnes (10% lower) and the contained nickel by 8%. The project’s economics shifted from marginal to sub-marginal. The company had to restructure the mining sequence to prioritize the higher-grade saprolite.
Lesson: SG must be measured per domain, not per deposit. The drillhole validation checklist covers data validation — SG measurement is part of that, but it’s often treated as an afterthought.
How many SG samples do you need?
| Deposit type | Minimum per domain | Ideal per domain |
|---|---|---|
| Hard rock (Au, Cu, Pb-Zn) | 30 | 50-100 |
| Laterite Ni (per zone) | 50 | 100+ |
| Coal (per seam) | 20 | 40+ |
| Bauxite | 40 | 80+ |
These are per geological domain, not per deposit. If you have 5 domains, you need 5 × 30 = 150 minimum SG measurements.
QC for SG: Measure duplicates on 10% of samples. The acceptable relative difference is 3% for competent core, 5% for porous or vuggy material. If duplicates vary more than that, your measurement method is unreliable for that material type.
Common SG errors — checklist
- Single SG for entire deposit: Must be per domain
- Wax coating on porous material: Water infiltration. Use pycnometer or sand replacement
- Pycnometer SG used as bulk SG: Only valid for non-porous material. For porous material, apply a correction factor or use wax coating
- No SG duplicates: Can’t assess measurement reliability
- SG measured on unrepresentative samples: Only the best-looking core gets measured, biasing SG high
- No SG measurements at all: Using textbook SG values from a different deposit type. This is surprisingly common on early-stage projects
- Weathering boundary not sampled: SG changes across the oxide-transition-fresh boundary. If you only sample fresh rock, your oxide tonnage is wrong
- Core diameter assumed, not measured: Use calipers, don’t trust nominal diameter
How Orebit GeoSuite helps
The SG workflow in Orebit Core (Phase 01) and Orebit Resource (Phase 03):
- SG import: Upload SG measurements as a separate CSV column in the assay table. The tool maps SG to intervals automatically.
- Domain-specific SG assignment: Each estimation domain gets its own SG value, calculated as the mean of measurements within that domain. Outliers are flagged for review.
- SG statistics report: Mean, median, standard deviation, and count per domain. If any domain has fewer than 30 measurements, the tool warns you.
- Tonnage calculation: Block tonnage = block volume × domain SG. No single-SG fallback — the tool won’t calculate tonnage without domain-specific SG.
- Sensitivity analysis: Re-run the estimate with SG ±1σ to see how much tonnage shifts. If it’s more than 5%, you need more SG measurements.
This pairs with the assay QA/QC protocol — SG is a data quality issue, not just a calculation issue. The same discipline that catches assay failures should catch SG measurement failures.
Try Core free → · Get the bundle — Rp 99K → (single modules Rp 49K · one-time · yours forever)
Bottom line
Your tonnage is only as good as your SG measurements. If you’ve spent weeks auditing assay labs and haven’t checked how SG was measured, you’re optimizing the smaller error and ignoring the bigger one. Measure per domain, use the right method for the material, run duplicates, and don’t let the estimate proceed without a proper SG database.
Unsure if your SG database is sufficient? Email hello@orebit.id with the domain count and SG sample counts. I’ll tell you what’s missing.
Part of the Orebit ecosystem —
geological workflow tools for drillhole validation, resource estimation, and JORC/KCMI reporting.
→ Explore GeoSuite
Try the toolkit this article uses.
Orebit GeoSuite — single-file HTML, works offline, no install. From CSV to resource report in one afternoon.
Explore GeoSuite →# From this article: open geosuite.orebit.id load(your_drillhole.csv) apply(workflow_above) # Done. Ship the report.