Economic Geology
Ore deposit formation and classification, mining techniques and environmental impact, resource exploration methods, energy resources (oil, gas, coal, uranium), critical minerals and materials.
Economic Geology
Economic geology is the study of Earth's mineral and energy resources, their formation, distribution, and extraction. It encompasses both metallic and non-metallic resources that have economic value and examines the geological processes that concentrate these materials into mineable deposits.
Classification of Ore Deposits
Magmatic Deposits
Formed during crystallization of magmas:
Cumulate Deposits
Where is initial concentration, is fraction of liquid remaining, and is distribution coefficient.
Examples:
- Layered mafic intrusions: PGE, chromite, titanium
- Ultramafic intrusions: Platinum group elements, chromium
Hydrothermal Deposits
Formed from hot, chemically active fluids:
Classification by Temperature
- Magmatic-hydrothermal: >500°C (porphyry Cu-Au-Mo, skarn)
- Epithermal: 50-250°C (gold-silver, mercury)
- Mesothermal: 200-300°C (gold-quartz veins)
Ore Mineral Assemblages
- Sulfides: Pyrite, chalcopyrite, galena, sphalerite
- Oxides: Hematite, magnetite, cassiterite
- Native metals: Gold, silver, platinum
Sedimentary Deposits
Chemical Precipitation
- Banded iron formations: Archean age, Fe-oxide deposits
- Evaporites: Halite, gypsum, potash
- Phosphorites: Phosphate deposits
Mechanical Accumulation
- Placer deposits: Heavy mineral concentrations
- Paleoplacers: Ancient placer deposits
- Residual deposits: Weathering concentration (bauxite, laterite)
Metamorphic Deposits
Formed or modified during metamorphism:
- Skarns: Contact metamorphic deposits
- Greisen: Pneumatolytic alteration
- Graphite: From organic matter
Ore Deposit Models
Porphyry Copper Systems
Characteristics:
- Associated with calc-alkaline magmatism
- Stockwork veining (Q-type quartz)
- Zoning: K-feldspar → biotite → propylitic
Alteration Assemblages
- Potassic: K-feldspar + biotite
- Phyllic: Sericite + pyrite
- Propylitic: Chlorite + epidote + calcite
- Argillic: Kaolinite + montmorillonite
VMS (Volcanogenic Massive Sulfide)
Formed at seafloor spreading centers:
- Cyprus-type: Bimodal volcanic sequence
- Noranda-type: Felsic volcanic environment
- Besshi-type: Siliciclastic environment
SEDEX (Sedimentary Exhalative)
Formed in restricted marine basins:
- Mississippi Valley-type: Dolomite-hosted Pb-Zn
- Sedex-type: Clastic-hosted Pb-Zn-Ag
Exploration Techniques
Geochemical Exploration
Sampling Media
- Stream sediments: Downstream dispersion
- Soils: Direct sampling over deposits
- Till: Glacial transport indicator
- Groundwater: Mobile metal detection
Geophysical Methods
Gravity Methods
For horizontal cylinder of height and density contrast .
Magnetic Methods
- Magnetic susceptibility: Concentration of magnetic minerals
- Total field intensity: Magnetic anomalies
- Aeromagnetics: Regional coverage
Electrical Methods
- Resistivity: Electrical property contrasts
- Induced polarization: Chargeability effects
- Electromagnetic: Conductive mineral detection
Seismic Methods
- Reflection: Structural controls
- Refraction: Velocity variations
Remote Sensing
- Spectral analysis: Mineral identification
- Structural mapping: Lineament analysis
- Alteration detection: Hydrothermal alteration mapping
Resource Evaluation
Grade-Tonnage Relationships
Cut-off Grade
Reserve Classifications
- Measured: Detailed geological knowledge
- Indicated: Geological continuity shown
- Inferred: Limited geological knowledge
Mining Methods
Surface Mining
- Open pit: Large, near-surface deposits
- Strip mining: Horizontal or gently dipping deposits
- Placer mining: Alluvial deposits
Economics
Underground Mining
- Room and pillar: Extraction with support pillars
- Longwall: Complete extraction in panels
- Block caving: Gravity extraction of broken ore
Support Systems
- Bolting: Rock reinforcement
- Shotcreting: Surface stabilization
- Steel sets: Frame support
Environmental Considerations
Acid Mine Drainage
Prevention Methods
- Alkaline addition: Neutralize acidity
- Oxygen exclusion: Prevent oxidation
- Water management: Control flow paths
Tailings Management
- Dry stacking: Reduced environmental risk
- Paste thickening: Improved stability
- Cemented paste backfill: Underground support
Rehabilitation
- Soil replacement: Establish vegetation
- Contouring: Restore landforms
- Capping: Isolate contaminated materials
Energy Resources
Fossil Fuels
Coal
- Formation: Organic matter preservation
- Rank: Lignite → sub-bituminous → bituminous → anthracite
- Quality parameters: Ash, sulfur, calorific value
Petroleum Systems
Formation Evaluation
- Source rock: TOC, Rock-Eval pyrolysis
- Reservoir: Porosity, permeability
- Maturation: Vitrinite reflectance
Nuclear Resources
Uranium Deposits
- Unconformity-type: Sandstone-hosted
- Vein-type: Hydrothermal
- Sandstone-type: Roll-front deposits
Thorium Resources
- Monazite: Rare earth phosphate
- Thorite: ThSiO₄
- Bearing minerals: Accessory phases
Critical Minerals
Supply Risk Assessment
InLCA (Indicators for Long-term Criticality Assessment)
Key Minerals
- Rare earth elements: Neodymium, dysprosium (magnets)
- Lithium: Battery technology
- Cobalt: Batteries, superalloys
- Graphite: Battery anodes
Recycling and Substitution
- Urban mining: Recovery from waste
- Substitution: Alternative materials
- Efficiency: Reduced consumption
Global Distribution
Metallogenic Provinces
- Circum-Pacific: Porphyry systems
- Tethyan: Orogenic gold, VMS
- Siberian Traps: Ni-Cu-PGE
Political Considerations
- Resource nationalism: Government control
- Trade restrictions: Supply chain concerns
- Investment security: Political stability
Real-World Application: Porphyry Copper Deposit Evaluation
Porphyry copper deposits represent the world's primary source of copper and are critical for the global economy.
Porphyry System Analysis
# Porphyry copper deposit evaluation
deposit_data = {
'ore_grade': 0.6, # % Cu (copper grade)
'tonnage': 1000, # million tonnes
'recovery_rate': 85, # % (metallurgical recovery)
'copper_price': 3.5, # $/lb (copper price)
'mining_cost': 1.2, # $/tonne (operating cost)
'stripping_ratio': 3, # waste/ore ratio
'mineralization_type': 'porphyry'
}
# Calculate metal content and value
total_copper_metal = deposit_data['tonnage'] * 1e6 * deposit_data['ore_grade'] / 100 # tonnes
total_copper_value = total_copper_metal * 1000 * 2205 * deposit_data['copper_price'] # tonnes to lbs conversion
# Calculate extraction costs
total_ore_tons = deposit_data['tonnage'] * 1e6 # tonnes
total_waste_tons = total_ore_tons * deposit_data['stripping_ratio']
total_mining_cost = (total_ore_tons + total_waste_tons) * deposit_data['mining_cost']
# Calculate net smelter return (NSR)
recovery_tons = total_copper_metal * deposit_data['recovery_rate'] / 100
copper_pounds = recovery_tons * 1000 * 2205 # tonnes to pounds
revenue = copper_pounds * deposit_data['copper_price']
net_revenue = revenue - total_mining_cost
print(f"Deposit evaluation for porphyry copper:")
print(f" Ore grade: {deposit_data['ore_grade']}% Cu")
print(f" Tonnage: {deposit_data['tonnage']} million tonnes")
print(f" Total copper metal: {total_copper_metal:,.0f} tonnes")
print(f" Total metal value: ${total_copper_value/1e9:.1f} billion")
print(f" Total mining cost: ${total_mining_cost/1e6:.0f} million")
print(f" Net revenue: ${net_revenue/1e9:.1f} billion")
print(f" Average stripping ratio: {deposit_data['stripping_ratio']}:1")
# Economic assessment
if net_revenue > 0:
economic_status = "Economically viable"
roi = (net_revenue / total_mining_cost) * 100
print(f" Return on investment: {roi:.1f}%")
else:
economic_status = "Not economically viable"
print(f" Economic status: {economic_status}")
# Environmental considerations
environmental_impact_score = deposit_data['stripping_ratio'] * 10 # Simplified scoring
if environmental_impact_score > 25:
env_status = "High environmental impact"
elif environmental_impact_score > 15:
env_status = "Moderate environmental impact"
else:
env_status = "Low environmental impact"
print(f" Environmental impact: {env_status}")
Exploration Vectoring
Using geochemical and structural indicators to locate additional mineralization.
Your Challenge: Mineral Exploration Analysis
Analyze geochemical data to identify potential mineralization targets and assess their economic potential.
Goal: Evaluate geochemical anomalies and assess their potential for economic mineral deposits.
Exploration Data
import math
# Geochemical exploration data from grid sampling
sample_data = [
{'id': 'A1', 'x': 0, 'y': 0, 'Cu_ppm': 150, 'Au_ppb': 8, 'Pb_ppm': 45, 'Zn_ppm': 120},
{'id': 'A2', 'x': 100, 'y': 0, 'Cu_ppm': 220, 'Au_ppb': 12, 'Pb_ppm': 65, 'Zn_ppm': 180},
{'id': 'A3', 'x': 200, 'y': 0, 'Cu_ppm': 450, 'Au_ppb': 25, 'Pb_ppm': 90, 'Zn_ppm': 320}, # Anomaly center
{'id': 'A4', 'x': 300, 'y': 0, 'Cu_ppm': 180, 'Au_ppb': 10, 'Pb_ppm': 55, 'Zn_ppm': 150},
{'id': 'A5', 'x': 400, 'y': 0, 'Cu_ppm': 90, 'Au_ppb': 5, 'Pb_ppm': 35, 'Zn_ppm': 80},
{'id': 'B1', 'x': 0, 'y': 100, 'Cu_ppm': 130, 'Au_ppb': 6, 'Pb_ppm': 40, 'Zn_ppm': 100},
{'id': 'B2', 'x': 100, 'y': 100, 'Cu_ppm': 380, 'Au_ppb': 20, 'Pb_ppm': 85, 'Zn_ppm': 280}, # Anomaly
{'id': 'B3', 'x': 200, 'y': 100, 'Cu_ppm': 650, 'Au_ppb': 45, 'Pb_ppm': 120, 'Zn_ppm': 450}, # Anomaly center
{'id': 'B4', 'x': 300, 'y': 100, 'Cu_ppm': 280, 'Au_ppb': 15, 'Pb_ppm': 75, 'Zn_ppm': 220},
{'id': 'B5', 'x': 400, 'y': 100, 'Cu_ppm': 110, 'Au_ppb': 4, 'Pb_ppm': 30, 'Zn_ppm': 70},
{'id': 'C1', 'x': 0, 'y': 200, 'Cu_ppm': 100, 'Au_ppb': 4, 'Pb_ppm': 25, 'Zn_ppm': 60},
{'id': 'C2', 'x': 100, 'y': 200, 'Cu_ppm': 250, 'Au_ppb': 14, 'Pb_ppm': 70, 'Zn_ppm': 190},
{'id': 'C3', 'x': 200, 'y': 200, 'Cu_ppm': 520, 'Au_ppb': 35, 'Pb_ppm': 110, 'Zn_ppm': 380}, # Anomaly
{'id': 'C4', 'x': 300, 'y': 200, 'Cu_ppm': 220, 'Au_ppb': 12, 'Pb_ppm': 60, 'Zn_ppm': 170},
{'id': 'C5', 'x': 400, 'y': 200, 'Cu_ppm': 80, 'Au_ppb': 3, 'Pb_ppm': 20, 'Zn_ppm': 50},
]
# Background levels for each element
background_levels = {
'Cu_ppm': 50, # ppm (parts per million)
'Au_ppb': 2, # ppb (parts per billion)
'Pb_ppm': 20, # ppm
'Zn_ppm': 65 # ppm
}
# Calculate anomaly thresholds (typically 2-3x background)
threshold_multipliers = {'Cu_ppm': 3, 'Au_ppb': 4, 'Pb_ppm': 3, 'Zn_ppm': 2.5}
anomaly_thresholds = {elem: background_levels[elem] * mult
for elem, mult in threshold_multipliers.items()}
# Identify anomalous samples
anomalous_samples = []
for sample in sample_data:
has_anomaly = False
for element in ['Cu_ppm', 'Au_ppb', 'Pb_ppm', 'Zn_ppm']:
if sample[element] > anomaly_thresholds[element]:
has_anomaly = True
break
if has_anomaly:
anomalous_samples.append(sample)
# Calculate weighted index for each sample (importance: Au > Cu > Zn > Pb)
for sample in sample_data:
# Normalize each element against background
cu_norm = sample['Cu_ppm'] / background_levels['Cu_ppm']
au_norm = sample['Au_ppb'] / background_levels['Au_ppb']
zn_norm = sample['Zn_ppm'] / background_levels['Zn_ppm']
pb_norm = sample['Pb_ppm'] / background_levels['Pb_ppm']
# Calculate weighted index (Au most important)
sample['weighted_index'] = au_norm * 1.5 + cu_norm * 1.0 + zn_norm * 0.5 + pb_norm * 0.3
# Rank samples by weighted index
ranked_samples = sorted(sample_data, key=lambda x: x['weighted_index'], reverse=True)
# Calculate distance of anomalies from center (for vectoring)
if anomalous_samples:
center_x = sum(s['x'] for s in anomalous_samples) / len(anomalous_samples)
center_y = sum(s['y'] for s in anomalous_samples) / len(anomalous_samples)
for sample in sample_data:
sample['distance_from_center'] = math.sqrt((sample['x'] - center_x)**2 + (sample['y'] - center_y)**2)
Analyze the geochemical data to assess the potential for economic mineralization.
Hint:
- Look for coherent multi-element anomalies
- Consider element ratios that indicate specific deposit types
- Evaluate the spatial distribution of anomalies for vectoring
- Calculate potential resource sizes and grades
# TODO: Calculate exploration targets and potential deposit type
primary_anomaly_center = "" # ID of sample with highest weighted index
multi_element_anomalies = [] # List of samples with multiple element anomalies
deposit_type = "" # Type of deposit based on element associations
resource_estimate = 0 # Million tonnes (estimated resource)
economic_potential = "" # Viability assessment
# Identify multi-element anomalies
for sample in anomalous_samples:
anomalous_elements = []
for element in ['Cu_ppm', 'Au_ppb', 'Pb_ppm', 'Zn_ppm']:
if sample[element] > anomaly_thresholds[element]:
anomalous_elements.append(element)
if len(anomalous_elements) >= 2: # Multi-element anomaly
multi_element_anomalies.append(sample['id'])
# Assess deposit type based on element ratios
# Cu/Au ratios can indicate deposit type
high_cu_au_ratio_samples = []
for sample in sample_data:
if sample['Au_ppb'] > 0:
cu_au_ratio = sample['Cu_ppm'] / sample['Au_ppb']
if cu_au_ratio > 15:
high_cu_au_ratio_samples.append(sample['id'])
if len(high_cu_au_ratio_samples) > 0:
deposit_type = "Porphyry-type (Cu-rich)"
elif len(multi_element_anomalies) > 0:
deposit_type = "Polymetallic (Cu-Au-Pb-Zn)"
else:
deposit_type = "Unknown"
# Calculate potential tonnage (simplified approach)
# Volume estimation based on anomaly size
if len(anomalous_samples) > 0:
# Assume 20m vertical extent and rectangular prism
anomaly_area = 0.02 * (len(anomalous_samples) * 100) # km² (2% of grid area per anomaly)
thickness = 50 # meters (assumed)
density = 2.7 # g/cm³ = 2700 kg/m³
resource_estimate = (anomaly_area * 1e6 * thickness * density) / 1e9 # billion tonnes
# Economic assessment
if ranked_samples[0]['weighted_index'] > 10:
economic_potential = "High - warrants detailed exploration"
elif ranked_samples[0]['weighted_index'] > 5:
economic_potential = "Moderate - consider additional sampling"
else:
economic_potential = "Low - unlikely to be economic"
# Print results
print(f"Primary anomaly center: {primary_anomaly_center}")
print(f"Multi-element anomalies: {multi_element_anomalies}")
print(f"Deposit type: {deposit_type}")
print(f"Resource estimate: {resource_estimate:.2f} billion tonnes")
print(f"Economic potential: {economic_potential}")
print(f"Top ranked sample: {ranked_samples[0]['id']} (index: {ranked_samples[0]['weighted_index']:.2f})")
# Next exploration steps
next_steps = []
if len(multi_element_anomalies) > 2:
next_steps.append("Detailed mapping of anomaly extent")
next_steps.append("Soil or stream sediment sampling to expand anomaly")
if deposit_type == "Porphyry-type":
next_steps.append("Structural analysis for porphyry targeting")
next_steps.append("Geophysical survey for alteration mapping")
print(f"Recommended next steps: {next_steps}")
What additional exploration techniques would you recommend based on the geochemical data and spatial distribution of anomalies?
ELI10 Explanation
Simple analogy for better understanding
Self-Examination
What are the main processes that form economic mineral deposits?
How do exploration geologists locate and evaluate mineral resources?
What are the environmental considerations in modern mining operations?