Gas emissions shares
These derived variables report each gas’s CO2-equivalent emissions as a percentage of emissions from all gases in the same economic activity or total. They cover sector inputs and outputs, household and government purchases, individual and combined sector totals, household and government totals, regions and the world.
The definitions are opt in and are available in the modified Python G-Cubed 5.0.2.0 source for build 200 models with the required gas-indexed emissions rows. Check the installed package catalogue when using an older installation. Gas, sector, good and region members come from the selected model’s native sets. The source emissions already use CO2-equivalent quantities, so these calculations use them directly.
Variables and scopes
| Prefix | Emissions scope and source | Ordered output sets |
|---|---|---|
EMSISHARE | Sector input emissions for each purchased good, EMSI | gases,sec_std,goods_oc,regions |
EMSOSHARE | Sector output emissions, EMSO | gases,sec_std,regions |
EMHISHARE | Household emissions for each purchased good, EMHI | gases,goods_oc,regions |
EMGISHARE | Government emissions for each purchased good, EMGI | gases,goods_oc,regions |
EMSTSHARE | Total emissions of each sector, EMST | gases,sec_std,regions |
EMSSHARE | Total emissions of all sectors, EMS | gases,regions |
EMHSHARE | Total household emissions, EMH | gases,regions |
EMGSHARE | Total government emissions, EMG | gases,regions |
EMRSHARE | Total regional emissions, EMR | gases,regions |
EMWSHARE | World emissions, using physical EMR levels summed across regions | gases |
sec_std selects standard economic sectors; goods_oc selects the native input and consumption goods. For example, EMSISHARE(CH4,a18,g03,USA) is methane’s share of emissions associated with sector a18 using good g03 in the USA. EMSTSHARE(CH4,a18,USA) covers that sector’s total emissions, and EMWSHARE(CH4) covers the world. Use codes present in your selected model.
Levels and deviations
For an activity or regional total, the calculation is:
share(gas,scope,year) = 100 * emissions(gas,scope,year)
/ sum_gases(emissions(gas,scope,year))
All dimensions other than gas and year stay fixed in the denominator. With a positive emissions total, the gas shares sum to 100. Aggregate definitions use their named source rows, preserving the supplied model’s emissions accounting. Use accounting-corrected projections for NAB/NABb reporting.
For the world, each gas’s published physical emissions are summed over all regions before division:
world_share(gas,year) = 100 * sum_regions(EMR(gas,region,year))
/ sum_gases_and_regions(EMR(gas,region,year))
Here EMR is measured in published physical mmt units. Averaging regional percentages or summing GDP-normalised database values gives an incorrect world composition. World share rows have a gas dimension and no region dimension.
Levels have units percent. Deviations subtract the baseline share from the scenario share and have units percentage point deviation. A baseline share of 60% and a scenario share of 25% therefore produce a deviation of −35 percentage points. Each share is calculated using its own emissions total.
Zero emissions and required inputs
A gas with zero emissions and a positive all-gas total has a zero share. An activity or total with no emissions has undefined shares, represented by NaN; a deviation involving an undefined share is also NaN. The definitions preserve genuinely small positive emissions and changing emissions paths.
Logged-zero preparation can create positive numerical placeholders for physically absent emissions. Identifying these requires the original database and calibration year retained in the projection’s parameters, original observations at the preparation anchor, and regional GDP where needed. Ordinary saved projection objects retain this information. Keep this provenance when reusing projections; detached logged snapshots without it fail validation. The calculation preserves source projections and model inputs.
The selected source rows must be complete, finite and nonnegative, use published physical mmt units, and match the model’s native domain metadata. Missing or incompatible inputs and overflowing totals fail explicitly.
Select shares in setup and reports
Add the desired prefixes to a setup chartpack’s derivations list, then select the native gas and activity members. This setup fragment creates regional methane-share charts and a world chart containing all gases:
chartpack:
file_name: emissions-shares.yaml
title: Gas shares of CO2-equivalent emissions
derivations:
- EMRSHARE
- EMWSHARE
charts:
- title: Regional methane shares
variable_prefix: EMRSHARE
selectors:
- dimension: gases
members: [CH4]
- dimension: regions
members: all
- title: World emissions shares
variable_prefix: EMWSHARE
selectors:
- dimension: gases
members: all
The setup instructions enable calculation in the maintained run workflow. A standalone chartpack selects rows from supplied reporting data; its series selection alone does not enable derivations. See Generate chartpacks for the complete setup format.
From Python, construct the definitions once and use them for levels and scenario deviations:
from gcubed.derivations import create_derivations
derivations = create_derivations(["EMSTSHARE", "EMRSHARE", "EMWSHARE"])
levels = derivations.projections(baseline_projections)
changes = derivations.deviations(scenario_projections, baseline_projections)
Pass the same collection to the runner and reporting when generating complete reports, as shown in the Python recipe.
G-Cubed