Schema Documentation¶
This document contains the complete specification for the ChemKED schema. The schema is broken into
several files for ease of maintenance. These files are combined with the custom !include
directive that has been added for this purpose. Note that !include should only be used in the
main schema file (chemked_schema.yaml) and must appear at the top of the file. The !include
directive is not supported in any actual ChemKED files.
Examples of constructing a ChemKED format file, as well as examples of files themselves, are located in Creating ChemKED files. The sections laid out in this file roughly correspond to the sections discussed in the tutorial.
Meta Keys¶
The keys in this section encode the “meta” information about the ChemKED file. All of the keys in this section are required in every ChemKED file.
chemked-version: string, requiredA string with the version of the ChemKED schema that this file targets. Must be one of the versions listed under
chemked-versioninchemked_schema.yaml. Files written by the converters carry the version of the PyKED release that produced them.
datapoints: sequence, requiredA sequence of mappings representing the data encoded in the file. Each element of the sequence must conform to the schema described in Ignition Delay Keys (for now).
file-version: integer, requiredAn integer that represents the version of the file. Should be incremented every time a change is committed to a file in the database.
file-authors: sequence, requiredThe author(s) of the ChemKED file, which may be different from the authors of the referenced work. Elements of the sequence must be mappings that conform to the author schema.
comments: sequence, optionalFree-text notes about the file as a whole, one string per element. Converting a ReSpecTh file brings across each of its
commentelements, which typically record how a quantity was derived or what the file author was unsure of.
method: string, optionalFree text describing how the data were obtained or processed, when that does not belong to any single datapoint.
Reference Keys¶
The keys in this section are related to the reference for the experiment, the article where the data is published, and the apparatus used to conduct the experiment. All the top-level keys in this section are required, although some of the sub-keys are optional.
apparatus: mapping, requiredThis mapping provides information about the apparatus used to conduct the experiments. Fields:
kind: string, requiredMust be one of
shock tube,rapid compression machine,jet stirred reactor,flow reactor,burner stabilized flame,counterflow twin flame,heat flux burner,bunsen burner, oroutwardly propagating spherical flame. Values are case-sensitive.
institution: string, optionalThe institution where the experimental apparatus is located
facility: string, optionalA unique name or identifier for the apparatus, if the institution has several that are similar
experiment-type: string, requiredThe type of experiment encoded in this file. Must be one of the following case-sensitive values:
ignition delaylaminar burning velocity measurementspeciation measurement
The type is cross-checked against the rest of the file, because the datapoint schemas alone cannot tell one kind of datapoint from another. Every datapoint must carry the quantity its experiment type measures (
ignition-delay,laminar-burning-velocity, orconcentration-profiles), and the apparatus kind must be one the measurement can be made on:ignition delay:shock tube,rapid compression machinelaminar burning velocity measurement:counterflow twin flame,heat flux burner,bunsen burner,outwardly propagating spherical flamespeciation measurement:jet stirred reactor,flow reactor,burner stabilized flame,shock tube
reference: mapping, requiredThe reference contains the information about the article where the data in the file are published. Fields:
journal: string, optionalThe journal where the data are published
year: integer, requiredThe year of publication. Must be greater than 1600.
authors: sequence, requiredA sequence of all the authors of the article, where the elements of the sequence are mappings that must conform to the author type.
volume: integer, optionalThe volume of the publication. Must be greater than 0.
doi: string, optionalA DOI, if available.
detail: string, optionalA description of where in the article the data in this file are from, for instance, a figure or table number.
pages: string, optionalThe pages in the journal where the article is published (not the pages where the data are located, that would go in the
detailfield.)
Common Property Keys¶
The keys in this section can be specified as sub-keys of the the common-properties top-level
key, and reused in many different data points within a single ChemKED file. All of the keys in the
common-properties section are optional, although some of their values may be required in a
particular experiment type.
Sharing common values across datapoints is done with YAML anchors and aliases: define the value
once in common-properties with an anchor and reference it from each datapoint. Uncertainty
and evaluated-standard-deviation metadata for a measured property must be attached to that
property’s value in each datapoint; metadata without the corresponding property value is not
allowed in common-properties.
pressure-rise: sequence, optionalHas the same format as pressure-rise
pressure: sequence, optionalThe pressure of the experiment, with dimensions of mass per length per time squared. Must conform to value-unit-optional
temperature: sequence, optionalThe temperature of the experiment, with dimensions of temperature. Must conform to value-unit-optional
ignition-type: mapping, optionalHas the same schema as ignition-type
ignition-delay: sequence, optionalThe ignition delay measurement, with dimensions of time. Must conform to value-unit-optional
equivalence-ratio: sequence, optionalThe equivalence ratio of the experiment, dimensionless. Must conform to value-unit-optional
laminar-burning-velocity: sequence, optionalThe laminar burning velocity measurement, with dimensions of length per time. Must conform to value-unit-optional
residence-time: sequence, optionalThe residence time in a flow or jet-stirred reactor experiment, with dimensions of time. Must conform to value-unit-optional
reactor-volume: sequence, optionalThe volume of the reactor, with dimensions of length cubed. Must conform to value-unit-optional
reactor-length: sequence, optionalThe length of the reactor, with dimensions of length. Must conform to value-unit-optional
reactor-diameter: sequence, optionalThe diameter of the reactor, with dimensions of length. Must conform to value-unit-optional
flow-rate: sequence, optionalThe flow rate through the reactor. Must conform to value-unit-optional
environment-temperature: sequence, optionalThe temperature of the environment surrounding the reactor, with dimensions of temperature. Must conform to value-unit-optional
global-heat-exchange-coefficient: sequence, optionalThe global heat exchange coefficient between the reactor and its environment. Must conform to value-unit-optional
exchange-area: sequence, optionalThe heat exchange area between the reactor and its environment, with dimensions of length squared. Must conform to value-unit-optional
pressure-in-reference-state: sequence, optionalThe pressure used to define the reference state for reported quantities, with dimensions of mass per length per time squared. Must conform to value-unit-optional
temperature-in-reference-state: sequence, optionalThe temperature used to define the reference state for reported quantities, with dimensions of temperature. Must conform to value-unit-optional
composition: mapping, optionalThis mapping provides the specification of the initial composition of the mixture. Fields:
kind: string, requiredThe
kindcan bemole fraction,mass fraction,mole percent,mol/cm3,mol/m3,mol/L, ormol/dm3. Fraction kinds must be nonnegative, no greater than 1, and sum to 1.mole percentvalues must be nonnegative, no greater than 100, and sum to 100. Concentration-style kinds must be nonnegative and are not required to sum to a fixed total.The sum is checked to a relative tolerance of 1e-3, so a composition reported to a few digits, summing to 0.9999 for instance, is accepted.
species: sequence, requiredThe elements of this sequence specify the species and their amounts in the mixture. Each element of the sequence is a mapping with the following keys:
species-name: string, requiredThe name of the species
InChI: string, required, excludesSMILES,atomic-compositionThe InChI string for the species
SMILES: string, required, excludesInChI,atomic-compositionThe SMILES string for the species
atomic-composition: sequence, required, excludesInChI,SMILESA sequence of mappings representing the atoms that make up the species. Useful for species without SMILES or InChI representations, such as real hydrocarbon fuels. Each element of the sequence is a mapping with the following keys:
element: string, requiredThe name of the element
amount: float, required, must be greater than 0.0The amount of the element
amount: sequence, requiredA sequence conforming to either value-with-uncertainty or value-without-uncertainty, where the first element is a float representing the species amount (interpreted according to the parent
kind, e.g., mole fraction, mass fraction, or concentration units). The optional metadata mapping may additionally include the evaluated-standard-deviation fields. Because species amounts are unitless numbers, all uncertainty and evaluated-standard-deviation values must be plain floats (not strings with units).
Ignition Delay Keys¶
This section details the schema for an autoignition delay measurement. This is one of the options for the datapoints schema.
temperature: sequence, requiredThe temperature of the experiment, with dimensions of temperature. Must conform to value-unit-required
composition: mapping, requiredThe composition of the experiment. Must conform to composition
pressure: sequence, requiredThe pressure of the experiment, with dimensions of mass per length per time squared. Must conform to value-unit-required
ignition-type: mapping, requiredA mapping describing how the ignition delay is defined in the experiments. Fields:
target: string, requiredDescribes the target measurement (species or physical quantity) used to define ignition. Must be one of:
temperature,pressure,OH,OH*,CH,CH*,NH3,CO2,N2O,CH4,CO,H2O,C2,O,CH3OH,CH3,O2,soot.
type: string, requiredDescribes the type of ignition delay measurement. Can be one of:
d/dt max: maximum of the time derivative of thetargetd/dt min extrapolated: minimum slope of thetargetextrapolated to the baselined/dt max extrapolated: maximum slope of thetargetextrapolated to the baselined/dt second max: second maximum of the time derivative of thetargetmax: maximum of thetarget1/2 max: half-maximum of thetargetmin: minimum of thetargetconcentration: thetargetreaches a specified concentrationrelative concentration: thetargetreaches a specified fraction of a reference concentrationrelative increase: thetargetincreases by a specified amount relative to its initial value
amount: float, optionalA numeric threshold associated with the ignition
type(for example, the concentration or relative-increase value used whentypeisconcentration,relative concentration, orrelative increase).
ignition-delay: sequence, requiredThe ignition delay measurement, with dimensions of time. Must conform to value-unit-required
first-stage-ignition-delay: sequence, optionalIf two stages of ignition are present, this is the value of the first stage of ignition, with dimensions of time. Must conform to value-unit-optional
pressure-rise: sequence, optionalThe pressure rise after the passage of the reflected shock, with dimensions of inverse time. Must conform to value-unit-optional
equivalence-ratio: sequence, optionalThe equivalence ratio of the experiment, dimensionless. Must conform to value-unit-optional.
rcm-data: mapping, optionalData related to rapid compression machine (RCM) experiments. The keys of the mapping are detailed in the Rapid Compression Machine Data Keys section.
time-histories: sequence, optionalA sequence of mappings conforming to the time-history schema. Used to specify a time-varying history of one or more quantities during an experiment.
volume-history: mapping, optionalA legacy key for specifying a volume time-history for RCM experiments. New files should use time-histories with
type: volumeinstead. Fields:volume: mapping, requiredDescribes the volume column in the
valuesarray. Must containunits(string with dimensions of length cubed) andcolumn(integer, 0 or 1).
time: mapping, requiredDescribes the time column in the
valuesarray. Must containunits(string with dimensions of time) andcolumn(integer, 0 or 1).
values: sequence, requiredA sequence of
[time, volume]pairs of floats.
Rapid Compression Machine Data Keys¶
This section details the keys specific to rapid compression machine (RCM) experiments, which are subkeys of the rcm-data key.
compression-time: sequence, optionalThe time taken during the compression stroke of a rapid compression machine experiment, with dimensions of time. Must conform to value-unit-optional
compressed-pressure: sequence, optionalThe pressure at the end of the compression stroke for a rapid compression machine experiment, with dimensions of mass per length per time squared. Must conform to value-unit-optional
compressed-temperature: sequence, optionalThe temperature at the end of the compression stroke for a rapid compression machine experiment, with dimensions of temperature. Must conform to value-unit-optional
compression-ratio: sequence, optionalThe dimensionless volumetric compression ratio for a rapid compression machine experiment. Must conform to value-unit-optional
stroke: sequence, optionalThe length of the stroke in a rapid compression machine experiment, with dimensions of length. Must conform to value-unit-optional
clearance: sequence, optionalThe clearance from the piston face to the end wall of the reaction chamber at the end of compression, with dimensions of length. Must conform to value-unit-optional
Laminar Burning Velocity Measurement Keys¶
This section details the schema for a laminar burning velocity measurement datapoint, selected
when experiment-type is laminar burning velocity measurement.
temperature: sequence, requiredUnburnt-mixture temperature, with dimensions of temperature. Must conform to value-unit-required.
pressure: sequence, requiredUnburnt-mixture pressure, with dimensions of mass per length per time squared. Must conform to value-unit-required.
laminar-burning-velocity: sequence, requiredThe measured laminar burning velocity, with dimensions of length per time. Must conform to value-unit-required.
composition: mapping, requiredThe composition of the unburnt mixture. Must conform to composition.
pressure-rise: sequence, optionalRate of pressure rise during the measurement, with dimensions of inverse time. Must conform to value-unit-optional.
equivalence-ratio: sequence, optionalThe equivalence ratio of the experiment, dimensionless. Must conform to value-unit-optional.
Speciation Measurement Keys¶
This section details the schema for a speciation measurement datapoint, selected when
experiment-type is speciation measurement.
pressure: sequence, requiredThe pressure of the experiment, with dimensions of mass per length per time squared. Must conform to value-unit-required.
temperature: sequence, optionalThe inlet, initial, or local temperature, with dimensions of temperature. Must conform to value-unit-optional.
composition: mapping, optionalThe inlet or initial composition. Must conform to composition.
equivalence-ratio: sequence, optionalThe equivalence ratio of the experiment, dimensionless. Must conform to value-unit-optional.
environment-temperature: sequence, optionalTemperature of the environment surrounding the reactor or burner. Must conform to value-unit-optional.
residence-time: sequence, optionalResidence time in the reactor, with dimensions of time. Must conform to value-unit-optional.
reactor-volume: sequence, optionalReactor volume, with dimensions of length cubed. Must conform to value-unit-optional.
reactor-length: sequence, optionalReactor length, with dimensions of length. Must conform to value-unit-optional.
reactor-diameter: sequence, optionalReactor diameter, with dimensions of length. Must conform to value-unit-optional.
flow-rate: sequence, optionalFlow rate through the reactor or burner. Must conform to value-unit-optional.
volumetric-flow-in-reference-state: sequence, optionalVolumetric flow rate expressed in a defined reference state, with dimensions of length cubed per time. Must conform to value-unit-optional.
pressure-in-reference-state: sequence, optionalReference-state pressure for a volumetric flow measurement. Must conform to value-unit-optional.
temperature-in-reference-state: sequence, optionalReference-state temperature for a volumetric flow measurement. Must conform to value-unit-optional.
global-heat-exchange-coefficient: sequence, optionalGlobal heat exchange coefficient, with dimensions of heat flux per temperature. Must conform to value-unit-optional.
exchange-area: sequence, optionalHeat exchange area, with dimensions of area. Must conform to value-unit-optional.
independent-variables: sequence, requiredA sequence of mappings describing the independent variable columns. Each element has the following fields:
name: string, requiredMust be one of
temperature,residence-time,distance,time,equivalence-ratio,initial-composition, orpressure.
units: string, requiredUnits for the independent variable values.
primary: boolean, optionalIndicates the primary swept variable.
species-name: string, optionalIdentifies the swept inlet species when
nameisinitial-composition.
InChI: string, optionalThe InChI string for the swept inlet species.
SMILES: string, optionalThe SMILES string for the swept inlet species.
concentration-profiles: sequence, requiredA sequence of mappings, each describing measured values for a single species. Each element has the following fields:
species-name: string, requiredThe name of the measured species.
InChI: string, optionalThe InChI string for the species.
SMILES: string, optionalThe SMILES string for the species.
quantity: mapping, requiredA mapping with a required
unitsstring describing the measured quantity.
values: sequence, requiredA sequence of at least two rows. Each row contains one value for each
independent-variablesentry, followed by the measured amount, and optionally an uncertainty value.
uncertainty: sequence, optionalProfile-level uncertainty or evaluated-standard-deviation information. The measured species values are stored separately in
values. The sequence contains one mapping with the uncertainty and/or evaluated-standard-deviation fields described under value-with-uncertainty.
auxiliary-profiles: sequence, optionalA sequence of auxiliary measured profiles, such as temperature, pressure, volume, or velocity. Each profile includes an
independentmapping, aquantitymapping, andvaluesrows.
Schema-Only Keys¶
The schema files contain several keys that are used purely as references within the schema and should not be used in actual ChemKED files. These keys are documented in this section.
author: mappingInformation about a single author, used in several contexts. Fields:
name: string, requiredThe author’s full name
ORCID: string, optionalThe author’s ORCID identifier. Validated to be a valid ORCID and that the
namematches
value-with-uncertainty: sequenceA combination of a value and unit with an associated uncertainty and/or evaluated standard deviation. Sequence elements:
- 0: string or float, required
The first element of the sequence is the value and its associated units (as a single string, e.g.,
"1000.0 K") or a bare float. The units are validated to have appropriate dimensions for the particular quantity under consideration.
- 1: mapping, optional
The second element of the sequence is a mapping containing uncertainty and/or evaluated-standard-deviation metadata. Metadata labels such as
uncertainty-type,uncertainty-sourcetype,evaluated-standard-deviation-type,evaluated-standard-deviation-sourcetype, andevaluated-standard-deviation-methodmust be accompanied by an actualuncertainty,upper-uncertainty/lower-uncertainty, orevaluated-standard-deviationvalue.Uncertainty fields:
uncertainty-type: stringThe type of uncertainty. Must be
absoluteorrelative. Required whenuncertainty,upper-uncertainty, orlower-uncertaintyis specified.
uncertainty: string or float, excludesupper-uncertaintyandlower-uncertainty, requiresuncertainty-typeThe symmetric uncertainty of the value. If
uncertainty-typeisabsoluteand a string is given, it must include units whose dimensions match the units of the value in the first element of the sequence.
upper-uncertainty: string or float, excludesuncertainty, requireslower-uncertaintyanduncertainty-typeThe upper value of an asymmetrical uncertainty. Due to limitations in the Python library, asymmetrical uncertainties aren’t supported in PyKED, so the larger of
upper-uncertaintyandlower-uncertaintyis used.
lower-uncertainty: string or float, excludesuncertainty, requiresupper-uncertaintyanduncertainty-typeThe lower value of an asymmetrical uncertainty. Due to limitations in the Python library, asymmetrical uncertainties aren’t supported in PyKED, so the larger of
upper-uncertaintyandlower-uncertaintyis used.
uncertainty-sourcetype: string, optionalA label describing how the
uncertaintyvalue was obtained. Typical values includereported,estimated,calculated, anddigitized. Must be accompanied by an uncertainty value.
The mapping may also include the evaluated-standard-deviation fields, which may be combined with, or used independently of, the uncertainty fields above.
evaluated-standard-deviation: mapping fieldsA group of optional fields describing a statistically evaluated standard deviation for a value (e.g., from a dataset-wide re-evaluation). These fields appear inside the metadata mapping of a value-with-uncertainty entry or a composition amount metadata mapping, and may be used with or without the uncertainty fields:
evaluated-standard-deviation: string or float, requiresevaluated-standard-deviation-typeThe evaluated standard deviation value. If
evaluated-standard-deviation-typeisabsolutefor a unitful quantity, the value must include units whose dimensions match the quantity being described. Relative values and dimensionless absolute values may be plain floats.
evaluated-standard-deviation-type: string, optionalMust be
absoluteorrelative. Required whenever anevaluated-standard-deviationvalue is given, and must be accompanied by one.
evaluated-standard-deviation-sourcetype: string, optionalA label describing how the evaluated standard deviation was obtained. Typical values include
reported,estimated,calculated, anddigitized. Must be accompanied by anevaluated-standard-deviationvalue.
evaluated-standard-deviation-method: string, optionalThe method used to compute the evaluated standard deviation. Typical values include
generic uncertainty,combined from scatter and reported uncertainty, andstatistical scatter. Must be accompanied by anevaluated-standard-deviationvalue.
value-without-uncertainty: sequenceA combination of a value and unit without any uncertainty metadata. Sequence elements:
- 0: string or float, required
The first element of the sequence is the value and its associated units (as a single string, e.g.,
"1.0 atm") or a bare float. The units are validated to have appropriate dimensions for the particular quantity under consideration.
value-unit-required: sequence, requiredA sequence conforming to either value-with-uncertainty or value-without-uncertainty. Must be included in the ChemKED file.
value-unit-optional: sequence, optionalA sequence conforming to one of value-with-uncertainty or value-without-uncertainty. May or may not be included in the ChemKED file.
time-history: mapping, optionalSpecify the time history of a quantity during an experiment. Fields:
type: string, requiredThe kind of quantity being recorded. Must be one of
volume,temperature,pressure,piston position,light emission,OH emission, orabsorption.
quantity: mapping, requiredA mapping describing the recorded quantity. Fields:
units: string, requiredThe units of the quantity, with dimensions appropriate for
type(e.g., length cubed forvolume, temperature fortemperature).
column: integer, requiredThe 0-based index of the column containing the quantity in the
valuesarray.
time: mapping, requiredA mapping describing the time in the history. Fields:
units: string, requiredThe units of the time, with dimensions of time
column: integer, requiredThe 0-based index of the column containing the time information in the
valuesarray.
uncertainty: mapping, optionalThe uncertainty of the values in the
quantitycolumn. Can be specified either globally by a single value in the sequence or by specifying a column that must be present in the values array. Mapping keys:type: string, requiredEither
absoluteorrelativeto indicate the type of uncertainty
value: string, optionalA global value for the uncertainty applied to all points in the
valuesarray, specified as a string with units. Either this key must be present, or thecolumnandunitskeys must be present
column: integer, optionalThe column in the
valuesarray containing the uncertainty of each point. Either this key and theunitskey must be specified, or thevaluekey must be specified.
units: string, optionalThe units of the uncertainty in the
columnarray. IF thetypeis relative, this should bedimensionless. Either this key and thecolumnkey must be specified, or thevaluekey must be specified.
values: sequence or mapping, requiredMust be a sequence or mapping. If a mapping, the only key should be
filenamewhose value should be the filename of a comma-separated value file containing the values for the history. If a sequence, should be a sequence of sequences describing the values of the volume at the time points. Can be entered in any supported syntax, including:- [0.0, 0.0] - [1.0, 1.0] - - 2.0 - 2.0 - - 3.0 - 3.0