URL: /guides/emissions

---
title: Emissions
icon: "cloud"
---

# Understanding Emissions Data

Open Electricity provides comprehensive emissions data for the Australian electricity grid, calculating CO₂ emissions from electricity generation using facility-specific emissions intensity factors. This guide explains how emissions are calculated, data sources, and how to access the data.

## What are Emissions?

Emissions in the electricity sector refer to greenhouse gases, primarily carbon dioxide (CO₂), released during electricity generation. Different generation technologies have vastly different emissions profiles:

- **Coal**: High emissions (0.7-1.4 tCO₂/MWh)
- **Natural Gas**: Moderate emissions (0.4-0.6 tCO₂/MWh)
- **Renewables**: Zero operational emissions (solar, wind, hydro)
- **Biomass**: Variable emissions depending on fuel source

## How Open Electricity Calculates Emissions

Open Electricity calculates emissions at the unit level using the following formula:

$$\text{Emissions} = \text{Energy Generated} \times \text{Emissions Intensity Factor}$$

Where:
- **Emissions** are measured in tonnes of CO₂ (tCO₂)
- **Energy Generated** is measured in megawatt-hours (MWh)
- **Emissions Intensity Factor** is measured in tCO₂/MWh

### Detailed Calculation

For each generation unit at each time interval:

$$E_{unit} = G_{unit} \times EF_{unit}$$

Where:
- $E_{unit}$ = Emissions from the unit (tCO₂)
- $G_{unit}$ = Energy generated by the unit (MWh)
- $EF_{unit}$ = Unit's emissions factor (tCO₂/MWh)

Total emissions for a facility, region, or network are calculated by summing individual unit emissions:

$$E_{total} = \sum_{i=1}^{n} E_{unit,i}$$

The aggregate emissions intensity for a region or network is:

$$EI_{aggregate} = \frac{\sum_{i=1}^{n} E_{unit,i}}{\sum_{i=1}^{n} G_{unit,i}}$$

### Implementation Details

The emissions calculation is implemented in the facility aggregation pipeline (`opennem/aggregates/facility_interval.py`):

```sql
-- Calculate emissions for each unit
CASE
    WHEN sum(fs.energy) > 0 THEN
        coalesce(round(sum(u.emissions_factor_co2 * fs.energy), 4), 0)
    ELSE 0
END as emissions,

-- Calculate emissions intensity
CASE
    WHEN sum(fs.energy) > 0 THEN
        coalesce(round(sum(u.emissions_factor_co2 * fs.energy) / sum(fs.energy), 4), 0)
    ELSE 0
END as emissions_intensity
```

## Data Sources

Open Electricity sources emissions intensity factors from authoritative Australian government agencies:

### Primary Sources

1. **AEMO (Australian Energy Market Operator)**
   - Provides emissions factors for NEM generators
   - Updated annually in the Integrated System Plan (ISP)
   - Includes technology-specific and unit-specific factors

2. **Clean Energy Regulator (CER)**
   - National Greenhouse and Energy Reporting (NGER) scheme data
   - Facility-level emissions reporting
   - Verified emissions data for major generators

3. **State Environmental Agencies**
   - WEM (Western Australia) emissions data
   - State-specific emissions reporting

### Data Quality

Emissions factors are assigned with source attribution:
- `aemo`: Direct from AEMO publications
- `cer`: From Clean Energy Regulator NGER data
- `opennem_estimated`: Estimated based on fuel type and technology

## Available Metrics

Open Electricity provides emissions data at multiple levels:

### Network Level
- Total emissions by network (NEM, WEM)
- Emissions intensity (tCO₂/MWh)
- Historical trends and patterns

### Regional Level
- Emissions by network region (NSW1, QLD1, VIC1, SA1, TAS1)
- Regional emissions intensity
- Inter-regional emissions flows

### Facility Level
- Individual facility emissions
- Unit-level emissions where available
- Technology-specific emissions profiles

## Accessing Emissions Data

### Via the API

Emissions data is available through multiple API endpoints:

**Network Emissions:**
```typescript
const response = await client.getNetworkData(
  "NEM",
  ["emissions", "emissions_intensity"],
  {
    interval: "1h",
    dateStart: "2024-01-01",
    dateEnd: "2024-01-31",
    primaryGrouping: "network_region"
  }
)
```

**Facility Emissions:**
```typescript
const response = await client.getFacilityData(
  "NEM",
  ["ERARING", "BAYSW1"],
  ["emissions"],
  {
    interval: "1d",
    dateStart: "2024-01-01"
  }
)
```

### Via the Website

Emissions data is displayed on:
- **Network pages**: Total grid emissions and intensity
- **Facility pages**: Individual facility emissions profiles
- **Technology pages**: Emissions by generation technology

## Use Cases

### Carbon Accounting
Track the carbon intensity of electricity consumption for:
- Corporate sustainability reporting
- Scope 2 emissions calculations
- Time-of-use optimization

### Grid Analysis
Understand emissions patterns:
- Daily and seasonal variations
- Impact of renewable generation
- Regional differences

### Policy Analysis
Support decision-making with:
- Emissions reduction tracking
- Technology transition monitoring
- Market mechanism evaluation

## Important Considerations

### Scope Limitations
- Open Electricity reports **operational emissions** only (Scope 1)
- Does not include lifecycle emissions from construction or decommissioning
- Does not include upstream fuel extraction emissions

### Time Resolution
- 5-minute intervals: Instantaneous emissions rates
- Hourly/Daily: Total emissions for the period
- Use appropriate metrics for your analysis timeframe

### Interconnector Flows
- Emissions can be "imported" or "exported" between regions
- Regional emissions include local generation only
- Consider interconnector flows for consumption-based accounting

## Future Enhancements

Open Electricity continues to improve emissions data:
- More granular unit-level factors
- Lifecycle emissions estimates
- Consumption-based emissions tracking
- International emissions factors for comparison

## Related Resources

- [Energy Guide](/guides/energy) - Understanding energy vs power metrics
- [Networks Guide](/guides/networks) - Regional structure and interconnections
- [API Reference](/api-reference/data/get-network-data) - Detailed API documentation
