Data
Categorizations
The categorizations included in this package are stored as YAML 1.2 files. The data files must only use the subset of YAML’s features understood by StrictYaml. The allowed contents are defined here.
Simple Categorizations
Non-hierarchical categorizations are stored in StrictYaml files with the following fields:
Key |
Type |
Notes |
Example |
name |
str |
a valid python variable name |
IPCC2006 |
title |
str |
one-line description |
IPCC GHG emission categories (2006) |
comment |
str |
long-form description |
IPCC classification of green-house… |
references |
str |
citable reference(s) and sources |
IPCC 2006, 2006 IPCC Guidelines… |
institution |
str |
where the categorization is from |
IPCC |
last_update |
str |
date of last change in ISO format |
2010-06-30 |
hierarchical |
bool |
has to be |
no |
version |
str |
optional |
2006 |
categories |
map |
see below |
The metadata attributes are inspired by the CF conventions for the description of file contents.
The categories are given as a map from the primary code of the category to a dictionary specification with the following fields:
Key |
Type |
Notes |
Example |
title |
str |
one-line description of the category |
Energy |
comment |
str |
optional, long-form description |
Includes all GHG… |
alternative_codes |
list |
optional, alias codes |
[‘1A’, ‘1 A’] |
info |
map |
optional, arbitrary metadata |
{‘gases’: [‘CO2’, ‘NH3’]} |
The examples in the table are given in python syntax. An example in YAML syntax would be:
categories:
'1':
title: ENERGY
comment: This category includes all GHG emissions arising from combustion and
fugitive releases of fuels. Emissions from the non-energy uses of fuels are
generally not included here, but reported under Industrial Processes and Product
Use Sector.
info:
gases:
- CO2
- CH4
1.A:
title: Fuel Combustion Activities
comment: Emissions from the intentional oxidation of materials within an apparatus
that is designed to raise heat and provide it either as heat or as mechanical
work to a process or for use away from the apparatus.
alternative_codes:
- 1A
info:
gases:
- CO
- NMVOC
corresponding_categories_IPCC1996:
- 1A
Hierarchical Categorizations
Hierarchical categorizations are also stored in StrictYaml files, with additional meta data fields:
Key |
Type |
Notes |
Example |
hierarchical |
str |
has to be |
yes |
total_sum |
bool |
if parents are the sum of their children |
True |
canonical_top_level_category |
str |
optional, code of the highest category |
TOTAL |
In the category specifications, an additional optional key children
is introduced
which contains lists of lists of codes of children. Since some categories can be
composed of different sets of children, it is necessary to give a list of lists.
An example in StrictYaml syntax with two categories would be:
categories:
'1':
title: ENERGY
comment: This category includes all GHG emissions arising from combustion and
fugitive releases of fuels. Emissions from the non-energy uses of fuels are
generally not included here, but reported under Industrial Processes and Product
Use Sector.
info:
gases:
- CO2
- CH4
children:
- - 1.A
- 1.B
1.A:
title: Fuel Combustion Activities
comment: Emissions from the intentional oxidation of materials within an apparatus
that is designed to raise heat and provide it either as heat or as mechanical
work to a process or for use away from the apparatus.
alternative_codes:
- 1A
info:
gases:
- CO
- NMVOC
corresponding_categories_IPCC1996:
- 1A
Conversions
Conversion rules between categorizations included in this package are stored in comma separated value files with a tightly specified format. Commas separate fields, and can be escaped using a backslash. Two consecutive backslashes are read as a single backslash.
The file consists of a YAML meta data block at the start of the file, and a data block following it. The YAML meta data block lines start with the comment char ‘#’.
Meta data block
The meta data bloc consists of key-value pairs, one on each line, key and value separated by a colon. All meta data are optional, the allowed keys are:
Key |
Type |
Notes |
Example |
comment |
str |
Notes and explanations for humans. |
Rules for agriculture are still missing. |
references |
str |
Citable reference(s) for the conversion. |
doi:10.00000/00 |
institution |
str |
Where the conversion originates. |
PIK |
last_update |
date |
ISO format of the date of the last change. |
1999-12-31 |
version |
str |
The version, if there are multiple. |
2.3 |
Data block
The data block starts with a header which defines the data columns.
The first column must be the name of the first categorization, the following columns
are the names of auxiliary categorizations, the penultimate column must be the name
of the second categorization, and the last column must be comment
.
After the header, any number of rules follow, with one rule per line. Each rule consists of:
A formula for the first and second categorizations each, defining which categories are converted into each other.
A list of categories for each auxiliary categorization, limiting the validity of the rule to specific categorizations.
The formulas contain sums and differences of category codes.
The lists of auxiliary category codes are separated by whitespace.
In formulas and lists, category codes that
consist of alphanumeric characters and dots can be written directly, and other category
codes must be enclosed in "
characters.
Example
# comment: an example conversion
# institution: PIK
IPCC1996,gas,IPCC2006,comment
4 + 5,,3,Both sectors were combined
4.D,N2O,3.C.4 + 3.C.5,N2O emissions are separated into own categories