Skip to main content
Jira progress: loading…

S1-CON

Scope 1 Consolidation

1. Identity

Loading identity…

Depends on module:

Purpose
Normalizes and consolidates Scope 1 emissions into a canonical absolute Scope 1 series. This engine enforces basic Scope 1 integrity rules and prepares Scope 1 for aggregation (MEID_CALC_GHG_AGGR), intensity (MEID_CALC_GHG_INT), and trend calculations (MEID_CALC_DELTA).

Typical usage

  • Scope 1 absolute disclosure series
  • Upstream normalization step before totals/intensity

2. Contract References (ZAR)

2.1. Input Schema

ZAR Address: schema.compute.ghg.scope1.inputs.v1_0_0

Required conceptual fields:

  • scope1: scalar or time-series (absolute emissions)
  • alignment: BY_YEAR | BY_INDEX (default BY_YEAR)

Optional:

  • breakdown: optional sub-sources (stationary combustion, mobile combustion, process, fugitive)
  • unit: default tCO2e

2.2. Options Schema

ZAR Address: schema.compute.ghg.scope1.options.v1_0_0

Common options:

  • negative_values_policy: ERROR | ALLOW_WITH_FLAG (default ERROR)
  • missing_policy: ERROR | SKIP
  • rounding: optional digits

2.3. Output Schema

ZAR Address: schema.compute.ghg.scope1.output.v1_0_0

Outputs include:

  • ghg_scope1
  • metadata (normalization actions, missing periods, flags)

3. Accepted Input Shapes

A. Scalar

{
"scope1": 1200
}

B. Time-series (preferred)

{
"scope1": [[2025, 1200], [2026, 1180]],
"alignment": "BY_YEAR"
}

C. Breakdown (optional)

{
"breakdown": {
"stationary_combustion": [[2025, 700]],
"mobile_combustion": [[2025, 300]],
"fugitive": [[2025, 200]]
}
}

If breakdown is provided without scope1, the engine MUST compute:

Scope1(t)=kbreakdownbreakdownk(t)Scope1(t) = \sum_{k \in breakdown} breakdown_k(t)


4. Compute Semantics (Normative)

For each aligned period tt:

  • If scope1 is provided:

Scope1(t)=scope1(t)Scope1(t) = scope1(t)

  • Else if breakdown is provided:

Scope1(t)=kbreakdownk(t)Scope1(t) = \sum_k breakdown_k(t)

All outputs MUST be in tCO2e and period-keyed.


5. Validation & Error Model

Invariants

  • Values must be finite
  • Negative values rejected unless explicitly allowed
  • Period keys must be coherent under alignment rules

Error codes (suggested)

  • SCOPE1_MISSING_INPUT
  • SCOPE1_ALIGNMENT_MISMATCH
  • SCOPE1_NEGATIVE_VALUE
  • SCOPE1_NON_FINITE_VALUE

6. Dependencies

  • Schema resolver (ZAR)
  • Unit conversion utilities (if mixed units are allowed by schema)

Declared via ZAR dependencies.


7. Federation & Audit Requirements

Export MUST include:

  • Engine identity + build proof (execution_ref, build_hash)
  • Input/options/output schemas
  • Input Scope 1 series (and breakdown if used)
  • Policies applied

8. Methods Served (v1)

  • GHG.scope1.abs



GitHub RepoRequest for Change (RFC)